/* ═══════════════════════════════════════════════════════════════



   KD Monitor — Style System v5.1



   Professional dark/light theme with CSS variables



   



   Dark mode palette reference:



   - GitHub Dark (#0d1117 / #161b22 / #21262d)



   - Linear (#0a0a0f / #141419 / #1c1c24)  



   - TradingView (#131722 / #1e222d / #2a2e39)



   ═══════════════════════════════════════════════════════════════ */







/* ── Reset ─────────────────────────────────────────────────── */



*{margin:0;padding:0;box-sizing:border-box}







/* ── Light Mode (default) ──────────────────────────────────── */



:root{



  --bg:#f0ecf6;



  --bg2:#eae6f0;



  --surface:rgba(255,255,255,0.55);



  --surface2:rgba(255,255,255,0.7);



  --surface3:rgba(255,255,255,0.85);



  --border:rgba(0,0,0,0.08);



  --border2:rgba(0,0,0,0.1);



  --text:#2d2440;



  --text2:#7a6e8a;



  --text3:#a098b0;



  --text4:#c0b8d0;



  --green:#059669;



  --green2:#047857;



  --red:#e11d48;



  --red2:#be123c;



  --accent:#7c3aed;



  --accent2:#6d28d9;



  --purple:#8b5cf6;



  --blue:#3b82f6;



  --orange:#f59e0b;



  --yellow:#eab308;



  --r:16px;



  --r2:10px;



  --r3:8px;



  --font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;



  --mono:"JetBrains Mono","SF Mono",Consolas,monospace;



}



/* KD timeline reader redesign: preserve the site's lavender palette and rounded-card language. */
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid{
  display:block;
  padding:14px;
  background:transparent;
}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-shell{max-width:980px;margin:0 auto}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-intro{margin:0 0 12px;padding:14px 15px;border:1px solid #e5dbf4;border-radius:14px;background:linear-gradient(135deg,#fbf9ff,#fff);box-shadow:0 5px 15px rgba(49,35,82,.04)}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-eyebrow{color:#7041b8;font-size:9px;font-weight:850;letter-spacing:.1em}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:4px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-title-row h3{margin:0;color:#302a3e;font-size:21px;font-weight:900;letter-spacing:-.04em;line-height:1.1}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-title-row p{margin:3px 0 0;color:#8c829b;font-size:10px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-title-row>span{color:#948aa5;font-size:9px;white-space:nowrap}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-intent{display:grid;grid-template-columns:4px minmax(0,1fr);gap:10px;margin-top:11px;padding:9px 10px;border:1px solid #eee8f6;border-radius:9px;background:#fff}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-intent>i{display:block;border-radius:4px;background:#7137f5}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-intent p{margin:0;color:#51495e;font-size:10px;line-height:1.45}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-intent b{font-weight:850}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-intent small{display:block;margin-top:3px;color:#948aa5;font-size:9px;line-height:1.4}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:12px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-switch button{display:flex;align-items:center;justify-content:center;gap:5px;height:34px;border:1px solid #ded3fb;border-radius:9px;background:#fff;color:#62449e;font-size:10px;font-weight:850;cursor:pointer;transition:.15s ease}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-switch button svg{width:14px;height:14px;stroke:currentColor}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-switch button.active{border-color:#7137f5;background:#7137f5;color:#fff;box-shadow:0 3px 8px rgba(113,55,245,.2)}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-wrap{margin:0}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card{min-height:0;border:1px solid #e2d8f0;border-top:3px solid #8b5cf6;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(49,35,82,.08);overflow:visible}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-timeline-card-head{min-height:72px;padding:12px 14px 10px;gap:10px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-card-identity{display:flex;align-items:flex-start;min-width:0;flex:1 1 auto;gap:7px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-card-identity>.kdr-card-select{margin-top:3px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-timeline-symbol{font-size:16px;line-height:20px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-timeline-code{margin-top:3px;font-size:9px;line-height:13px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-timeline-head-actions{gap:5px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-card-status{min-height:26px;padding:0 8px;border-radius:999px;font-size:9px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-card-status{position:static;top:auto;right:auto;left:auto;bottom:auto;transform:none}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-card-status i{width:6px;height:6px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-timeline-icon-button,
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-card-menu-btn{width:30px;height:30px;border-radius:8px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-timeline-icon-button svg{width:15px;height:15px;stroke:currentColor}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 14px 9px;padding:0;border:1px solid #ece5f5;border-radius:9px;background:#fbfaff;overflow:hidden}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-metric{min-width:0;padding:9px 11px 8px;border-right:1px solid #e8e0f2}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-metric:last-child{border-right:0}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-metric span{display:block;color:#9389a4;font-size:9px;font-weight:850}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-metric b{display:block;margin-top:3px;color:#d96100;font-family:var(--mono,"Roboto Mono",Consolas,monospace);font-size:21px;font-weight:900;line-height:1.05;font-variant-numeric:tabular-nums}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-metric.d b{color:#176fb5}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-metric.j b{color:#0d8f87}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-metric small{display:block;margin-top:4px;color:#9a91a8;font-family:var(--mono,"Roboto Mono",Consolas,monospace);font-size:8px;line-height:1.1;white-space:nowrap}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-events{display:flex;gap:6px;overflow:auto;margin:0 14px 10px;padding:0 0 2px;scrollbar-width:none}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-events::-webkit-scrollbar{display:none}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-event{display:flex;flex:none;flex-direction:column;gap:2px;padding:6px 8px;border:1px solid #e6dff0;border-radius:8px;background:#faf8ff;color:#645a73;font-size:9px;line-height:1.2}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-event b{font-family:var(--mono,"Roboto Mono",Consolas,monospace);font-size:8px;font-variant-numeric:tabular-nums}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-event.golden{border-color:#d8c9fb;background:#f5f0ff;color:#5c2fc2}.kdr-timeline-reader-event.death{border-color:#f1cccc!important;background:#fff6f6!important;color:#b23434!important}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-event.empty{color:#948aa5}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-timeline-chart-shell{margin:0 12px 12px;border-color:#e5ddf0;border-radius:10px;box-shadow:0 4px 12px rgba(49,35,82,.04);overflow:visible}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-timeline-toolbar{min-height:37px;padding:4px 7px;background:#fff;border-bottom:1px solid #eeeaf3}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-timeline-toolbar button{width:28px;height:28px;border-radius:8px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-timeline-toolbar button svg{width:14px;height:14px;stroke:currentColor}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-timeline-periods button{min-width:38px;border-radius:7px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-timeline-canvas-stage{height:360px;min-height:280px;background:#fff;border-radius:0 0 9px 9px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-empty-state{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#8f86a0;font-size:10px;pointer-events:none;text-align:center}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-empty-state b{color:#6f6680;font-size:11px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-timeline-chart-footer{min-height:30px;padding:0 10px;border-radius:0 0 9px 9px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-reading{margin:0 14px 14px;padding:11px 12px 12px;border:1px solid #e9e1f4;border-radius:10px;background:#fbfaff}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-reading-label{color:#7137f5;font-size:9px;font-weight:900;letter-spacing:.04em}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-reading p{margin:4px 0 0;color:#51495e;font-size:10px;line-height:1.55}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-reading small{display:block;margin-top:5px;color:#978da4;font-size:8px;line-height:1.35}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-others{margin-top:17px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-others-head,
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-browse-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 2px 8px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-others-head h3,
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-browse-head h3{margin:0;color:#3d3548;font-size:13px;font-weight:900}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-others-head span,
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-browse-head>span{color:#948aa5;font-size:9px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-browse-head p{margin:3px 0 0;color:#948aa5;font-size:9px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-queue{display:grid;gap:6px}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-queue-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;width:100%;min-height:51px;padding:9px 11px;border:1px solid #e5dff0;border-radius:10px;background:#fff;color:#51495e;text-align:left;cursor:pointer;transition:.15s ease}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-queue-item:hover{border-color:#bca5f4;background:#fbf8ff;transform:translateY(-1px)}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-queue-identity{min-width:0}.kdr-timeline-reader-queue-identity b{display:block;overflow:hidden;color:#3d3548;font-size:11px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.kdr-timeline-reader-queue-identity small{display:block;margin-top:3px;color:#968da1;font-family:var(--mono,"Roboto Mono",Consolas,monospace);font-size:8px;line-height:1}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-queue-kd{color:#71697d;font-family:var(--mono,"Roboto Mono",Consolas,monospace);font-size:9px;white-space:nowrap}.kdr-timeline-reader-queue-kd b{color:#3d3548}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-queue-state{display:flex;align-items:center;gap:4px;color:#168a2d;font-size:9px;font-weight:850;white-space:nowrap}.kdr-timeline-reader-queue-state i{width:6px;height:6px;border-radius:50%;background:currentColor}.kdr-timeline-reader-queue-state.weekly{color:#a66a00}.kdr-timeline-reader-queue-state.death{color:#c2322b}.kdr-timeline-reader-browse{padding:14px;border:1px solid #e5dbf4;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(49,35,82,.06)}
@media(max-width:700px){
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid{padding:9px 0 14px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-intro{margin:0 10px 10px;padding:11px 12px;border-radius:12px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-title-row h3{font-size:19px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-title-row>span{font-size:8px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-intent{margin-top:9px;padding:8px 9px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-switch{margin:0 10px 10px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card{border-left:0;border-right:0;border-radius:12px;box-shadow:0 5px 14px rgba(49,35,82,.06)}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-timeline-card-head{padding:10px 11px 8px;min-height:68px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-card-status{display:inline-flex!important;max-width:100px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-metrics{margin:0 10px 8px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-metric{padding:8px 9px 7px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-metric b{font-size:19px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-metric small{font-size:7px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-events{margin:0 10px 8px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-timeline-chart-shell{margin:0 8px 9px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-timeline-canvas-stage{height:320px;min-height:280px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-reading{margin:0 10px 11px;padding:9px 10px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-others{margin:14px 10px 0}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-queue-item{grid-template-columns:minmax(0,1fr) auto auto;min-height:48px;padding:8px 9px;gap:5px;border-radius:9px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-queue-kd{font-size:8px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-queue-state{font-size:8px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-browse{margin:0 10px}
}

@media(max-width:390px){
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-card-status{max-width:82px;padding:0 6px;font-size:8px}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-queue-item{grid-template-columns:minmax(0,1fr) auto}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-queue-state{grid-column:2;grid-row:1;max-width:76px;overflow:hidden;text-overflow:ellipsis}
}
:root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-intro,
:root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-browse{border-color:#3b3154;background:#201c30;box-shadow:none}
:root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-title-row h3,
:root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-others-head h3,
:root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-browse-head h3{color:#f2edf7}
:root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-intent,
:root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card,
:root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-queue-item{border-color:#3b3154;background:#201c30;color:#d8d0e4}
:root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card .kdr-timeline-chart-shell{border-color:#3b3154}
:root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-intent p,
:root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-reading p,
:root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-queue-identity b{color:#eae4f2}
:root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-metrics,
:root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-reading{border-color:#3b3154;background:#252039}

/* Major-news push */
.news-push-section{border-color:rgba(124,58,237,.18)}
.news-beta{display:inline-flex;align-items:center;margin-left:4px;padding:2px 6px;border-radius:999px;background:rgba(124,58,237,.12);color:#7c3aed;font-size:10px;font-weight:800;vertical-align:1px}
.news-source-line{display:flex;align-items:center;gap:6px;margin-bottom:7px;padding:7px 8px;border-radius:7px;background:rgba(124,58,237,.06);color:var(--text3);font-size:11px}
.news-source-dot{width:6px;height:6px;border-radius:50%;background:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.12)}
.news-channel-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 1px;border-bottom:1px solid var(--border);cursor:pointer}
.news-channel-row>span:first-child{display:flex;min-width:0;flex-direction:column;gap:2px}
.news-channel-row b{color:var(--text2);font-size:11px;font-weight:700}
.news-channel-row small{max-width:154px;overflow:hidden;color:var(--text4);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.news-channel-row small.ok{color:#059669}
.news-channel-row small.err{color:#dc2626}
.news-mini-switch{position:relative;display:block;width:30px;height:17px;flex:0 0 auto}
.news-mini-switch input{position:absolute;width:1px;height:1px;opacity:0}
.news-mini-switch i{position:absolute;inset:0;border-radius:999px;background:#d8d5e2;transition:.18s}
.news-mini-switch i:after{position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(31,22,66,.24);content:"";transition:.18s}
.news-mini-switch input:checked+i{background:#7c3aed}
.news-mini-switch input:checked+i:after{transform:translateX(13px)}
.news-unbind-btn{border:0;background:transparent;color:#ef4444;font-size:10px;cursor:pointer;padding:5px 3px}
.news-security-note{margin-top:7px;color:var(--text4);font-size:9px;line-height:1.45}
.news-filter-summary{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:8px;color:var(--text3);font-size:10px}
.news-filter-summary b{color:#7c3aed;font-size:12px}
.daily-event-news-levels{margin:8px 0 0;padding:7px 8px;border:1px solid var(--border);border-radius:6px;min-width:0}
.daily-event-news-levels legend{padding:0 3px;color:var(--text2);font-size:10px;font-weight:700}
.daily-event-news-levels-note{margin-bottom:6px;color:var(--text4);font-size:9px;line-height:1.35}
.daily-event-news-level-options{display:flex;flex-wrap:wrap;gap:5px 9px}
.daily-event-news-level-options label{display:inline-flex;align-items:center;gap:3px;color:var(--text3);font-size:10px;white-space:nowrap;cursor:pointer}
.daily-event-news-level-options input{accent-color:#7c3aed}
.news-service-state{display:inline-flex;align-items:center;gap:4px;color:#6b7280;font-size:9px}
.news-service-state.ok{color:#059669}.news-service-state.err{color:#dc2626}
.news-center-actions{display:flex;gap:5px;margin-top:7px}.news-center-actions .sb-btn{min-width:0;margin:0;padding:6px 7px;font-size:9px}

.news-center-overlay{position:fixed;inset:0;z-index:10025;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(30,22,57,.58);backdrop-filter:blur(5px)}
.news-center-overlay.show{display:flex}
.news-center-dialog{display:flex;width:min(980px,100%);height:min(850px,94vh);overflow:hidden;flex-direction:column;border:1px solid rgba(124,58,237,.24);border-radius:18px;background:var(--surface3);box-shadow:0 24px 70px rgba(31,22,66,.3)}
.news-center-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 22px 15px;background:linear-gradient(135deg,#241a43,#58329a);color:#fff}
.news-center-title{font-size:17px;font-weight:850}.news-center-subtitle{margin-top:4px;color:rgba(255,255,255,.72);font-size:10px;line-height:1.5}
.news-center-close{width:30px;height:30px;border:0;border-radius:8px;background:rgba(255,255,255,.1);color:#fff;font-size:20px;cursor:pointer}
.news-center-tabs{display:flex;gap:4px;padding:8px 18px 0;border-bottom:1px solid var(--border);background:var(--surface3)}
.news-center-tab{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text3);padding:9px 13px;font-size:11px;font-weight:750;cursor:pointer}
.news-center-tab.active{border-color:#7c3aed;color:#7c3aed}
.news-center-body{min-height:0;flex:1;overflow-y:auto;padding:15px 20px}
.news-filter-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding:11px 13px;border:1px solid rgba(124,58,237,.14);border-radius:11px;background:rgba(124,58,237,.04)}
.news-filter-block{display:flex;align-items:center;gap:9px;color:var(--text3);font-size:10px}.news-filter-block b{color:var(--text2);font-size:11px}.news-filter-block label{display:flex;align-items:center;gap:4px;cursor:pointer}
.news-filter-block input,.news-watchlist-toggle input{accent-color:#7c3aed}.news-filter-block select{border:1px solid var(--border);border-radius:7px;background:var(--surface3);color:var(--text2);padding:5px 7px;font-size:10px}
.news-watchlist-toggle{display:flex;align-items:center;gap:5px;color:var(--text2);font-size:10px;cursor:pointer}
.news-filter-tools{display:flex;gap:5px;margin-left:auto}.news-filter-tools button,.news-recent-bar button{border:1px solid var(--border);border-radius:7px;background:var(--surface3);color:#7c3aed;padding:5px 9px;font-size:10px;font-weight:700;cursor:pointer}
.news-filter-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.news-filter-group{min-width:0;padding:10px;border:1px solid var(--border);border-radius:11px;background:var(--surface3)}
.news-filter-group-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}.news-filter-group-title{color:var(--text);font-size:12px;font-weight:800}.news-group-all{border:0;background:transparent;color:#7c3aed;font-size:9px;font-weight:700;cursor:pointer}
.news-filter-options{display:flex;gap:5px;flex-wrap:wrap}.news-filter-chip{position:relative;display:inline-flex;align-items:center;cursor:pointer}.news-filter-chip input{position:absolute;width:1px;height:1px;opacity:0}.news-filter-chip span{display:inline-flex;align-items:center;min-height:27px;border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--text3);padding:5px 8px;font-size:10px;line-height:1.25;transition:.15s}
.news-filter-chip input:checked+span{border-color:rgba(124,58,237,.3);background:rgba(124,58,237,.11);color:#6d28d9;font-weight:750;box-shadow:inset 0 0 0 1px rgba(124,58,237,.05)}
.news-keyword-box{margin-top:13px;padding:11px 12px;border:1px solid var(--border);border-radius:10px}.news-keyword-box label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.news-keyword-box b{color:var(--text2);font-size:11px}.news-keyword-box span{color:var(--text4);font-size:9px}.news-keyword-box input{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);padding:8px 10px;font-size:11px;outline:none}.news-keyword-box input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.08)}
.news-recent-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding:9px 11px;border-radius:9px;background:rgba(124,58,237,.05);color:var(--text3);font-size:10px}
.news-recent-list{display:flex;flex-direction:column;gap:8px}.news-empty{padding:34px 10px;text-align:center;color:var(--text4);font-size:11px}
.news-recent-item{padding:11px 13px;border:1px solid var(--border);border-left:3px solid #d1d5db;border-radius:10px;background:var(--surface3)}.news-recent-item.matched{border-left-color:#7c3aed;background:rgba(124,58,237,.025)}
.news-recent-top{display:flex;align-items:center;justify-content:space-between;gap:9px}.news-recent-title{min-width:0;overflow:hidden;color:var(--text);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.news-recent-time{flex:0 0 auto;color:var(--text4);font-size:9px}.news-recent-content{display:-webkit-box;margin-top:6px;overflow:hidden;color:var(--text3);font-size:10px;line-height:1.55;-webkit-line-clamp:2;-webkit-box-orient:vertical}.news-recent-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:8px}.news-recent-badge{padding:2px 6px;border-radius:999px;background:#f1edff;color:#6d28d9;font-size:8px;font-weight:700}.news-recent-badge.neutral{background:rgba(107,114,128,.1);color:var(--text3)}.news-recent-badge.sent{background:rgba(16,185,129,.1);color:#059669}.news-recent-badge.failed{background:rgba(239,68,68,.1);color:#dc2626}
.news-center-actions-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:11px 18px calc(11px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface3)}.news-center-actions-footer>span{margin-right:auto;color:var(--text4);font-size:9px}.news-center-actions-footer button{border-radius:8px;padding:8px 13px;font-size:11px;font-weight:800;cursor:pointer}.news-center-secondary{border:1px solid var(--border);background:var(--surface3);color:var(--text2)}.news-center-primary{border:1px solid #7c3aed;background:#7c3aed;color:#fff}
body.news-center-open{overflow:hidden}


@media(max-width:600px){
  .news-center-overlay{align-items:flex-end;padding:0}.news-center-dialog{width:100%;height:96vh;border-width:1px 0 0;border-radius:20px 20px 0 0}.news-center-head{padding:15px 16px 13px}.news-center-subtitle{max-width:78vw}.news-center-body{padding:11px 12px}.news-filter-toolbar{align-items:flex-start;gap:9px}.news-filter-block{width:100%;flex-wrap:wrap}.news-filter-tools{width:100%;margin-left:0}.news-filter-tools button{flex:1}.news-filter-groups{grid-template-columns:1fr}.news-filter-group{padding:10px}.news-filter-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.news-filter-chip span{width:100%;justify-content:space-between}.news-keyword-box label{align-items:flex-start;flex-direction:column}.news-center-actions-footer{position:sticky;bottom:0}.news-center-actions-footer>span{display:none}.news-center-actions-footer button{flex:1}
}







/* ── Dark Mode ─────────────────────────────────────────────── */



/* Professional neutral-gray palette (GitHub/Linear/TradingView inspired) */



:root[data-theme="dark"]{



  --bg:#111119;



  --bg2:#191924;



  --surface:rgba(25,25,36,0.85);



  --surface2:rgba(35,35,50,0.8);



  --surface3:rgba(45,45,60,0.7);



  --border:rgba(255,255,255,0.08);



  --border2:rgba(255,255,255,0.14);



  --text:#e6e6ef;



  --text2:#a0a0b0;



  --text3:#787888;



  --text4:#4a4a5a;



  --green:#22c55e;



  --green2:#4ade80;



  --red:#ef4444;



  --red2:#f87171;



  --accent:#818cf8;



  --accent2:#a5b4fc;



  --purple:#a78bfa;



  --blue:#60a5fa;



  --orange:#fb923c;



  --yellow:#facc15;



  --r:16px;



  --r2:10px;



  --r3:8px;



  --font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;



  --mono:"JetBrains Mono","SF Mono",Consolas,monospace;



}







/* ── Dark Mode: Body ───────────────────────────────────────── */



:root[data-theme="dark"] body {



  background: #111119 !important;



  background-attachment: fixed !important;



}







/* ── Dark Mode: Header ─────────────────────────────────────── */



:root[data-theme="dark"] .hdr {



  background: rgba(17,17,25,0.95);



  border-color: var(--border);



}







/* ── Dark Mode: Logo ───────────────────────────────────────── */



:root[data-theme="dark"] .logo span {



  background: linear-gradient(135deg, var(--accent), var(--purple));



  -webkit-background-clip: text;



  -webkit-text-fill-color: transparent;



  background-clip: text;



}







/* ── Dark Mode: Sidebar ────────────────────────────────────── */



:root[data-theme="dark"] .sidebar {



  background: rgba(17,17,25,0.4);



  border-color: var(--border);



}







/* ── Dark Mode: Sidebar sections ───────────────────────────── */



:root[data-theme="dark"] .sb-section {



  background: var(--surface);



  border-color: var(--border);



}







/* ── Dark Mode: Inputs ─────────────────────────────────────── */



:root[data-theme="dark"] input,



:root[data-theme="dark"] select,



:root[data-theme="dark"] .sb-inp,



:root[data-theme="dark"] .search-inp,



:root[data-theme="dark"] .tc-select,



:root[data-theme="dark"] .search-wrap input {



  background: var(--surface2);



  border-color: var(--border2);



  color: var(--text);



}







:root[data-theme="dark"] input:focus,



:root[data-theme="dark"] select:focus,



:root[data-theme="dark"] .sb-inp:focus,



:root[data-theme="dark"] .search-inp:focus {



  border-color: var(--accent);



}







/* ── Dark Mode: Ticker ─────────────────────────────────────── */



:root[data-theme="dark"] .ticker-wrap {



  background: var(--bg2);



  border-color: var(--border);



}







/* ── Dark Mode: Cards ──────────────────────────────────────── */



:root[data-theme="dark"] .card {



  background: var(--surface);



  border-color: var(--border);



}







:root[data-theme="dark"] .card:hover {



  box-shadow: 0 8px 32px rgba(0,0,0,0.3);



}







/* ── Dark Mode: Market cards ───────────────────────────────── */



:root[data-theme="dark"] .market-card,



:root[data-theme="dark"] .mkt-card {



  background: var(--surface);



  border-color: var(--border);



}







/* ── Dark Mode: Price grid ─────────────────────────────────── */



:root[data-theme="dark"] .price-grid,



:root[data-theme="dark"] .pgrid {



  background: rgba(17,17,25,0.3);



}







:root[data-theme="dark"] .price-item,



:root[data-theme="dark"] .pcard {



  background: var(--surface2);



  border-color: var(--border);



}







:root[data-theme="dark"] .pcard:hover {



  box-shadow: 0 8px 25px rgba(0,0,0,0.3);



  border-color: var(--accent);



}







/* ── Dark Mode: Buttons ────────────────────────────────────── */



:root[data-theme="dark"] .sb-btn {



  background: rgba(129,140,248,0.1);



  color: var(--accent);



  border-color: rgba(129,140,248,0.2);



}







:root[data-theme="dark"] .sb-btn:hover {



  background: rgba(129,140,248,0.2);



}







:root[data-theme="dark"] .sb-btn.primary,



:root[data-theme="dark"] .sb-btn.accent {



  background: var(--accent);



  color: #fff;



  border-color: var(--accent);



}







/* ── Dark Mode: Log ────────────────────────────────────────── */



:root[data-theme="dark"] .log-wrap {



  background: var(--surface);



  border-color: var(--border);



}







:root[data-theme="dark"] .log-bar {



  background: var(--surface2);



  border-color: var(--border);



}







:root[data-theme="dark"] .log-body {

  background: rgba(17,17,25,0.6);
  color: #e8e8f0;
}



:root[data-theme="dark"] .ll.ll-cross-golden {
  background: rgba(34,197,94,0.12);
  border-left: 3px solid #22c55e;
  padding-left: 8px;
  margin: 4px 0;
  border-radius: 4px;
  animation: glow-green 1.5s ease-in-out;
}

:root[data-theme="dark"] .ll.ll-cross-death {
  background: rgba(239,68,68,0.12);
  border-left: 3px solid #ef4444;
  padding-left: 8px;
  margin: 4px 0;
  border-radius: 4px;
  animation: glow-red 1.5s ease-in-out;
}

@keyframes glow-green {
  0% { box-shadow: 0 0 8px rgba(34,197,94,0.4); }
  100% { box-shadow: none; }
}

@keyframes glow-red {
  0% { box-shadow: 0 0 8px rgba(239,68,68,0.4); }
  100% { box-shadow: none; }
}







:root[data-theme="dark"] .ll .ts {
  color: #e2e2e2;
  font-weight:600;



}







:root[data-theme="dark"] .ll {



  border-color: var(--border);



}







/* ── Dark Mode: Alert rows ─────────────────────────────────── */



:root[data-theme="dark"] .alert-row {



  border-color: var(--border);



}







:root[data-theme="dark"] .amb {



  background: var(--surface2);



  border-color: var(--border);



  color: var(--text2);



}







:root[data-theme="dark"] .alert-add input {



  background: var(--surface2);



  border-color: var(--border);



  color: var(--text);



}







/* ── Dark Mode: Toast ──────────────────────────────────────── */



:root[data-theme="dark"] .at-item {



  background: var(--bg2);



  border-color: rgba(129,140,248,0.2);



  border-left-color: var(--accent);



}







:root[data-theme="dark"] .toast-ok {



  background: rgba(34,197,94,0.15);



  border-color: rgba(34,197,94,0.3);



}







:root[data-theme="dark"] .toast-err {



  background: rgba(239,68,68,0.15);



  border-color: rgba(239,68,68,0.3);



}







/* ── Dark Mode: Sheet ──────────────────────────────────────── */



:root[data-theme="dark"] .sheet {



  background: var(--bg2);



}







:root[data-theme="dark"] .sheet-header {



  border-color: var(--border);



}







:root[data-theme="dark"] .sheet-item:hover {



  background: var(--surface);



}







:root[data-theme="dark"] .sheet-item .check {



  border-color: var(--border2);



}







:root[data-theme="dark"] .sheet-cancel {



  border-color: var(--border);



}







:root[data-theme="dark"] .sheet-cancel button {



  background: var(--surface2);



  color: var(--text);



}







/* ── Dark Mode: Chips & Tags ───────────────────────────────── */



:root[data-theme="dark"] .chip {



  background: var(--surface2);



  border-color: var(--border);



  color: var(--text2);



}







:root[data-theme="dark"] .chip:hover {



  background: var(--surface3);



  color: var(--text);



  border-color: var(--border2);



}







:root[data-theme="dark"] .sym-tag {



  background: var(--surface2);



  border-color: var(--border);



}







/* ── Dark Mode: Search dropdown ────────────────────────────── */



:root[data-theme="dark"] .search-dd {



  background: var(--bg2);



  border-color: var(--border2);



  box-shadow: 0 8px 32px rgba(0,0,0,0.4);



}







/* ── Dark Mode: Checkbox ───────────────────────────────────── */



:root[data-theme="dark"] .sb-check input[type="checkbox"] {



  background: var(--surface2);



  border-color: var(--border2);



}







/* ── Dark Mode: Modal ──────────────────────────────────────── */



:root[data-theme="dark"] .modal-overlay {



  background: rgba(0,0,0,0.6);



}







:root[data-theme="dark"] .modal {



  background: var(--bg2);



  border-color: var(--border2);



  box-shadow: 0 20px 60px rgba(0,0,0,0.5);



}







:root[data-theme="dark"] .modal .form-group input {



  background: var(--surface2);



  border-color: var(--border);



  color: var(--text);



}







/* ── Dark Mode: Panel ──────────────────────────────────────── */



:root[data-theme="dark"] .panel {



  background: var(--surface);



  border-color: var(--border);



}







/* ── Dark Mode: Status ─────────────────────────────────────── */



:root[data-theme="dark"] .mkt-tag.on {



  background: rgba(34,197,94,0.12);



}







:root[data-theme="dark"] .mkt-tag.off {



  background: rgba(255,255,255,0.04);



}







:root[data-theme="dark"] .mkt-dot.on {



  box-shadow: 0 0 6px rgba(34,197,94,0.5);



}







:root[data-theme="dark"] .status-dot.active {



  background: #22c55e;



  box-shadow: 0 0 6px rgba(34,197,94,0.5);



}







:root[data-theme="dark"] .status-dot.standby {



  background: #fb923c;



  box-shadow: 0 0 6px rgba(251,146,60,0.5);



}







:root[data-theme="dark"] .status-dot.closed {



  background: #ef4444;



  box-shadow: 0 0 6px rgba(239,68,68,0.5);



}







/* ── Dark Mode: Scrollbar ──────────────────────────────────── */



:root[data-theme="dark"] ::-webkit-scrollbar-thumb {



  background: rgba(255,255,255,0.08);



}







:root[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {



  background: rgba(255,255,255,0.15);



}







:root[data-theme="dark"] ::-webkit-scrollbar-track {



  background: transparent;



}








/* ── Dark Mode: Button contrast fixes ───────────────────────── */
:root[data-theme="dark"] .sb-btn.red,
:root[data-theme="dark"] button.red {
  background: rgba(239,68,68,0.12);
  color: #f87171;
  border-color: rgba(239,68,68,0.25);
}

:root[data-theme="dark"] .sb-btn.red:hover,
:root[data-theme="dark"] button.red:hover {
  background: rgba(239,68,68,0.2);
}

:root[data-theme="dark"] .sb-btn.green,
:root[data-theme="dark"] button.green {
  background: rgba(34,197,94,0.12);
  color: #4ade80;
  border-color: rgba(34,197,94,0.25);
}

:root[data-theme="dark"] .sb-btn.green:hover,
:root[data-theme="dark"] button.green:hover {
  background: rgba(34,197,94,0.2);
}

/* Generic button improvements in dark mode */
:root[data-theme="dark"] button:not(.hdr-btn):not(.sb-btn):not([disabled]) {
  background: var(--surface2);
  border-color: var(--border2);
  color: var(--text);
}

:root[data-theme="dark"] button:not(.hdr-btn):not(.sb-btn):not([disabled]):hover {
  background: var(--surface3);
  border-color: var(--accent);
}

/* ── Dark Mode: Ticker items ───────────────────────────────── */



:root[data-theme="dark"] .ticker-item:hover {



  background: rgba(255,255,255,0.02);



}







:root[data-theme="dark"] .ticker-item .tpct.up {



  background: rgba(34,197,94,0.1);



}







:root[data-theme="dark"] .ticker-item .tpct.down {



  background: rgba(239,68,68,0.1);



}







:root[data-theme="dark"] .ticker-item .tpct.neutral {



  color: var(--text3);



  background: rgba(255,255,255,0.03);



}







/* ── Dark Mode: Price card colors ──────────────────────────── */



:root[data-theme="dark"] .pcard .pp.up {



  background: rgba(34,197,94,0.1);



}







:root[data-theme="dark"] .pcard .pp.down {



  background: rgba(239,68,68,0.1);



}







:root[data-theme="dark"] .pcard .pp.neutral {



  background: rgba(255,255,255,0.04);



}







/* ── Dark Mode: Sidebar head hover ─────────────────────────── */



:root[data-theme="dark"] .sb-head:hover {



  background: rgba(255,255,255,0.03);



}







*{margin:0;padding:0;box-sizing:border-box}







body{font-family:var(--font);background:var(--bg);background-attachment:fixed;color:var(--text);min-height:100vh;font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}















/* ── HEADER ── */















.hdr{position:sticky;top:0;z-index:100;background:rgba(255,255,255,0.6);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--border);padding:0 24px;height:52px;display:flex;align-items:center;justify-content:space-between}







.hdr-l{display:flex;align-items:center;gap:14px}







.logo{display:inline-flex;align-items:center;gap:7px;min-width:0;font-size:15px;font-weight:700;letter-spacing:-.5px;color:var(--text)}







.logo span{font-weight:400;color:var(--text3);font-size:12px;margin-left:4px}
.logo-mark{width:28px;height:28px;display:block;flex:0 0 auto;border-radius:8px}
.logo-wordmark{margin-left:0!important;font-size:15px!important;font-weight:800!important;letter-spacing:-.65px;background:linear-gradient(135deg,#5b21b6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent!important}
.logo-version{margin-left:-2px!important;font-size:11px!important;font-weight:500!important;letter-spacing:0;color:var(--text3)!important;-webkit-text-fill-color:var(--text3)!important}







.hdr-r{display:flex;align-items:center;gap:10px}







.hdr-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:var(--r2);cursor:pointer;font-size:11px;font-weight:600;font-family:inherit;border:1px solid var(--border2);background:var(--surface2);color:var(--text2);transition:all .15s}







.hdr-btn:hover{background:var(--surface3);color:var(--text);border-color:var(--border2)}







.hdr-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 12px rgba(124,58,237,0.25);font-size:12px;padding:8px 18px}







.hdr-btn.primary:hover{background:var(--accent2)}







.toggle-row{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text3)}







.tgl{position:relative;width:36px;height:20px;display:inline-block;flex-shrink:0}







.tgl input{opacity:0;width:0;height:0}







.tgl .sl{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.08);border-radius:20px;transition:.2s}







.tgl .sl:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background:#ccc;border-radius:50%;transition:.2s}







.tgl input:checked+.sl{background:var(--accent)}







.tgl input:checked+.sl:before{transform:translateX(16px);background:#fff}















/* ── TICKER ── */







.ticker-wrap{background:rgba(255,255,255,0.45);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);overflow:hidden;height:44px;position:sticky;top:52px;z-index:99}







.ticker{display:flex;gap:0;animation:ticker-scroll 30s linear infinite;width:max-content;height:100%;align-items:center}







.ticker:hover{animation-play-state:paused}







.ticker-item{display:flex;align-items:center;gap:8px;padding:0 24px;height:100%;border-right:1px solid var(--border);white-space:nowrap;font-size:13px;cursor:default;transition:background .15s}







.ticker-item:hover{background:rgba(255,255,255,0.02)}







.ticker-item .tname{color:var(--text2);font-weight:500}







.ticker-item .tval{font-family:var(--mono);font-weight:600;font-size:14px}







.ticker-item .tpct{font-family:var(--mono);font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px}







.ticker-item .tpct.up{color:var(--green);background:rgba(5,150,105,0.08)}







.ticker-item .tpct.down{color:var(--red);background:rgba(225,29,72,0.08)}







.ticker-item .tpct.neutral{color:var(--text3);background:rgba(0,0,0,0.03)}







@keyframes ticker-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}







.ticker-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text4);font-size:11px;width:100vw}

/* 空行情条不占用移动端页头空间；有行情时由 updateTicker() 移除 is-empty。 */
@media(max-width:640px){
  .ticker-wrap.is-empty{display:none}
}

/* Compact the primary page header on phones.  The header is a single row so
   the remaining actions never wrap underneath the brand. */
@media(max-width:640px){
  body:not(.kd-radar-open) .hdr{
    min-height:48px;
    height:48px;
    padding:6px 8px;
    flex-wrap:nowrap;
    gap:6px;
  }
  body:not(.kd-radar-open) .hdr-l{
    flex:1 1 auto;
    min-width:0;
    gap:5px;
  }
  body:not(.kd-radar-open) .logo{
    flex:1 1 auto;
    min-width:0;
    overflow:visible;
    white-space:nowrap;
  }
  body:not(.kd-radar-open) .logo-wordmark{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  body:not(.kd-radar-open) .logo-version{display:none}
  body:not(.kd-radar-open) .hdr-r{flex:0 0 auto;gap:4px}
  body:not(.kd-radar-open) .header-feedback-btn,
  body:not(.kd-radar-open) .header-theme-btn,
  body:not(.kd-radar-open) .header-logout-btn,
  body:not(.kd-radar-open) .event-calendar-launch{
    display:inline-flex;
    align-items:center;
    width:32px;
    min-width:32px;
    height:32px;
    min-height:32px;
    padding:0;
    justify-content:center;
    flex:0 0 32px;
  }
  body:not(.kd-radar-open) .event-calendar-launch{
    font-size:0;
    line-height:1;
  }
  body:not(.kd-radar-open) .event-calendar-launch .event-calendar-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:16px;
    height:16px;
    flex:0 0 16px;
    line-height:1;
  }
  body:not(.kd-radar-open) .event-calendar-launch .event-calendar-label{display:none}
  body:not(.kd-radar-open) .version-help{
    width:32px;
    min-width:32px;
    height:32px;
    min-height:32px;
  }
}
@media(max-width:390px){
  body:not(.kd-radar-open) .hdr{padding-left:6px;padding-right:6px;gap:4px}
  body:not(.kd-radar-open) .hdr-l{gap:4px}
  body:not(.kd-radar-open) .hdr-r{gap:3px}
}















/* ── MAIN LAYOUT ── */







.main{display:grid;grid-template-columns:280px 1fr;gap:0;min-height:calc(100vh - 96px)}







@media(max-width:900px){.main{grid-template-columns:1fr}}















/* ── SIDEBAR ── */







.sidebar{border-right:1px solid var(--border);background:rgba(255,255,255,0.2);overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}







@media(max-width:900px){.sidebar{border-right:none;border-bottom:1px solid var(--border);padding:12px}}







/* ── MOBILE HEADER ── */



@media(max-width:640px){



  .hdr{padding:0 10px;height:auto;min-height:44px;flex-wrap:wrap;gap:4px}



  .hdr-l{flex:1;min-width:0}



  .logo{font-size:12px;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}



  .logo-mark{width:23px;height:23px;border-radius:7px}
  .logo-wordmark{font-size:12px!important}
  .logo-version{font-size:9px!important}



  .hdr-r{gap:6px;flex-shrink:0}



  #userInfo{display:none}



  .toggle-row{gap:4px;font-size:10px}



  .toggle-row span{font-size:10px}



  .tgl{width:32px;height:18px}



  .tgl .sl:before{height:12px;width:12px;left:3px;bottom:3px}



  .tgl input:checked+.sl:before{transform:translateX(14px)}



  .hdr-btn{padding:5px 10px;font-size:10px}



  .hdr-btn.primary{padding:5px 12px;font-size:10px}



  /* Sidebar sections collapsed by default on mobile */



  .sidebar{gap:6px;padding:8px}



  .sb-section .sb-body{display:none}



  .sb-section.active .sb-body{display:block}



  .sb-head{padding:8px 10px}



  .sb-head h3,.sb-head-title{font-size:12px}



  .sb-head .sb-arrow{display:inline-block}



  .sb-body{padding:0 10px 8px}



  /* Content */



  .content{padding:8px}



  .c-grid{gap:8px}



  .card-h h3{font-size:12px}



  /* Crypto always expanded on mobile */



  .sb-section.crypto-always .sb-body{display:block !important}



}







.sb-section{background:var(--surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--r);overflow:visible;margin-bottom:8px}







.sb-head{width:100%;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;color:inherit;font-family:inherit;text-align:left;cursor:pointer;user-select:none;transition:background .15s}
.sb-head:focus-visible{outline:3px solid rgba(124,58,237,.20);outline-offset:-3px}
.quality-tier-row{margin-top:8px;display:grid;grid-template-columns:auto minmax(0,1fr) 30px;align-items:center;gap:7px;font-size:12px}
.quality-tier-row label{color:var(--text2);white-space:nowrap}
.quality-tier-select{width:100%;min-width:0;height:32px;padding:3px 25px 3px 8px;border:1px solid rgba(124,58,237,.25);border-radius:var(--r3);background:rgba(124,58,237,.07);color:var(--text);font-size:11px;font-family:inherit;outline:none;cursor:pointer}
.quality-tier-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(124,58,237,.10)}
.quality-tier-help,.inline-help,.version-help{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(124,58,237,.30);border-radius:50%;background:rgba(124,58,237,.10);color:var(--accent);font-family:inherit;font-size:12px;font-weight:800;line-height:1;cursor:pointer;flex:0 0 auto}
.version-help{margin-left:6px;vertical-align:middle}
.inline-help{margin-left:4px}
.quality-tier-help:focus-visible,.inline-help:focus-visible,.version-help:focus-visible{outline:3px solid rgba(124,58,237,.22);outline-offset:2px}
.tolerance-row{margin-top:8px;display:flex;align-items:center;gap:8px;font-size:12px}.tolerance-help{color:var(--text4);font-size:11px;line-height:1.4}.market-only-note{margin-left:2px;color:#b45309;font-size:11px}.market-source{font-weight:500;color:var(--text4);font-size:11px}.market-status-inline{display:flex;align-items:center;gap:6px}.user-hint{margin-top:6px;padding:0 2px;color:var(--text4);font-size:11px;line-height:1.5}.feature-help{margin:4px 0 0 20px;color:var(--text4);font-size:11px;line-height:1.5}.ocr-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid rgba(139,92,246,.3);border-radius:9px;background:rgba(139,92,246,.15);color:#a78bfa;font-size:16px;cursor:pointer}.ocr-button:focus-visible{outline:3px solid rgba(124,58,237,.22);outline-offset:2px}.card-count-badge{padding:3px 9px;border-radius:999px;background:rgba(139,92,246,.1);color:var(--text4);font-size:11px}.price-time{color:var(--text4);font-family:var(--mono);font-size:11px}







.sb-head:hover{background:rgba(0,0,0,0.02)}







.sb-head h3,.sb-head-title{font-size:12px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.65px;display:flex;align-items:center;gap:6px}







.sb-head .ico{font-size:14px}







.sb-body{padding:0 14px 12px}

/* KD signal controls: a compact, stacked grid that stays legible in the narrow sidebar. */
.kd-settings-body{padding:2px 12px 12px}
.kd-section-icon{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;color:var(--accent)}
.kd-control-block{border-top:1px solid rgba(124,58,237,.12);padding:10px 0 0}
.kd-control-label{display:block;color:var(--text3);font-size:10px;font-weight:700;letter-spacing:.04em;line-height:1.2}
.kd-control-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.kd-signal-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:7px}
.kd-signal-option{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;height:32px;padding:0 7px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.5);color:var(--text2);font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s,color .15s}
.kd-signal-option input,.kd-warning-main input{appearance:none;-webkit-appearance:none;width:15px;height:15px;flex:0 0 15px;margin:0;border:1.5px solid var(--border2);border-radius:4px;background:var(--surface3);cursor:pointer;position:relative}
.kd-signal-option input:checked,.kd-warning-main input:checked{border-color:var(--accent);background:var(--accent)}
.kd-signal-option input:checked::after,.kd-warning-main input:checked::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.kd-signal-option:has(input:checked){background:rgba(124,58,237,.08);border-color:rgba(124,58,237,.28);color:var(--text)}
.kd-signal-option-golden:has(input:checked){border-color:rgba(5,150,105,.36);background:rgba(5,150,105,.08)}
.kd-signal-option-death:has(input:checked){border-color:rgba(225,29,72,.30);background:rgba(225,29,72,.07)}
.kd-signal-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--text4)}
.kd-signal-option-golden .kd-signal-dot{background:#10b981}.kd-signal-option-death .kd-signal-dot{background:#f43f5e}
.kd-quality-block{margin-top:10px}
.quality-tier-select{display:block;height:34px;margin-top:7px;padding:4px 30px 4px 9px;border:1px solid rgba(124,58,237,.25);border-radius:8px;background:rgba(124,58,237,.07);color:var(--text);font-size:11px;font-family:inherit;outline:none;cursor:pointer}
.quality-tier-help{width:24px;height:24px;border-radius:7px;font-size:11px}
.kd-warning-block{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin-top:7px;padding:9px 10px 8px;border:1px solid rgba(124,58,237,.14);border-radius:8px;background:rgba(124,58,237,.045);cursor:pointer}
.kd-warning-main{display:flex;align-items:center;gap:7px;min-width:0}
.kd-warning-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;border-radius:5px;background:rgba(124,58,237,.12);color:var(--accent);line-height:1}
.kd-warning-icon svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.kd-warning-title{color:var(--text2);font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap}
.kd-warning-block .tolerance-help{display:block;margin-left:40px;color:var(--text4);font-size:10px;line-height:1.3;white-space:normal}
.priority-manage-btn{height:32px;margin-top:10px;border-radius:8px;font-size:10px}
.priority-manage-icon{width:13px;height:13px;flex:0 0 13px;fill:currentColor;stroke:currentColor;stroke-width:.5}

:root[data-theme="dark"] .kd-signal-option{background:rgba(20,17,34,.62)}
:root[data-theme="dark"] .kd-signal-option:has(input:checked){background:rgba(139,92,246,.16)}
:root[data-theme="dark"] .kd-warning-block{background:rgba(124,58,237,.12);border-color:rgba(167,139,250,.22)}

@media(max-width:640px){
  .kd-settings-body{padding:2px 10px 10px}
  .kd-signal-options{gap:5px}
  .kd-signal-option{height:34px}
  .kd-quality-block{margin-top:9px}
  .quality-tier-select{height:36px;font-size:12px}
  .quality-tier-help{width:28px;height:28px}
  .kd-warning-block{margin-top:7px;padding:9px 10px 8px}
  .kd-warning-block .tolerance-help{font-size:11px}
  .priority-manage-btn{height:36px;margin-top:9px;font-size:11px}
}







.sb-row{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:11px}







.sb-row:last-child{margin-bottom:0}







.sb-row .lbl{color:var(--text3);min-width:48px;flex-shrink:0}







.sb-inp{background:rgba(255,255,255,0.6);border:1px solid var(--border);border-radius:var(--r3);color:var(--text);padding:5px 8px;font-size:11px;font-family:inherit;outline:none;transition:border-color .2s;width:100%}







.sb-inp:focus{border-color:var(--accent)}







.sb-inp::placeholder{color:var(--text4)}







.sb-btn{display:inline-flex;align-items:center;gap:3px;padding:4px 10px;border-radius:var(--r3);cursor:pointer;font-size:10px;font-weight:600;font-family:inherit;border:1px solid var(--border);background:rgba(255,255,255,0.6);color:var(--text2);transition:all .15s;white-space:nowrap}







.sb-btn:hover{background:rgba(255,255,255,0.9);color:var(--text)}







.sb-btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}







.sb-btn.accent:hover{background:var(--accent2)}







.sb-btn.green{background:rgba(34,197,94,0.12);color:#16a34a;border-color:rgba(34,197,94,0.3)}







.sb-btn.green.running{background:rgba(34,197,94,0.15);color:#15803d;border-color:rgba(34,197,94,0.4);cursor:default}







.sb-btn.red{background:rgba(107,114,128,0.06);color:#6b7280;border-color:rgba(107,114,128,0.15)}







.sb-btn.red:hover{background:rgba(107,114,128,0.12)}







.btn-row{display:flex;gap:4px;margin-bottom:8px}







.sb-check{display:flex;align-items:center;gap:6px;min-height:28px;font-size:12px;cursor:pointer;color:var(--text2);padding:3px 0}

@media(max-width:640px){.quality-tier-help,.inline-help,.version-help,.ocr-button{width:40px;height:40px}.quality-tier-row{grid-template-columns:1fr;gap:6px}.quality-tier-help{grid-column:1;justify-self:start;border-radius:9px;width:auto;padding:0 12px}.quality-tier-help::after{content:" 说明"}.tolerance-row{align-items:flex-start;flex-direction:column;gap:3px}.user-hint,.tolerance-help,.market-only-note,.market-source,.feature-help,.card-count-badge,.price-time{font-size:12px}}







.sb-check input[type="checkbox"]{-webkit-appearance:none;appearance:none;width:16px;height:16px;border:2px solid var(--border2);border-radius:4px;background:rgba(255,255,255,0.6);cursor:pointer;position:relative;transition:all .15s;flex-shrink:0}



.sb-check input[type="checkbox"]:checked{background:var(--accent);border-color:var(--accent)}



.sb-check input[type="checkbox"]:checked::after{content:"\2713";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:bold;line-height:1}







.sb-checks{display:flex;flex-wrap:wrap;gap:6px 10px}















/* ── MARKET STATUS DOTS ── */







.mkt-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;display:inline-block}







.mkt-dot.on{background:var(--green);box-shadow:0 0 6px rgba(5,150,105,0.4)}







.mkt-dot.off{background:var(--text4)}







.mkt-tag{font-size:12px;padding:3px 10px;border-radius:6px;font-weight:700;letter-spacing:.3px}







.mkt-tag.on{background:rgba(5,150,105,0.08);color:var(--green)}







.mkt-tag.off{background:rgba(0,0,0,0.03);color:var(--text3)}















/* ── CONTENT AREA ── */







.content{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}







.c-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}







@media(max-width:1100px){.c-grid{grid-template-columns:1fr}}







.full{grid-column:1/-1}















/* ── CARDS ── */







.card{background:var(--surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:box-shadow .2s;box-shadow:0 2px 8px rgba(0,0,0,0.04)}







.card:hover{box-shadow:0 8px 32px rgba(0,0,0,0.08)}







.card-h{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}







.card-h h3{font-size:12px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:7px;letter-spacing:-.2px}







.card-h .badge{font-size:9px;padding:2px 7px;border-radius:4px;font-weight:600}







.card-b{padding:14px 16px}















/* ── SEARCH ── */







.search-box{position:relative;margin-bottom:8px}







.search-inp{background:rgba(255,255,255,0.6);border:1px solid var(--border);border-radius:var(--r3);color:var(--text);padding:6px 10px;font-size:11px;font-family:inherit;outline:none;width:100%;transition:border-color .2s}







.search-inp:focus{border-color:var(--accent)}







.search-inp::placeholder{color:var(--text4)}







.search-dd{position:absolute;top:100%;left:0;right:0;z-index:50;background:rgba(255,255,255,0.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border2);border-radius:var(--r3);max-height:320px;overflow-y:auto;box-shadow:0 8px 32px rgba(0,0,0,0.08);display:none}







.search-dd.show{display:block}







.search-dd .si{padding:10px 12px;cursor:pointer;font-size:13px;display:flex;justify-content:space-between;border-bottom:1px solid var(--border);transition:background .1s;min-height:36px;align-items:center}







.search-dd .si:hover{background:var(--surface3)}







.search-dd .si:last-child{border-bottom:none}















/* ── SYM TAGS ── */







.sym-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}







.sym-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;background:rgba(255,255,255,0.5);border:1px solid var(--border);border-radius:var(--r3);font-size:11px;white-space:nowrap;transition:border-color .2s}







.sym-tag:hover{border-color:var(--border2)}







.sym-tag .x{background:none;border:none;color:var(--text4);cursor:pointer;font-size:14px;padding:0 1px;line-height:1;transition:color .15s}







.sym-tag .x:hover{color:var(--red)}







.sym-tag .code{color:var(--text4);font-size:10px}
.market-symbol-tag.is-radar-death{border-color:#f0c5c1;background:#fffafa}
.market-symbol-tag.is-radar-death .sb-check{color:#c2322b;font-weight:850}
:root[data-theme="dark"] .market-symbol-tag.is-radar-death{border-color:rgba(248,113,113,.34);background:rgba(239,68,68,.10)}
:root[data-theme="dark"] .market-symbol-tag.is-radar-death .sb-check{color:#f87171}

.priority-manage-btn{width:100%;justify-content:center;margin-top:9px;color:#6d28d9!important;border-color:rgba(124,58,237,.28)!important;background:rgba(124,58,237,.08)!important}
.priority-manage-btn:hover{border-color:rgba(124,58,237,.48)!important;background:rgba(124,58,237,.13)!important}
.priority-manage-count{align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:rgba(124,58,237,.16);font-size:9px}
.priority-mark{display:none;align-items:center;justify-content:center;min-width:20px;height:20px;margin-left:1px;border:1px solid #dcd5e6;border-radius:5px;background:#fff;color:#9a91a6;padding:0;font-family:inherit;font-size:12px;font-weight:850;line-height:1;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s}
.priority-mark.show{display:inline-flex}
.priority-mark:hover{border-color:#9d7df2;background:#f5f1ff;color:#6d28d9;transform:translateY(-1px)}
.priority-mark.is-set{border-color:#cdbcf6;background:#f0ebff;color:#6d28d9}
.priority-mark.is-set:hover{border-color:#8b65ed;background:#e9e1ff}
:root[data-theme="dark"] .priority-mark{border-color:#484258;background:#24212f;color:#a9a0b2}
:root[data-theme="dark"] .priority-mark:hover{border-color:#9878df;background:#332a4b;color:#d4c3ff}
:root[data-theme="dark"] .priority-mark.is-set{border-color:#7257a9;background:#38285a;color:#d8c7ff}

.priority-overlay{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(35,25,52,.6);backdrop-filter:blur(5px);overscroll-behavior:contain}
.priority-overlay.show{display:flex}
.priority-dialog{width:min(720px,calc(100vw - 30px));max-height:min(720px,calc(100vh - 40px));display:flex;flex-direction:column;overflow:hidden;border:1px solid #d9d0e5;border-radius:16px;background:#fff;box-shadow:0 26px 80px rgba(29,18,48,.38)}
.priority-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:17px 19px 15px;border-bottom:1px solid #e4ddec;background:linear-gradient(135deg,rgba(124,58,237,.14),rgba(168,85,247,.08))}
.priority-title{font-size:16px;font-weight:800;color:#352547}
.priority-subtitle{max-width:590px;margin-top:5px;color:#6e6279;font-size:11px;line-height:1.55}
.priority-close{width:32px;height:32px;flex:none;border:1px solid #d8cfe3!important;border-radius:8px!important;background:#fff!important;color:#655870!important;font-size:18px!important;cursor:pointer}
.priority-close:hover{border-color:#9a84b8!important;color:#4c3665!important}
.priority-tools{padding:12px 19px;border-bottom:1px solid #e7e0ee;background:#fbf9fd}
.priority-tabs{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}
.priority-tab{min-height:32px;padding:5px 11px!important;border:1px solid #dcd3e6!important;border-radius:7px!important;background:#fff!important;color:#62566f!important;font-size:11px!important;font-weight:600!important;cursor:pointer}
.priority-tab:hover{border-color:#a992c5!important;color:#51396d!important}
.priority-tab.active{background:#6d28d9!important;border-color:#6d28d9!important;color:#fff!important;box-shadow:0 3px 9px rgba(109,40,217,.22)}
.priority-search{width:100%;height:38px;padding:0 11px;border:1px solid #d7cee2;border-radius:8px;background:#fff;color:#2d2440;font-family:inherit;font-size:12px;outline:none}
.priority-search::placeholder{color:#82768e;opacity:1}
.priority-search:focus{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.11)}
.priority-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 19px;color:#71657d;font-size:10px;background:#fff}
.priority-summary b{color:#6d28d9;font-size:12px}
.priority-list{flex:1 1 auto;min-height:160px;max-height:460px;overflow-y:auto;padding:2px 12px 10px;background:#fbfafd;overscroll-behavior:contain}
.priority-row{display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:6px;padding:10px 11px;border:1px solid #e4ddec;border-radius:9px;background:#fff}
.priority-row:last-child{margin-bottom:0}
.market-pill{width:max-content;padding:3px 7px;border:1px solid #ddd3f2;border-radius:5px;background:#f1edfb;color:#593597;font-size:9px;font-weight:700}
.priority-name{min-width:0;font-size:12px;color:#30263e}
.priority-name strong{font-weight:700;overflow-wrap:anywhere}
.priority-name span{margin-left:6px;color:#776b84;font-size:10px}
.priority-stars{display:inline-flex;align-items:center;gap:1px}
.priority-stars button{width:30px;height:30px;padding:0!important;border:1px solid #d9d1e2!important;border-radius:6px!important;background:#f8f6fa!important;color:#8c8098!important;font-size:14px!important;cursor:pointer}
.priority-stars button.on{border-color:#8b5cf6!important;background:#ede9fe!important;color:#6d28d9!important;box-shadow:inset 0 0 0 1px rgba(124,58,237,.14)}
.priority-stars button:hover{border-color:#7c3aed!important;color:#6d28d9!important}
.priority-empty{padding:42px;text-align:center;color:#756a80;font-size:11px}
.priority-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 19px;border-top:1px solid #e3dcea;background:#fff}
.priority-note{color:#71657d;font-size:10px}
.priority-actions{display:flex;gap:7px}
.priority-actions button{min-height:36px;padding:7px 15px!important;border-radius:8px!important;font-size:11px!important;cursor:pointer}
.priority-cancel{border:1px solid #d8d0e2!important;background:#fff!important;color:#5e526b!important}
.priority-save{border:1px solid #6d28d9!important;background:linear-gradient(135deg,#7c3aed,#6d28d9)!important;color:#fff!important;font-weight:700;box-shadow:0 4px 12px rgba(109,40,217,.22)}
.priority-save:disabled{opacity:.6;cursor:wait}
body.priority-modal-open{overflow:hidden}

:root[data-theme="dark"] .priority-overlay{background:rgba(3,3,8,.72)}
:root[data-theme="dark"] .priority-dialog{border-color:#3d384a;background:#1b1a25;box-shadow:0 26px 80px rgba(0,0,0,.58)}
:root[data-theme="dark"] .priority-head{border-color:#3a3546;background:linear-gradient(135deg,rgba(124,58,237,.24),rgba(168,85,247,.1))}
:root[data-theme="dark"] .priority-title{color:#f3effa}
:root[data-theme="dark"] .priority-subtitle{color:#ada4b8}
:root[data-theme="dark"] .priority-close{border-color:#454052!important;background:#292633!important;color:#d1cad9!important}
:root[data-theme="dark"] .priority-tools{border-color:#383441;background:#201e2a}
:root[data-theme="dark"] .priority-tab{border-color:#454051!important;background:#292633!important;color:#c7bfce!important}
:root[data-theme="dark"] .priority-tab:hover{border-color:#76698a!important;color:#eee9f4!important}
:root[data-theme="dark"] .priority-tab.active{border-color:#8b5cf6!important;background:#7c3aed!important;color:#fff!important}
:root[data-theme="dark"] .priority-search{border-color:#494355;background:#171620;color:#f0ecf5}
:root[data-theme="dark"] .priority-search::placeholder{color:#978f9f}
:root[data-theme="dark"] .priority-summary{color:#aaa1b3;background:#1b1a25}
:root[data-theme="dark"] .priority-summary b{color:#c4b5fd}
:root[data-theme="dark"] .priority-list{background:#181721}
:root[data-theme="dark"] .priority-row{border-color:#3a3545;background:#23212e}
:root[data-theme="dark"] .market-pill{border-color:#59467c;background:#342b52;color:#d2c2ff}
:root[data-theme="dark"] .priority-name{color:#eeeaf3}
:root[data-theme="dark"] .priority-name span{color:#aaa1b3}
:root[data-theme="dark"] .priority-stars button{border-color:#4a4455!important;background:#302d39!important;color:#a89fae!important}
:root[data-theme="dark"] .priority-stars button.on{border-color:#8b5cf6!important;background:rgba(124,58,237,.28)!important;color:#ddd6fe!important}
:root[data-theme="dark"] .priority-empty{color:#aaa1b3}
:root[data-theme="dark"] .priority-foot{border-color:#3a3545;background:#1d1b27}
:root[data-theme="dark"] .priority-note{color:#aaa1b3}
:root[data-theme="dark"] .priority-cancel{border-color:#494354!important;background:#292633!important;color:#d3ccd9!important}

@media(max-width:620px){
  .priority-overlay{align-items:flex-end;padding:6px}
  .priority-dialog{width:100%;height:min(760px,calc(100dvh - 12px));max-height:none;border-radius:18px 18px 10px 10px}
  .priority-head{gap:12px;padding:14px 13px 12px}
  .priority-title{font-size:16px}
  .priority-subtitle{font-size:10px;line-height:1.5}
  .priority-close{width:36px;height:36px}
  .priority-tools{padding:10px 12px 9px}
  .priority-tabs{flex-wrap:nowrap;gap:6px;margin:0 -1px 9px;padding:0 1px 2px;overflow-x:auto;scrollbar-width:none}
  .priority-tabs::-webkit-scrollbar{display:none}
  .priority-tab{min-width:max-content;min-height:36px;padding:6px 12px!important;font-size:11px!important}
  .priority-search{height:41px;font-size:12px}
  .priority-summary{align-items:flex-start;gap:8px;padding:8px 12px;line-height:1.45}
  .priority-summary span:last-child{flex:none;white-space:nowrap}
  .priority-list{flex:1 1 auto;min-height:0;max-height:none;padding:1px 8px 8px}
  .priority-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"market stars" "name stars";gap:4px 10px;padding:9px 10px}
  .priority-row .market-pill{grid-area:market}
  .priority-name{grid-area:name;font-size:12px}
  .priority-name span{margin-left:5px}
  .priority-stars{grid-area:stars;align-self:center;gap:4px}
  .priority-stars button{width:40px;height:40px;border-radius:8px!important;font-size:17px!important}
  .priority-foot{padding:10px 12px calc(10px + env(safe-area-inset-bottom));}
  .priority-note{display:none}
  .priority-actions{width:100%;gap:8px}
  .priority-actions button{min-height:44px}
  .priority-cancel{flex:1}
  .priority-save{flex:1.45}
}















/* ── PRICE GRID ── */







.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:4px}







.pcard{background:rgba(255,255,255,0.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--r);padding:10px 12px;position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s;box-shadow:0 1px 4px rgba(0,0,0,0.03)}







.pcard:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.1);border-color:var(--accent)}







.pcard::before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;border-radius:0 2px 2px 0}







.pcard.up::before{background:var(--green)}.pcard.down::before{background:var(--red)}







.pcard .pn{font-size:9px;color:var(--text3);font-weight:500;margin-bottom:3px;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}







.pcard .pv{font-family:var(--mono);font-size:16px;font-weight:600;line-height:1.1;margin-bottom:2px;letter-spacing:-.3px}







.pcard .pp{font-family:var(--mono);font-size:9px;font-weight:500;display:inline-block;padding:1px 4px;border-radius:3px}







.pcard .pp.up{color:var(--green);background:rgba(5,150,105,0.06)}.pcard .pp.down{color:var(--red);background:rgba(225,29,72,0.06)}.pcard .pp.neutral{color:var(--text3);background:rgba(0,0,0,0.03)}







.pcard .pv.up{color:var(--green)}.pcard .pv.down{color:var(--red)}.pv.neutral{color:var(--text2)}















/* ── CHIPS ── */







.chips{display:flex;flex-wrap:wrap;gap:4px}







.chip{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:var(--r3);font-size:11px;cursor:pointer;user-select:none;transition:all .12s;background:rgba(255,255,255,0.5);border:1px solid rgba(0,0,0,0.05);color:var(--text2)}







.chip:hover{background:rgba(255,255,255,0.8);color:var(--text);border-color:rgba(0,0,0,0.1)}







.chip.sel{background:var(--accent);color:#fff;border-color:var(--accent)}







.chip.sel:hover{background:var(--accent2)}







.chip .cc{font-size:9px;opacity:.6;margin-left:2px}















/* ── ALERT ITEMS ── */







.overlay{position:fixed;inset:0;background:rgba(0,0,0,0.35);z-index:1000;display:none;align-items:flex-end;justify-content:center}



.overlay.show{display:flex;animation:fadeIn .2s}



@keyframes fadeIn{from{opacity:0}to{opacity:1}}



.sheet{width:100%;max-width:500px;background:#fff;border-radius:20px 20px 0 0;overflow:hidden;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}



.overlay.show .sheet{transform:translateY(0)}



.sheet-header{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0f0f0}



.sheet-header .title{font-size:14px;font-weight:600;color:var(--text)}



.sheet-header .close{background:none;border:none;font-size:22px;color:var(--text2);cursor:pointer;padding:4px 8px;line-height:1}



.sheet-list{max-height:50vh;overflow-y:auto;padding:8px 0}



.sheet-item{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;cursor:pointer;transition:background .15s;font-size:14px}



.sheet-item:hover{background:#f8f6fb}



.sheet-item .sname{font-weight:500}.sheet-item .scode{color:var(--text2);font-size:12px;margin-left:8px}



.sheet-item .check{width:20px;height:20px;border-radius:50%;border:2px solid #ddd;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}



.sheet-item.selected .check{background:var(--accent);border-color:var(--accent)}



.sheet-item.selected .check::after{content:"✓";color:#fff;font-size:12px;font-weight:bold}



.sheet-item.selected{color:var(--accent)}



.sheet-cancel{padding:12px 20px 28px;border-top:1px solid #f0f0f0}



.sheet-cancel button{width:100%;padding:14px;background:#f5f5f5;border:none;border-radius:14px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;color:var(--text)}



.btn-trigger{width:100%;padding:10px 14px;background:rgba(255,255,255,0.65);border:1px solid rgba(0,0,0,0.08);border-radius:var(--radius-sm,12px);cursor:pointer;font-size:13px;color:var(--text2);display:flex;align-items:center;justify-content:space-between;font-family:inherit;transition:border-color .2s}



.btn-trigger:hover{border-color:var(--accent)}



.alert-row{display:flex;align-items:center;gap:5px;padding:4px 0;font-size:11px;flex-wrap:wrap;border-bottom:1px solid var(--border)}







.alert-row:last-child{border-bottom:none}







.alert-row .aname{min-width:80px;color:var(--text2);white-space:nowrap}







.alert-row .aval{font-family:var(--mono);color:var(--text);font-weight:500}







.amb{font-size:9px;padding:2px 6px;border-radius:3px;border:1px solid var(--border);background:rgba(255,255,255,0.4);cursor:pointer;color:var(--text2);font-family:inherit;transition:all .12s}







.amb:hover{border-color:var(--border2)}







.amb.on{background:var(--accent);color:#fff;border-color:var(--accent)}







.alert-del{background:none;border:none;color:var(--text4);cursor:pointer;font-size:13px;padding:0 2px;transition:color .12s}







.alert-del:hover{color:var(--red)}



.alert-toast{position:fixed;top:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:8px;pointer-events:none}



.at-item{background:rgba(255,255,255,0.95);backdrop-filter:blur(16px);border:1px solid rgba(124,58,237,0.3);border-left:4px solid var(--accent);border-radius:12px;padding:12px 16px;box-shadow:0 8px 32px rgba(0,0,0,0.12);animation:slideInR .3s ease;pointer-events:auto;max-width:320px;font-size:13px}



@keyframes slideInR{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}



.at-item .at-title{font-weight:600;color:var(--accent);margin-bottom:4px;font-size:12px}



.at-item .at-price{font-family:var(--mono);font-size:18px;font-weight:700}



.at-item .at-target{font-size:11px;color:var(--text2);margin-top:2px}



.at-item .at-time{font-size:10px;color:var(--text4);margin-top:4px}



.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px;flex-shrink:0}



.status-dot.active{background:#10b981;box-shadow:0 0 6px rgba(16,185,129,0.4)}



.status-dot.standby{background:#f59e0b;box-shadow:0 0 6px rgba(245,158,11,0.4)}



.status-dot.closed{background:#ef4444;box-shadow:0 0 6px rgba(239,68,68,0.4)}



.alert-row .aname{display:flex;align-items:center}



.tc-select{font-size:10px;padding:2px 4px;border:1px solid var(--border);border-radius:4px;background:rgba(255,255,255,0.5);color:var(--text2);font-family:inherit;cursor:pointer}







.alert-add{display:flex;gap:4px;margin-top:4px}







.alert-add input{background:rgba(255,255,255,0.5);border:1px solid var(--border);border-radius:var(--r3);color:var(--text);padding:4px 8px;font-size:11px;font-family:var(--mono);outline:none;width:80px}







.alert-add input:focus{border-color:var(--accent)}







.alert-add input::placeholder{color:var(--text4)}















/* ── LOG ── */








/* Log tabs for desktop */
.log-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;background:#f8f8fc;border-bottom:1px solid rgba(0,0,0,0.06)}
.log-tab{font-size:11px;padding:4px 10px;border:1px solid rgba(0,0,0,0.08);border-radius:14px;background:#fff;color:#666;cursor:pointer;transition:all 0.15s;white-space:nowrap}
.log-tab:hover{border-color:#7c3aed;color:#7c3aed}
.log-tab.active{background:#7c3aed;color:#fff;border-color:#7c3aed}
.log-tab span{margin-left:3px;font-weight:600}
.log-market-spacer{width:1px;height:20px;background:rgba(0,0,0,0.1);margin:0 4px}
.log-wrap{background:rgba(255,255,255,0.6);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;flex:1;display:flex;flex-direction:column;min-height:0;transition:box-shadow .2s;box-shadow:0 2px 8px rgba(0,0,0,0.04)}
.log-wrap:hover{box-shadow:0 8px 32px rgba(0,0,0,0.08)}







.log-bar{padding:8px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:rgba(245,245,250,0.9)}







.log-bar h4{font-size:11px;font-weight:600;color:var(--text2);display:flex;align-items:center;gap:5px}







.log-body{padding:8px 0;height:320px;overflow-x:auto;overflow-y:auto;font-family:var(--mono);font-size:10px;line-height:1.6;color:#1a1a2e;background:#f8f8fc;scrollbar-width:thin;scrollbar-color:#ccc transparent;white-space:nowrap}
#logInner{display:inline-block;min-width:100%}







.ll{padding:3px 10px;border-bottom:1px solid rgba(0,0,0,0.04);border-left:3px solid transparent;display:flex;align-items:center;gap:0;transition:background .15s;white-space:nowrap;min-width:max-content;font-variant-numeric:tabular-nums}.ll:hover{background:rgba(0,0,0,0.04)}







.ll .ts{color:#000;margin-right:8px;user-select:none;flex:0 0 42px;font-size:11px;opacity:1;font-weight:600;font-variant-numeric:tabular-nums}
/* ── TERMINAL LOG STYLE ── */
.ll .ln{color:#333;margin-right:8px;user-select:none;flex:0 0 30px;text-align:left;font-size:10px;opacity:0.8;font-variant-numeric:tabular-nums}
.ll .tp{font-size:9px;font-weight:700;padding:1px 6px;border-radius:3px;margin-right:8px;flex:0 0 56px;text-transform:uppercase;letter-spacing:0.5px;text-align:left;display:block;box-sizing:border-box;overflow:hidden}
.ll .tp-signal{background:rgba(34,197,94,0.12);color:#16a34a}
.ll .tp-data{background:rgba(100,116,139,0.08);color:#64748b}
.ll .tp-op{background:rgba(59,130,246,0.1);color:#2563eb}
.ll .tp-sys{background:rgba(139,92,246,0.1);color:#7c3aed}
.ll .tp-alert{background:rgba(234,88,12,0.1);color:#ea580c}
.ll .tp-err{background:rgba(220,38,38,0.1);color:#dc2626}
.ll .pipe{color:#ccc;margin:0 6px;user-select:none;flex:0 0 10px;text-align:center}
.ll .msg{flex-shrink:0;white-space:nowrap}
.ll .msg-signal{color:#16a34a;font-weight:600}
.ll .msg-data{color:#6b7280}
.ll .msg-op{color:#2563eb}
.ll .msg-sys{color:#7c3aed}
.ll .msg-alert{color:#ea580c;font-weight:600}
.ll .msg-err{color:#dc2626}
/* Signal line highlight */
.ll.ll-cross-golden{background:rgba(34,197,94,0.06);border-left:3px solid #22c55e;animation:glow-green 1.5s ease-in-out}
.ll.ll-cross-death{background:rgba(239,68,68,0.06);border-left:3px solid #ef4444;animation:glow-red 1.5s ease-in-out}















/* ── TOAST ── */







.toast{position:fixed;bottom:40px;left:50%;transform:translateX(-50%);padding:14px 28px;border-radius:var(--r2);font-size:14px;font-weight:600;z-index:999;animation:toast-pop .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 8px 32px rgba(0,0,0,0.18);border:1px solid;backdrop-filter:blur(12px);text-align:center;min-width:160px}







@keyframes toast-pop{0%{transform:translateX(-50%) scale(0.8);opacity:0}100%{transform:translateX(-50%) scale(1);opacity:1}}



.toast-ok{color:var(--green);border-color:rgba(5,150,105,0.3);background:rgba(236,253,245,0.95)}







.toast-err{color:var(--red);border-color:rgba(225,29,72,0.3);background:rgba(254,242,242,0.95)}







@keyframes toast-in{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}















/* ── COLLAPSIBLE ── */







.sb-arrow{display:none;font-size:9px;color:var(--text4);transition:transform .2s}







.sb-section.collapsed .sb-arrow{transform:rotate(-90deg)}







.sb-section.collapsed .sb-body{display:none}







.sb-section.active .sb-arrow{display:inline-block;transform:rotate(180deg)}















/* ── MODAL ── */







.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.3);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;display:none}







.modal-overlay.show{display:flex}







.modal{background:var(--surface);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:var(--r);padding:24px;width:340px;max-width:90vw;box-shadow:0 20px 60px rgba(0,0,0,0.12)}







.modal h3{font-size:14px;font-weight:600;margin-bottom:16px;color:var(--text)}







.modal .form-group{margin-bottom:12px}







.modal .form-group label{display:block;font-size:11px;color:var(--text3);margin-bottom:4px}







.modal .form-group input{width:100%;padding:8px 10px;background:rgba(255,255,255,0.6);border:1px solid var(--border);border-radius:var(--r3);font-size:12px;color:var(--text);outline:none;font-family:inherit}







.modal .form-group input:focus{border-color:var(--accent)}







.modal-btns{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}















/* ── SCROLLBAR ── */







::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.08);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.12)}


/* 异动警报模块 - 版本A紧凑卡片式 */
.alert-item {
  background: var(--bg2, #f8f9fa);
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 8px;
  border: 1px solid var(--border, #eee);
}
.alert-item:last-child { margin-bottom: 0; }

.alert-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.alert-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text, #333);
  display: flex;
  align-items: center;
  gap: 4px;
}
.alert-toggle {
  display: flex;
  align-items: center;
  gap: 4px;
}
.alert-toggle input[type="checkbox"] {
  width: 14px;
  height: 14px;
  accent-color: #6366f1;
}
.alert-toggle span {
  font-size: 11px;
  color: var(--text4, #666);
}

.alert-params {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.alert-params .lbl {
  font-size: 11px;
  color: var(--text4, #888);
  min-width: 24px;
}
.alert-params .sb-inp {
  width: 48px;
  height: 26px;
  border: 1px solid var(--border, #ddd);
  border-radius: 6px;
  padding: 0 6px;
  font-size: 12px;
  text-align: center;
  background: var(--bg, #fff);
}
.alert-params .sb-inp:focus {
  outline: none;
  border-color: #6366f1;
}
.alert-params .param-unit {
  font-size: 11px;
  color: var(--text4, #999);
}

/* === Log Table Styles (v9.0) === */
.log-filters{display:flex;gap:6px;padding:8px 18px 10px;border-bottom:1px solid #f0f0f0;flex-wrap:wrap}
.log-filter-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:20px;border:1px solid #e5e5e5;background:#fafafa;font-size:12px;color:#666;cursor:pointer;transition:all 0.15s;user-select:none}
.log-filter-btn:hover{background:#f0f0f0}
.log-filter-btn.active{background:rgba(139,92,246,0.12);border-color:rgba(139,92,246,0.3);color:#7c3aed;font-weight:500}
.log-filter-btn .count{font-size:10px;opacity:0.6;margin-left:2px}
.log-market-spacer{margin-left:auto;width:1px;height:14px;align-self:center;background:var(--border);opacity:.85}
.log-table{width:100%;font-size:12px;border-collapse:collapse}
.log-table thead th{text-align:left;padding:5px 12px;color:#999;font-weight:500;font-size:11px;border-bottom:1px solid #f0f0f0;white-space:nowrap;position:sticky;top:0;z-index:2;background:#f8f8fc}
.log-table thead th:first-child{padding-left:18px}
.log-table tbody tr{border-bottom:1px solid #f8f8f8;transition:background 0.1s}
.log-table tbody tr:hover{background:#fafafe}
.log-table tbody tr:last-child{border-bottom:none}
.log-table td{padding:7px 12px;vertical-align:middle}
.log-table td:first-child{padding-left:18px}
.log-table .col-time{color:#999;font-family:'JetBrains Mono',monospace;font-size:11px;white-space:nowrap;width:75px}
.log-table .col-type{width:60px}
.log-table .type-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;white-space:nowrap}
.log-table .type-signal{background:rgba(139,92,246,0.1);color:#7c3aed}
.log-table .type-email{background:rgba(59,130,246,0.1);color:#3b82f6}
.log-table .type-scan{background:rgba(34,197,94,0.1);color:#16a34a}
.log-table .type-config{background:rgba(234,179,8,0.1);color:#ca8a04}
.log-table .type-system{background:rgba(156,163,175,0.1);color:#6b7280}
.log-table .type-skip{background:rgba(156,163,175,0.06);color:#bbb}
.log-table .type-other{background:rgba(156,163,175,0.06);color:#999}
.log-table .col-content{color:#333;font-weight:400;white-space:nowrap;width:1%;min-width:120px}
.log-table .col-content .symbol{font-weight:600;color:#111}
.log-table .col-content .market{color:#999;font-size:10px}
.log-table .col-content .timeframe{color:#8b5cf6;font-size:11px;font-weight:500}
.log-table .col-content .cross{font-weight:700}
.log-table .cross-golden{color:#16a34a}
.log-table .cross-death{color:#dc2626}
.log-table .col-details{font-family:'JetBrains Mono',monospace;font-size:11px;color:#666;white-space:nowrap;width:auto}
.log-table .col-result{font-weight:600;text-align:right;width:80px}
.log-table tr.row-skip{opacity:0.45}
.log-table tr.row-skip:hover{opacity:0.7}
.log-table .log-footer{padding:8px 18px;font-size:10px;color:#bbb;border-top:1px solid #f0f0f0;text-align:center}

/* ── Mobile Log Layout (方案B) ── */
.log-mobile-list{display:none}
@media(max-width:600px){
  .log-tabs{display:flex!important;gap:4px!important;overflow-x:auto;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .log-tabs::-webkit-scrollbar{display:none}
  .log-tabs .log-tab{flex-shrink:0;white-space:nowrap}
  .log-market-spacer{margin-left:6px;flex:0 0 1px}
  /* Hide desktop table, show mobile list */
  .log-table{display:none!important}
  .log-mobile-list{display:block!important}
  
  /* Filter row: horizontal scroll single line */
  .log-filters{display:flex!important;gap:6px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap!important}
  .log-filters::-webkit-scrollbar{display:none}
  .log-filter-btn{flex-shrink:0!important;padding:4px 10px!important;font-size:11px!important;border-radius:14px!important;white-space:nowrap!important}
  
  /* Search bar compact */
  .log-bar{flex-wrap:wrap;gap:6px}
  .log-bar h4{font-size:14px}
  .log-bar input{width:100px!important;font-size:11px!important;padding:4px 8px!important}
  .log-bar .sb-btn{font-size:11px!important;padding:4px 8px!important}
  
  /* Mobile list container */
  .log-mobile-list{background:#fff;border-radius:10px;overflow:hidden;border:1px solid #f0f0f0}
  
  /* Each log row */
  .lr{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid #f5f5f5;cursor:pointer;transition:background .1s;-webkit-tap-highlight-color:transparent}
  .lr:last-child{border-bottom:none}
  .lr:active{background:#f8f8ff}
  .lr .lr-time{font-size:11px;color:#000;font-weight:600;font-family:'JetBrains Mono',monospace;flex:0 0 auto;min-width:52px;white-space:nowrap}
  .lr .lr-badge{font-size:9px;padding:2px 6px;border-radius:6px;font-weight:600;flex-shrink:0;min-width:32px;text-align:center}
  .lr .lr-msg{font-size:12px;color:#000;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
  .lr .lr-extra{font-size:10px;color:var(--text2);flex-shrink:0;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  
  /* Badge colors */
  .lr .badge-signal{background:rgba(34,197,94,.12);color:#16a34a}
  .lr .badge-email{background:rgba(59,130,246,.12);color:#3b82f6}
  .lr .badge-scan{background:rgba(100,116,139,.1);color:#64748b}
  .lr .badge-config{background:rgba(124,58,237,.12);color:#7c3aed}
  .lr .badge-system{background:rgba(156,163,175,.12);color:#6b7280}
  .lr .badge-other{background:#7c3aed;color:#fff}
  
  /* Signal row highlight */
  .lr.lr-signal{background:rgba(34,197,94,.04)}
  .lr.lr-signal .lr-msg{font-weight:600}
  
  /* Expand detail row */
  .lr-detail{display:none;padding:6px 12px 8px 72px;font-size:11px;color:var(--text2);background:#fafafe;border-bottom:1px solid #f0f0f0}
  .lr-detail.show{display:block}
  .lr-detail .kd{font-family:'JetBrains Mono',monospace}
  .lr-detail .price{color:#16a34a;font-weight:600}
}

/* Real-time news styles */
.news-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#22c55e;animation:news-pulse 1.5s infinite;margin-right:4px;vertical-align:middle}@keyframes news-pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{opacity:.6;box-shadow:0 0 0 5px rgba(34,197,94,0)}}
.news-new-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:rgba(239,68,68,.12);color:#ef4444;font-size:9px;font-weight:800;animation:news-badge-pulse 1s infinite}@keyframes news-badge-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.news-last-refresh{color:var(--text4);font-size:9px;margin-left:auto;margin-right:6px}
.news-recent-new{animation:news-flash 2.5s ease-out}@keyframes news-flash{0%{background:rgba(34,197,94,.18);border-left-color:#22c55e}100%{background:var(--surface3);border-left-color:#d1d5db}}.news-recent-new.matched{animation:news-flash-matched 2.5s ease-out}@keyframes news-flash-matched{0%{background:rgba(34,197,94,.18)}100%{background:rgba(124,58,237,.025)}}
/* AI Filter Styles */
.news-ai-filter-box{margin-top:12px;padding:12px 14px;border:1px solid rgba(124,58,237,.2);border-radius:12px;background:linear-gradient(135deg,rgba(124,58,237,.04),rgba(59,130,246,.03))}
.news-ai-filter-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.news-ai-filter-header label{display:flex;align-items:center;gap:6px;color:var(--text);font-size:12px;cursor:pointer}
.news-ai-filter-header select{border:1px solid var(--border);border-radius:7px;background:var(--surface3);color:var(--text2);padding:4px 8px;font-size:9px;font-weight:600}
.news-ai-filter-desc{display:flex;gap:8px;align-items:flex-end}
.news-ai-filter-desc textarea{flex:1;border:1px solid var(--border);border-radius:9px;background:var(--surface3);color:var(--text);padding:8px 10px;font-size:11px;line-height:1.5;resize:vertical;font-family:inherit;min-height:44px}
.news-ai-filter-desc textarea:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 2px rgba(124,58,237,.1)}
.news-ai-filter-desc button{flex:0 0 auto;border:1px solid #7c3aed;border-radius:9px;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;padding:8px 14px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap;transition:all .2s}
.news-ai-filter-desc button:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(124,58,237,.3)}
.news-ai-filter-desc button:disabled{opacity:.6;cursor:wait;transform:none}
.news-ai-filter-result{margin-top:10px;padding:10px 12px;border-radius:9px;background:rgba(124,58,237,.04);border:1px solid rgba(124,58,237,.12)}
.news-ai-filter-summary{font-size:10px;color:var(--text2);line-height:1.5;margin-bottom:6px}
.news-ai-filter-tags{display:flex;flex-direction:column;gap:5px}
.ai-tag-group{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap}
.ai-tag-label{font-size:9px;font-weight:800;color:var(--text4);min-width:36px;padding-top:2px}
.ai-tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:9px;font-weight:700;line-height:1.6}
.ai-tag-entity{background:rgba(59,130,246,.12);color:#3b82f6}
.ai-tag-event{background:rgba(16,185,129,.12);color:#059669}
.ai-tag-kw{background:rgba(245,158,11,.12);color:#d97706}
.ai-tag-exclude{background:rgba(239,68,68,.12);color:#dc2626;text-decoration:line-through}
.news-ai-filter-hint{margin-top:8px;font-size:9px;color:var(--text4);line-height:1.4}
/* ===== Global Settings Bar ===== */
.news-global-bar{padding:8px 16px;border-bottom:1px solid var(--border);background:var(--surface2)}
.news-global-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.news-global-item{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--text2)}
.news-global-item b{font-size:10px;font-weight:800;color:var(--text);white-space:nowrap}
.news-global-item label{display:flex;align-items:center;gap:3px;font-size:10px;cursor:pointer;color:var(--text2)}
.news-global-item select{border:1px solid var(--border);border-radius:6px;background:var(--surface3);color:var(--text2);padding:3px 6px;font-size:10px;font-weight:600}
.news-global-item input[type=checkbox]{width:13px;height:13px;accent-color:#7c3aed}
.news-ai-classify-toggle{cursor:pointer;padding:3px 8px;border-radius:6px;background:var(--surface3);border:1px solid var(--border);transition:all .2s}
.news-ai-classify-toggle:has(input:checked){background:rgba(124,58,237,.12);border-color:#7c3aed}
.news-ai-classify-toggle input[type=checkbox]{accent-color:#7c3aed}
/* Status dots on tabs */
.filter-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-left:3px;vertical-align:middle}
.dot-on{background:#22c55e;box-shadow:0 0 4px rgba(34,197,94,.5)}
.dot-off{background:var(--text4);opacity:.4}

/* ===== AI Multi-Rule Cards ===== */
.news-ai-rules-list{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}
.news-ai-empty{text-align:center;padding:14px;font-size:10px;color:var(--text4);border:1px dashed var(--border);border-radius:9px}
.ai-rule-card{border:1px solid rgba(124,58,237,.15);border-radius:10px;padding:10px 12px;background:rgba(124,58,237,.02);transition:border-color .2s}
.ai-rule-card:hover{border-color:rgba(124,58,237,.3)}
.ai-rule-card[data-disabled="true"]{opacity:.55}
.ai-rule-card-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.ai-rule-card-header label{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--text)}
.ai-rule-mode-badge{font-size:8px;font-weight:800;padding:1px 7px;border-radius:999px;background:rgba(124,58,237,.1);color:#7c3aed;margin-left:auto}
.ai-rule-del-btn{border:none;background:rgba(239,68,68,.08);color:#dc2626;font-size:9px;font-weight:700;padding:3px 10px;border-radius:7px;cursor:pointer;transition:all .15s}
.ai-rule-del-btn:hover{background:rgba(239,68,68,.18)}
.ai-rule-desc{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--surface3);color:var(--text);padding:7px 10px;font-size:11px;line-height:1.5;resize:vertical;font-family:inherit;min-height:36px;box-sizing:border-box}
.ai-rule-desc:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 2px rgba(124,58,237,.1)}
.ai-rule-tags{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0;align-items:center}
.ai-rule-tags .ai-tag-label{font-size:8px;font-weight:800;color:var(--text4)}
.ai-rule-analyze-btn{border:1px solid #7c3aed;border-radius:8px;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;padding:6px 12px;font-size:10px;font-weight:800;cursor:pointer;transition:all .2s;width:100%;margin-top:4px}
.ai-rule-analyze-btn:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(124,58,237,.3)}
.ai-rule-analyze-btn:disabled{opacity:.6;cursor:wait;transform:none}
.news-ai-add-rule-btn{width:100%;border:1px dashed rgba(124,58,237,.3);border-radius:9px;background:rgba(124,58,237,.04);color:#7c3aed;font-size:11px;font-weight:700;padding:8px;cursor:pointer;transition:all .2s}
.news-ai-add-rule-btn:hover{background:rgba(124,58,237,.08);border-color:#7c3aed}
@media(max-width:640px){.news-ai-filter-desc{flex-direction:column}.news-ai-filter-desc button{width:100%}}

/* AI Analysis Box in News Cards */
.news-ai-box{margin-top:7px;padding:7px 9px;border-radius:7px;background:linear-gradient(135deg,rgba(124,58,237,.04),rgba(59,130,246,.03));border:1px solid rgba(124,58,237,.12)}
.news-ai-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}
.news-ai-event{padding:1px 7px;border-radius:4px;background:rgba(124,58,237,.12);color:#6d28d9;font-size:9px;font-weight:800;letter-spacing:.3px}
.news-ai-sentiment{font-size:9px;font-weight:700}
.news-ai-summary{color:#4b5565;font-size:9.5px;line-height:1.5;margin-bottom:4px}
.news-ai-tags{display:flex;flex-wrap:wrap;gap:3px}
.news-ai-tag{padding:1px 5px;border-radius:3px;background:rgba(107,114,128,.08);color:#6b7280;font-size:8px;font-weight:600}
.news-ai-tag.news-ai-company{background:rgba(124,58,237,.1);color:#6d28d9;font-weight:700}

.news-ai-impact{font-size:10px;padding:2px 6px;border-radius:4px;background:rgba(0,0,0,.15)}.news-ai-impact-reason{font-size:9px}

/* ===== News Center V10 - site visual alignment ===== */
.news-center-overlay{
  padding:24px;
  background:rgba(38,28,61,.58);
  backdrop-filter:blur(8px) saturate(.9);
}
.news-center-dialog{
  width:min(1040px,100%);
  height:min(850px,94vh);
  border-color:rgba(124,58,237,.2);
  border-radius:22px;
  background:rgba(251,250,255,.97);
  box-shadow:0 28px 80px rgba(46,30,79,.3),0 0 0 1px rgba(255,255,255,.38) inset;
}
.news-center-head{
  position:relative;
  overflow:hidden;
  align-items:center;
  padding:20px 24px 18px;
  background:linear-gradient(128deg,#5b21b6 0%,#7c3aed 55%,#8b5cf6 100%);
}
.news-center-head::after{
  position:absolute;
  width:260px;
  height:260px;
  right:-82px;
  top:-150px;
  border:38px solid rgba(255,255,255,.08);
  border-radius:50%;
  content:"";
  pointer-events:none;
}
.news-center-head>div,.news-center-close{position:relative;z-index:1}
.news-center-title{font-size:18px;font-weight:850;letter-spacing:.01em}
.news-center-subtitle{margin-top:5px;color:rgba(255,255,255,.82);font-size:11px;line-height:1.55}
.news-center-close{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:10px;
  background:rgba(255,255,255,.14);
  color:#fff;
  transition:.18s ease;
}
.news-center-close:hover{background:rgba(255,255,255,.24);transform:rotate(4deg)}
.news-center-tabs{
  gap:7px;
  overflow-x:auto;
  padding:11px 18px;
  border-bottom:1px solid rgba(124,58,237,.11);
  background:rgba(248,246,255,.98);
  scrollbar-width:none;
}
.news-center-tabs::-webkit-scrollbar{display:none}
.news-center-tab{
  flex:0 0 auto;
  border:1px solid rgba(124,58,237,.12);
  border-radius:9px;
  background:rgba(255,255,255,.78);
  color:#756d83;
  padding:8px 13px;
  font-size:11px;
  font-weight:750;
  line-height:1;
  transition:.18s ease;
}
.news-center-tab:hover{border-color:rgba(124,58,237,.3);background:#fff;color:#6d28d9}
.news-center-tab.active{
  border-color:#7c3aed;
  background:linear-gradient(135deg,#7c3aed,#6d28d9);
  color:#fff;
  box-shadow:0 5px 14px rgba(124,58,237,.22);
}
.news-center-tab.active .filter-status-dot{box-shadow:0 0 0 2px rgba(255,255,255,.26)}
.news-global-bar{
  padding:10px 18px;
  border-bottom:1px solid rgba(124,58,237,.1);
  background:linear-gradient(90deg,rgba(124,58,237,.055),rgba(168,85,247,.02));
}
.news-global-row{gap:8px}
.news-global-item{
  min-height:34px;
  gap:7px;
  padding:6px 9px;
  border:1px solid rgba(124,58,237,.12);
  border-radius:9px;
  background:rgba(255,255,255,.74);
  color:#655d73;
  font-size:10px;
}
.news-global-item b{color:#3d3350;font-size:10px}
.news-global-item label{color:#655d73}
.news-global-item select{
  border-color:rgba(124,58,237,.18);
  background:#fff;
  color:#4d4559;
  padding:5px 7px;
}
.news-watchlist-toggle,.news-ai-classify-toggle{transition:.18s ease}
.news-watchlist-toggle:has(input:checked),.news-ai-classify-toggle:has(input:checked){
  border-color:rgba(124,58,237,.35);
  background:rgba(124,58,237,.1);
  color:#6d28d9;
}
.news-center-body{
  padding:17px 20px 20px;
  background:linear-gradient(180deg,rgba(248,246,255,.56),rgba(255,255,255,.6));
  scrollbar-color:rgba(124,58,237,.25) transparent;
  scrollbar-width:thin;
}
.news-filter-tools{margin-bottom:11px}
.news-filter-tools button,.news-recent-bar button{
  min-height:30px;
  border-color:rgba(124,58,237,.17);
  border-radius:8px;
  background:#fff;
  color:#6d28d9;
  padding:6px 10px;
  transition:.18s ease;
}
.news-filter-tools button:hover,.news-recent-bar button:hover{
  border-color:#8b5cf6;
  background:rgba(124,58,237,.08);
  transform:translateY(-1px);
}
.news-filter-groups{gap:12px}
.news-filter-group{
  padding:12px;
  border-color:rgba(124,58,237,.13);
  border-radius:12px;
  background:rgba(255,255,255,.92);
  box-shadow:0 4px 14px rgba(61,43,94,.045);
  transition:.18s ease;
}
.news-filter-group:hover{border-color:rgba(124,58,237,.25);box-shadow:0 7px 18px rgba(61,43,94,.07)}
.news-filter-group-head{margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(124,58,237,.08)}
.news-filter-group-title{color:#342b44;font-size:12px}
.news-group-all{padding:3px 6px;border-radius:6px;background:rgba(124,58,237,.06);color:#7c3aed}
.news-filter-options{gap:6px}
.news-filter-chip span{
  min-height:29px;
  border-color:rgba(92,78,116,.13);
  border-radius:8px;
  background:#f8f6fb;
  color:#756d80;
  padding:6px 9px;
  transition:.16s ease;
}
.news-filter-chip:hover span{border-color:rgba(124,58,237,.25);color:#6d28d9}
.news-filter-chip input:focus-visible+span{outline:2px solid rgba(124,58,237,.38);outline-offset:2px}
.news-filter-chip input:checked+span{
  border-color:rgba(124,58,237,.4);
  background:linear-gradient(135deg,rgba(124,58,237,.14),rgba(168,85,247,.08));
  color:#6424c5;
  box-shadow:0 2px 8px rgba(124,58,237,.08);
}
.news-keyword-box{
  margin-top:14px;
  padding:13px 14px;
  border-color:rgba(124,58,237,.13);
  border-radius:12px;
  background:rgba(255,255,255,.9);
}
.news-keyword-box b{color:#3d3350;font-size:12px}
.news-keyword-box span{color:#8b8396;font-size:9px}
.news-keyword-box input{
  border-color:rgba(124,58,237,.14);
  border-radius:9px;
  background:#fbfaff;
  padding:9px 11px;
}
.news-ai-filter-box{
  margin-top:0;
  padding:15px;
  border-color:rgba(124,58,237,.18);
  border-radius:13px;
  background:linear-gradient(145deg,rgba(124,58,237,.06),rgba(255,255,255,.88) 36%,rgba(168,85,247,.035));
  box-shadow:0 5px 18px rgba(61,43,94,.045);
}
.news-ai-filter-header{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(124,58,237,.1)}
.news-ai-filter-header label{font-size:13px}
.news-ai-empty{padding:26px 14px;border-color:rgba(124,58,237,.2);border-radius:11px;background:rgba(255,255,255,.66);font-size:11px}
.ai-rule-card{
  border-color:rgba(124,58,237,.17);
  border-radius:11px;
  background:rgba(255,255,255,.9);
  box-shadow:0 3px 12px rgba(61,43,94,.04);
}
.news-ai-add-rule-btn{min-height:36px;border-color:rgba(124,58,237,.32);border-radius:10px;background:rgba(124,58,237,.06)}
.news-recent-bar{
  min-height:44px;
  margin-bottom:11px;
  padding:8px 10px 8px 13px;
  border:1px solid rgba(124,58,237,.13);
  border-radius:10px;
  background:linear-gradient(90deg,rgba(124,58,237,.08),rgba(255,255,255,.8));
  color:#655d73;
}
.news-recent-list{gap:9px}
.news-recent-item{
  position:relative;
  padding:13px 14px;
  border-color:rgba(92,78,116,.14);
  border-left-width:4px;
  border-radius:11px;
  background:rgba(255,255,255,.94);
  box-shadow:0 3px 12px rgba(61,43,94,.045);
  transition:.18s ease;
}
.news-recent-item:hover{border-color:rgba(124,58,237,.22);box-shadow:0 7px 18px rgba(61,43,94,.075);transform:translateY(-1px)}
.news-recent-item.matched{border-left-color:#7c3aed;background:linear-gradient(90deg,rgba(124,58,237,.05),rgba(255,255,255,.95) 18%)}
.news-recent-title{color:#2f273d;font-size:13px;font-weight:850}
.news-recent-time{color:#9a92a5;font-size:9px;font-weight:650}
.news-recent-content{margin-top:7px;color:#6f677a;font-size:10px;line-height:1.65}
.news-recent-meta{margin-top:9px}
.news-recent-badge{padding:3px 7px;background:#f0eafe;color:#6d28d9;font-size:8px}
.news-ai-box{margin-top:9px;padding:9px 10px;border-color:rgba(124,58,237,.15);border-radius:9px;background:linear-gradient(135deg,rgba(124,58,237,.06),rgba(59,130,246,.025))}
.news-ai-summary{color:#554d61;font-size:10px;line-height:1.6}
.news-center-actions-footer{
  padding:12px 18px calc(12px + env(safe-area-inset-bottom));
  border-top-color:rgba(124,58,237,.11);
  background:rgba(250,248,255,.98);
  box-shadow:0 -7px 20px rgba(61,43,94,.04);
}
.news-center-actions-footer>span{color:#938a9f;font-size:9px}
.news-center-actions-footer button{min-width:76px;border-radius:9px;padding:9px 14px;transition:.18s ease}
.news-center-secondary{border-color:rgba(124,58,237,.17);background:#fff;color:#655d73}
.news-center-secondary:hover{border-color:rgba(124,58,237,.35);color:#6d28d9}
.news-center-primary{border-color:#7c3aed;background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 5px 14px rgba(124,58,237,.2)}
.news-center-primary:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(124,58,237,.28)}

:root[data-theme="dark"] .news-center-dialog{background:rgba(28,26,38,.98);border-color:rgba(139,92,246,.3)}
:root[data-theme="dark"] .news-center-tabs{background:#201e2b;border-color:#393345}
:root[data-theme="dark"] .news-center-tab{border-color:#423b50;background:#2a2735;color:#aaa1b3}
:root[data-theme="dark"] .news-center-tab:hover{border-color:#7662a0;background:#312b40;color:#ddd6fe}
:root[data-theme="dark"] .news-center-tab.active{border-color:#8b5cf6;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff}
:root[data-theme="dark"] .news-global-bar{border-color:#393345;background:linear-gradient(90deg,rgba(124,58,237,.13),rgba(32,30,43,.96))}
:root[data-theme="dark"] .news-global-item{border-color:#403949;background:#292632;color:#c2bacb}
:root[data-theme="dark"] .news-global-item b{color:#eee9f4}
:root[data-theme="dark"] .news-global-item label{color:#c2bacb}
:root[data-theme="dark"] .news-global-item select{border-color:#494154;background:#1c1a25;color:#e3dce9}
:root[data-theme="dark"] .news-center-body{background:linear-gradient(180deg,#211f2b,#1c1a24)}
:root[data-theme="dark"] .news-filter-group,
:root[data-theme="dark"] .news-keyword-box,
:root[data-theme="dark"] .ai-rule-card,
:root[data-theme="dark"] .news-recent-item{border-color:#3b3546;background:#282530;box-shadow:none}
:root[data-theme="dark"] .news-filter-group-head{border-color:#3b3546}
:root[data-theme="dark"] .news-filter-group-title,
:root[data-theme="dark"] .news-keyword-box b,
:root[data-theme="dark"] .news-recent-title{color:#f0ebf5}
:root[data-theme="dark"] .news-filter-chip span{border-color:#413a4c;background:#201e29;color:#aaa2b3}
:root[data-theme="dark"] .news-filter-chip input:checked+span{border-color:#8061bb;background:rgba(124,58,237,.24);color:#ddd6fe}
:root[data-theme="dark"] .news-keyword-box input,
:root[data-theme="dark"] .ai-rule-desc{border-color:#454050;background:#191821;color:#f2edf7}
:root[data-theme="dark"] .news-ai-filter-box{border-color:#463c5a;background:linear-gradient(145deg,rgba(124,58,237,.15),#24212d 42%,#211f2a)}
:root[data-theme="dark"] .news-ai-empty{border-color:#504361;background:#24212e;color:#aaa1b3}
:root[data-theme="dark"] .news-recent-bar{border-color:#41384f;background:linear-gradient(90deg,rgba(124,58,237,.18),#25222f);color:#c5bdcd}
:root[data-theme="dark"] .news-recent-item.matched{border-left-color:#8b5cf6;background:linear-gradient(90deg,rgba(124,58,237,.16),#282530 22%)}
:root[data-theme="dark"] .news-recent-content{color:#b5adbd}
:root[data-theme="dark"] .news-ai-box{border-color:#443a55;background:rgba(124,58,237,.1)}
:root[data-theme="dark"] .news-ai-summary{color:#c7bfce}
:root[data-theme="dark"] .news-center-actions-footer{border-color:#3a3444;background:#211f2a}
:root[data-theme="dark"] .news-center-secondary{border-color:#494154;background:#2a2734;color:#d2cad9}

/* Compact, expandable news cards and truthful delivery states */
.news-live-dot.is-warning{background:#f59e0b;animation:none;box-shadow:0 0 0 3px rgba(245,158,11,.12)}
.news-recent-preview{display:-webkit-box;margin-top:6px;overflow:hidden;color:#6f677a;font-size:10px;line-height:1.55;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.news-recent-details{display:none;margin-top:9px;padding:9px 10px;border-radius:8px;background:rgba(124,58,237,.04);color:#6f677a;font-size:10px;line-height:1.65}
.news-recent-item.expanded .news-recent-preview{-webkit-line-clamp:3}
.news-recent-item.expanded .news-recent-details{display:block}
.news-detail-toggle{margin-left:auto;border:0;background:transparent;color:#7c3aed;padding:2px 4px;font-size:8px;font-weight:750;cursor:pointer}
.news-recent-badge.impact-1{background:rgba(107,114,128,.1);color:#6b7280}
.news-recent-badge.impact-2{background:rgba(245,158,11,.12);color:#b45309}
.news-recent-badge.impact-3{background:rgba(239,68,68,.11);color:#dc2626}
.news-delivery-error{margin-top:7px;padding:7px 8px;border-radius:7px;background:rgba(239,68,68,.08);color:#dc2626;word-break:break-word}
:root[data-theme="dark"] .news-recent-preview,:root[data-theme="dark"] .news-recent-details{color:#b5adbd}
:root[data-theme="dark"] .news-recent-details{background:rgba(139,92,246,.1)}

@media(max-width:760px){
  .news-center-overlay{align-items:flex-end;padding:0}
  .news-center-dialog{width:100%;height:96vh;border-width:1px 0 0;border-radius:20px 20px 0 0}
  .news-center-head{padding:16px 16px 14px}
  .news-center-title{font-size:16px}
  .news-center-subtitle{max-width:76vw;font-size:9px}
  .news-center-tabs{gap:6px;padding:9px 11px}
  .news-center-tab{padding:8px 11px;font-size:10px}
  .news-global-bar{padding:8px 11px;overflow-x:auto}
  .news-global-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0}
  .news-global-item{min-width:0;flex-wrap:wrap;padding:6px 8px}
  .news-global-item:first-child,.news-global-item:has(select){grid-column:auto}
  .news-global-item select{width:100%}
  .news-watchlist-toggle,.news-ai-classify-toggle{grid-column:1/-1}
  .news-center-body{padding:12px}
  .news-filter-tools{width:100%;margin-left:0}
  .news-filter-tools button{flex:1}
  .news-filter-groups{grid-template-columns:1fr}
  .news-filter-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .news-filter-chip span{width:100%}
  .news-keyword-box label{align-items:flex-start;flex-direction:column}
  .news-recent-top{align-items:flex-start}
  .news-recent-title{white-space:normal;line-height:1.4}
  .news-center-actions-footer{position:sticky;bottom:0;padding-left:12px;padding-right:12px}
  .news-center-actions-footer>span{display:none}
  .news-center-actions-footer button{flex:1}
}

@media(max-width:420px){
  .news-global-row{grid-template-columns:1fr}
  .news-global-item,.news-watchlist-toggle,.news-ai-classify-toggle{grid-column:1}
  .news-filter-options{grid-template-columns:1fr 1fr}
}

/* ===== Major event calendar ===== */
.hdr-l{display:flex;align-items:center;gap:18px}
.event-calendar-launch{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border:1px solid rgba(124,58,237,.2);border-radius:9px;background:rgba(124,58,237,.08);color:#6d28d9;font-size:11px;font-weight:800;cursor:pointer;transition:.18s ease}
.event-calendar-launch:hover{border-color:rgba(124,58,237,.38);background:rgba(124,58,237,.14);transform:translateY(-1px)}
.event-calendar-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:0 0 16px;line-height:0}
.event-calendar-icon svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body.event-calendar-open{overflow:hidden}
.event-calendar-page{position:fixed;inset:0;z-index:10020;display:none;overflow:auto;background:radial-gradient(circle at 92% 0,rgba(124,58,237,.035),transparent 25%),#fbfaff;color:#19152d}
.event-calendar-page.show{display:block}
.ec-header{height:92px;padding:0 34px;display:flex;align-items:center;gap:20px;border-bottom:1px solid #efedf4;background:rgba(255,255,255,.96)}
.ec-back{width:48px;height:48px;display:grid;place-items:center;border:1px solid #ded8e9;border-radius:13px;background:#fff;color:#19152d;font-size:28px;line-height:1;cursor:pointer;transition:.18s ease}
.ec-back:hover{border-color:#c9b8fb;color:#7137f5;transform:translateX(-2px)}
.ec-heading h1{margin:0;font-size:25px;line-height:1.2;letter-spacing:.01em;font-weight:850}.ec-heading p{margin:7px 0 0;color:#8e87a1;font-size:13px}
.ec-header-spacer{flex:1}.ec-month-nav{display:flex;align-items:center;gap:12px}.ec-month-nav button{height:44px;border:1px solid #ded8e9;border-radius:11px;background:#fff;color:#19152d;font-weight:750;cursor:pointer;transition:.18s ease}.ec-month-nav button:not(.ec-today){width:46px;font-size:23px}.ec-month-nav .ec-today{padding:0 18px;font-size:14px}.ec-month-nav button:hover{border-color:#c9b8fb;color:#7137f5;background:#fdfcff}.ec-month-label{min-width:122px;text-align:center;font-size:18px;font-weight:850}
.ec-content{padding:26px 34px 38px}.ec-workspace{max-width:1660px;margin:0 auto;display:grid;grid-template-columns:minmax(720px,1.95fr) minmax(390px,.92fr);gap:24px;align-items:stretch}.ec-left-column{min-width:0;display:flex;flex-direction:column;gap:15px}
.ec-controls-card,.ec-calendar-card,.ec-timeline-panel{border:1px solid #e8e4f0;border-radius:17px;background:rgba(255,255,255,.95);box-shadow:0 10px 30px rgba(49,35,82,.07)}
.ec-controls-card{padding:18px 20px 12px}.ec-controls-top{display:flex;align-items:center;gap:10px}.ec-filters{display:flex;gap:8px;flex-wrap:wrap}.ec-filter{height:37px;padding:0 19px;border:1px solid #e8e4f0;border-radius:11px;background:#fff;color:#4e475e;font-size:13px;font-weight:750;cursor:pointer;transition:.18s ease}.ec-filter:hover{border-color:#cbbcf7;color:#7137f5}.ec-filter.active{border-color:#7137f5;background:linear-gradient(135deg,#7c3aed,#6830ec);color:#fff;box-shadow:0 7px 16px rgba(113,55,245,.2)}
.ec-search{width:250px;height:37px;margin-left:auto;position:relative}.ec-search span{position:absolute;left:14px;top:7px;color:#aaa4b8;font-size:17px}.ec-search input{width:100%;height:100%;border:1px solid #e8e4f0;border-radius:11px;background:#fff;color:#19152d;padding:0 14px 0 39px;outline:none;font-size:12px}.ec-search input::placeholder{color:#b7b1c2}.ec-search input:focus{border-color:#a98cf8;box-shadow:0 0 0 3px rgba(113,55,245,.08)}
.ec-stats{margin-top:16px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #ece8f3;border-radius:14px;overflow:hidden;background:#fff}.ec-stat{min-height:70px;display:flex;align-items:center;gap:12px;padding:11px 17px;border-right:1px solid #ece8f3}.ec-stat:last-child{border-right:0}.ec-stat-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;font-size:18px;font-weight:850}.ec-stat.earnings .ec-stat-icon{background:#f1ebff;color:#7c3aed}.ec-stat.macro .ec-stat-icon{background:#eaf3ff;color:#3b82f6}.ec-stat.central .ec-stat-icon{background:#eaf8ec;color:#22a93b}.ec-stat.news .ec-stat-icon{background:#fff1dc;color:#f59e0b}.ec-stat-label{color:#5f586d;font-size:12px}.ec-stat-value{margin-top:4px;color:#19152d;line-height:1}.ec-stat-value b{font-size:22px;font-weight:850}.ec-stat-value small{margin-left:4px;color:#777083;font-size:11px}
.ec-source-line{min-height:28px;display:flex;align-items:center;gap:8px;margin:8px 2px -2px;color:#91899d;font-size:10px}.ec-source-line:before{width:7px;height:7px;border-radius:50%;background:#22c55e;content:""}.ec-source-line.is-error:before{background:#f59e0b}.ec-source-line button{margin-left:auto;border:0;background:transparent;color:#7137f5;font-size:10px;font-weight:800;cursor:pointer}.ec-source-line button:disabled{opacity:.45;cursor:wait}
.ec-calendar-card{overflow:hidden}.ec-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid #e8e4f0;background:#fff}.ec-weekdays div{padding:13px 8px;text-align:center;color:#686174;font-size:12px;font-weight:750}.ec-days{display:grid;grid-template-columns:repeat(7,1fr)}.ec-day{min-width:0;height:84px;padding:9px 11px;border:0;border-right:1px solid #e8e4f0;border-bottom:1px solid #e8e4f0;background:#fff;text-align:left;color:#19152d;cursor:pointer;transition:.15s ease;overflow:hidden}.ec-day:nth-child(7n){border-right:0}.ec-day:hover{background:#fbf9ff}.ec-day.muted{background:#fdfcfe;color:#bbb5c5;cursor:default}.ec-day.selected{position:relative;z-index:1;background:linear-gradient(145deg,#fff,#faf7ff);box-shadow:inset 0 0 0 2px #7137f5}.ec-day-num{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;font-size:12px;font-weight:800}.ec-day.today .ec-day-num{background:#7137f5;color:#fff;box-shadow:0 4px 10px rgba(113,55,245,.22)}.ec-day.selected:not(.today) .ec-day-num{color:#7137f5}.ec-day-events{margin-top:7px;display:flex;flex-direction:column;gap:4px;min-width:0}.ec-day-event{display:flex;align-items:center;gap:5px;min-width:0;color:#302a3e;font-size:10px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-day-event.more{color:#8e87a1;font-weight:600}.ec-event-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%}.ec-event-dot.earnings{background:#7c3aed}.ec-event-dot.macro{background:#3b82f6}.ec-event-dot.central{background:#22a93b}.ec-event-dot.news{background:#f59e0b}.ec-calendar-note{height:37px;display:flex;align-items:center;gap:7px;padding:0 17px;color:#8a8298;font-size:10px;background:#fff}.ec-calendar-note i{width:9px;height:9px;border:2px solid #7137f5;border-radius:50%}
.ec-day-event-title{min-width:0;overflow:hidden;text-overflow:ellipsis}.ec-stars{display:inline-flex;flex:0 0 auto;align-items:center;border:1px solid rgba(245,158,11,.2);border-radius:6px;background:rgba(245,158,11,.09);color:#f59e0b;padding:2px 6px;font-size:11px;font-weight:850;line-height:1;letter-spacing:-1px;white-space:nowrap}.ec-stars.compact{border:0;background:transparent;padding:0;font-size:8px;letter-spacing:-1.5px}.ec-featured-kicker{display:flex;align-items:center;gap:8px}.ec-other-row .ec-stars{justify-self:end}
.ec-timeline-panel{min-width:0;padding:24px 22px 20px;display:flex;flex-direction:column}.ec-timeline-panel h2{margin:0;font-size:19px;font-weight:850}.ec-selected-date{margin-top:6px;color:#8279a0;font-size:13px}.ec-loading{padding:65px 10px;text-align:center;color:#9b94a8;font-size:12px}.ec-featured-event{margin-top:22px;display:grid;grid-template-columns:82px 1fr;border:1px solid #e8e4f0;border-left:5px solid #7137f5;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(49,35,82,.07);overflow:hidden}.ec-featured-event.earnings{border-left-color:#7c3aed}.ec-featured-event.macro{border-left-color:#3b82f6}.ec-featured-event.central{border-left-color:#22a93b}.ec-featured-event.news{border-left-color:#f59e0b}.ec-featured-time{display:flex;align-items:flex-start;justify-content:center;padding-top:52px;border-right:1px solid #efedf3;color:#7137f5;font-size:16px;font-weight:850}.ec-featured-body{min-width:0;padding:19px 18px 17px}.ec-category-badge{display:inline-flex;align-items:center;border-radius:7px;padding:4px 8px;font-size:10px;font-weight:800}.ec-category-badge.earnings{background:#f0eaff;color:#7c3aed}.ec-category-badge.macro{background:#eaf3ff;color:#3b82f6}.ec-category-badge.central{background:#eaf8ec;color:#168a2d}.ec-category-badge.news{background:#fff1dd;color:#d47c00}.ec-featured-body h3{margin:13px 0 0;font-size:18px;line-height:1.4;font-weight:850}.ec-featured-body p{margin:11px 0 0;color:#7f778f;font-size:12px;line-height:1.65}.ec-featured-footer{margin-top:19px;display:flex;align-items:center;gap:8px;color:#8c8498;font-size:10px}.ec-featured-source{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ec-event-link{margin-left:auto;color:#7137f5;text-decoration:none;font-weight:750}.ec-other-events{margin-top:27px}.ec-other-events h3{margin:0 0 12px;font-size:14px;font-weight:800}.ec-other-list{display:flex;flex-direction:column;gap:7px}.ec-other-row{display:grid;grid-template-columns:52px 10px minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:6px 0;color:#514a61;font-size:11px}.ec-other-row time{color:#9a93a5}.ec-other-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.ec-other-row span:last-child{border:1px solid #d9cef7;border-radius:7px;padding:3px 6px;color:#7137f5;font-size:9px}.ec-empty{min-height:145px;display:grid;place-items:center;align-content:center;gap:12px;color:#aaa4b5;text-align:center;font-size:11px}.ec-empty-icon{width:55px;height:55px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#f7f5fa,#eeeaf4);color:#888099;font-size:26px}.ec-focus{margin-top:auto;border:1px solid #cfc0ff;border-radius:13px;background:linear-gradient(145deg,#fbf9ff,#fff);padding:16px 17px;color:#5d5570;font-size:12px;line-height:1.7}.ec-focus strong{display:block;margin-bottom:4px;color:#6540c6;font-size:14px}.ec-legend{margin-top:19px;padding-top:15px;border-top:1px solid #e8e4f0;display:flex;align-items:center;gap:13px;flex-wrap:wrap;color:#81798e;font-size:10px}.ec-legend span{display:flex;align-items:center;gap:5px}.ec-legend-help{margin-left:auto;color:#7137f5!important;font-weight:700}
@media(min-width:1800px){
  .ec-header{padding-left:34px;padding-right:34px}.ec-heading h1{font-size:28px}.ec-heading p{font-size:14px}.ec-month-label{font-size:20px}
  .ec-content{padding:30px 38px 44px}.ec-workspace{max-width:2240px;grid-template-columns:minmax(980px,2.2fr) minmax(480px,.9fr);gap:28px}.ec-left-column{gap:18px}
  .ec-controls-card{padding:21px 23px 14px}.ec-filter{height:41px;padding:0 22px;font-size:14px}.ec-search{width:310px;height:41px}.ec-search input{font-size:13px}.ec-stats{margin-top:18px}.ec-stat{min-height:80px;padding:13px 20px}.ec-stat-icon{width:44px;height:44px;font-size:20px}.ec-stat-label{font-size:13px}.ec-stat-value b{font-size:25px}.ec-stat-value small{font-size:12px}.ec-source-line{min-height:32px;font-size:11px}
  .ec-weekdays div{padding:15px 8px;font-size:14px}.ec-day{height:112px;padding:11px 13px}.ec-day-num{width:27px;height:27px;font-size:14px}.ec-day-events{margin-top:9px;gap:6px}.ec-day-event{gap:6px;font-size:12px}.ec-event-dot{width:8px;height:8px}.ec-stars.compact{font-size:9.5px}.ec-calendar-note{height:43px;font-size:11px}
  .ec-timeline-panel{padding:29px 27px 24px}.ec-timeline-panel h2{font-size:22px}.ec-selected-date{font-size:15px}.ec-featured-event{margin-top:25px;grid-template-columns:94px 1fr}.ec-featured-time{padding-top:59px;font-size:18px}.ec-featured-body{padding:22px 21px 20px}.ec-category-badge{font-size:11px}.ec-stars{font-size:13px}.ec-featured-body h3{font-size:21px}.ec-featured-body p{font-size:14px}.ec-featured-footer{font-size:12px}.ec-other-events h3{font-size:16px}.ec-other-row{grid-template-columns:58px 10px minmax(0,1fr) auto auto;gap:9px;padding:8px 0;font-size:13px}.ec-other-row span:last-child{font-size:10px}.ec-focus{padding:19px 20px;font-size:14px}.ec-focus strong{font-size:16px}.ec-legend{font-size:12px}
}
.ec-day{height:112px}.ec-day-events{margin-top:6px;gap:5px}.ec-day-primary{min-width:0;border-left:4px solid #7c3aed;border-radius:8px;background:#f5f0ff;padding:6px 7px}.ec-day-primary.macro{border-left-color:#3b82f6;background:#f0f6ff}.ec-day-primary.central{border-left-color:#22a93b;background:#edf9ef}.ec-day-primary.news{border-left-color:#f59e0b;background:#fff7e9}.ec-day-primary-head{display:flex;align-items:center;gap:5px;min-width:0}.ec-day-primary-type{color:#6a32d7;font-size:9px;font-weight:850;white-space:nowrap}.ec-day-primary.macro .ec-day-primary-type{color:#2776ce}.ec-day-primary.central .ec-day-primary-type{color:#17852d}.ec-day-primary.news .ec-day-primary-type{color:#cb7600}.ec-day-primary-head .ec-stars{margin-left:auto}.ec-day-primary-title{display:block;margin-top:3px;color:#272033;font-size:10px;font-weight:800;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-day-primary-time{display:block;margin-top:3px;color:#877f94;font-size:8px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-day-counts{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden}.ec-day-count{border-radius:5px;padding:2px 5px;font-size:8px;font-weight:750;line-height:1.35;white-space:nowrap}.ec-day-count.earnings{background:#efe6ff;color:#7034df}.ec-day-count.macro{background:#e6f2ff;color:#2776ce}.ec-day-count.central{background:#e7f7eb;color:#16832c}.ec-day-count.news{background:#fff0d8;color:#c97600}.ec-day-count.more{background:#f0edf4;color:#71697d}
@media(min-width:1800px){.ec-day{height:132px}.ec-day-primary{padding:8px 9px}.ec-day-primary-type{font-size:11px}.ec-day-primary-title{font-size:13px}.ec-day-primary-time{font-size:10px}.ec-day-count{font-size:10px;padding:2px 7px}}
:root[data-theme="dark"] .event-calendar-launch{border-color:rgba(139,92,246,.35);background:rgba(124,58,237,.18);color:#d8ccff}
:root[data-theme="dark"] .event-calendar-page{background:radial-gradient(circle at 92% 0,rgba(124,58,237,.12),transparent 26%),#171620;color:#f2edf7}
:root[data-theme="dark"] .ec-header{border-color:#34303e;background:rgba(27,25,36,.97)}
:root[data-theme="dark"] .ec-back,:root[data-theme="dark"] .ec-month-nav button,:root[data-theme="dark"] .ec-filter,:root[data-theme="dark"] .ec-search input{border-color:#423c4c;background:#27242f;color:#eee9f4}
:root[data-theme="dark"] .ec-heading p,:root[data-theme="dark"] .ec-selected-date{color:#aaa1b3}
:root[data-theme="dark"] .ec-controls-card,:root[data-theme="dark"] .ec-calendar-card,:root[data-theme="dark"] .ec-timeline-panel{border-color:#383340;background:#22202a;box-shadow:0 12px 30px rgba(0,0,0,.25)}
:root[data-theme="dark"] .ec-stats,:root[data-theme="dark"] .ec-weekdays,:root[data-theme="dark"] .ec-day,:root[data-theme="dark"] .ec-calendar-note,:root[data-theme="dark"] .ec-featured-event{border-color:#3a3544;background:#282530;color:#eee9f4}
:root[data-theme="dark"] .ec-stars{border-color:rgba(251,191,36,.28);background:rgba(245,158,11,.12);color:#fbbf24}:root[data-theme="dark"] .ec-stars.compact{border:0;background:transparent}
:root[data-theme="dark"] .ec-stat{border-color:#3a3544}:root[data-theme="dark"] .ec-stat-label,:root[data-theme="dark"] .ec-featured-body p,:root[data-theme="dark"] .ec-featured-footer{color:#b5adbd}:root[data-theme="dark"] .ec-stat-value{color:#f2edf7}:root[data-theme="dark"] .ec-day.muted{background:#201e28;color:#6f6877}:root[data-theme="dark"] .ec-day.selected{background:rgba(124,58,237,.14)}:root[data-theme="dark"] .ec-day-event{color:#d9d2e0}:root[data-theme="dark"] .ec-focus{border-color:#544269;background:#262230;color:#c9c1d2}:root[data-theme="dark"] .ec-day-primary{background:rgba(124,58,237,.16)}:root[data-theme="dark"] .ec-day-primary.macro{background:rgba(59,130,246,.14)}:root[data-theme="dark"] .ec-day-primary.central{background:rgba(34,169,59,.13)}:root[data-theme="dark"] .ec-day-primary.news{background:rgba(245,158,11,.13)}:root[data-theme="dark"] .ec-day-primary-title{color:#f1ecf6}:root[data-theme="dark"] .ec-day-primary-time{color:#aaa2b4}:root[data-theme="dark"] .ec-day-count.more{background:#34303c;color:#bdb5c6}
@media(max-width:1180px){.ec-workspace{grid-template-columns:1fr}.ec-timeline-panel{min-height:600px}.ec-controls-top{align-items:flex-start}.ec-search{width:220px}.ec-day{height:94px}}
@media(max-width:760px){.hdr-l{gap:8px}.event-calendar-launch{width:34px;padding:0;justify-content:center}.event-calendar-launch{font-size:0}.event-calendar-launch span{font-size:15px}.ec-header{height:auto;min-height:82px;padding:13px 14px;gap:11px;flex-wrap:wrap}.ec-back{width:42px;height:42px}.ec-heading h1{font-size:19px}.ec-heading p{font-size:10px}.ec-month-nav{width:100%;justify-content:flex-end}.ec-month-label{min-width:102px;font-size:15px}.ec-month-nav button{height:39px}.ec-month-nav button:not(.ec-today){width:41px}.ec-content{padding:14px}.ec-workspace{gap:13px}.ec-controls-card{padding:13px}.ec-controls-top{flex-direction:column}.ec-filters{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.ec-filter{padding:0 7px;font-size:11px}.ec-search{width:100%;margin-left:0}.ec-stats{grid-template-columns:repeat(2,1fr)}.ec-stat{border-bottom:1px solid #ece8f3}.ec-stat:nth-child(2){border-right:0}.ec-stat:nth-child(3),.ec-stat:nth-child(4){border-bottom:0}.ec-weekdays div{padding:9px 2px;font-size:10px}.ec-day{height:70px;padding:6px}.ec-day-num{width:19px;height:19px;font-size:10px}.ec-day-events{margin-top:4px}.ec-day-event{font-size:8px}.ec-timeline-panel{min-height:540px;padding:18px 14px}.ec-featured-event{grid-template-columns:64px 1fr}.ec-featured-time{font-size:13px;padding-top:49px}.ec-featured-body{padding:16px 13px}.ec-featured-body h3{font-size:16px}.ec-legend-help{margin-left:0}}
@media(max-width:430px){.ec-filters{grid-template-columns:repeat(2,1fr)}.ec-stat{padding:9px}.ec-stat-icon{width:34px;height:34px}.ec-stat-value b{font-size:19px}.ec-day-event span{max-width:52px;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:760px){.ec-day{height:78px}.ec-day-primary{border-left-width:3px;border-radius:5px;padding:3px 4px}.ec-day-primary-head .ec-stars,.ec-day-primary-time,.ec-day-counts{display:none}.ec-day-primary-type{font-size:7px}.ec-day-primary-title{margin-top:2px;font-size:8px}.ec-calendar-note{height:auto;min-height:37px;padding:8px 12px;line-height:1.45}}

/* Mobile calendar layout options. One live DOM, three information architectures. */
.ec-variant-switch{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid #e3ddec;border-radius:10px;background:#fbfaff}
.ec-variant-switch button{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:#81798e;font:700 10px/1 var(--font);cursor:pointer;white-space:nowrap}
.ec-variant-switch button b{display:grid;place-items:center;width:16px;height:16px;border-radius:5px;background:#efeaff;color:#7137f5;font-size:9px}
.ec-variant-switch button.active{background:#7137f5;color:#fff}.ec-variant-switch button.active b{background:rgba(255,255,255,.2);color:#fff}
:root[data-theme="dark"] .ec-variant-switch{border-color:#423c4c;background:#201d28}:root[data-theme="dark"] .ec-variant-switch button{color:#aaa1b3}:root[data-theme="dark"] .ec-variant-switch button b{background:#352c49;color:#c9b7ff}

@media(max-width:760px){
  .ec-header{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px 10px;padding:12px 14px 10px}
  .ec-header-spacer{display:none}
  .ec-heading{min-width:0}.ec-heading h1{font-size:19px;line-height:1.15}.ec-heading p{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ec-month-nav{grid-column:1/-1;width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) 40px 62px;gap:7px;justify-content:stretch}
  .ec-month-nav button,.ec-month-nav button:not(.ec-today){width:auto;height:38px}.ec-month-label{min-width:0;font-size:15px}
  .ec-variant-switch{grid-column:1/-1;justify-content:stretch;width:100%;padding:3px}.ec-variant-switch button{flex:1;justify-content:center;height:30px;padding:0 4px;font-size:10px}
  .ec-content{padding:10px 12px 28px}.ec-workspace{gap:10px}
  .ec-controls-card{padding:11px;border-radius:14px}.ec-filters{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.ec-filters::-webkit-scrollbar{display:none}.ec-filter{flex:0 0 auto;height:34px;padding:0 13px;font-size:11px}
  .ec-search{height:35px}.ec-search input{font-size:11px}.ec-stats{margin-top:10px}.ec-stat{min-height:64px;padding:8px 9px;gap:7px}.ec-stat-icon{width:30px;height:30px;border-radius:9px;font-size:14px}.ec-stat-label{font-size:10px}.ec-stat-value b{font-size:18px}.ec-stat-value small{font-size:9px}
  .ec-source-line{margin-top:6px;font-size:9px}.ec-source-line button{font-size:10px}
  .ec-calendar-card{border-radius:14px}.ec-weekdays div{padding:8px 2px;font-size:9px}.ec-day{height:76px;padding:5px 4px}.ec-day-num{width:19px;height:19px;font-size:10px}.ec-day-events{margin-top:4px;gap:3px}.ec-day-primary{padding:3px;border-left-width:3px}.ec-day-primary-type{font-size:7px}.ec-day-primary-title{font-size:8px}.ec-calendar-note{font-size:9px}
  .ec-timeline-panel{min-height:0;padding:15px 12px;border-radius:14px}.ec-timeline-panel h2{font-size:17px}.ec-selected-date{font-size:11px}.ec-featured-event{margin-top:13px;grid-template-columns:58px 1fr}.ec-featured-time{padding-top:42px;font-size:12px}.ec-featured-body{padding:13px 11px}.ec-featured-body h3{font-size:15px}.ec-featured-body p{margin-top:7px;font-size:11px;line-height:1.5}.ec-featured-footer{margin-top:11px;font-size:9px}.ec-other-events{margin-top:16px}.ec-other-events h3{font-size:12px}.ec-other-row{grid-template-columns:42px 8px minmax(0,1fr) auto;gap:5px;padding:5px 0;font-size:10px}.ec-other-row .ec-stars{display:none}.ec-other-row span:last-child{font-size:8px;padding:2px 4px}.ec-focus{margin-top:14px;padding:11px 12px;font-size:10px;line-height:1.5}.ec-focus strong{font-size:12px}.ec-legend{margin-top:13px;padding-top:11px;gap:8px;font-size:9px}.ec-legend-help{margin-left:0!important}

  /* A · 月历总览：先看整月，再看选中日期。 */
  #eventCalendarPage[data-ec-layout="a"] .ec-left-column{order:1}
  #eventCalendarPage[data-ec-layout="a"] .ec-timeline-panel{order:2}

  /* B · 日程优先：把选中日期的事件放到第一屏，月历退到索引。 */
  #eventCalendarPage[data-ec-layout="b"] .ec-workspace{display:flex;flex-direction:column}
  #eventCalendarPage[data-ec-layout="b"] .ec-left-column{display:contents}
  #eventCalendarPage[data-ec-layout="b"] .ec-timeline-panel{order:1;border-top:3px solid #7137f5}
  #eventCalendarPage[data-ec-layout="b"] .ec-controls-card{order:2}
  #eventCalendarPage[data-ec-layout="b"] .ec-calendar-card{order:3}
  #eventCalendarPage[data-ec-layout="b"] .ec-calendar-note{display:none}
  #eventCalendarPage[data-ec-layout="b"] .ec-timeline-panel .ec-focus{margin-top:11px}
  #eventCalendarPage[data-ec-layout="b"] .ec-stats{grid-template-columns:repeat(4,minmax(0,1fr));overflow-x:auto;border:0;gap:5px;background:transparent}
  #eventCalendarPage[data-ec-layout="b"] .ec-stat{min-width:74px;border:1px solid #ece8f3;border-radius:9px;background:#fff;padding:7px 5px;display:block;text-align:center}
  #eventCalendarPage[data-ec-layout="b"] .ec-stat-icon{margin:0 auto 4px;width:24px;height:24px;font-size:12px}
  #eventCalendarPage[data-ec-layout="b"] .ec-stat-label{font-size:9px}#eventCalendarPage[data-ec-layout="b"] .ec-stat-value{margin-top:2px}

  /* C · 焦点日期：当日时间轴最醒目，日期网格降级为紧凑导航。 */
  #eventCalendarPage[data-ec-layout="c"] .ec-workspace{display:flex;flex-direction:column}
  #eventCalendarPage[data-ec-layout="c"] .ec-timeline-panel{order:1;border:2px solid #cfc0ff;box-shadow:0 10px 24px rgba(113,55,245,.12)}
  #eventCalendarPage[data-ec-layout="c"] .ec-left-column{order:2;display:flex;gap:8px}
  #eventCalendarPage[data-ec-layout="c"] .ec-controls-card{order:1;border:0;box-shadow:none;background:transparent;padding:0 2px}
  #eventCalendarPage[data-ec-layout="c"] .ec-calendar-card{order:2;border-radius:12px}
  #eventCalendarPage[data-ec-layout="c"] .ec-stats{grid-template-columns:repeat(4,minmax(0,1fr));border:0;gap:5px;background:transparent}
  #eventCalendarPage[data-ec-layout="c"] .ec-stat{min-width:0;min-height:54px;border:1px solid #ece8f3;border-radius:9px;background:#fff;padding:6px 3px;display:block;text-align:center}
  #eventCalendarPage[data-ec-layout="c"] .ec-stat-icon{display:none}
  #eventCalendarPage[data-ec-layout="c"] .ec-stat-label{font-size:9px;white-space:nowrap}#eventCalendarPage[data-ec-layout="c"] .ec-stat-value b{font-size:17px}
  #eventCalendarPage[data-ec-layout="c"] .ec-source-line{padding:0 2px}
  #eventCalendarPage[data-ec-layout="c"] .ec-weekdays div{padding:6px 1px;font-size:8px}
  #eventCalendarPage[data-ec-layout="c"] .ec-day{height:62px;padding:4px 3px}#eventCalendarPage[data-ec-layout="c"] .ec-day-events{margin-top:3px}#eventCalendarPage[data-ec-layout="c"] .ec-day-primary{background:transparent!important;border-left:0!important;padding:0}#eventCalendarPage[data-ec-layout="c"] .ec-day-primary-type{font-size:6px}#eventCalendarPage[data-ec-layout="c"] .ec-day-primary-title{font-size:7px}#eventCalendarPage[data-ec-layout="c"] .ec-calendar-note{display:none}
}

@media(max-width:390px){
  .ec-variant-switch button span{display:none}.ec-variant-switch button b{width:21px;height:21px}
  .ec-month-nav{grid-template-columns:36px minmax(0,1fr) 36px 58px;gap:5px}.ec-month-nav button,.ec-month-nav button:not(.ec-today){height:36px}.ec-month-label{font-size:14px}
  .ec-content{padding-right:9px;padding-left:9px}.ec-day{height:70px}.ec-day-primary-title{max-width:48px}
}

:root[data-theme="dark"] #eventCalendarPage[data-ec-layout="b"] .ec-stat,
:root[data-theme="dark"] #eventCalendarPage[data-ec-layout="c"] .ec-stat{border-color:#3a3544;background:#282530;color:#eee9f4}

/* Keep compact controls legible on the narrowest supported phones. */
@media(max-width:390px){
  .ec-variant-switch button span{display:inline}
}

/* Inline SVGs stay crisp at every density and avoid font-glyph icon fallback. */
.ec-stat-icon,.ec-empty-icon{font-size:0}
.ec-stat-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ec-empty-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ec-search span svg{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ec-swipe-hint{display:none}
@media(max-width:760px){
  .ec-swipe-hint{display:block;margin-top:4px;color:#9a91ad;font-size:9px;line-height:1.3}
  #eventCalendarPage[data-ec-layout="b"] .ec-swipe-hint{color:#7654d7;font-weight:700}
  .ec-timeline-panel[data-ec-swipe-surface],.ec-calendar-card{touch-action:pan-y}
  .ec-month-nav .ec-today{min-width:62px;padding:0 8px;white-space:nowrap;word-break:keep-all}
}

/* Date changes should feel intentional while remaining quick. The JS uses
   Element.animate when available; these keyframes keep the same motion on
   older WebViews that only support CSS animations. */
.ec-timeline-content,.ec-focus{transition:opacity .22s ease,transform .22s cubic-bezier(.22,.8,.28,1)}
.ec-timeline-content.ec-date-switching,.ec-focus.ec-date-switching{opacity:.28;transform:translateY(7px)}
.ec-timeline-content.ec-date-switch-next,.ec-focus.ec-date-switch-next{transform:translateX(9px)}
.ec-timeline-content.ec-date-switch-prev,.ec-focus.ec-date-switch-prev{transform:translateX(-9px)}
@keyframes ec-date-enter-next{from{opacity:0;transform:translate3d(22px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes ec-date-enter-prev{from{opacity:0;transform:translate3d(-22px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.ec-timeline-content.ec-date-transition-next,.ec-focus.ec-date-transition-next{animation:ec-date-enter-next .36s cubic-bezier(.22,.8,.28,1) both}
.ec-timeline-content.ec-date-transition-prev,.ec-focus.ec-date-transition-prev{animation:ec-date-enter-prev .36s cubic-bezier(.22,.8,.28,1) both}
@media(max-width:390px){
  .ec-month-nav .ec-today{min-width:58px;padding:0 5px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .ec-timeline-content,.ec-focus{transition:none}
}

/* Email delivery warning */
.email-delivery-warning{display:flex;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;background:rgba(239,68,68,0.08);border:1px solid rgba(239,68,68,0.25);border-radius:8px}
.email-delivery-warning .edw-icon{font-size:20px;flex-shrink:0}
.email-delivery-warning .edw-text{flex:1;min-width:0}
.email-delivery-warning .edw-title{font-size:13px;font-weight:600;color:#ef4444}
.email-delivery-warning .edw-reason{font-size:11px;color:var(--text3);margin-top:2px}
.email-delivery-warning .edw-time{font-size:10px;color:var(--text4);margin-top:1px}
.email-delivery-warning .sb-btn{flex-shrink:0;padding:5px 12px;font-size:11px}
/* Log row styles */
.ll .tp-badge{flex:0 0 62px;font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px;margin-right:8px;text-align:center;background:rgba(139,92,246,0.1);color:#7c3aed;white-space:nowrap}
.ll .tp-badge.signal{background:#7c3aed;color:#fff}
.ll .m{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.ll .m.open{white-space:normal;word-break:break-all}
.ll .c-state{flex:0 0 80px;text-align:right;font-size:10px;font-weight:600;white-space:nowrap}
.ll .c-state.st-ok{color:#22c55e}
.ll .c-state.st-err{color:#ef4444}
.ll .c-state.st-golden{color:#7c3aed}
.ll .c-state.st-death{color:#4c1d95}
.ll .c-state.st-sys{color:#9aa3b8}
.ll .c-state.st-px{color:#7a6e8a}
/* Log search and clear button */
#logSearch{width:140px;padding:5px 10px;border:1px solid rgba(0,0,0,0.1);border-radius:6px;background:#fff;font-size:11px;color:#333;outline:none;transition:border-color 0.15s}
#logSearch:focus{border-color:#7c3aed}
#logSearch::placeholder{color:#999}
.log-bar .sb-btn{padding:5px 12px;border:1px solid rgba(0,0,0,0.1);border-radius:6px;background:#fff;font-size:11px;color:#666;cursor:pointer;transition:all 0.15s}
.log-bar .sb-btn:hover{border-color:#7c3aed;color:#7c3aed}

/* === 日志模块统一配色 === */

/* 1. 标题栏 - 统一紫色 */
.log-bar{
  background: linear-gradient(135deg, rgba(124,58,237,0.1) 0%, rgba(245,245,250,0.95) 100%);
  border-bottom: 2px solid rgba(124,58,237,0.4);
}

.log-bar h4{
  color: #000;
  font-size: 13px;
  font-weight: 700;
}

/* 2. 所有按钮统一紫色系，黑色文字 */
.log-tab{
  border-color: rgba(124,58,237,0.3);
  color: #000;
  background: #fff;
  font-weight: 600;
}

.log-tab:hover{
  border-color: #7c3aed;
  background: rgba(124,58,237,0.05);
}

.log-tab.active{
  background: #7c3aed;
  color: #fff;
  border-color: #7c3aed;
}

.log-tab span{
  color: inherit;
}

/* 3. 分隔线 - 紫色 */
.log-market-spacer{
  width: 2px;
  height: 24px;
  background: linear-gradient(180deg, transparent, #7c3aed, transparent);
  margin: 0 6px;
}

/* 4. 搜索框 */
#logSearch{
  color: #000;
  border-color: rgba(124,58,237,0.3);
}

#logSearch::placeholder{
  color: #666;
}

#logSearch:focus{
  border-color: #7c3aed;
  box-shadow: 0 0 0 3px rgba(124,58,237,0.15);
}

/* 5. 清空按钮 */
.log-bar .sb-btn{
  color: #000;
  border-color: rgba(124,58,237,0.3);
  background: #fff;
  font-weight: 600;
}

.log-bar .sb-btn:hover{
  background: #7c3aed;
  color: #fff;
  border-color: #7c3aed;
}

/* 6. 日志内容 - 白色背景，黑色文字 */
.log-body{
  background: #fff;
  color: #000;
  border-top: 1px solid rgba(124,58,237,0.1);
}

/* 7. 日志行 - 统一紫色左边框 */
.ll{
  border-left: 3px solid rgba(124,58,237,0.3);
  background: #fff;
}

.ll:hover{
  background: rgba(124,58,237,0.03);
}

/* 8. 时间戳 - 黑色粗体 */
.ll .ts{
  color: #000;
  font-weight: 700;
}

/* 9. 类型标签 - 统一紫色背景，白色文字 */
.ll .tp{
  background: #7c3aed;
  color: #fff;
  font-weight: 600;
}

/* 10. 分隔符 */
.ll .pipe{
  color: #999;
}

/* 11. 消息内容 - 黑色 */
.ll .msg{
  color: #000;
}


/* ═══════════════════════════════════════════════════════════════
   运行日志 · 双版式设计（2026-08-09 临时版，切换按钮在日志栏内）
   类：.log-ver-a 卡片式 ｜ .log-ver-b 终端增强
   ═══════════════════════════════════════════════════════════════ */
.log-ver-switch{display:inline-flex;align-items:center;gap:2px;background:rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.08);border-radius:8px;padding:2px}
.log-ver-btn{font-size:10px;font-weight:600;padding:3px 9px;border:0;background:transparent;color:#8a8a9a;border-radius:6px;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap}
.log-ver-btn:hover{color:#7c3aed;background:rgba(124,58,237,0.08)}
.log-ver-btn.active{background:#7c3aed;color:#fff}
:root[data-theme="dark"] .log-ver-switch{background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.13)}
:root[data-theme="dark"] .log-ver-btn{color:#9a9ab0}
:root[data-theme="dark"] .log-ver-btn:hover{color:#c4b5fd;background:rgba(167,139,250,0.14)}
:root[data-theme="dark"] .log-ver-btn.active{background:#8b5cf6;color:#fff}
@media(max-width:600px){.log-ver-switch{display:none}}

/* —— 状态徽标（右侧结论：金叉/死叉/已发送/失败/价格）—— */
.ll .st{flex:0 0 auto;margin-left:10px;padding:1px 8px;border-radius:10px;font-size:9px;font-weight:700;white-space:nowrap;letter-spacing:0.3px}
.ll .st-ok{background:rgba(5,150,105,0.12);color:#059669}
.ll .st-err{background:rgba(220,38,38,0.12);color:#dc2626}
.ll .st-golden{background:rgba(22,163,74,0.14);color:#16a34a}
.ll .st-death{background:rgba(239,68,68,0.14);color:#ef4444}
.ll .st-px{background:rgba(124,58,237,0.1);color:#7c3aed}
.ll .st-sys{background:rgba(100,116,139,0.1);color:#64748b}
:root[data-theme="dark"] .ll .st-ok{background:rgba(5,150,105,0.22);color:#34d399}
:root[data-theme="dark"] .ll .st-err{background:rgba(220,38,38,0.22);color:#f87171}
:root[data-theme="dark"] .ll .st-golden{background:rgba(22,163,74,0.24);color:#4ade80}
:root[data-theme="dark"] .ll .st-death{background:rgba(239,68,68,0.24);color:#f87171}
:root[data-theme="dark"] .ll .st-px{background:rgba(139,92,246,0.2);color:#c4b5fd}
:root[data-theme="dark"] .ll .st-sys{background:rgba(100,116,139,0.2);color:#9ca3af}

/* ════ 版本 A · 结构化卡片式：时间/类型/事件/详情分层，事件突出 ════ */
.log-ver-a .log-body{white-space:normal;overflow-x:hidden}
.log-ver-a .ll{display:grid;grid-template-columns:56px 86px minmax(0,1fr) auto;align-items:center;column-gap:10px;padding:7px 12px;margin:3px 8px;border:1px solid rgba(0,0,0,0.05);border-left:3px solid rgba(0,0,0,0.14);border-radius:9px;background:#fff;min-width:0;white-space:normal;box-shadow:0 1px 2px rgba(0,0,0,0.03)}
.log-ver-a .ll:hover{background:#faf9ff;border-color:rgba(124,58,237,0.3)}
.log-ver-a .ll .ts{flex:none;font-size:10px;font-weight:500;color:#a0a0b8;margin:0}
.log-ver-a .ll .tp{width:auto;flex:none;font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;text-align:center;letter-spacing:0;margin:0}
.log-ver-a .ll .tp-other{color:#64748b;background:rgba(100,116,139,0.09)}
.log-ver-a .ll .pipe{display:none}
.log-ver-a .ll .msg{display:flex;flex-direction:column;gap:2px;min-width:0;flex-shrink:1;overflow:hidden}
.log-ver-a .ll .mline{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}
.log-ver-a .ll .dline{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;padding-left:2px;font-size:10px;color:#9ca3af}
.log-ver-a .ll .evt{font-size:13px;font-weight:800}
.log-ver-a .ll .evt-golden{color:#16a34a}
.log-ver-a .ll .evt-death{color:#ef4444}
.log-ver-a .ll .chip{font-size:10px;padding:1px 7px;border-radius:8px;background:rgba(0,0,0,0.045);border:1px solid rgba(0,0,0,0.06);color:#64748b}
.log-ver-a .ll .chip-sym{font-weight:700;color:#7c3aed;background:rgba(124,58,237,0.08);border-color:rgba(124,58,237,0.2)}
.log-ver-a .ll .chip-score{font-weight:700;color:#7c3aed;background:rgba(124,58,237,0.1);border-color:rgba(124,58,237,0.2)}
.log-ver-a .ll .kd{font-size:11px;font-weight:700;font-family:var(--mono)}
.log-ver-a .ll .px{font-size:12px;font-weight:800;color:#111827}
.log-ver-a .ll .warn{font-size:10px;font-weight:600;color:#ea580c}
.log-ver-a .ll .det{color:#9ca3af}
.log-ver-a .ll .st{justify-self:end}
.log-ver-a .ll.golden{background:linear-gradient(90deg,rgba(34,197,94,0.09),rgba(255,255,255,0) 85%);border-left-color:#22c55e}
.log-ver-a .ll.death{background:linear-gradient(90deg,rgba(239,68,68,0.09),rgba(255,255,255,0) 85%);border-left-color:#ef4444}
.log-ver-a .ll.err{background:linear-gradient(90deg,rgba(220,38,38,0.11),rgba(255,255,255,0) 85%);border-left-color:#dc2626}
.log-ver-a .ll[data-cat="scan"]{opacity:.8}
:root[data-theme="dark"] .log-ver-a .ll{background:#1a1925;border-color:rgba(255,255,255,0.07);border-left-color:rgba(255,255,255,0.2)}
:root[data-theme="dark"] .log-ver-a .ll:hover{background:#211f30;border-color:rgba(167,139,250,0.4)}
:root[data-theme="dark"] .log-ver-a .ll .ts{color:#6b7280}
:root[data-theme="dark"] .log-ver-a .ll .tp-other{color:#9ca3af;background:rgba(148,163,184,0.14)}
:root[data-theme="dark"] .log-ver-a .ll .chip{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.1);color:#9ca3af}
:root[data-theme="dark"] .log-ver-a .ll .chip-sym{background:rgba(139,92,246,0.2);border-color:rgba(167,139,250,0.35);color:#c4b5fd}
:root[data-theme="dark"] .log-ver-a .ll .chip-score{background:rgba(139,92,246,0.2);border-color:rgba(167,139,250,0.35);color:#c4b5fd}
:root[data-theme="dark"] .log-ver-a .ll .px{color:#f3f4f6}
:root[data-theme="dark"] .log-ver-a .ll .dline{color:#6b7280}
:root[data-theme="dark"] .log-ver-a .ll .det{color:#6b7280}
:root[data-theme="dark"] .log-ver-a .ll.golden{background:linear-gradient(90deg,rgba(34,197,94,0.16),rgba(0,0,0,0) 85%)}
:root[data-theme="dark"] .log-ver-a .ll.death{background:linear-gradient(90deg,rgba(239,68,68,0.16),rgba(0,0,0,0) 85%)}
:root[data-theme="dark"] .log-ver-a .ll.err{background:linear-gradient(90deg,rgba(220,38,38,0.2),rgba(0,0,0,0) 85%)}

/* ════ 版本 B · 终端增强式：保留单行终端感，事件/数值高亮 ════ */
.log-ver-b .log-body{white-space:nowrap}
.log-ver-b .ll{padding:3px 12px;border-left:3px solid rgba(0,0,0,0.08)}
.log-ver-b .ll:hover{background:rgba(0,0,0,0.05)}
.log-ver-b .ll .ts{font-size:11px;font-weight:700;color:#000;margin-right:10px}
.log-ver-b .ll .tp{font-size:10px;font-weight:800;padding:2px 8px;border-radius:4px;letter-spacing:0.3px}
.log-ver-b .ll .tp-other{background:#7c3aed;color:#fff}
.log-ver-b .ll .pipe{display:none}
.log-ver-b .ll .msg{font-size:11px}
.log-ver-b .ll .mline{display:inline-flex;align-items:center;gap:7px}
.log-ver-b .ll .dline{display:inline-flex;align-items:center;gap:7px;margin-left:5px;font-size:10px}
.log-ver-b .ll .evt{font-size:12px;font-weight:800;letter-spacing:0.3px}
.log-ver-b .ll .evt-golden{color:#16a34a}
.log-ver-b .ll .evt-death{color:#ef4444}
.log-ver-b .ll .chip{font-size:10px;padding:0 6px;border-radius:3px;background:rgba(0,0,0,0.05);border:1px solid rgba(0,0,0,0.07);color:var(--text2);font-family:var(--mono)}
.log-ver-b .ll .chip-sym{font-weight:700;color:#7c3aed;background:rgba(124,58,237,0.1);border-color:rgba(124,58,237,0.25)}
.log-ver-b .ll .chip-score{font-weight:700;color:#7c3aed}
.log-ver-b .ll .kd{font-size:11px;font-weight:700;font-family:var(--mono);background:rgba(0,0,0,0.04);padding:0 4px;border-radius:3px}
.log-ver-b .ll .px{font-size:12px;font-weight:800}
.log-ver-b .ll .warn{font-weight:700;color:#ea580c}
.log-ver-b .ll .det{}
.log-ver-b .ll[data-cat="email"]{border-left-color:#3b82f6}
.log-ver-b .ll[data-cat="config"]{border-left-color:#8b5cf6}
.log-ver-b .ll[data-cat="signal"]{border-left-color:#8b5cf6}
.log-ver-b .ll[data-cat="scan"]{opacity:.7}
.log-ver-b .ll.golden{border-left-color:#22c55e;background:rgba(34,197,94,0.05)}
.log-ver-b .ll.death{border-left-color:#ef4444;background:rgba(239,68,68,0.05)}
.log-ver-b .ll.err{border-left-color:#dc2626;background:rgba(220,38,38,0.06)}
:root[data-theme="dark"] .log-ver-b .ll .ts{color:#e2e2e2}
:root[data-theme="dark"] .log-ver-b .ll .tp-other{background:#7c3aed;color:#fff}
:root[data-theme="dark"] .log-ver-b .ll .chip{background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.1);color:var(--text2)}
:root[data-theme="dark"] .log-ver-b .ll .chip-sym{background:rgba(139,92,246,0.18);border-color:rgba(167,139,250,0.32);color:#c4b5fd}
:root[data-theme="dark"] .log-ver-b .ll .kd{background:rgba(255,255,255,0.06)}
:root[data-theme="dark"] .log-ver-b .ll .dline{}
:root[data-theme="dark"] .log-ver-b .ll .det{}


/* ═══════════════════════════════════════════════════════════════
   手机版日志行增强 · 双测试版（2026-08-09，v10.0.20260809.08）
   A·两行常显 ｜ B·单行+点击展开（切换器仅手机端显示，桌面版不受影响）
   ═══════════════════════════════════════════════════════════════ */
@media(max-width:600px){
  .lr{flex-direction:column;align-items:stretch;padding:7px 10px;gap:2px}
  .lr-top{display:flex;align-items:center;gap:6px;min-width:0}
  .lr .lr-time{flex:0 0 auto;min-width:52px;white-space:nowrap}
  .lr .lr-badge{flex:0 0 auto}
  .lr-event{flex:1;min-width:0;font-size:12px;font-weight:800;color:#000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lr-ev-golden{color:#16a34a}
  .lr-ev-death{color:#ef4444}
  .lr-more{flex:0 0 auto;color:var(--text2);font-size:10px;transition:transform .15s}
  .lr-full{display:none;font-size:11px;line-height:1.5;color:var(--text2);white-space:normal;word-break:break-all;padding-left:60px;padding-top:2px}
  /* A 版：两行常显（扫描类降噪保持单行） */
  .lr-ver-a .lr-full{display:block}
  .lr-ver-a .lr[data-cat="scan"] .lr-full{display:none}
  .lr-ver-a .lr[data-cat="scan"] .lr-event{font-weight:600;color:var(--text2)}
  /* B 版：单行 + 点击展开 */
  .lr-ver-b .lr-full{display:none}
  .lr-ver-b .lr.open .lr-full{display:block}
  .lr-ver-b .lr.open .lr-more{transform:rotate(180deg)}
  /* 切换器 */
  .lr-ver-switch{display:inline-flex;gap:3px;margin-left:6px;vertical-align:middle}
  .lr-ver-btn{font-size:9px;font-weight:700;padding:2px 6px;border:1px solid rgba(0,0,0,0.12);border-radius:7px;background:rgba(0,0,0,0.05);color:#666;cursor:pointer;font-family:inherit;transition:all .15s}
  .lr-ver-btn.active{background:#7c3aed;border-color:#7c3aed;color:#fff}
  :root[data-theme="dark"] .lr-ver-btn{color:#9a9ab0;border-color:rgba(255,255,255,0.15);background:rgba(255,255,255,0.06)}
  :root[data-theme="dark"] .lr-ver-btn.active{background:#8b5cf6;color:#fff}
}
@media(min-width:601px){.lr-ver-switch{display:none}}


/* ═══════════════════════════════════════════════════════════════
   手机版日志单行全信息（2026-08-09 定稿，v10.0.20260809.10）
   一行内完整显示：时间(无秒) 徽标 标的 周期 事件 评分 K/D 价格 结果
   ═══════════════════════════════════════════════════════════════ */
@media(max-width:600px){
  .lr{flex-direction:row;align-items:center;padding:8px 10px;gap:6px}
  .lr .lr-time{font-size:9px;min-width:0}
  .lr .lr-msg{font-size:9px;color:#000}
  .lr .lr-msg .evt{font-weight:800}
  .lr .lr-msg .kd{font-weight:700;font-family:'JetBrains Mono',monospace}
  .lr .lr-msg .px{font-weight:800}
  .lr-ev-golden .evt{color:#16a34a}
  .lr-ev-death .evt{color:#ef4444}
}


/* === Market row layout v1 (2026-08-09) === */
.market-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
.market-grid>.card,
.market-grid>.sb-section{
  min-width:0;
  min-height:414px;
  height:auto;
  margin:0;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r);
  box-shadow:0 2px 8px rgba(0,0,0,0.04);
}
.market-grid>.card{
  display:flex;
  flex-direction:column;
}
.market-grid>.card>.card-b{
  flex:1;
}
.market-grid>.sb-section{
  overflow:visible;
}
.market-grid>.sb-section>.sb-head{
  min-height:49px;
}
.market-grid .search-inp,
.market-grid .sb-inp{
  min-width:0;
}
.market-grid .sym-tags{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  align-items:stretch;
  gap:8px;
  width:100%;
  max-width:100%;
}
@media(max-width:1500px){
  .market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .market-grid>.card,.market-grid>.sb-section{min-height:0}
}
@media(max-width:900px){
  .market-grid{grid-template-columns:1fr}
}

/* Signal palette previews. Switch with ?signalPalette=a|b|c; A is the default. */
:root[data-signal-palette="a"] .kd-signal-option-golden:has(input:checked){border-color:#9ad8bd;background:#ecf8f2;color:#176b4f}
:root[data-signal-palette="a"] .kd-signal-option-death:has(input:checked){border-color:#e7aaa7;background:#fff1f0;color:#a52c29}
:root[data-signal-palette="a"] .kd-signal-option-golden input:checked{border-color:#087f5b;background:#087f5b}
:root[data-signal-palette="a"] .kd-signal-option-death input:checked{border-color:#b6322e;background:#b6322e}
:root[data-signal-palette="a"] .kd-signal-option-golden .kd-signal-dot{background:#087f5b}
:root[data-signal-palette="a"] .kd-signal-option-death .kd-signal-dot{background:#b6322e}

:root[data-signal-palette="b"] .kd-signal-option,
:root[data-signal-palette="b"] .kd-signal-option:has(input:checked){border-color:#d7dde6;background:#fff;color:#344153}
:root[data-signal-palette="b"] .kd-signal-option-golden input:checked{border-color:#087f5b;background:#087f5b}
:root[data-signal-palette="b"] .kd-signal-option-death input:checked{border-color:#b6322e;background:#b6322e}
:root[data-signal-palette="b"] .kd-signal-option-golden .kd-signal-dot{background:#087f5b}
:root[data-signal-palette="b"] .kd-signal-option-death .kd-signal-dot{background:#b6322e}
:root[data-signal-palette="b"] .kd-signal-option-golden:has(input:checked){box-shadow:inset 3px 0 #087f5b}
:root[data-signal-palette="b"] .kd-signal-option-death:has(input:checked){box-shadow:inset 3px 0 #b6322e}

:root[data-signal-palette="c"] .kd-signal-option{justify-content:flex-start;border-color:#dfe4eb;border-radius:6px;background:#f8fafc;color:#344153}
:root[data-signal-palette="c"] .kd-signal-option-golden:has(input:checked){border-color:#9ad8bd;background:#e7f7ef;color:#176b4f}
:root[data-signal-palette="c"] .kd-signal-option-death:has(input:checked){border-color:#e7aaa7;background:#ffebea;color:#a52c29}
:root[data-signal-palette="c"] .kd-signal-option-golden input:checked{border-color:#087f5b;background:#087f5b}
:root[data-signal-palette="c"] .kd-signal-option-death input:checked{border-color:#b6322e;background:#b6322e}
:root[data-signal-palette="c"] .kd-signal-option-golden .kd-signal-dot{background:#087f5b}
:root[data-signal-palette="c"] .kd-signal-option-death .kd-signal-dot{background:#b6322e}
:root[data-signal-palette="c"] .kd-signal-option-golden:has(input:checked){border-left-width:4px}
:root[data-signal-palette="c"] .kd-signal-option-death:has(input:checked){border-left-width:4px}

@media(max-width:640px){
  .kd-warning-block .tolerance-help{margin-left:0;max-width:100%;font-size:10px;line-height:1.35}
}

/* Mobile market workspace: prioritize the two frequently edited markets without
   adding another fixed navigation layer. Desktop keeps the four-card grid. */
.market-collapse-btn{display:none}
@media(max-width:900px){
  .market-grid>.market-card-astock{order:1}
  .market-grid>.market-card-usstock{order:2}
  .market-grid>.market-card-crypto{order:3}
  .market-grid>.market-card-hkstock{order:4}
  .market-card-head{min-height:50px;cursor:pointer}
  .market-card-head:focus-visible{outline:3px solid rgba(124,58,237,.24);outline-offset:-3px}
  .market-card-status-group{display:flex!important;align-items:center;gap:6px;min-width:0}
  .market-collapse-btn{
    display:inline-grid;
    place-items:center;
    width:30px;
    height:30px;
    flex:0 0 30px;
    margin-left:2px;
    padding:0;
    border:1px solid rgba(124,58,237,.22);
    border-radius:8px;
    background:rgba(124,58,237,.07);
    color:var(--accent);
    cursor:pointer;
  }
  .market-collapse-btn span{
    display:block;
    width:8px;
    height:8px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:translateY(-2px) rotate(45deg);
    transition:transform .16s ease;
  }
  .market-card.is-collapsed .market-collapse-btn span{transform:translateY(2px) rotate(-135deg)}
  .market-card.is-collapsed{min-height:0!important;height:auto!important}
  .market-card.is-collapsed .market-card-body{display:none!important}
  :root[data-theme="dark"] .market-collapse-btn{border-color:rgba(167,139,250,.34);background:rgba(124,58,237,.16);color:#c4b5fd}
}


/* === Unified market card internals v2 (2026-08-09) === */
.market-grid>.market-card{
  min-width:0;
  min-height:438px;
  height:100%;
  margin:0;
  overflow:visible;
  display:flex;
  flex-direction:column;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r);
  box-shadow:0 2px 8px rgba(0,0,0,0.04);
}
.market-card>.card-h{
  min-height:49px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.market-card>.market-card-body{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
}
.market-card .btn-row{
  min-height:29px;
  display:flex;
  align-items:center;
}
.market-card .search-box{
  min-height:39px;
}
.market-card .market-symbol-hint{
  min-height:17px;
}
.market-card .market-symbol-list{
  min-height:112px;
  align-content:flex-start;
}
.market-card .market-period-zone{
  margin-top:auto;
  padding-top:8px;
  border-top:1px solid var(--border);
}
.market-card .market-feature-reserve{
  min-height:55px;
  padding-top:8px;
}
.market-card .market-capital-wrap{
  margin:0 !important;
  padding:8px 0 0 !important;
  border-top:1px solid var(--border) !important;
}
@media(max-width:1500px){
  .market-grid>.market-card{min-height:420px}
}
@media(max-width:900px){
  .market-grid>.market-card{min-height:0}
  .market-card .market-symbol-list{
    min-height:0;
    grid-template-columns:minmax(0,1fr);
    gap:8px;
  }
  .market-card .market-feature-reserve{min-height:0}
}

/* Mobile market cards already have a visible border.  The desktop blur shadow
   spreads past both horizontal edges and reads as a stray dark underline on
   narrow screens, so keep the mobile cards flat and edge-contained. */
@media(max-width:900px){
  .market-grid>.market-card{box-shadow:none}
  .market-grid>.market-card.is-collapsed>.market-card-head{border-bottom:0}
}


/* === Market source linkage UI === */
.market-source-toolbar{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  margin:9px 0 7px;
  padding:6px 7px;
  border:1px solid var(--border);
  border-radius:8px;
  background:rgba(124,58,237,.035);
}
.market-source-label{
  margin-right:2px;
  color:var(--text3);
  font-size:10px;
  font-weight:700;
  letter-spacing:.02em;
}
.market-source-filter{
  min-height:24px;
  padding:2px 8px;
  border:1px solid transparent;
  border-radius:6px;
  background:transparent;
  color:var(--text3);
  font-size:10px;
  cursor:pointer;
  transition:background .16s ease,color .16s ease,border-color .16s ease;
}
.market-source-filter:hover{color:var(--text);background:rgba(124,58,237,.08)}
.market-source-filter.active{border-color:rgba(124,58,237,.2);background:rgba(124,58,237,.12);color:#6d28d9;font-weight:750}
.market-symbol-tag{
  width:100%;
  min-width:0;
  min-height:34px;
  box-sizing:border-box;
  align-items:center;
  gap:6px!important;
  padding-right:7px!important;
}
.market-symbol-tag>.sb-check{
  display:grid;
  grid-template-columns:16px minmax(0,1fr) auto;
  align-items:center;
  column-gap:6px;
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.market-symbol-tag>.sb-check .code{
  grid-column:3;
  flex:0 0 auto;
  margin-left:3px;
  white-space:nowrap;
  font-family:var(--mono,"JetBrains Mono",Consolas,monospace);
  font-variant-numeric:tabular-nums;
}
.market-symbol-tag>.sb-check .market-symbol-name{
  grid-column:2;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.market-symbol-tag>.priority-mark,
.market-symbol-tag>.quick-alert-mobile-trigger,
.market-symbol-tag>.x{
  flex:0 0 auto;
}
.market-symbol-tag .code{color:var(--text4);font-size:10px}
/* 铃铛快捷价格警报按钮: 全宽度可见(2026-08-25, 此前仅≤900px显示, 桌面端被隐藏) */
.quick-alert-mobile-trigger{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  flex:0 0 25px;
  margin-left:1px;
  padding:0;
  border:1px solid rgba(113,55,245,.22);
  border-radius:6px;
  background:rgba(113,55,245,.08);
  color:#7137f5;
  font-family:inherit;
  font-size:12px;
  line-height:1;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.quick-alert-mobile-trigger:active{transform:scale(.94);background:rgba(113,55,245,.16)}
@media(min-width:901px){
  .market-symbol-tag[data-quick-alert="1"]{cursor:context-menu}
  .market-symbol-tag[data-quick-alert="1"]:hover{border-color:rgba(113,55,245,.46);box-shadow:0 3px 10px rgba(49,35,82,.08)}
}

.quick-price-alert-backdrop[hidden]{display:none!important}
.quick-price-alert-backdrop{
  position:fixed;
  inset:0;
  z-index:1190;
  display:none;
  background:rgba(35,27,49,.42);
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
}
.quick-price-alert-backdrop.show{display:block;animation:quick-alert-backdrop-in .16s ease-out}
@keyframes quick-alert-backdrop-in{from{opacity:0}to{opacity:1}}
.quick-price-alert-menu[hidden]{display:none!important}
.quick-price-alert-menu{
  position:fixed;
  z-index:1200;
  display:none;
  width:316px;
  max-width:calc(100vw - 20px);
  overflow:hidden;
  border:1px solid #ddd5eb;
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 48px rgba(37,27,57,.24);
  color:#302a3e;
}
.quick-price-alert-menu.show{display:block;animation:quick-alert-in .14s ease-out}
@keyframes quick-alert-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
.quick-alert-head{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:12px 13px 10px;border-bottom:1px solid #efebf4;background:#fdfcff}
.quick-alert-identity{display:flex;align-items:center;gap:9px;min-width:0}
.quick-alert-icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:7px;background:#f0ebff;color:#7137f5;font-size:14px}
.quick-alert-identity>div{min-width:0}
.quick-alert-identity strong{display:block;overflow:hidden;color:#302a3e;font-size:13px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
.quick-alert-identity small{display:block;margin-top:2px;color:#9a93a5;font-size:9.5px;font-weight:750}
.quick-alert-current{display:flex;align-items:center;gap:7px;padding:9px 13px;border-bottom:1px solid #f2eef6;color:#8e87a1;font-size:10px;font-weight:750}
.quick-alert-current b{color:#302a3e;font-size:13px;font-variant-numeric:tabular-nums}
.quick-alert-quote-state{padding:2px 5px;border-radius:4px;background:#f3f0f7;color:#71697d;font-size:9px;font-style:normal;white-space:nowrap}
.quick-alert-quote-state.live{background:#edf9f1;color:#168a3b}
.quick-alert-quote-state.close,.quick-alert-quote-state.cached{background:#f3f0f7;color:#71697d}
.quick-alert-quote-state.delayed{background:#fff8e8;color:#a56708}
.quick-alert-quote-state.error{background:#fff1ef;color:#c2352b}
.quick-alert-quote-state.loading{position:relative;padding-left:13px}
.quick-alert-quote-state.loading::before{content:"";position:absolute;left:5px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:#8b6ee8;animation:quick-alert-pulse .8s ease-in-out infinite alternate}
@keyframes quick-alert-pulse{to{opacity:.25}}
.quick-alert-current span:last-child{margin-left:auto;padding:2px 6px;border-radius:5px;background:#f3f0f7;color:#71697d;font-size:9px}
.quick-alert-levels[hidden]{display:none!important}
.quick-alert-levels{padding:8px 13px 10px;border-bottom:1px solid #f2eef6;background:#fbfafd}
.quick-alert-levels-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;color:#71697d;font-size:9px;font-weight:850}
.quick-alert-levels-head em{color:#9a93a5;font-size:9px;font-style:normal;font-weight:700}
.quick-alert-levels-head em.loading{color:#7c5de0}
.quick-alert-levels-head em.error{color:#c2352b}
.quick-alert-levels-head em.cached{color:#a56708}
.quick-alert-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:7px}
.quick-alert-sources button{min-width:0;min-height:43px;padding:6px 7px;border:1px solid #e5dfec;border-radius:6px;background:#fff;color:#62586f;font-family:inherit;text-align:left;cursor:pointer}
.quick-alert-sources button:hover{border-color:#c8b5f7;background:#f7f3ff}
.quick-alert-sources button.active{border-color:#8f6be8;background:#f2edff;color:#5e2bd5;box-shadow:0 0 0 2px rgba(113,55,245,.08)}
.quick-alert-sources b,.quick-alert-sources small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quick-alert-sources b{font-size:10px;font-weight:850}
.quick-alert-sources small{margin-top:3px;color:#9a93a5;font-size:8.5px;font-weight:700}
.quick-alert-sources button.active small{color:#8063bf}
.quick-alert-levels-body{display:grid;min-height:66px;gap:5px}
.quick-alert-level{display:grid;grid-template-columns:38px minmax(0,1fr) 42px;align-items:center;width:100%;min-height:30px;padding:0 7px;border:1px solid #e9e3ef;border-radius:6px;background:#fff;color:#51485d;font-family:inherit;text-align:left}
button.quick-alert-level{cursor:pointer}
button.quick-alert-level:hover{border-color:#c8b5f7;background:#f7f3ff}
.quick-alert-level.selected{border-color:#8f6be8;background:#f2edff;box-shadow:0 0 0 2px rgba(113,55,245,.08)}
.quick-alert-level-kind{font-size:10px;font-weight:850}
.quick-alert-level.resistance .quick-alert-level-kind{color:#c2352b}
.quick-alert-level.support .quick-alert-level-kind{color:#168a3b}
.quick-alert-level strong{min-width:0;overflow:hidden;font-size:10.5px;font-weight:800;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}
.quick-alert-level small{color:#8e87a1;font-size:9px;font-weight:750;text-align:right;font-variant-numeric:tabular-nums}
.quick-alert-level.unavailable{color:#aaa3b4;background:#f8f6fa}
.quick-alert-level-message{display:flex;align-items:center;justify-content:center;min-height:66px;color:#9a93a5;font-size:10px;font-weight:700;text-align:center}
.quick-alert-level-message.error{color:#c2352b}
.quick-alert-level-inside{padding:2px 4px 0;color:#a56708;font-size:9px;text-align:center}
.quick-alert-direction{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:11px 13px 0}
.quick-alert-direction button{height:32px;border:1px solid #e5dfec;border-radius:7px;background:#fff;color:#71697d;font-family:inherit;font-size:11px;font-weight:800;cursor:pointer}
.quick-alert-direction button[data-quick-direction="above"].active{border-color:#9ed8b1;background:#edf9f1;color:#168a3b}
.quick-alert-direction button[data-quick-direction="below"].active{border-color:#efb7b2;background:#fff1ef;color:#c2352b}
.quick-alert-form{padding:10px 13px 13px}
.quick-alert-form>label{display:block;margin-bottom:6px;color:#71697d;font-size:10px;font-weight:800}
.quick-alert-price{display:flex;align-items:center;height:36px;border:1px solid #ddd5e8;border-radius:7px;background:#fdfcff;transition:border-color .15s,box-shadow .15s}
.quick-alert-price:focus-within{border-color:#9d7df2;box-shadow:0 0 0 3px rgba(113,55,245,.09)}
.quick-alert-price span{padding-left:10px;color:#71697d;font-size:11px;font-weight:850}
.quick-alert-price input{min-width:0;flex:1;height:100%;border:0;background:transparent;color:#302a3e;padding:0 10px 0 6px;font-family:inherit;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;outline:none}
.quick-alert-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:7px}
.quick-alert-presets button{height:28px;border:1px solid #e6e0ee;border-radius:6px;background:#faf8fd;color:#71697d;font-family:inherit;font-size:10px;font-weight:800;cursor:pointer}
.quick-alert-presets button:hover{border-color:#c8b5f7;background:#f3eeff;color:#7137f5}
.quick-alert-actions{display:grid;grid-template-columns:104px 1fr;gap:7px;margin-top:11px}
.quick-alert-actions select,.quick-alert-submit{height:34px;border-radius:7px;font-family:inherit;font-size:11px;font-weight:800}
.quick-alert-actions select{min-width:0;border:1px solid #ddd5e8;background:#fff;color:#51485d;padding:0 8px;outline:none;cursor:pointer}
.quick-alert-submit{display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #7137f5;background:#7137f5;color:#fff;cursor:pointer}
.quick-alert-submit:hover{background:#5e2bd5}
.quick-alert-submit:disabled{cursor:wait;opacity:.65}
:root[data-theme="dark"] .quick-price-alert-menu{border-color:#3a3450;background:#1e1c2c;box-shadow:0 18px 48px rgba(0,0,0,.5);color:#f2edf7}
:root[data-theme="dark"] .quick-alert-head{border-color:#37324e;background:#211e31}
:root[data-theme="dark"] .quick-alert-identity strong,:root[data-theme="dark"] .quick-alert-current b{color:#f2edf7}
:root[data-theme="dark"] .quick-alert-icon{background:#322857;color:#d3a8ff}
:root[data-theme="dark"] .quick-alert-current span:last-child{background:#2b273d;color:#c9c0d5}
:root[data-theme="dark"] .quick-alert-current{border-color:#37324e;color:#a8a0b5}
:root[data-theme="dark"] .quick-alert-levels{border-color:#37324e;background:#211e31}
:root[data-theme="dark"] .quick-alert-sources button{border-color:#3a3450;background:#252233;color:#ddd5e8}
:root[data-theme="dark"] .quick-alert-sources button:hover,:root[data-theme="dark"] .quick-alert-sources button.active{border-color:#765bb7;background:#30284a;color:#d8c8ff}
:root[data-theme="dark"] .quick-alert-level{border-color:#3a3450;background:#252233;color:#ddd5e8}
:root[data-theme="dark"] button.quick-alert-level:hover,:root[data-theme="dark"] .quick-alert-level.selected{border-color:#765bb7;background:#30284a}
:root[data-theme="dark"] .quick-alert-level.unavailable{background:#242131;color:#777084}
:root[data-theme="dark"] .quick-alert-quote-state.close,:root[data-theme="dark"] .quick-alert-quote-state.cached,:root[data-theme="dark"] .quick-alert-quote-state.loading{background:#2b273d;color:#c9c0d5}
:root[data-theme="dark"] .quick-alert-quote-state.live{background:#173526;color:#5ce08b}
:root[data-theme="dark"] .quick-alert-quote-state.delayed{background:#3b301e;color:#f6c75b}
:root[data-theme="dark"] .quick-alert-quote-state.error{background:#382422;color:#ff8c83}
:root[data-theme="dark"] .quick-alert-direction button,:root[data-theme="dark"] .quick-alert-price,:root[data-theme="dark"] .quick-alert-presets button,:root[data-theme="dark"] .quick-alert-actions select{border-color:#3a3450;background:#252233;color:#c9c0d5}
:root[data-theme="dark"] .quick-alert-price input{color:#f2edf7}
:root[data-theme="dark"] .quick-alert-direction button[data-quick-direction="above"].active{border-color:#286b43;background:#173526;color:#5ce08b}
:root[data-theme="dark"] .quick-alert-direction button[data-quick-direction="below"].active{border-color:#72443f;background:#382422;color:#ff8c83}
@media(max-width:900px){
  body.quick-alert-open{overflow:hidden;overscroll-behavior:none}
  .market-symbol-tag{padding-right:5px!important}
  .market-symbol-tag>.sb-check{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .quick-alert-mobile-trigger{
    display:grid;
    place-items:center;
    width:25px;
    height:25px;
    flex:0 0 25px;
    margin-left:1px;
    padding:0;
    border:1px solid rgba(113,55,245,.22);
    border-radius:6px;
    background:rgba(113,55,245,.08);
    color:#7137f5;
    font-family:inherit;
    font-size:12px;
    line-height:1;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .quick-alert-mobile-trigger:active{transform:scale(.94);background:rgba(113,55,245,.16)}
  .quick-price-alert-menu{
    top:50%!important;
    right:auto;
    bottom:auto;
    left:50%!important;
    width:calc(100% - 28px);
    max-width:420px;
    max-height:calc(100vh - 40px);
    max-height:calc(100dvh - 40px);
    overflow-x:hidden;
    overflow-y:auto;
    border-width:1px;
    border-radius:8px;
    box-shadow:0 20px 52px rgba(37,27,57,.28);
    outline:none;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    transform:translate(-50%,-50%);
  }
  .quick-price-alert-menu.show{animation:quick-alert-modal-in .16s ease-out}
  @keyframes quick-alert-modal-in{from{opacity:.55;transform:translate(-50%,calc(-50% + 8px)) scale(.98)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
  .quick-alert-current{padding-top:10px;padding-bottom:10px}
  .quick-alert-levels{padding-top:10px;padding-bottom:11px}
  .quick-alert-sources{gap:7px;margin-bottom:8px}
  .quick-alert-sources button{min-height:48px;padding:7px 8px}
  .quick-alert-sources b{font-size:11px}
  .quick-alert-sources small{font-size:9px}
  .quick-alert-level{min-height:34px;grid-template-columns:42px minmax(0,1fr) 44px}
  .quick-alert-level strong{font-size:11px}
  .quick-alert-direction{padding-top:13px}
  .quick-alert-direction button{height:38px;font-size:12px}
  .quick-alert-form{padding-bottom:0}
  .quick-alert-form>label{font-size:11px}
  .quick-alert-price{height:42px}
  .quick-alert-price input{font-size:16px}
  .quick-alert-presets button{height:34px;font-size:11px}
  .quick-alert-actions{
    position:sticky;
    bottom:0;
    grid-template-columns:112px 1fr;
    margin:13px -13px 0;
    padding:9px 13px 12px;
    border-top:1px solid #efebf4;
    background:#fff;
  }
  .quick-alert-actions select,.quick-alert-submit{height:40px;font-size:12px}
  :root[data-theme="dark"] .quick-alert-mobile-trigger{border-color:rgba(196,181,253,.28);background:rgba(124,58,237,.18);color:#d8c8ff}
  :root[data-theme="dark"] .quick-alert-actions{border-color:#37324e;background:#1e1c2c}
}
.market-source-badge{
  display:inline-flex;
  align-items:center;
  min-height:17px;
  padding:0 5px;
  border-radius:4px;
  font-size:9px;
  font-weight:750;
  line-height:17px;
  white-space:nowrap;
}
.market-source-badge.source-manual{border:1px solid rgba(71,85,105,.2);background:rgba(71,85,105,.09);color:#475569}
.market-source-badge.source-radar{border:1px solid rgba(124,58,237,.25);background:rgba(124,58,237,.12);color:#6d28d9}
.market-source-badge.source-both{border:1px solid rgba(5,150,105,.24);background:rgba(5,150,105,.12);color:#047857}
.sym-tag.source-radar{border-color:rgba(124,58,237,.25);box-shadow:inset 2px 0 #7c3aed}
.sym-tag.source-both{border-color:rgba(5,150,105,.28);box-shadow:inset 2px 0 #059669}
:root[data-theme="dark"] .market-source-filter.active{color:#c4b5fd}
:root[data-theme="dark"] .market-source-badge.source-manual{color:#cbd5e1;background:rgba(148,163,184,.16)}
:root[data-theme="dark"] .market-source-badge.source-radar{color:#c4b5fd;background:rgba(124,58,237,.2)}
:root[data-theme="dark"] .market-source-badge.source-both{color:#6ee7b7;background:rgba(5,150,105,.2)}
@media(max-width:640px){
  .market-source-toolbar{align-items:stretch;gap:4px;padding:7px}
  .market-source-label{width:100%;margin-bottom:1px}
  .market-source-filter{flex:1;min-width:0;padding-left:4px;padding-right:4px;font-size:10px}
  .market-symbol-tag{max-width:100%;min-height:40px;}
  .market-source-badge{font-size:9px}
}

/* === Market symbol list viewport guard v3 (2026-09-04) ===
   Keep large watchlists inside a predictable panel. Wide cards retain the
   adaptive grid above; narrower desktop cards and phones use one readable
   column. The selector is scoped to market cards so other .sym-tags lists,
   logs, and radar views keep their existing behavior. */
.market-grid .market-card .market-symbol-list{
  max-height:260px;
  overflow-x:hidden;
  overflow-y:auto;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
  align-content:start;
}
@media(min-width:901px) and (max-width:1500px){
  .market-grid .market-card .market-symbol-list{
    max-height:250px;
  }
}
@media(max-width:900px){
  .market-grid .market-card .market-symbol-list{
    grid-template-columns:minmax(0,1fr);
    max-height:clamp(200px,42vh,320px);
  }
}
@media(max-width:520px){
  .market-grid .market-card .market-symbol-list{
    max-height:clamp(176px,38vh,280px);
    gap:7px;
  }
}


/* === A-share daily email options (capital + turnover) === */
.astock-daily-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 14px;
  align-items:start;
}
.astock-daily-option{min-width:0}
.astock-daily-option-label{
  display:flex;
  align-items:flex-start;
  gap:6px;
  min-height:20px;
  cursor:pointer;
  color:var(--text2);
  font-size:11px;
  line-height:1.45;
}
.astock-daily-option-label input[type="checkbox"]{
  -webkit-appearance:none;
  appearance:none;
  width:16px;
  height:16px;
  margin:0;
  border:2px solid var(--border2);
  border-radius:4px;
  background:rgba(255,255,255,.6);
  cursor:pointer;
  position:relative;
  transition:all .15s;
  flex:0 0 auto;
}
.astock-daily-option-label input[type="checkbox"]:checked{
  background:var(--accent);
  border-color:var(--accent);
}
.astock-daily-option-label input[type="checkbox"]:checked::after{
  content:"\2713";
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  color:#fff;
  font-size:12px;
  font-weight:700;
  line-height:1;
}
.astock-daily-option .feature-help{margin:3px 0 0 22px;font-size:10px}
@media(max-width:520px){
  .astock-daily-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .astock-daily-option-label{gap:4px;font-size:10px;line-height:1.35}
  .astock-daily-option .feature-help{margin-left:20px;font-size:9px;line-height:1.35}
}

/* ═══ KD 雷达（全屏页，色板与事件日历页一致） ═══ */
.kd-radar-launch .kd-radar-new{display:inline-flex;align-items:center;margin-left:7px;padding:1px 7px;border-radius:20px;background:linear-gradient(135deg,#7c3aed,#6830ec);color:#fff;font-size:9px;font-weight:800;letter-spacing:.5px}
.kd-radar-page{position:fixed;inset:0;z-index:10020;display:none;overflow:auto;background:radial-gradient(circle at 92% 0,rgba(124,58,237,.035),transparent 25%),#fbfaff;color:#19152d}
.kd-radar-page.show{display:block}
body.kd-radar-open{overflow:hidden}
.kdr-header{height:92px;padding:0 34px;display:flex;align-items:center;gap:20px;border-bottom:1px solid #efedf4;background:rgba(255,255,255,.96)}
.kdr-back{width:48px;height:48px;display:grid;place-items:center;border:1px solid #ded8e9;border-radius:13px;background:#fff;color:#19152d;font-size:28px;line-height:1;cursor:pointer;transition:.18s ease}
.kdr-back:hover{border-color:#c9b8fb;color:#7137f5;transform:translateX(-2px)}
.kdr-heading h1{margin:0;font-size:25px;line-height:1.2;font-weight:850;display:flex;align-items:center;gap:10px}
.kdr-heading p{margin:7px 0 0;color:#8e87a1;font-size:13px}
.kdr-new{font-size:10px;font-weight:800;padding:3px 9px;border-radius:20px;background:linear-gradient(135deg,#7c3aed,#6830ec);color:#fff;letter-spacing:.5px}
.kdr-header-spacer{flex:1}
.kdr-refresh{display:flex;align-items:center;gap:9px;color:#5f586d;font-size:13px;font-weight:650}
.kdr-refresh .tgl{position:relative;display:inline-block;width:38px;height:21px}
.kdr-refresh .tgl input{opacity:0;width:0;height:0}
.kdr-refresh .tgl .sl{position:absolute;inset:0;background:#e8e4f0;border:1px solid #ded8e9;border-radius:21px;transition:.25s;cursor:pointer}
.kdr-refresh .tgl .sl::before{content:"";position:absolute;width:15px;height:15px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.25s;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.kdr-refresh .tgl input:checked+.sl{background:linear-gradient(135deg,#7c3aed,#6830ec);border-color:transparent}
.kdr-refresh .tgl input:checked+.sl::before{transform:translateX(17px)}
.kdr-add{height:44px;padding:0 22px;margin-left:16px;border:none;border-radius:12px;background:linear-gradient(135deg,#7c3aed,#6830ec);color:#fff;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 7px 16px rgba(113,55,245,.22);transition:.18s ease}
.kdr-add:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(113,55,245,.28)}
.kdr-content{padding:24px 34px 38px;max-width:1660px;margin:0 auto}
/* 机制说明 */
.kdr-flow{display:flex;align-items:stretch;gap:0;border:1px solid #e8e4f0;border-radius:17px;background:rgba(255,255,255,.95);box-shadow:0 10px 30px rgba(49,35,82,.07);padding:14px 18px}
.kdr-flow-step{flex:1;display:flex;align-items:center;gap:12px;padding:2px 12px}
.kdr-flow-step b{display:block;font-size:13px;font-weight:800;color:#19152d}
.kdr-flow-step small{display:block;margin-top:3px;color:#8e87a1;font-size:11px;line-height:1.55}
.kdr-flow-ico{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;font-size:18px}
.ico-violet{background:#f1ebff;color:#7c3aed}.ico-green{background:#eaf8ec;color:#22a93b}.ico-purple{background:#f5ecff;color:#9333ea}.ico-red{background:#fdeeee;color:#e11d48}.ico-orange{background:#fff1dc;color:#f59e0b}
.kdr-flow-arrow{display:flex;align-items:center;padding:0 6px;color:#c9c2d6;font-size:20px;font-weight:800}
/* 统计 */
.kdr-stats-row{margin-top:16px;display:grid;grid-template-columns:repeat(4,1fr) 1.5fr;gap:14px}
.kdr-stat{position:relative;display:flex;align-items:center;gap:13px;padding:16px 18px;border:1px solid #e8e4f0;border-radius:17px;background:rgba(255,255,255,.95);box-shadow:0 10px 30px rgba(49,35,82,.07)}
.kdr-stat-icon{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;font-size:19px}
.kdr-stat-label{color:#5f586d;font-size:12px;font-weight:700}
.kdr-stat-value{margin-top:3px;line-height:1}
.kdr-stat-value b{font-size:26px;font-weight:850}
.kdr-stat-value small{margin-left:4px;color:#777083;font-size:11px}
.kdr-stat-delta{position:absolute;top:12px;right:14px;border-radius:20px;padding:3px 9px;font-size:10px;font-weight:800}
.kdr-stat-delta.up{background:#eaf8ec;color:#168a2d}
.kdr-stat-delta.down{background:#fdeeee;color:#d8352a}
.kdr-dist{display:flex;align-items:center;gap:20px;padding:14px 20px;border:1px solid #e8e4f0;border-radius:17px;background:rgba(255,255,255,.95);box-shadow:0 10px 30px rgba(49,35,82,.07)}
.kdr-donut-wrap{position:relative;width:112px;height:112px;flex:0 0 auto}
.kdr-donut{width:100%;height:100%;border-radius:50%}
.kdr-donut-hole{position:absolute;inset:16px;background:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.kdr-donut-hole b{font-size:21px;font-weight:850}
.kdr-donut-hole span{color:#8e87a1;font-size:10px}
.kdr-dist-legend{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}
.kdr-dist-item{display:flex;align-items:center;gap:7px;color:#5f586d;font-size:11.5px;font-weight:650}
.kdr-dist-dot{width:8px;height:8px;flex:0 0 auto;border-radius:3px}
.kdr-dist-item b{margin-left:auto;font-size:12px;color:#19152d}
/* 观察池 */
.kdr-pool{margin-top:16px;border:1px solid #e8e4f0;border-radius:17px;background:rgba(255,255,255,.95);box-shadow:0 10px 30px rgba(49,35,82,.07);overflow:hidden}
.kdr-pool-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:15px 18px;border-bottom:1px solid #efedf4}
.kdr-pool-title{font-size:15px;font-weight:850;display:flex;align-items:baseline;gap:9px}
.kdr-pool-title small{color:#9a93a5;font-size:11px;font-weight:600}
.kdr-pool-heading{display:flex;align-items:center;gap:6px;min-width:0}
.kdr-tabs{display:flex;align-items:center;gap:4px;height:36px;box-sizing:border-box;border:1px solid #e8e4f0;border-radius:11px;background:#fdfcff;padding:3px}
.kdr-tab{height:28px;box-sizing:border-box;padding:0 14px;border:none;border-radius:8px;background:transparent;color:#5f586d;font-size:12.5px;font-weight:700;line-height:1;cursor:pointer;transition:.15s ease}
.kdr-tab:hover{color:#7137f5}
.kdr-tab.active{background:linear-gradient(135deg,#7c3aed,#6830ec);color:#fff;box-shadow:0 4px 10px rgba(113,55,245,.2)}
.kdr-tab .n{margin-left:4px;opacity:.72;font-size:10.5px}
.kdr-tools{margin-left:0;display:flex;align-items:center;gap:8px}
.kdr-sel{height:36px;border:1px solid #e8e4f0;border-radius:11px;background:#fff;color:#19152d;padding:0 12px;font-size:12px;font-weight:650;outline:none;cursor:pointer}
.kdr-sort-pair{display:grid;grid-template-columns:auto repeat(2,minmax(128px,1fr));gap:6px;align-items:stretch}
.kdr-sort-heading{display:flex;align-items:center;gap:5px;min-height:36px;padding:0 6px;color:#51485d;font-size:11px;font-weight:850;letter-spacing:0;white-space:nowrap}
.kdr-sort-heading i{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#f1ebff;color:#7137f5;font-size:13px;font-style:normal;line-height:1}
.kdr-sort-heading b{font-weight:900}
.kdr-sort-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px;min-width:0;height:36px;box-sizing:border-box;border:1px solid #e8e4f0;border-radius:9px;background:#fff;padding:0 8px;transition:border-color .15s ease,box-shadow .15s ease}
.kdr-sort-field:focus-within{border-color:#a98cf8;box-shadow:0 0 0 3px rgba(113,55,245,.08)}
.kdr-sort-field span{color:#5b526b;font-size:10.5px;font-weight:850;white-space:nowrap}
.kdr-sort-field select{min-width:0;width:100%;height:100%;border:0;outline:0;background:transparent;color:#2f2940;font-family:inherit;font-size:11.5px;font-weight:800;cursor:pointer}
.kdr-search-box{position:relative;width:270px}
.kdr-search-input-row{display:flex;gap:6px;align-items:center}
.kdr-search{width:100%;height:36px;border:1px solid #e8e4f0;border-radius:11px;background:#fff;color:#19152d;padding:0 14px;font-size:12px;outline:none}
.kdr-ocr-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;border:1px solid #e8e4f0;border-radius:9px;background:#fff;color:#686174;font-size:15px;cursor:pointer}
.kdr-ocr-icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kdr-ocr-button:hover{border-color:#cdbdfc;background:#fbf9ff;color:#7137f5}
.kdr-ocr-menu{position:absolute;right:0;top:calc(100% + 6px);display:none;width:164px;padding:5px;z-index:82;border:1px solid #e8e4f0;border-radius:9px;background:#fff;box-shadow:0 12px 28px rgba(34,25,52,.16)}
.kdr-ocr-menu.show{display:grid;gap:2px}
.kdr-ocr-menu button{border:0;border-radius:6px;background:transparent;color:#4c465a;padding:8px 9px;text-align:left;font-size:11px;font-weight:700;cursor:pointer}
.kdr-ocr-menu button:hover{background:#f3eeff;color:#7137f5}
.kdr-ocr-mask{position:fixed;inset:0;z-index:160;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(25,21,45,.42)}
.kdr-ocr-dialog{width:390px;max-width:100%;max-height:78vh;overflow:auto;border-radius:12px;background:#fff;padding:18px;box-shadow:0 18px 48px rgba(25,17,45,.28)}
.kdr-ocr-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.kdr-ocr-head h3{margin:0;color:#302a3e;font-size:15px;font-weight:800}
.kdr-ocr-dialog p{margin:10px 0;color:#797286;font-size:12px;line-height:1.55}
.kdr-ocr-list{border:1px solid #efedf4;border-radius:9px;overflow:hidden}
.kdr-ocr-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #f1eef6;cursor:pointer}
.kdr-ocr-row:last-child{border-bottom:0}
.kdr-ocr-row input{width:16px;height:16px;accent-color:#7137f5}
.kdr-ocr-row b,.kdr-ocr-row small{display:block}.kdr-ocr-row b{color:#302a3e;font-size:12px}.kdr-ocr-row small{margin-top:2px;color:#8e87a1;font-size:10px}
.kdr-ocr-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.kdr-ocr-cancel{height:32px;border:1px solid #e8e4f0;border-radius:7px;background:#fff;color:#686174;padding:0 12px;font-size:11px;font-weight:700;cursor:pointer}
.stock-ocr-mask{position:fixed;inset:0;z-index:170;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(25,21,45,.44)}
.stock-ocr-progress-mask{position:fixed;inset:0;z-index:180;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(25,21,45,.38)}
.stock-ocr-progress{width:420px;max-width:100%;padding:22px;border:1px solid #e8e4f0;border-radius:14px;background:#fff;box-shadow:0 20px 56px rgba(25,17,45,.28)}
.stock-ocr-progress-head{display:flex;align-items:center;gap:10px;color:#302a3e;font-size:15px}.stock-ocr-spinner{width:18px;height:18px;border:2px solid #ddd4f7;border-top-color:#7137f5;border-radius:50%;animation:stock-ocr-spin .8s linear infinite}
.stock-ocr-progress-label{margin:18px 0 10px;color:#686174;font-size:12px}.stock-ocr-progress-track{height:8px;overflow:hidden;border-radius:999px;background:#eeeaf7}.stock-ocr-progress-bar{display:block;width:12%;height:100%;border-radius:inherit;background:#7137f5;transition:width .25s ease;position:relative}.stock-ocr-progress-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:stock-ocr-shimmer 1.2s linear infinite}
.stock-ocr-progress-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px;color:#aaa3b5;font-size:10px;text-align:center}.stock-ocr-progress-steps span.on{color:#7137f5}.stock-ocr-progress-steps span.current{font-weight:800}
@keyframes stock-ocr-spin{to{transform:rotate(360deg)}}@keyframes stock-ocr-shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
:root[data-theme="dark"] .stock-ocr-progress{border-color:#2a2740;background:#1e1c2c}:root[data-theme="dark"] .stock-ocr-progress-head{color:#f2edf7}:root[data-theme="dark"] .stock-ocr-progress-label{color:#a0a0b0}:root[data-theme="dark"] .stock-ocr-progress-track{background:#2a2740}
.stock-ocr-dialog{width:460px;max-width:100%;max-height:82vh;overflow:auto;border:1px solid #e8e4f0;border-radius:14px;background:#fff;padding:18px;box-shadow:0 20px 56px rgba(25,17,45,.3)}
.stock-ocr-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.stock-ocr-head h3{margin:0;color:#302a3e;font-size:16px;font-weight:800}.stock-ocr-close{width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:#8e87a1;font-size:22px;line-height:1;cursor:pointer}.stock-ocr-close:hover{background:#f3eeff;color:#7137f5}
.stock-ocr-hint{margin:9px 0 14px;color:#686174;font-size:12px;line-height:1.6}.stock-ocr-groups{display:grid;gap:10px}.stock-ocr-group{border:1px solid #efedf4;border-radius:10px;overflow:hidden}.stock-ocr-group-head{padding:8px 12px;background:#fbf9ff;color:#7137f5;font-size:12px}.stock-ocr-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid #f1eef6;cursor:pointer}.stock-ocr-row input{width:16px;height:16px;flex:0 0 auto;accent-color:#7137f5}.stock-ocr-copy{min-width:0;display:grid;gap:3px}.stock-ocr-copy b{overflow:hidden;color:#302a3e;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.stock-ocr-copy small{color:#8e87a1;font-size:10px}.stock-ocr-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.stock-ocr-cancel,.stock-ocr-confirm{height:34px;border-radius:8px;padding:0 14px;font-size:11px;font-weight:800;cursor:pointer}.stock-ocr-cancel{border:1px solid #e8e4f0;background:#fff;color:#686174}.stock-ocr-confirm{border:1px solid #7137f5;background:#7137f5;color:#fff}.stock-ocr-confirm:hover{background:#5e2bd5}
:root[data-theme="dark"] .stock-ocr-dialog{border-color:#2a2740;background:#1e1c2c;box-shadow:0 20px 56px rgba(0,0,0,.5)}:root[data-theme="dark"] .stock-ocr-head h3,:root[data-theme="dark"] .stock-ocr-copy b{color:#f2edf7}:root[data-theme="dark"] .stock-ocr-hint,:root[data-theme="dark"] .stock-ocr-copy small{color:#a0a0b0}:root[data-theme="dark"] .stock-ocr-group{border-color:#2a2740}:root[data-theme="dark"] .stock-ocr-group-head{background:#29243b}:root[data-theme="dark"] .stock-ocr-row{border-color:#2a2740}:root[data-theme="dark"] .stock-ocr-cancel{border-color:#2a2740;background:#1e1c2c;color:#d8d2e6}
.kdr-search-results{position:absolute;top:calc(100% + 6px);right:0;width:320px;max-height:300px;overflow:auto;display:none;z-index:80;border:1px solid #e8e4f0;border-radius:10px;background:#fff;box-shadow:0 12px 28px rgba(34,25,52,.16)}
.kdr-search-results.show{display:block}
.kdr-search-note{padding:10px 12px;color:#8e87a1;font-size:11px;line-height:1.45}
.kdr-search-result{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:10px 12px;border-top:1px solid #f1eef6}
.kdr-search-result:first-child{border-top:none}
.kdr-search-result>div{min-width:0}
.kdr-search-result b{display:block;overflow:hidden;color:#302a3e;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.kdr-search-result small{display:block;margin-top:2px;color:#9a93a5;font-size:10px;font-weight:650}
.kdr-search-result button{height:27px;flex:0 0 auto;border:1px solid #cdbdfc;border-radius:7px;background:#fbf9ff;color:#7137f5;padding:0 9px;font-size:10.5px;font-weight:800;cursor:pointer}
.kdr-search-result button:hover{background:#f3eeff}
.kdr-search-result button.is-added,.kdr-search-result button:disabled{border-color:#e5e0ec;background:#f8f7fa;color:#8e87a1;cursor:default}
.kdr-sel:focus,.kdr-search:focus{border-color:#a98cf8;box-shadow:0 0 0 3px rgba(113,55,245,.08)}
.kdr-table-wrap{overflow-x:auto}
.kdr-table{width:100%;border-collapse:collapse}
.kdr-table thead th{position:sticky;top:0;background:#fdfcff;font-size:11px;font-weight:800;color:#686174;text-align:left;padding:11px 16px;border-bottom:1px solid #e8e4f0;letter-spacing:.04em;white-space:nowrap;z-index:1}
.kdr-table tbody td{padding:11px 16px;border-bottom:1px solid #f1eef6;vertical-align:middle;white-space:nowrap}
.kdr-table tbody tr:hover{background:#fbf9ff}
.kdr-table tbody tr:last-child td{border-bottom:none}
.kdr-sym{display:flex;align-items:center;gap:11px}
.kdr-sym-flag{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px;font-size:14px}
.kdr-sym-name{font-size:13px;font-weight:800;color:#19152d;display:flex;align-items:center;gap:7px}
.kdr-mkt-chip{border-radius:6px;padding:2px 7px;font-size:9.5px;font-weight:800;letter-spacing:.03em}
.kdr-sym-code{color:#9a93a5;font-size:11px;font-weight:600}
.kdr-cell{display:flex;align-items:center;gap:10px}
.kdr-kdnums{width:84px;flex:0 0 auto;font-size:11.5px;line-height:1.6;color:#686174;font-weight:650}
.kdr-kdnums b{float:right;color:#19152d;font-weight:800}
.kdr-kdbar{position:relative;width:96px;height:6px;flex:0 0 auto;border-radius:4px;background:linear-gradient(90deg,rgba(34,169,59,.32) 0 20%,#eeeaf4 20% 80%,rgba(216,53,42,.3) 80% 100%)}.kdr-kdbar{position:relative;width:96px;height:6px;flex:0 0 auto;border-radius:4px;background:linear-gradient(90deg,rgba(34,169,59,.32) 0 20%,#eeeaf4 20% 80%,rgba(216,53,42,.3) 80% 100%)}
.kdr-kdbar::before,.kdr-kdbar::after{content:"";position:absolute;top:-2px;bottom:-2px;width:1px;background:#ded8e9}
.kdr-kdbar::before{left:20%}.kdr-kdbar::after{left:80%}
.kdr-kddot{position:absolute;top:50%;width:11px;height:11px;border-radius:50%;border:2px solid #fff;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ded8e9,0 1px 4px rgba(0,0,0,.15)}
.kdr-trend{width:16px;text-align:center;font-size:13px;font-weight:800;flex:0 0 auto}
.kdr-chip{border-radius:20px;padding:3px 10px;font-size:10.5px;font-weight:800;flex:0 0 auto}
.kdr-chip.gold{background:#eaf8ec;color:#168a2d}
.kdr-chip.dead{background:#fdeeee;color:#d8352a}
.kdr-chip.overb{background:#fff1dc;color:#cb7600}
.kdr-chip.overs{background:#eaf3ff;color:#2776ce}
.kdr-chip.dull{background:#fdf6dd;color:#a3720a}
.kdr-chip.flat{background:#f0edf4;color:#71697d}
.kdr-state{display:inline-flex;align-items:center;gap:6px;border-radius:20px;padding:5px 13px;font-size:11.5px;font-weight:800}
.kdr-state.launch{background:#eaf8ec;color:#168a2d}
.kdr-state.weekup{background:#fff1dc;color:#cb7600}
.kdr-state.resonate{background:#f5ecff;color:#9333ea}
.kdr-state.weak{background:#fdeeee;color:#d8352a}
.kdr-state.mid{background:#f0edf4;color:#71697d}
.kdr-push-done{color:#168a2d;font-size:11.5px;font-weight:750;display:inline-flex;align-items:center;gap:5px}
.kdr-push-done small{color:#9a93a5;font-weight:650}
.kdr-push-wait{color:#8e87a1;font-size:11.5px;font-weight:650;display:inline-flex;align-items:center;gap:5px}
.kdr-push-wait small{color:#b5afc2}
.kdr-push-none{color:#c5c0cf;font-size:11.5px}
.kdr-op{height:30px;padding:0 12px;margin-right:6px;border:1px solid #e8e4f0;border-radius:9px;background:#fff;color:#5f586d;font-size:11px;font-weight:750;cursor:pointer;transition:.15s ease}
.kdr-op:hover{border-color:#c9b8fb;color:#7137f5;background:#fbf9ff}
.kdr-op.op-del:hover{border-color:#f3b9b3;color:#d8352a;background:#fef7f6}
.kdr-pool-foot{display:flex;justify-content:space-between;align-items:center;padding:11px 18px;border-top:1px solid #efedf4;color:#9a93a5;font-size:11px;font-weight:600}
/* 添加标的弹层 */
.kdr-sheet-mask{position:absolute;inset:0;display:none;align-items:flex-end;justify-content:center;background:rgba(25,17,45,.45);backdrop-filter:blur(3px);z-index:10030}
.kdr-sheet-mask.show{display:flex}
.kdr-sheet{width:660px;max-width:94vw;max-height:76vh;overflow:auto;border-radius:20px 20px 0 0;background:#fff;padding:22px 24px;box-shadow:0 -12px 40px rgba(25,17,45,.25)}
.kdr-sheet h3{margin:0 0 13px;font-size:16px;font-weight:850;display:flex;justify-content:space-between;align-items:center}
.kdr-sheet-x{width:30px;height:30px;border:1px solid #e8e4f0;border-radius:9px;background:#fff;color:#686174;font-size:13px;cursor:pointer}
.kdr-sheet-search{width:100%;height:42px;margin-bottom:10px;border:1px solid #e8e4f0;border-radius:12px;background:#fdfcff;color:#19152d;padding:0 15px;font-size:13px;outline:none}
.kdr-sheet-search:focus{border-color:#a98cf8;box-shadow:0 0 0 3px rgba(113,55,245,.08)}
.kdr-sheet-list{border:1px solid #efedf4;border-radius:14px;overflow:hidden}
.kdr-sheet-row{display:flex;align-items:center;gap:12px;padding:11px 15px;border-bottom:1px solid #f1eef6}
.kdr-sheet-row:last-child{border-bottom:none}
.kdr-sheet-row .grow{flex:1;min-width:0}
.kdr-sheet-row b{display:block;font-size:13px;font-weight:800}
.kdr-sheet-row small{display:block;margin-top:1px;color:#9a93a5;font-size:11px;font-weight:600}
.kdr-mkt-flag{width:44px;flex:0 0 auto;text-align:center;border-radius:7px;padding:4px 0;font-size:10px;font-weight:800}
.kdr-sheet-add{height:31px;padding:0 15px;border:none;border-radius:9px;background:linear-gradient(135deg,#7c3aed,#6830ec);color:#fff;font-size:11.5px;font-weight:800;cursor:pointer}
.kdr-sheet-note{margin-top:12px;color:#8e87a1;font-size:11px;line-height:1.7;background:#fbf9ff;border-radius:10px;padding:9px 13px}
.kdr-rule-mask{position:fixed;inset:0;z-index:10040;display:none;align-items:center;justify-content:center;padding:14px;background:rgba(25,17,45,.45);backdrop-filter:blur(3px)}
.kdr-rule-mask.show{display:flex}
.kdr-rule-dialog{display:flex;flex-direction:column;width:704px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);overflow:hidden;overscroll-behavior:contain;border:1px solid #e3e7ef;border-radius:14px;background:#fff;box-shadow:0 18px 46px rgba(15,23,42,.22)}
.kdr-rule-dialog .kdr-group-dialog-head{flex:0 0 auto;padding:18px 20px 14px;border-bottom:1px solid #e3e7ef}
.kdr-rule-dialog .kdr-group-dialog-head h3{margin:0;color:#2d2440;font-size:16px;font-weight:800;line-height:1.3}
.kdr-rule-dialog .kdr-sheet-x{width:32px;height:32px;border-color:#e3e7ef;border-radius:8px;color:#667085}
.kdr-rule-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 20px}
.kdr-rule-section{padding:18px 0;background:transparent}.kdr-rule-section+.kdr-rule-section{border-top:1px solid #e3e7ef}
.kdr-rule-section-head{padding:0}.kdr-rule-section-head h4{margin:0;color:#2d2440;font-size:14px;font-weight:800;line-height:1.25}.kdr-rule-section-head p{margin:3px 0 0;color:#667085;font-size:11px;font-weight:600;line-height:1.5}
.kdr-rule-field{min-width:0}.kdr-rule-section-head+.kdr-rule-field{margin-top:14px}.kdr-rule-field+.kdr-rule-field{margin-top:14px}.kdr-rule-label{display:block;margin:0 0 8px;color:#667085;font-size:11px;font-weight:800}.kdr-rule-options{display:flex;gap:8px;flex-wrap:wrap}.kdr-rule-options label{display:flex;align-items:center;gap:6px;min-height:36px;box-sizing:border-box;border:1px solid #e3e7ef;border-radius:8px;background:#f8faff;padding:8px 10px;color:#4e4761;font-size:12px;font-weight:700;cursor:pointer}.kdr-rule-options label:hover{border-color:#c4b5fd;background:#f5f3ff}.kdr-rule-options.column{display:grid;gap:8px}.kdr-rule-options.column label{align-items:flex-start}.kdr-rule-options input{accent-color:#7c3aed}.kdr-rule-options label small{display:block;margin-left:3px;color:#8a93a5;font-size:10px;font-weight:600;line-height:1.4}
.kdr-rule-trigger-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.kdr-rule-trigger-grid .kdr-rule-label{white-space:nowrap}.kdr-rule-details{margin:12px 0 0;padding-top:10px;border-top:1px solid #eef0f5}.kdr-rule-details summary{color:#667085;font-size:11px;font-weight:750;line-height:1.45;cursor:pointer}.kdr-rule-details summary::marker{color:#7c3aed}.kdr-rule-details summary:focus-visible{outline:0;border-radius:6px;box-shadow:0 0 0 3px rgba(124,58,237,.18)}.kdr-rule-details p{margin:8px 0 0;padding:9px 11px;border-left:2px solid #c4b5fd;background:#f8faff;color:#667085;font-size:10.5px;line-height:1.55}.kdr-rule-warning-field{margin-top:14px;padding-top:14px;border-top:1px solid #eef0f5}.kdr-rule-actions{display:flex;justify-content:flex-end;gap:10px}.kdr-rule-actions .kdr-sheet-add{height:34px;margin-left:auto}
.kdr-rule-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto;padding:12px 20px;border-top:1px solid #e3e7ef;background:#f8faff}.kdr-rule-scope{margin:0;min-width:0;color:#667085;font-size:10.5px;font-weight:600;line-height:1.5}.kdr-rule-footer .kdr-rule-actions{flex:0 0 auto}
:root[data-theme="dark"] .kdr-rule-dialog{border-color:#2a2740;background:#1e1c2c}:root[data-theme="dark"] .kdr-rule-dialog .kdr-group-dialog-head,:root[data-theme="dark"] .kdr-rule-footer{border-color:#2a2740;background:#1a1828}:root[data-theme="dark"] .kdr-rule-dialog .kdr-group-dialog-head h3,:root[data-theme="dark"] .kdr-rule-section-head h4{color:#f2edf7}:root[data-theme="dark"] .kdr-rule-dialog .kdr-sheet-x{border-color:#37324e;background:#252236;color:#aaa0b4}:root[data-theme="dark"] .kdr-rule-section+.kdr-rule-section,:root[data-theme="dark"] .kdr-rule-details,:root[data-theme="dark"] .kdr-rule-warning-field{border-color:#2a2740}:root[data-theme="dark"] .kdr-rule-section-head p,:root[data-theme="dark"] .kdr-rule-label,:root[data-theme="dark"] .kdr-rule-scope,:root[data-theme="dark"] .kdr-rule-details summary{color:#aaa0b4}:root[data-theme="dark"] .kdr-rule-options label{border-color:#37324e;background:#252236;color:#e8e2f0}:root[data-theme="dark"] .kdr-rule-options label:hover{border-color:#8069d5;background:#322857}:root[data-theme="dark"] .kdr-rule-options label small{color:#aaa0b4}:root[data-theme="dark"] .kdr-rule-details p{border-color:#8069d5;background:#252236;color:#aaa0b4}
@media(max-width:700px){.kdr-rule-mask{padding:8px}.kdr-rule-dialog{max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:12px}.kdr-rule-dialog .kdr-group-dialog-head{padding:12px 14px}.kdr-rule-content{padding:0 14px}.kdr-rule-section{padding:14px 0}.kdr-rule-section-head h4{font-size:13px}.kdr-rule-section-head p{font-size:10.5px}.kdr-rule-section-head+.kdr-rule-field,.kdr-rule-field+.kdr-rule-field{margin-top:12px}.kdr-rule-trigger-grid{grid-template-columns:1fr;gap:12px;margin-top:12px}.kdr-rule-details{margin-top:10px;padding-top:10px}.kdr-rule-warning-field{margin-top:12px;padding-top:12px}.kdr-rule-footer{display:block;padding:12px 14px}.kdr-rule-footer .kdr-rule-scope{margin-bottom:10px}.kdr-rule-footer .kdr-rule-actions{display:block}.kdr-rule-footer .kdr-rule-actions .kdr-sheet-add{width:100%;margin:0}}
/* 深色主题 */
:root[data-theme="dark"] .kd-radar-launch{border-color:rgba(139,92,246,.35);background:rgba(124,58,237,.18);color:#d8ccff}
:root[data-theme="dark"] .kd-radar-page{background:radial-gradient(circle at 92% 0,rgba(124,58,237,.12),transparent 26%),#171620;color:#f2edf7}
:root[data-theme="dark"] .kdr-header{border-bottom:1px solid #262338;background:rgba(23,22,32,.96)}
:root[data-theme="dark"] .kdr-back{border-color:#37324e;background:#1e1c2c;color:#f2edf7}
:root[data-theme="dark"] .kdr-back:hover{border-color:#5b4a9e;color:#b79dff}
:root[data-theme="dark"] .kdr-heading p{color:#8e87a1}
:root[data-theme="dark"] .kdr-refresh{color:#a0a0b0}
:root[data-theme="dark"] .kdr-refresh .tgl .sl{background:#2a2740;border-color:#37324e}
:root[data-theme="dark"] .kdr-flow,:root[data-theme="dark"] .kdr-stat,:root[data-theme="dark"] .kdr-dist,:root[data-theme="dark"] .kdr-pool{border-color:#2a2740;background:rgba(30,28,44,.92);box-shadow:0 10px 30px rgba(0,0,0,.35)}
:root[data-theme="dark"] .kdr-flow-step b{color:#f2edf7}
:root[data-theme="dark"] .kdr-flow-step small{color:#8e87a1}
:root[data-theme="dark"] .ico-violet{background:rgba(124,58,237,.22);color:#b79dff}
:root[data-theme="dark"] .ico-green{background:rgba(34,197,94,.16);color:#4ade80}
:root[data-theme="dark"] .ico-purple{background:rgba(147,51,234,.2);color:#c99dff}
:root[data-theme="dark"] .ico-red{background:rgba(239,68,68,.16);color:#f87171}
:root[data-theme="dark"] .ico-orange{background:rgba(245,158,11,.16);color:#fbbf24}
:root[data-theme="dark"] .kdr-stat-label{color:#a0a0b0}
:root[data-theme="dark"] .kdr-stat-value b{color:#f2edf7}
:root[data-theme="dark"] .kdr-stat-value small{color:#787888}
:root[data-theme="dark"] .kdr-stat-delta.up{background:rgba(34,197,94,.14);color:#4ade80}
:root[data-theme="dark"] .kdr-stat-delta.down{background:rgba(239,68,68,.14);color:#f87171}
:root[data-theme="dark"] .kdr-donut-hole{background:#1e1c2c}
:root[data-theme="dark"] .kdr-donut-hole b{color:#f2edf7}
:root[data-theme="dark"] .kdr-donut-hole span{color:#8e87a1}
:root[data-theme="dark"] .kdr-dist-item{color:#a0a0b0}
:root[data-theme="dark"] .kdr-dist-item b{color:#f2edf7}
:root[data-theme="dark"] .kdr-pool-bar{border-bottom:1px solid #2a2740}
:root[data-theme="dark"] .kdr-tabs{border-color:#2a2740;background:#1a1828}
:root[data-theme="dark"] .kdr-tab{color:#a0a0b0}
:root[data-theme="dark"] .kdr-tab:hover{color:#b79dff}
:root[data-theme="dark"] .kdr-sel,:root[data-theme="dark"] .kdr-search,:root[data-theme="dark"] .kdr-ocr-button,:root[data-theme="dark"] .kdr-sort-field{border-color:#2a2740;background:#1e1c2c;color:#f2edf7}
:root[data-theme="dark"] .kdr-sort-heading{color:#d9d5e4}:root[data-theme="dark"] .kdr-sort-heading i{background:#322857;color:#c99dff}
:root[data-theme="dark"] .kdr-sort-field span{color:#c8bfda}:root[data-theme="dark"] .kdr-sort-field select{color:#f2edf7}
:root[data-theme="dark"] .kdr-ocr-menu{border-color:#2a2740;background:#1e1c2c;box-shadow:0 12px 28px rgba(0,0,0,.35)}
:root[data-theme="dark"] .kdr-ocr-menu button{color:#d8d2e6}
:root[data-theme="dark"] .kdr-ocr-menu button:hover{background:#29243b;color:#cbb9ff}
:root[data-theme="dark"] .kdr-ocr-dialog{background:#1e1c2c;box-shadow:0 18px 48px rgba(0,0,0,.5)}
:root[data-theme="dark"] .kdr-ocr-head h3,:root[data-theme="dark"] .kdr-ocr-row b{color:#f2edf7}
:root[data-theme="dark"] .kdr-ocr-dialog p,:root[data-theme="dark"] .kdr-ocr-row small{color:#a0a0b0}
:root[data-theme="dark"] .kdr-ocr-list,:root[data-theme="dark"] .kdr-ocr-row{border-color:#2a2740}
:root[data-theme="dark"] .kdr-ocr-cancel{border-color:#2a2740;background:#1e1c2c;color:#d8d2e6}
:root[data-theme="dark"] .kdr-search-results{border-color:#2a2740;background:#1e1c2c;box-shadow:0 12px 28px rgba(0,0,0,.35)}
:root[data-theme="dark"] .kdr-search-result{border-color:#2a2740}
:root[data-theme="dark"] .kdr-search-result b{color:#f2edf7}
:root[data-theme="dark"] .kdr-search-result button{border-color:#5b4a9e;background:#221f34;color:#cbb9ff}
:root[data-theme="dark"] .kdr-search-result button.is-added,:root[data-theme="dark"] .kdr-search-result button:disabled{border-color:#37324e;background:#252236;color:#8e87a1}
:root[data-theme="dark"] .kdr-table thead th{background:#1a1828;color:#8e87a1;border-bottom:1px solid #2a2740}
:root[data-theme="dark"] .kdr-table tbody td{border-bottom:1px solid #232036}
:root[data-theme="dark"] .kdr-table tbody tr:hover{background:#221f34}
:root[data-theme="dark"] .kdr-sym-name{color:#f2edf7}
:root[data-theme="dark"] .kdr-sym-code{color:#787888}
:root[data-theme="dark"] .kdr-kdnums{color:#a0a0b0}
:root[data-theme="dark"] .kdr-kdnums b{color:#f2edf7}
:root[data-theme="dark"] .kdr-kdbar{background:linear-gradient(90deg,rgba(34,197,94,.35) 0 20%,#2a2740 20% 80%,rgba(239,68,68,.35) 80% 100%)}
:root[data-theme="dark"] .kdr-kdbar::before,:root[data-theme="dark"] .kdr-kdbar::after{background:#37324e}
:root[data-theme="dark"] .kdr-kddot{border-color:#1e1c2c;box-shadow:0 0 0 1px #37324e}
:root[data-theme="dark"] .kdr-chip.gold{background:rgba(34,197,94,.14);color:#4ade80}
:root[data-theme="dark"] .kdr-chip.dead{background:rgba(239,68,68,.14);color:#f87171}
:root[data-theme="dark"] .kdr-chip.overb{background:rgba(245,158,11,.15);color:#fbbf24}
:root[data-theme="dark"] .kdr-chip.overs{background:rgba(96,165,250,.15);color:#93c5fd}
:root[data-theme="dark"] .kdr-chip.dull{background:rgba(250,204,21,.13);color:#fde047}
:root[data-theme="dark"] .kdr-chip.flat{background:#2a2740;color:#a0a0b0}
:root[data-theme="dark"] .kdr-state.launch{background:rgba(34,197,94,.14);color:#4ade80}
:root[data-theme="dark"] .kdr-state.weekup{background:rgba(245,158,11,.15);color:#fbbf24}
:root[data-theme="dark"] .kdr-state.resonate{background:rgba(147,51,234,.2);color:#c99dff}
:root[data-theme="dark"] .kdr-state.weak{background:rgba(239,68,68,.14);color:#f87171}
:root[data-theme="dark"] .kdr-state.mid{background:#2a2740;color:#a0a0b0}
:root[data-theme="dark"] .kdr-push-done{color:#4ade80}
:root[data-theme="dark"] .kdr-push-done small{color:#787888}
:root[data-theme="dark"] .kdr-push-wait{color:#8e87a1}
:root[data-theme="dark"] .kdr-op{border-color:#2a2740;background:#1e1c2c;color:#a0a0b0}
:root[data-theme="dark"] .kdr-op:hover{border-color:#5b4a9e;color:#b79dff;background:#221f34}
:root[data-theme="dark"] .kdr-op.op-del:hover{border-color:#9e4440;color:#f87171}
:root[data-theme="dark"] .kdr-pool-foot{border-top:1px solid #2a2740;color:#787888}
:root[data-theme="dark"] .kdr-sheet{background:#1e1c2c;box-shadow:0 -12px 40px rgba(0,0,0,.5)}
:root[data-theme="dark"] .kdr-sheet h3{color:#f2edf7}
:root[data-theme="dark"] .kdr-sheet-x{border-color:#2a2740;background:#1e1c2c;color:#a0a0b0}
:root[data-theme="dark"] .kdr-sheet-search{border-color:#2a2740;background:#1a1828;color:#f2edf7}
:root[data-theme="dark"] .kdr-sheet-list{border-color:#2a2740}
:root[data-theme="dark"] .kdr-sheet-row{border-bottom:1px solid #232036}
:root[data-theme="dark"] .kdr-sheet-row b{color:#f2edf7}
:root[data-theme="dark"] .kdr-sheet-note{color:#8e87a1;background:#1a1828}
:root[data-theme="dark"] .kdr-rule-dialog{border-color:#2a2740;background:#1e1c2c}:root[data-theme="dark"] .kdr-rule-label{color:#a0a0b0}:root[data-theme="dark"] .kdr-rule-options label{border-color:#37324e;background:#252236;color:#e8e2f0}
:root[data-theme="dark"] .kdr-rule-options label small{color:#aaa0b4}
.kdr-cycle-head-right{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0}.kdr-cycle-mode{display:inline-flex;align-items:center;padding:2px 5px;border:1px solid #ead8b1;border-radius:5px;background:#fff8e6;color:#a66a00;font-size:8px;font-weight:850;white-space:nowrap}.kdr-list-cycle.is-dynamic{background:#fffdf6}.kdr-list-cycle.is-dynamic .kdr-list-cycle-copy span{color:#a66a00}.kdr-list-cycle.is-dynamic .kdr-data-asof{color:#a66a00}:root[data-theme="dark"] .kdr-cycle-mode{border-color:rgba(251,191,36,.3);background:rgba(245,158,11,.14);color:#fbbf24}:root[data-theme="dark"] .kdr-list-cycle.is-dynamic{background:rgba(245,158,11,.06)}:root[data-theme="dark"] .kdr-list-cycle.is-dynamic .kdr-list-cycle-copy span,:root[data-theme="dark"] .kdr-list-cycle.is-dynamic .kdr-data-asof{color:#fbbf24}
@media(max-width:900px){
  .kdr-stats-row{grid-template-columns:1fr 1fr}
  .kdr-dist{grid-column:1/-1}
  .kdr-flow{flex-direction:column;gap:10px}
  .kdr-flow-arrow{display:none}
  .kdr-pool-bar{align-items:flex-start;flex-direction:column}
  .kdr-tools{margin-left:0;width:100%}
}
/* ── 观察池一比一复刻：双层表头 / 仪表盘 / 星标 / 状态点 ── */
.kdr-th-group{text-align:center!important;border-left:1px solid #efedf4}
.kdr-subhead th{text-align:center!important;padding:7px 8px!important;font-size:10px!important;border-top:1px solid #f1eef6;color:#9a93a5!important}
.kdr-table td.kdr-td-num{text-align:center;padding:8px 8px;font-weight:750;color:#302a3e}
.kdr-table td.kdr-td-num b{font-size:12.5px}
.kdr-table td.kdr-td-num small{display:block;font-size:9px;color:#b5afc2;font-weight:650;letter-spacing:.05em}
.kdr-table td.kdr-td-center{text-align:center;padding:8px 6px}
.kdr-gauge{display:inline-block;vertical-align:middle}
.kdr-gauge .g-bg{stroke:#eeeaf4}
.kdr-gauge .g-needle{stroke:#686174;stroke-width:1.6;stroke-linecap:round}
.kdr-trend-up{color:#d8352a;font-weight:850;font-size:14px}
.kdr-trend-down{color:#168a2d;font-weight:850;font-size:14px}
.kdr-trend-flat{color:#9a93a5;font-weight:850;font-size:14px}
.kdr-star-btn{border:none;background:transparent;font-size:16px;color:#c9c2d6;cursor:pointer;padding:2px;line-height:1;transition:.15s}
.kdr-star-btn.on{color:#f5a623}
.kdr-star-btn:hover{transform:scale(1.2)}
.kdr-sym-main{font-size:13px;font-weight:800;color:#19152d;line-height:1.3}
.kdr-symbol-title,.kdr-sym-main-row{display:flex;align-items:center;gap:7px;min-width:0;max-width:100%;flex-wrap:wrap}
.kdr-symbol-title>b{min-width:0}
.kdr-ath-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:20px;padding:0 6px;border:1px solid #ded8e9;border-radius:5px;background:#f5f3f8;color:#71697d;font-size:10px;font-weight:850;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.kdr-ath-badge.is-new-high{border-color:#bfe4c8;background:#eefaf0;color:#168a2d}
:root[data-theme="dark"] .kdr-ath-badge{border-color:#37324e;background:#29243b;color:#bdb2cb}
:root[data-theme="dark"] .kdr-ath-badge.is-new-high{border-color:rgba(74,222,128,.28);background:rgba(34,197,94,.14);color:#4ade80}
.kdr-sym-sub{font-size:10.5px;color:#9a93a5;font-weight:600;line-height:1.3;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kdr-mkt-tag{display:inline-block;border-radius:6px;padding:3px 9px;font-size:10px;font-weight:800;letter-spacing:.06em}
.kdr-period-tags{display:inline-flex;gap:4px}
.kdr-ptag{border-radius:6px;padding:3px 8px;font-size:10px;font-weight:800}
.kdr-ptag.p-d{background:#f1ebff;color:#7c3aed}
.kdr-ptag.p-w{background:#eaf8ec;color:#168a2d}
.kdr-ptag.p-m{background:#fff1dc;color:#cb7600}
.kdr-dots{display:inline-flex;gap:10px;align-items:center}
.kdr-dcell{display:inline-flex;align-items:center;gap:4px}
.kdr-dcell span{font-size:9px;color:#9a93a5;font-weight:700}
.kdr-dot-i{width:9px;height:9px;border-radius:50%;display:inline-block}
.kdr-score{color:#f5a623;font-size:13px;letter-spacing:1px;white-space:nowrap}
.kdr-score small{color:#c5c0cf;letter-spacing:1px}
.kdr-date{font-size:11px;color:#8e87a1;font-weight:650}
.kdr-opicon{width:30px;height:30px;display:inline-grid;place-items:center;border:1px solid #e8e4f0;border-radius:9px;background:#fff;color:#5f586d;font-size:13px;cursor:pointer;transition:.15s;margin-right:5px}
.kdr-opicon.chart{color:#2776ce;border-color:#d6e6fa;background:#f4f9ff}
.kdr-opicon.chart:hover{border-color:#2776ce;background:#eaf3ff}
.kdr-opicon.more:hover{border-color:#c9b8fb;color:#7137f5}
.kdr-filter-btn{height:36px;padding:0 15px;border:1px solid #e8e4f0;border-radius:11px;background:#fff;color:#5f586d;font-size:12px;font-weight:700;cursor:pointer;transition:.15s}
.kdr-filter-btn:hover{border-color:#c9b8fb;color:#7137f5}
:root[data-theme="dark"] .kdr-th-group{border-left-color:#232036}
:root[data-theme="dark"] .kdr-subhead th{border-top:1px solid #232036!important;color:#787888!important}
:root[data-theme="dark"] .kdr-table td.kdr-td-num{color:#e6e6ef}
:root[data-theme="dark"] .kdr-table td.kdr-td-num small{color:#787888}
:root[data-theme="dark"] .kdr-gauge .g-bg{stroke:#2a2740}
:root[data-theme="dark"] .kdr-gauge .g-needle{stroke:#a0a0b0}
:root[data-theme="dark"] .kdr-sym-main{color:#f2edf7}
:root[data-theme="dark"] .kdr-sym-sub{color:#787888}
:root[data-theme="dark"] .kdr-star-btn{color:#4a4a5a}
:root[data-theme="dark"] .kdr-star-btn.on{color:#f5a623}
:root[data-theme="dark"] .kdr-ptag.p-d{background:rgba(124,58,237,.22);color:#b79dff}
:root[data-theme="dark"] .kdr-ptag.p-w{background:rgba(34,197,94,.15);color:#4ade80}
:root[data-theme="dark"] .kdr-ptag.p-m{background:rgba(245,158,11,.16);color:#fbbf24}
:root[data-theme="dark"] .kdr-score{color:#fbbf24}
:root[data-theme="dark"] .kdr-score small{color:#4a4a5a}
:root[data-theme="dark"] .kdr-date{color:#8e87a1}
:root[data-theme="dark"] .kdr-opicon{border-color:#2a2740;background:#1e1c2c;color:#a0a0b0}
:root[data-theme="dark"] .kdr-opicon.chart{color:#93c5fd;border-color:rgba(96,165,250,.3);background:rgba(96,165,250,.1)}
:root[data-theme="dark"] .kdr-opicon.chart:hover{border-color:#60a5fa}
:root[data-theme="dark"] .kdr-opicon.more:hover{border-color:#5b4a9e;color:#b79dff}
:root[data-theme="dark"] .kdr-filter-btn{border-color:#2a2740;background:#1e1c2c;color:#a0a0b0}
:root[data-theme="dark"] .kdr-filter-btn:hover{border-color:#5b4a9e;color:#b79dff}
/* ── KD 雷达：主内容区切换模式（侧栏按钮 toggle） ── */
.kd-radar-page{position:static;inset:auto;z-index:auto;overflow:visible;background:transparent;color:inherit}
.kd-radar-page.show{display:none}
body.kd-radar-open .kd-radar-page{display:block!important}
body.kd-radar-open .market-grid,
body.kd-radar-open .c-grid,
body.kd-radar-open .log-wrap,
body.kd-radar-open .preview-summary{display:none!important}
/* KD 雷达已在主内容区渲染，不能沿用旧全屏页的页面滚动锁。 */
body.kd-radar-open{overflow-y:auto}
body.kd-radar-open .ticker-wrap{display:none}

/* KD card quote: place it on its own row directly below ATH. */
#kdrPoolBody .kdr-card-price-row{
  position:absolute;
  top:74px;
  right:10px;
  left:15px;
  display:flex;
  align-items:center;
  min-width:0;
  min-height:19px;
  height:19px;
  margin:0;
  padding:0;
  overflow:hidden;
}
#kdrPoolBody .kdr-card-price-row .kdr-card-price{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  min-width:62px;
  max-width:82px;
  margin-left:0;
  overflow:hidden;
  color:#51485f;
  font-family:var(--mono,"Roboto Mono",Consolas,monospace);
  font-size:10px;
  font-weight:850;
  font-variant-numeric:tabular-nums;
  line-height:19px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#kdrPoolBody .kdr-card-price-row .kdr-card-price.is-loading{color:#9a93a5}
#kdrPoolBody .kdr-card-price-row .kdr-card-price.is-error{color:#c2322b}
:root[data-theme="dark"] #kdrPoolBody .kdr-card-price-row .kdr-card-price{color:#d9d5e1}
:root[data-theme="dark"] #kdrPoolBody .kdr-card-price-row .kdr-card-price.is-loading{color:#8e87a1}
:root[data-theme="dark"] #kdrPoolBody .kdr-card-price-row .kdr-card-price.is-error{color:#f87171}
@media(min-width:701px) and (max-width:1450px){
  #kdrPoolBody[data-card-columns="5"] .kdr-card-price-row .kdr-card-price{
    min-width:46px;
    max-width:50px;
    font-size:8px;
  }
}
@media(max-width:700px){
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-price-row{
    top:61px;
    right:78px;
    left:7px;
    min-height:18px;
    height:18px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-price-row .kdr-card-price{
    min-width:48px;
    max-width:64px;
    font-size:8px;
    line-height:18px;
  }
}

/* C mode: merge the summary and pool into one compact mobile workspace. */
@media(max-width:700px){
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-pool-bar{position:static!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-radar-card-head{background:#fff!important}
  :root[data-theme="dark"] body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-radar-card-head{background:#1e1c2c!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-stats-row{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px!important;
    margin:0!important;
    padding:9px 9px 7px!important;
    border:1px solid #e8e4f0;
    border-bottom:0;
    border-radius:14px 14px 0 0;
    background:rgba(255,255,255,.95);
    box-shadow:none;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-stat{
    display:flex!important;
    flex-direction:column;
    justify-content:center;
    min-height:57px!important;
    padding:6px 2px!important;
    border-radius:8px!important;
    box-shadow:none!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-stat-label{font-size:8px!important;line-height:1.15!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-stat-label i{display:block!important;margin:2px 0 0!important;font-size:7px!important;line-height:1.1!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-stat-value{margin-top:3px!important;line-height:1!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-stat-value b{font-size:19px!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-stat-value small{font-size:7px!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-pool{
    margin-top:0!important;
    border-top:0!important;
    border-radius:0 0 14px 14px!important;
    box-shadow:0 8px 24px rgba(49,35,82,.07)!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-pool-bar{
    grid-template-columns:minmax(0,1fr) auto auto!important;
    grid-template-rows:auto auto auto!important;
    gap:5px!important;
    padding:7px 9px 8px!important;
    border-bottom:0!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-pool-heading{grid-column:1!important;grid-row:1!important;display:flex!important;align-items:center;gap:6px;min-width:0}
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-pool-title{font-size:13px!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-flow-help{grid-column:auto!important;grid-row:auto!important;width:22px;height:22px!important;margin:0!important;flex:0 0 22px}
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-add-group{width:auto!important;min-width:34px!important;height:30px!important;min-height:30px!important;padding:0 8px!important;font-size:9px!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-add-group::before{content:none!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-tabs{grid-row:2!important;height:32px!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-tab{height:25px!important;padding:0 9px!important;font-size:9px!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrMobileToolsToggle{display:none!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools{
    display:grid!important;
    grid-column:1/-1!important;
    grid-row:3!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-template-rows:34px 34px 34px!important;
    gap:6px!important;
    margin:0!important;
    padding-top:1px;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-search-box{display:block!important;grid-column:1/-1!important;grid-row:1!important;width:100%!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-search-box .kdr-search-input-row{height:34px!important;min-height:34px!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-search-box .kdr-search{height:34px!important;min-height:34px!important;font-size:10px!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-search-box .kdr-ocr-button{height:34px!important;width:34px!important;min-height:34px!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-view-switch{display:flex!important;grid-column:1/3!important;grid-row:2!important;width:100%!important;height:34px!important;margin:0!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-view-switch button{height:27px!important;flex:1 1 33.33%!important;padding:0 4px!important;font-size:9px!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-mobile-columns-toggle{display:inline-flex!important;align-items:center;justify-content:center;gap:3px;grid-column:3!important;grid-row:2!important;width:100%!important;height:34px!important;min-height:34px!important;padding:0 4px!important;border:1px solid #ded3fb;border-radius:8px;background:#faf7ff;color:#7137f5;font-family:inherit;font-size:9px!important;font-weight:850;line-height:1;white-space:nowrap;cursor:pointer}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-mobile-columns-toggle.active{border-color:#7137f5;background:#f1ebff;color:#5b21b6;box-shadow:0 2px 6px rgba(113,55,245,.14)}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-mobile-columns-toggle .kdr-columns-icon{width:13px;height:13px;flex:0 0 13px}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-mobile-columns-toggle + .kdr-layout-button{display:none!important}
  :root[data-theme="dark"] body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-mobile-columns-toggle{border-color:#514675;background:#25213a;color:#c99dff}
  :root[data-theme="dark"] body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-mobile-columns-toggle.active{border-color:#8d6be8;background:#322857;color:#e4d8ff}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-refresh-kd{display:inline-flex!important;grid-column:4!important;grid-row:2!important;width:100%!important;height:34px!important;min-height:34px!important;padding:0!important;font-size:0!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-refresh-kd::before{content:'↻';font-size:17px;line-height:1}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-refresh-kd span{display:none!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-global-settings,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-manage-toggle,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-layout-button{
    display:inline-flex!important;align-items:center;justify-content:center;grid-row:3!important;width:100%!important;height:34px!important;min-height:34px!important;padding:0 4px!important;font-size:9px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-global-settings{grid-column:1/-1!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-manage-toggle,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-layout-button,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-sort-pair{display:none!important}
}
@media(max-width:400px){
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-view-switch button span{display:none!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-view-switch button{white-space:nowrap;padding:0 2px!important;font-size:12px!important}
}

.kdr-header{height:auto;min-height:0;padding:13px 18px;border:1px solid #e8e4f0;border-bottom:1px solid #e8e4f0;border-radius:16px;background:rgba(255,255,255,.95);box-shadow:0 10px 30px rgba(49,35,82,.07);margin-bottom:14px;gap:14px}
.kdr-back{width:38px;height:38px;font-size:22px;border-radius:11px}
.kdr-heading h1{font-size:18px}
.kdr-heading p{margin-top:4px;font-size:12px}
.kdr-add{height:38px;padding:0 18px;font-size:13px}
.kdr-content{padding:0;max-width:none}
.kdr-sheet-mask{position:fixed}
/* 侧栏雷达按钮 */
.kd-radar-sidebar-btn{position:relative;display:flex;align-items:center;justify-content:center;width:100%;margin-top:8px;padding:9px 36px;border:1px solid transparent;border-radius:10px;background:linear-gradient(135deg,#7c3aed,#6830ec);color:#fff;font-size:13px;font-weight:750;cursor:pointer;transition:.18s ease;box-shadow:0 5px 14px rgba(113,55,245,.22);text-align:center}
.kd-radar-sidebar-icon{position:absolute;left:calc(50% - 53px);line-height:1;pointer-events:none}
.kd-radar-sidebar-copy{display:flex;flex-direction:column;align-items:center;gap:3px;line-height:1.1;white-space:nowrap}
.kd-radar-sidebar-copy b{font:inherit}
.kd-radar-sidebar-copy small{color:rgba(255,255,255,.72);font-size:9px;font-weight:650;letter-spacing:.02em}
.kd-radar-sidebar-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(113,55,245,.3)}
.kd-radar-sidebar-btn.active{background:linear-gradient(135deg,#5b21b6,#4c1d95);box-shadow:0 5px 14px rgba(76,29,149,.35)}
.kd-radar-new-badge{padding:1px 7px;border-radius:20px;background:rgba(255,255,255,.25);color:#fff;font-size:9px;font-weight:800;letter-spacing:.05em}
:root[data-theme="dark"] .kd-radar-page{background:transparent;color:inherit}
:root[data-theme="dark"] .kdr-header{border-color:#2a2740;background:rgba(30,28,44,.92);box-shadow:0 10px 30px rgba(0,0,0,.35)}

/* KD 雷达：机会优先视图 */
.kdr-system-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 2px 0;color:#71697d;font-size:11px;font-weight:650}
.kdr-system-pill{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border:1px solid #ded8e9;border-radius:8px;background:#fff;color:#71697d}
.kdr-system-pill.ready{border-color:#ccebd1;background:#f5fcf6;color:#168a2d}
.kdr-system-pill.preview{border-color:#ded3fb;background:#faf7ff;color:#7137f5}
.kdr-system-hint{margin-left:auto;color:#8e87a1}
.kdr-flow-step b{display:flex;align-items:center;gap:7px}.kdr-flow-step em{font-style:normal;color:#7137f5;font-size:10px;font-weight:800;background:#f1ebff;border-radius:5px;padding:2px 6px}.kdr-flow-step.is-done em{color:#168a2d;background:#eaf8ec}.kdr-flow-step.is-preview em{color:#9333ea;background:#f5ecff}
.kdr-stat{width:100%;border:1px solid #e8e4f0;text-align:left;cursor:pointer;transition:.16s ease;font-family:inherit}.kdr-stat:hover{border-color:#c9b8fb;box-shadow:0 12px 26px rgba(49,35,82,.11);transform:translateY(-1px)}.kdr-stat.is-selected{border-color:#8c68ed;box-shadow:0 0 0 3px rgba(113,55,245,.1),0 10px 24px rgba(49,35,82,.08)}
.kdr-stat-label i{display:block;margin-top:3px;color:#9a93a5;font-size:10px;font-style:normal;font-weight:650}.kdr-stat-delta{border:none}.kdr-filter-context{margin-top:12px;padding:10px 13px;border-left:3px solid #8b5cf6;background:#fbf9ff;color:#71697d;font-size:12px;line-height:1.6}.kdr-filter-context b{color:#7137f5}
.kdr-symbol-cell{display:flex;align-items:flex-start;gap:7px}.kdr-symbol-cell .kdr-star-btn{margin-top:1px}.kdr-symbol-cell .kdr-sym-sub{margin-top:3px;max-width:none}.kdr-symbol-cell .kdr-mkt-tag{vertical-align:middle;margin-left:2px}
.kdr-grade{display:inline-flex;align-items:center;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:850}.kdr-grade.resonate{background:#f5ecff;color:#9333ea}.kdr-grade.launch{background:#eaf8ec;color:#168a2d}.kdr-grade.weekup{background:#fff1dc;color:#b56c00}.kdr-grade.mid{background:#f0edf4;color:#71697d}.kdr-grade.weak{background:#fdeeee;color:#d8352a}
.kdr-cell-note{display:block;margin-top:4px;color:#9a93a5;font-size:10.5px;line-height:1.35;white-space:normal}.kdr-confirm{font-size:11.5px;font-weight:750;color:#4f485c}.kdr-score-button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:#71697d;font:inherit;cursor:pointer;padding:2px 0}.kdr-score-button:hover .kdr-score{color:#d58b00}.kdr-entry{display:inline-flex;padding:4px 8px;border-radius:6px;background:#f1ebff;color:#7137f5;font-size:10.5px;font-weight:800}.kdr-opicon.op-del:hover{border-color:#f3b9b3;color:#d8352a;background:#fef7f6}
.kdr-detail-row{display:none}.kdr-detail-row.open{display:table-row}.kdr-detail-row td{padding:0!important;background:#fbf9ff}.kdr-detail{padding:14px 18px 16px;border-top:1px solid #eee8fb;border-bottom:1px solid #eee8fb}.kdr-detail>div:first-child{display:flex;align-items:baseline;gap:10px;color:#423a51;font-size:12px}.kdr-detail>div:first-child span{color:#9a93a5;font-size:10.5px}.kdr-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin-top:10px}.kdr-detail-kd,.kdr-detail-score{min-width:0;padding:10px;border:1px solid #e8e4f0;border-radius:8px;background:#fff}.kdr-detail-kd span,.kdr-detail-score span{display:block;color:#8e87a1;font-size:10px;font-weight:700}.kdr-detail-kd b,.kdr-detail-score b{display:block;margin-top:4px;color:#332d3f;font-size:11.5px}.kdr-detail-kd small,.kdr-detail-score small{display:block;margin-top:4px;color:#8e87a1;font-size:10px;line-height:1.45}
:root[data-theme="dark"] .kdr-system-pill{border-color:#37324e;background:#1e1c2c;color:#a0a0b0}:root[data-theme="dark"] .kdr-system-pill.ready{border-color:rgba(74,222,128,.25);background:rgba(34,197,94,.1);color:#4ade80}:root[data-theme="dark"] .kdr-system-pill.preview{border-color:rgba(183,157,255,.3);background:rgba(124,58,237,.13);color:#c99dff}:root[data-theme="dark"] .kdr-system-hint{color:#8e87a1}:root[data-theme="dark"] .kdr-filter-context{background:#1a1828;border-left-color:#a78bfa;color:#a0a0b0}:root[data-theme="dark"] .kdr-filter-context b{color:#c99dff}:root[data-theme="dark"] .kdr-stat{border-color:#2a2740}:root[data-theme="dark"] .kdr-stat.is-selected{border-color:#8b5cf6}:root[data-theme="dark"] .kdr-stat-label i{color:#8e87a1}:root[data-theme="dark"] .kdr-confirm{color:#d9d5e1}:root[data-theme="dark"] .kdr-detail-row td{background:#1a1828}:root[data-theme="dark"] .kdr-detail{border-color:#2a2740}:root[data-theme="dark"] .kdr-detail>div:first-child{color:#f2edf7}:root[data-theme="dark"] .kdr-detail-kd,:root[data-theme="dark"] .kdr-detail-score{border-color:#2a2740;background:#1e1c2c}:root[data-theme="dark"] .kdr-detail-kd b,:root[data-theme="dark"] .kdr-detail-score b{color:#f2edf7}
@media(max-width:900px){.kdr-system-hint{width:100%;margin-left:0}.kdr-detail-grid{grid-template-columns:1fr 1fr}.kdr-table thead th{font-size:10px;padding:10px 11px}.kdr-table tbody td{padding:10px 11px}}
@media(max-width:560px){.kdr-system-row{margin-top:10px}.kdr-system-pill{font-size:10px}.kdr-detail-grid{grid-template-columns:1fr}.kdr-detail{padding:12px}.kdr-flow-step b{flex-wrap:wrap}}

/* KD 雷达：大周期可视化观察池 */
.kdr-table-wrap{overflow:visible}.kdr-radar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px;background:#fdfcff}.kdr-radar-card{min-width:0;border:1px solid #e8e4f0;border-top:3px solid #c9c2d6;border-radius:9px;background:#fff;box-shadow:0 6px 18px rgba(49,35,82,.05);overflow:hidden}.kdr-radar-card.resonate{border-top-color:#9333ea}.kdr-radar-card.launch{border-top-color:#22a93b}.kdr-radar-card.weekup{border-top-color:#f59e0b}.kdr-radar-card.weak{border-top-color:#d8352a}.kdr-radar-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 14px 10px}.kdr-radar-card-head .kdr-sym-main{font-size:14px}.kdr-radar-card-head .kdr-grade{flex:0 0 auto}.kdr-radar-signal{display:flex;align-items:center;gap:8px;min-height:31px;padding:0 14px 10px;color:#8e87a1;font-size:10.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kdr-radar-signal .kdr-state{padding:4px 8px;font-size:10px}
.kdr-cycle-grid{display:grid;grid-template-columns:1fr 1fr;margin:0 14px;padding:11px 0 9px;background:#fbfaff}.kdr-cycle-panel{min-width:0;padding:0 12px}.kdr-cycle-panel+.kdr-cycle-panel{border-left:1px solid #e8e4f0}.kdr-cycle-head{display:flex;align-items:center;justify-content:space-between;gap:4px;color:#71697d;font-size:10px;font-weight:800}.kdr-cycle-head b{color:#8e87a1;font-size:9.5px;font-weight:750}.kdr-cycle-panel.up .kdr-cycle-head b{color:#168a2d}.kdr-cycle-panel.weak .kdr-cycle-head b{color:#d8352a}.kdr-cycle-panel.warm .kdr-cycle-head b{color:#b56c00}.kdr-cycle-number{display:flex;align-items:baseline;gap:4px;margin-top:5px;color:#9a93a5}.kdr-cycle-number strong{color:#282136;font-size:28px;line-height:1;font-weight:850}.kdr-cycle-number>span{font-size:11px;font-weight:800}.kdr-cycle-number small{margin-left:auto;color:#71697d;font-size:10px;font-weight:750}.kdr-cycle-meter{position:relative;height:7px;margin-top:10px;border-radius:999px;background:linear-gradient(90deg,#e1f4e5 0 20%,#edeaf3 20% 80%,#f9e4e2 80% 100%)}.kdr-cycle-meter::before,.kdr-cycle-meter::after{content:"";position:absolute;top:-2px;bottom:-2px;width:1px;background:#d8d1e4}.kdr-cycle-meter::before{left:20%}.kdr-cycle-meter::after{left:80%}.kdr-cycle-meter span{display:block;height:100%;border-radius:999px;background:#8570d8;opacity:.45}.kdr-cycle-meter i{position:absolute;top:50%;width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:#7c3aed;box-shadow:0 0 0 1px rgba(113,55,245,.32),0 2px 4px rgba(49,35,82,.18);transform:translate(-50%,-50%)}.kdr-cycle-panel.up .kdr-cycle-meter i{background:#22a93b;box-shadow:0 0 0 1px rgba(34,169,59,.3),0 2px 4px rgba(49,35,82,.18)}.kdr-cycle-panel.weak .kdr-cycle-meter i{background:#d8352a;box-shadow:0 0 0 1px rgba(216,53,42,.3),0 2px 4px rgba(49,35,82,.18)}.kdr-cycle-panel.warm .kdr-cycle-meter i{background:#f59e0b;box-shadow:0 0 0 1px rgba(245,158,11,.3),0 2px 4px rgba(49,35,82,.18)}.kdr-cycle-scale{display:flex;justify-content:space-between;margin-top:5px;color:#aaa2b3;font-size:8px;font-weight:650}.kdr-cycle-foot{display:flex;align-items:center;gap:5px;margin-top:6px;color:#8e87a1;font-size:9.5px;font-weight:700}.kdr-cycle-foot i{width:6px;height:6px;border-radius:50%;background:#9a93a5}.kdr-cycle-panel.up .kdr-cycle-foot i{background:#22a93b}.kdr-cycle-panel.weak .kdr-cycle-foot i{background:#d8352a}.kdr-cycle-panel.warm .kdr-cycle-foot i{background:#f59e0b}
.kdr-day-strip{display:flex;align-items:center;gap:8px;margin:11px 14px 0;padding:9px 0;border-top:1px dashed #e8e4f0;border-bottom:1px solid #efedf4;color:#8e87a1;font-size:10.5px}.kdr-day-strip b{color:#5f586d;font-size:11px}.kdr-day-strip em{margin-left:auto;font-style:normal;font-weight:800}.kdr-day-strip em.up{color:#168a2d}.kdr-day-strip em.weak{color:#d8352a}.kdr-day-strip em.neutral{color:#71697d}.kdr-radar-card-foot{display:flex;align-items:center;gap:8px;padding:10px 14px}.kdr-radar-card-foot>div{display:flex;align-items:center;gap:4px;min-width:0}.kdr-score-label{color:#8e87a1;font-size:10px;font-weight:700}.kdr-radar-card-foot>div>b{color:#71697d;font-size:10px}.kdr-radar-card-foot .kdr-score{font-size:11px}.kdr-radar-card-foot .kdr-period-tags{margin-left:auto}.kdr-card-expand{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 8px;border:1px solid #e1d9f2;border-radius:6px;background:#faf8ff;color:#7137f5;font-size:10px;font-weight:800;cursor:pointer}.kdr-card-expand:hover{border-color:#a98cf8;background:#f3eeff}.kdr-card-detail{display:none}.kdr-card-detail.open{display:block}.kdr-card-detail .kdr-detail{margin:0;padding:12px 14px 14px;border-top:1px solid #e8e4f0;border-bottom:none;background:#fbfaff}.kdr-card-detail .kdr-detail-grid{grid-template-columns:1fr 1fr;gap:7px}.kdr-card-detail .kdr-detail-kd,.kdr-card-detail .kdr-detail-score{padding:8px}.kdr-radar-empty{grid-column:1/-1;padding:44px 20px;text-align:center;color:#9a93a5;font-size:12px}
:root[data-theme="dark"] .kdr-radar-grid{background:#1a1828}:root[data-theme="dark"] .kdr-radar-card{border-color:#2a2740;background:#1e1c2c;box-shadow:0 6px 18px rgba(0,0,0,.2)}:root[data-theme="dark"] .kdr-radar-signal{color:#8e87a1}:root[data-theme="dark"] .kdr-cycle-grid{background:#1a1828}:root[data-theme="dark"] .kdr-cycle-panel+.kdr-cycle-panel{border-color:#2a2740}:root[data-theme="dark"] .kdr-cycle-head{color:#a0a0b0}:root[data-theme="dark"] .kdr-cycle-number strong{color:#f2edf7}:root[data-theme="dark"] .kdr-cycle-number small,:root[data-theme="dark"] .kdr-day-strip b{color:#d9d5e1}:root[data-theme="dark"] .kdr-cycle-meter{background:linear-gradient(90deg,rgba(34,197,94,.24) 0 20%,#2a2740 20% 80%,rgba(239,68,68,.24) 80% 100%)}:root[data-theme="dark"] .kdr-cycle-meter::before,:root[data-theme="dark"] .kdr-cycle-meter::after{background:#48415e}:root[data-theme="dark"] .kdr-cycle-meter i{border-color:#1e1c2c}:root[data-theme="dark"] .kdr-day-strip{border-color:#2a2740}:root[data-theme="dark"] .kdr-card-expand{border-color:#514675;background:#25213a;color:#c99dff}:root[data-theme="dark"] .kdr-card-detail .kdr-detail{border-color:#2a2740;background:#1a1828}
@media(max-width:1180px){.kdr-radar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.kdr-radar-grid{grid-template-columns:1fr;padding:10px}.kdr-radar-card-head{padding:13px 12px 9px}.kdr-radar-signal{padding-left:12px;padding-right:12px}.kdr-cycle-grid{margin:0 12px}.kdr-day-strip{margin-left:12px;margin-right:12px}.kdr-radar-card-foot{padding-left:12px;padding-right:12px}.kdr-cycle-number strong{font-size:30px}}

/* KD 雷达：卡片 / 列表视图切换 */
.kdr-push-bridge{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 14px;padding:9px 0 10px;border-top:1px solid #f0edf4;border-bottom:1px solid #f0edf4}.kdr-push-bridge-label{flex:0 0 auto;color:#8a8297;font-size:10px;font-weight:800}.kdr-push-bridge-status{min-width:0;text-align:right}.kdr-push-bridge-status>b{display:flex;align-items:center;justify-content:flex-end;gap:5px;color:#625b6f;font-size:11px;font-weight:850;white-space:nowrap}.kdr-push-bridge-status>b i{display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#ece7f4;color:#756e82;font-size:10px;font-style:normal;font-weight:900}.kdr-push-bridge-status small{display:block;margin-top:3px;color:#918a9c;font-size:9px;font-weight:650;line-height:1.35}.kdr-push-bridge.launch .kdr-push-bridge-status>b{color:#168a2d}.kdr-push-bridge.launch .kdr-push-bridge-status>b i{background:#22a93b;color:#fff}.kdr-push-bridge.resonate .kdr-push-bridge-status>b{color:#7d2fc7}.kdr-push-bridge.resonate .kdr-push-bridge-status>b i{background:#9333ea;color:#fff}.kdr-push-bridge.weekup .kdr-push-bridge-status>b{color:#b56c00}.kdr-push-bridge.weekup .kdr-push-bridge-status>b i{background:#f59e0b;color:#fff}.kdr-push-bridge.weak .kdr-push-bridge-status>b{color:#c2322b}.kdr-push-bridge.weak .kdr-push-bridge-status>b i{background:#d8352a;color:#fff}
:root[data-theme="dark"] .kdr-push-bridge{border-color:#2a2740}:root[data-theme="dark"] .kdr-push-bridge-label{color:#a49bb4}:root[data-theme="dark"] .kdr-push-bridge-status>b{color:#d9d5e1}:root[data-theme="dark"] .kdr-push-bridge-status>b i{background:#302b42;color:#b4acc5}:root[data-theme="dark"] .kdr-push-bridge-status small{color:#8e87a1}:root[data-theme="dark"] .kdr-push-bridge.launch .kdr-push-bridge-status>b{color:#4ade80}:root[data-theme="dark"] .kdr-push-bridge.resonate .kdr-push-bridge-status>b{color:#c99dff}:root[data-theme="dark"] .kdr-push-bridge.weekup .kdr-push-bridge-status>b{color:#fbbf24}:root[data-theme="dark"] .kdr-push-bridge.weak .kdr-push-bridge-status>b{color:#f87171}
@media(max-width:700px){.kdr-push-bridge{margin-left:12px;margin-right:12px}}
.kdr-view-switch{display:inline-flex;align-items:center;gap:2px;height:36px;padding:3px;border:1px solid #e3e7ef;border-radius:8px;background:#fff;box-sizing:border-box}.kdr-view-switch button{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:28px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:#2d2440;font-family:inherit;font-size:11px;font-weight:700;cursor:pointer}.kdr-view-switch button:hover{color:#6d28d9;background:#f5f3ff}.kdr-view-switch button.active{background:#ede9fe;color:#6d28d9;box-shadow:none}
.kdr-view-icon{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#kdrViewCardState{display:none}
.kdr-global-settings{height:36px;min-height:36px;box-sizing:border-box;padding:0 11px;border:1px solid #ded3fb;border-radius:8px;background:#faf7ff;color:#7137f5;font-family:inherit;font-size:11px;font-weight:800;line-height:1;white-space:nowrap;cursor:pointer;transition:.15s ease}.kdr-global-settings:hover{border-color:#a98cf8;background:#f3eeff;transform:translateY(-1px)}.kdr-refresh-kd{height:36px;min-height:36px;box-sizing:border-box;padding:0 11px;border:1px solid #d9cff7;border-radius:8px;background:#fff;color:#6040b5;font-family:inherit;font-size:11px;font-weight:850;line-height:1;white-space:nowrap;cursor:pointer;transition:.15s ease}.kdr-refresh-kd:hover{border-color:#a98cf8;background:#faf7ff;color:#7137f5;transform:translateY(-1px)}.kdr-refresh-kd:disabled{cursor:wait;opacity:.7;transform:none}.kdr-refresh-kd.is-loading{background:#f3eeff}.kdr-refresh-kd.is-loading:first-letter{display:inline-block;animation:kdr-spin .8s linear infinite}.kdr-rule-scope{margin:14px 0 0;color:#8e87a1;font-size:10.5px;line-height:1.6}.kdr-rule-actions{justify-content:flex-end}.kdr-list-head,.kdr-list-row{grid-template-columns:minmax(220px,1.7fr) minmax(128px,1.1fr) minmax(128px,1.1fr) minmax(150px,1.2fr) minmax(116px,.9fr) minmax(126px,1fr);min-width:960px}.kdr-list-item{min-width:960px}
:root[data-theme="dark"] .kdr-global-settings{border-color:#514675;background:#25213a;color:#c99dff}:root[data-theme="dark"] .kdr-global-settings:hover{border-color:#8069d5;background:#322857}:root[data-theme="dark"] .kdr-refresh-kd{border-color:#514675;background:#211d31;color:#c99dff}:root[data-theme="dark"] .kdr-refresh-kd:hover{border-color:#8069d5;background:#322857}:root[data-theme="dark"] .kdr-rule-scope{color:#8e87a1}
.kdr-list-head,.kdr-list-row{grid-template-columns:minmax(190px,1fr) minmax(205px,1.05fr) minmax(205px,1.05fr) minmax(280px,1.35fr);min-width:940px}.kdr-list-item{min-width:940px}.kdr-list-row{min-height:96px;padding:10px 16px}.kdr-list-visual-plate{display:flex;align-items:center;gap:10px;min-width:0;padding:0 12px;border-left:1px solid #eee9f3}.kdr-list-plate-ring{position:relative;display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:50%;background:conic-gradient(from -90deg,#22c55e 0 20%,#facc15 20% 80%,#ef4444 80% 100%)}.kdr-list-plate-ring:after{position:absolute;inset:8px;border-radius:50%;background:#fff;content:""}.kdr-list-plate-ring i{position:absolute;z-index:2;top:3px;left:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:#292537;box-shadow:0 0 0 2px #fff;transform:rotate(var(--kdr-angle));transform-origin:4px 26px}.kdr-list-plate-ring b{position:relative;z-index:3;color:#302a3e;font-size:16px;font-weight:850;font-variant-numeric:tabular-nums}.kdr-list-plate-copy{min-width:0}.kdr-list-plate-copy span{display:block;color:#938a9f;font-size:10px;font-weight:850}.kdr-list-plate-copy b{display:block;overflow:hidden;margin-top:4px;color:#51485d;font-size:11px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.kdr-list-plate-copy small{display:block;overflow:hidden;margin-top:4px;color:#8d8499;font-size:9px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.kdr-list-visual-plate.oversold .kdr-list-plate-copy b{color:#168a2d}.kdr-list-visual-plate.overbought .kdr-list-plate-copy b{color:#c2352b}.kdr-list-visual-plate.neutral .kdr-list-plate-ring{background:#eee9f2}.kdr-list-visual-plate.neutral .kdr-list-plate-ring b{color:#82798d}.kdr-list-signal-path{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1.35fr);align-items:center;gap:8px;min-width:0;padding-left:17px;border-left:1px solid #eee9f3}.kdr-list-signal-path>div{min-width:0}.kdr-list-signal-path>div>span{display:block;color:#938a9f;font-size:10px;font-weight:850}.kdr-list-signal-path>div>b{display:block;overflow:hidden;margin-top:5px;color:#51485d;font-size:12px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.kdr-list-signal-path>i{text-align:center;color:#ad9fbe;font-size:17px;font-style:normal}.kdr-list-path-result>b{display:flex!important;align-items:center;gap:5px}.kdr-list-path-result>b em{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#e9f9ee;color:#17883a;font-size:10px;font-style:normal}.kdr-list-path-result small{display:block;overflow:hidden;margin-top:4px;color:#8d8499;font-size:9px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.kdr-list-signal-path.launch .kdr-list-path-result>b{color:#168a2d}.kdr-list-signal-path.resonate .kdr-list-path-result>b{color:#7d2fc7}.kdr-list-signal-path.weekup .kdr-list-path-result>b{color:#b56c00}.kdr-list-signal-path.weak .kdr-list-path-result>b{color:#c2352b}
:root[data-theme="dark"] .kdr-list-plate-ring:after{background:#1e1c2c}:root[data-theme="dark"] .kdr-list-plate-ring b{color:#f2edf7}:root[data-theme="dark"] .kdr-list-plate-ring i{background:#f4f0fa;box-shadow:0 0 0 2px #1e1c2c}:root[data-theme="dark"] .kdr-list-plate-copy b{color:#e5dfed}:root[data-theme="dark"] .kdr-list-plate-copy small,:root[data-theme="dark"] .kdr-list-signal-path>div>span,:root[data-theme="dark"] .kdr-list-path-result small{color:#8e87a1}:root[data-theme="dark"] .kdr-list-signal-path>div>b{color:#e5dfed}:root[data-theme="dark"] .kdr-list-path-result>b em{background:#1e3d28;color:#4ade80}
@media(max-width:900px){.kdr-list-head,.kdr-list-row{min-width:940px}.kdr-list-view{overflow-x:auto}}
.kdr-list-view{grid-column:1/-1;width:100%;min-width:0;overflow-x:auto;background:#fff}.kdr-list-head,.kdr-list-row{display:grid;grid-template-columns:minmax(220px,1.7fr) minmax(128px,1.1fr) minmax(128px,1.1fr) minmax(150px,1.2fr) minmax(116px,.9fr) minmax(126px,1fr) 64px;align-items:center;column-gap:12px;min-width:1040px}.kdr-list-head{min-height:38px;padding:0 16px;border-bottom:1px solid #e8e4f0;background:#fdfcff;color:#8e87a1;font-size:10px;font-weight:800}.kdr-list-item{min-width:1040px;border-bottom:1px solid #efedf4;border-left:3px solid #c9c2d6}.kdr-list-item.resonate{border-left-color:#9333ea}.kdr-list-item.launch{border-left-color:#22a93b}.kdr-list-item.weekup{border-left-color:#f59e0b}.kdr-list-item.weak{border-left-color:#d8352a}.kdr-list-row{min-height:74px;padding:8px 16px}.kdr-list-item:hover{background:#fbf9ff}.kdr-list-symbol{display:flex;align-items:flex-start;gap:7px;min-width:0}.kdr-list-symbol .kdr-star-btn{margin-top:1px}.kdr-list-symbol b{display:block;color:#302a3e;font-size:13px;font-weight:850}.kdr-list-symbol small{display:block;margin-top:4px;color:#9a93a5;font-size:10px;font-weight:650;white-space:nowrap}.kdr-list-metric{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:5px;min-width:0}.kdr-list-metric>span{grid-column:1/-1;color:#8e87a1;font-size:9.5px;font-weight:750}.kdr-list-metric>b{margin-top:2px;color:#302a3e;font-size:21px;line-height:1;font-weight:850}.kdr-list-metric small{color:#8e87a1;font-size:9.5px;font-weight:700}.kdr-list-metric em{grid-column:1/-1;margin-top:4px;font-style:normal;color:#71697d;font-size:9.5px;font-weight:750}.kdr-list-metric.up em{color:#168a2d}.kdr-list-metric.weak em{color:#d8352a}.kdr-list-metric.warm em{color:#b56c00}.kdr-list-signal .kdr-state{padding:4px 8px;font-size:10px}.kdr-list-signal small,.kdr-list-period small{display:block;margin-top:5px;color:#9a93a5;font-size:9.5px;font-weight:650}.kdr-list-score{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.kdr-list-score>b{color:#302a3e;font-size:18px;font-weight:850}.kdr-list-score .kdr-grade{padding:3px 6px;font-size:9px}.kdr-list-score>small{display:block;flex-basis:100%;color:#9a93a5;font-size:9.5px;font-weight:700}.kdr-list-period .kdr-period-tags{gap:3px}.kdr-list-period .kdr-ptag{padding:3px 6px}.kdr-list-row .kdr-card-expand{justify-self:end}.kdr-list-detail{display:none}.kdr-list-detail.open{display:block}.kdr-list-detail .kdr-detail{padding:11px 16px 13px;border-top:1px solid #eee8fb;border-bottom:none;background:#fbfaff}.kdr-list-detail .kdr-detail-grid{grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;margin-top:8px}.kdr-list-detail .kdr-detail-kd,.kdr-list-detail .kdr-detail-score{padding:8px}
:root[data-theme="dark"] .kdr-view-switch{border-color:#2a2740;background:#1a1828}:root[data-theme="dark"] .kdr-view-switch button{color:#a0a0b0}:root[data-theme="dark"] .kdr-view-switch button.active{background:#322857;color:#c99dff}:root[data-theme="dark"] .kdr-list-view{background:#1e1c2c}:root[data-theme="dark"] .kdr-list-head{border-color:#2a2740;background:#1a1828;color:#8e87a1}:root[data-theme="dark"] .kdr-list-item{border-bottom-color:#2a2740}:root[data-theme="dark"] .kdr-list-item:hover{background:#221f34}:root[data-theme="dark"] .kdr-list-symbol b,:root[data-theme="dark"] .kdr-list-metric>b{color:#f2edf7}:root[data-theme="dark"] .kdr-list-detail .kdr-detail{border-color:#2a2740;background:#1a1828}
@media(max-width:900px){.kdr-view-switch{margin-left:auto}.kdr-list-view{overflow-x:auto}.kdr-list-head,.kdr-list-row{padding-left:14px;padding-right:14px}.kdr-list-detail .kdr-detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.kdr-view-switch button span{display:none}.kdr-view-switch button{width:30px;padding:0}.kdr-list-detail .kdr-detail-grid{grid-template-columns:1fr}}
/* KD 雷达：自定义观察池分组与卡片拖放 */
.kdr-add-group{height:36px;min-height:36px;box-sizing:border-box;padding:0 11px;border:1px solid #ded3fb;border-radius:8px;background:#faf7ff;color:#7137f5;font-family:inherit;font-size:11px;font-weight:800;line-height:1;cursor:pointer;white-space:nowrap;transition:.15s ease}.kdr-add-group:hover{border-color:#a98cf8;background:#f3eeff;transform:translateY(-1px)}
.kdr-tab.kdr-custom-tab{position:relative}.kdr-tab.kdr-custom-tab::after{content:"";display:inline-block;width:5px;height:5px;margin-left:5px;vertical-align:middle;border-radius:50%;background:#a98cf8}.kdr-tab.kdr-drop-target,.kdr-tab.drag-over{background:#efe8ff;color:#7137f5;box-shadow:inset 0 0 0 1px #a98cf8}.kdr-tab.drag-over{outline:2px solid rgba(124,58,237,.22);outline-offset:2px}
.kdr-radar-card[draggable="true"]{cursor:grab}.kdr-radar-card[draggable="true"]:active{cursor:grabbing}.kdr-radar-card.dragging{opacity:.55;transform:scale(.985);box-shadow:0 12px 28px rgba(113,55,245,.2)}
.kdr-group-mask{position:fixed;inset:0;z-index:10040;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(25,17,45,.45);backdrop-filter:blur(4px)}.kdr-group-mask.show{display:flex}.kdr-group-dialog{width:480px;max-width:94vw;max-height:80vh;overflow:auto;border:1px solid #e8e4f0;border-radius:16px;background:#fff;padding:20px;box-shadow:0 18px 50px rgba(25,17,45,.22)}.kdr-group-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.kdr-group-dialog h3{margin:0;font-size:16px;font-weight:850;color:#19152d}.kdr-group-dialog>p{margin:9px 0 15px;color:#8e87a1;font-size:11.5px;line-height:1.65}.kdr-group-create{display:flex;gap:8px}.kdr-group-create input{min-width:0;flex:1;height:36px;border:1px solid #e8e4f0;border-radius:10px;background:#fdfcff;color:#19152d;padding:0 11px;font-family:inherit;font-size:12px;outline:none}.kdr-group-create input:focus{border-color:#a98cf8;box-shadow:0 0 0 3px rgba(113,55,245,.08)}.kdr-group-feedback{min-height:20px;margin-top:8px;color:#7137f5;font-size:11px;font-weight:700}.kdr-group-list{border:1px solid #efedf4;border-radius:11px;overflow:hidden}.kdr-group-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-bottom:1px solid #f1eef6}.kdr-group-row:last-child{border-bottom:none}.kdr-group-row b{display:block;color:#302a3e;font-size:12px;font-weight:800}.kdr-group-row small{display:block;margin-top:3px;color:#9a93a5;font-size:10.5px}.kdr-group-delete{height:28px;padding:0 9px;border:1px solid #f0d4d1;border-radius:7px;background:#fff8f7;color:#c84a41;font-family:inherit;font-size:10.5px;font-weight:750;cursor:pointer}.kdr-group-delete:hover{border-color:#d8352a;background:#fdeeee}.kdr-group-empty{padding:18px 12px;text-align:center;color:#9a93a5;font-size:11px}
:root[data-theme="dark"] .kdr-add-group{border-color:#514675;background:#25213a;color:#c99dff}:root[data-theme="dark"] .kdr-add-group:hover{border-color:#8069d5;background:#322857}:root[data-theme="dark"] .kdr-tab.kdr-custom-tab::after{background:#b79dff}:root[data-theme="dark"] .kdr-tab.drag-over{background:#322857;color:#c99dff;box-shadow:inset 0 0 0 1px #8069d5}:root[data-theme="dark"] .kdr-group-dialog{border-color:#2a2740;background:#1e1c2c;box-shadow:0 18px 50px rgba(0,0,0,.5)}:root[data-theme="dark"] .kdr-group-dialog h3{color:#f2edf7}:root[data-theme="dark"] .kdr-group-dialog>p{color:#8e87a1}:root[data-theme="dark"] .kdr-group-create input{border-color:#2a2740;background:#1a1828;color:#f2edf7}:root[data-theme="dark"] .kdr-group-list{border-color:#2a2740}:root[data-theme="dark"] .kdr-group-row{border-bottom-color:#2a2740}:root[data-theme="dark"] .kdr-group-row b{color:#f2edf7}:root[data-theme="dark"] .kdr-group-delete{border-color:#673b42;background:#2a2028;color:#f87171}
@media(max-width:900px){.kdr-add-group{margin-left:0}.kdr-group-dialog{max-height:88vh}}
@media(max-width:560px){.kdr-group-create{flex-direction:column}.kdr-group-create .kdr-sheet-add{width:100%}.kdr-add-group{width:100%;height:36px}}

/* Local mobile preview: keep the observation pool above secondary controls. */
.kdr-mobile-more-toggle{display:none}
.kdr-mobile-title{display:none}
@media(max-width:700px){
  .kdr-rule-dialog .kdr-sheet-x{width:44px;height:44px}
  .kdr-rule-dialog .kdr-rule-actions .kdr-sheet-add{width:100%;height:44px}
  .kdr-content{padding:8px 8px 26px}
  .kdr-mobile-back{width:100%;height:30px;min-height:30px;margin:0 0 2px;padding:0;gap:7px;justify-content:flex-start;font-size:0}
  .kdr-mobile-back::before{content:'←';font-size:19px;line-height:1}
  .kdr-mobile-back::after{content:'自选列表';color:#302a3e;font-size:15px;font-weight:900}
  .kdr-system-row{grid-template-columns:1fr;margin:0;gap:5px}
  .kdr-system-pill{min-height:26px;padding:0 10px;border-radius:8px;justify-content:flex-start;text-align:left;font-size:10px}
  .kdr-system-pill.ready,.kdr-system-pill.preview,.kdr-system-hint{display:none}
  .kdr-stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px;padding:0;overflow:visible}
  .kdr-stat{display:block;min-width:0;width:auto;min-height:54px;padding:8px 4px;border-radius:11px;box-shadow:none;text-align:center}
  .kdr-stat-icon,.kdr-stat-delta{display:none}
  .kdr-stat-label{overflow:hidden;font-size:9px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
  .kdr-stat-label i{display:none}
  .kdr-stat-value{margin-top:3px}
  .kdr-stat-value b{font-size:19px}
  .kdr-stat-value small{font-size:9px}
  .kdr-dist{display:none}
  .kdr-pool{margin-top:8px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
  .kdr-pool-bar{position:static;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:9px 0 8px;border-bottom:1px solid #ebe7f1;background:transparent;box-shadow:none}
  .kdr-pool-title{grid-column:1;grid-row:1;min-width:0;font-size:16px}
  .kdr-add-group{grid-column:2;grid-row:1;width:34px;height:32px;min-height:32px;padding:0;font-size:0}
  .kdr-add-group::before{content:'+';font-size:19px;line-height:1}
  .kdr-tabs{grid-column:1/-1;grid-row:2;width:100%;height:36px}
  .kdr-tab{flex:1;min-width:0;height:28px;padding:0 5px;font-size:10.5px}
  .kdr-tools{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;width:100%;margin:0}
  .kdr-search-box{grid-column:1/-1;grid-row:1;width:100%}
  .kdr-search-input-row,.kdr-search,.kdr-ocr-button{min-height:38px;height:38px}
  .kdr-search{font-size:11.5px}
  .kdr-ocr-button{width:38px;flex-basis:38px}
  .kdr-view-switch{grid-column:1;grid-row:2;width:100%;height:38px;margin:0;justify-content:stretch}
  .kdr-view-switch button{flex:1;height:30px}
  .kdr-mobile-more-toggle{display:inline-flex;grid-column:2/4;grid-row:2;align-items:center;justify-content:center;height:38px;min-width:76px;padding:0 10px;border:1px solid #ded3fb;border-radius:8px;background:#faf7ff;color:#7137f5;font-family:inherit;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer}
  .kdr-global-settings,.kdr-manage-toggle,.kdr-sort-pair{display:none}
  .kdr-tools.mobile-expanded .kdr-global-settings,.kdr-tools.mobile-expanded .kdr-manage-toggle{display:inline-flex;align-items:center;justify-content:center;grid-column:1/-1;width:100%;height:38px}
  .kdr-tools.mobile-expanded .kdr-sort-pair{display:grid;grid-column:1/-1;width:100%;grid-template-columns:auto repeat(2,minmax(0,1fr));gap:5px}
  .kdr-tools.mobile-expanded .kdr-sort-field{min-height:38px;height:38px;padding:0 6px}
  .kdr-tools.mobile-expanded .kdr-sort-heading{min-height:38px;padding:0 3px;font-size:10px}
  .kdr-radar-grid{padding:8px 0;gap:9px}
  .kdr-radar-card-head{padding-left:11px;padding-right:11px}
  .kdr-mobile-back{display:none!important}
}
/* KD 区间：超卖 / 中性 / 超买 */
.kdr-cycle-meter{background:linear-gradient(90deg,#8bd095 0 20%,#f2c84b 20% 80%,#e27670 80% 100%);box-shadow:inset 0 0 0 1px rgba(80,65,40,.08)}.kdr-cycle-meter span{display:none}.kdr-cycle-panel.position-oversold{--kdr-zone:#168a2d}.kdr-cycle-panel.position-neutral{--kdr-zone:#b56c00}.kdr-cycle-panel.position-overbought{--kdr-zone:#c2352b}.kdr-cycle-panel.position-oversold .kdr-cycle-number strong{color:#168a2d}.kdr-cycle-panel.position-neutral .kdr-cycle-number strong{color:#b56c00}.kdr-cycle-panel.position-overbought .kdr-cycle-number strong{color:#c2352b}.kdr-cycle-panel.position-oversold .kdr-cycle-meter i{background:#168a2d;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(22,138,45,.35),0 2px 4px rgba(49,35,82,.2)}.kdr-cycle-panel.position-neutral .kdr-cycle-meter i{background:#b56c00;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(181,108,0,.35),0 2px 4px rgba(49,35,82,.2)}.kdr-cycle-panel.position-overbought .kdr-cycle-meter i{background:#c2352b;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(194,53,43,.35),0 2px 4px rgba(49,35,82,.2)}.kdr-cycle-scale .zone-low{color:#168a2d}.kdr-cycle-scale .zone-mid{color:#b56c00}.kdr-cycle-scale .zone-high{color:#c2352b}
/* 自定义分组右键菜单 */
.kdr-group-menu{position:fixed;z-index:10050;display:none;width:210px;padding:10px;border:1px solid #e1d9f2;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(49,35,82,.18)}.kdr-group-menu.show{display:block}.kdr-group-menu label{display:block;margin-bottom:6px;color:#71697d;font-size:10px;font-weight:800}.kdr-group-menu form>div{display:flex;gap:6px}.kdr-group-menu input{min-width:0;flex:1;height:30px;border:1px solid #e8e4f0;border-radius:7px;background:#fdfcff;color:#19152d;padding:0 8px;font-family:inherit;font-size:11px;outline:none}.kdr-group-menu input:focus{border-color:#a98cf8;box-shadow:0 0 0 3px rgba(113,55,245,.08)}.kdr-group-menu form button,.kdr-group-menu-delete{height:30px;padding:0 9px;border:1px solid #ded3fb;border-radius:7px;background:#faf7ff;color:#7137f5;font-family:inherit;font-size:10.5px;font-weight:800;cursor:pointer}.kdr-group-menu-delete{width:100%;margin-top:9px;border-color:#f0d4d1;background:#fff8f7;color:#c84a41;text-align:left}.kdr-group-menu-delete:hover{border-color:#d8352a;background:#fdeeee}
:root[data-theme="dark"] .kdr-cycle-meter{background:linear-gradient(90deg,#277a3c 0 20%,#9b7610 20% 80%,#9b3834 80% 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}:root[data-theme="dark"] .kdr-cycle-panel.position-oversold .kdr-cycle-number strong,:root[data-theme="dark"] .kdr-cycle-scale .zone-low{color:#4ade80}:root[data-theme="dark"] .kdr-cycle-panel.position-neutral .kdr-cycle-number strong,:root[data-theme="dark"] .kdr-cycle-scale .zone-mid{color:#fbbf24}:root[data-theme="dark"] .kdr-cycle-panel.position-overbought .kdr-cycle-number strong,:root[data-theme="dark"] .kdr-cycle-scale .zone-high{color:#f87171}:root[data-theme="dark"] .kdr-cycle-panel.position-oversold .kdr-cycle-meter i{box-shadow:0 0 0 2px #1e1c2c,0 0 0 3px rgba(74,222,128,.4),0 2px 4px rgba(0,0,0,.4)}:root[data-theme="dark"] .kdr-cycle-panel.position-neutral .kdr-cycle-meter i{box-shadow:0 0 0 2px #1e1c2c,0 0 0 3px rgba(251,191,36,.4),0 2px 4px rgba(0,0,0,.4)}:root[data-theme="dark"] .kdr-cycle-panel.position-overbought .kdr-cycle-meter i{box-shadow:0 0 0 2px #1e1c2c,0 0 0 3px rgba(248,113,113,.4),0 2px 4px rgba(0,0,0,.4)}:root[data-theme="dark"] .kdr-group-menu{border-color:#2a2740;background:#1e1c2c;box-shadow:0 10px 28px rgba(0,0,0,.5)}:root[data-theme="dark"] .kdr-group-menu input{border-color:#2a2740;background:#1a1828;color:#f2edf7}:root[data-theme="dark"] .kdr-group-menu form button{border-color:#514675;background:#25213a;color:#c99dff}:root[data-theme="dark"] .kdr-group-menu-delete{border-color:#673b42;background:#2a2028;color:#f87171}
/* KD 雷达：B 版半环位置仪表盘 */
.kdr-cycle-gauge{height:112px;margin-top:1px}.kdr-cycle-gauge svg{display:block;width:100%;height:112px;overflow:visible}.kdr-gauge-arc{fill:none;stroke-width:12;stroke-linecap:round}.kdr-gauge-arc.low{stroke:#52b788}.kdr-gauge-arc.mid{stroke:#ddb84f}.kdr-gauge-arc.high{stroke:#d26058}.kdr-gauge-needle{stroke:#252132;stroke-width:3.5;stroke-linecap:round}.kdr-gauge-pin{fill:#252132;stroke:#fff;stroke-width:2.5}.kdr-gauge-value{fill:#252132;font-size:28px;font-weight:850}.kdr-gauge-sub{fill:#71697d;font-size:9.5px;font-weight:750}.kdr-gauge-tick{font-size:8.5px;font-weight:800}.kdr-gauge-tick.low{fill:#52b788}.kdr-gauge-tick.mid{fill:#8b81a1}.kdr-gauge-tick.high{fill:#d26058}.kdr-cycle-panel.position-oversold .kdr-gauge-needle,.kdr-cycle-panel.position-oversold .kdr-gauge-pin{stroke:#168a2d}.kdr-cycle-panel.position-oversold .kdr-gauge-pin{fill:#168a2d;stroke:#fff}.kdr-cycle-panel.position-oversold .kdr-gauge-value{fill:#168a2d}.kdr-cycle-panel.position-neutral .kdr-gauge-needle{stroke:#252132}.kdr-cycle-panel.position-neutral .kdr-gauge-pin{fill:#252132}.kdr-cycle-panel.position-neutral .kdr-gauge-value{fill:#252132}.kdr-cycle-panel.position-overbought .kdr-gauge-needle{stroke:#c2322b}.kdr-cycle-panel.position-overbought .kdr-gauge-pin{fill:#c2322b}.kdr-cycle-panel.position-overbought .kdr-gauge-value{fill:#c2322b}
:root .kdr-cycle-panel .kdr-gauge-needle{stroke:#252132;stroke-width:3}:root .kdr-cycle-panel .kdr-gauge-pin{fill:#252132;stroke:var(--surface);stroke-width:2}:root .kdr-cycle-panel .kdr-gauge-value{fill:var(--text);font-size:27px}
:root[data-theme="dark"] .kdr-gauge-arc.low{stroke:#4ade80}:root[data-theme="dark"] .kdr-gauge-arc.mid{stroke:#ddb84f}:root[data-theme="dark"] .kdr-gauge-arc.high{stroke:#f87171}:root[data-theme="dark"] .kdr-gauge-sub{fill:#a0a0b0}:root[data-theme="dark"] .kdr-cycle-panel.position-oversold .kdr-gauge-needle{stroke:#4ade80}:root[data-theme="dark"] .kdr-cycle-panel.position-oversold .kdr-gauge-pin{fill:#4ade80;stroke:#1e1c2c}:root[data-theme="dark"] .kdr-cycle-panel.position-oversold .kdr-gauge-value{fill:#4ade80}:root[data-theme="dark"] .kdr-cycle-panel.position-neutral .kdr-gauge-needle{stroke:#a1a1b0}:root[data-theme="dark"] .kdr-cycle-panel.position-neutral .kdr-gauge-pin{fill:#a1a1b0;stroke:#1e1c2c}:root[data-theme="dark"] .kdr-cycle-panel.position-neutral .kdr-gauge-value{fill:#a1a1b0}:root[data-theme="dark"] .kdr-cycle-panel.position-overbought .kdr-gauge-needle{stroke:#f87171}:root[data-theme="dark"] .kdr-cycle-panel.position-overbought .kdr-gauge-pin{fill:#f87171;stroke:#1e1c2c}:root[data-theme="dark"] .kdr-cycle-panel.position-overbought .kdr-gauge-value{fill:#f87171}
:root[data-theme="dark"] .kdr-cycle-panel.position-oversold .kdr-gauge-needle,:root[data-theme="dark"] .kdr-cycle-panel.position-neutral .kdr-gauge-needle,:root[data-theme="dark"] .kdr-cycle-panel.position-overbought .kdr-gauge-needle{stroke:#f4f0fa}:root[data-theme="dark"] .kdr-cycle-panel.position-oversold .kdr-gauge-pin,:root[data-theme="dark"] .kdr-cycle-panel.position-neutral .kdr-gauge-pin,:root[data-theme="dark"] .kdr-cycle-panel.position-overbought .kdr-gauge-pin{fill:#f4f0fa;stroke:var(--surface)}:root[data-theme="dark"] .kdr-cycle-panel.position-oversold .kdr-gauge-value,:root[data-theme="dark"] .kdr-cycle-panel.position-neutral .kdr-gauge-value,:root[data-theme="dark"] .kdr-cycle-panel.position-overbought .kdr-gauge-value{fill:var(--text)}
.kdr-gauge-arc.low,:root[data-theme="dark"] .kdr-gauge-arc.low{stroke:#52b788}.kdr-gauge-arc.mid,:root[data-theme="dark"] .kdr-gauge-arc.mid{stroke:#ddb84f}.kdr-gauge-arc.high,:root[data-theme="dark"] .kdr-gauge-arc.high{stroke:#d26058}.kdr-gauge-ticks{fill:none;stroke:var(--text3);stroke-width:1.4;stroke-linecap:round}.kdr-cycle-gauge .kdr-gauge-tick{fill:var(--text3)}.kdr-cycle-head{padding-top:2px}.kdr-cycle-head .kdr-cycle-title{color:#51495f;font-size:11.5px;font-weight:850;letter-spacing:0}.kdr-cycle-head b{font-size:10px;font-weight:800}
:root[data-theme="dark"] .kdr-cycle-head .kdr-cycle-title{color:#e5dfed}
/* ── 侧栏主导航（效果图还原） ── */
.kdr-nav{display:flex;flex-direction:column;gap:2px;border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:8px}
.kdr-nav-item{display:flex;align-items:center;gap:7px;width:100%;height:38px;padding:0 13px;border:none;border-radius:10px;background:transparent;color:var(--text2);font-size:13.5px;font-weight:650;text-align:left;cursor:pointer;transition:.15s ease;position:relative}
.kdr-nav-item:hover{background:var(--surface2);color:var(--text)}
.kdr-nav-item.active{background:linear-gradient(135deg,var(--accent),var(--purple));color:#fff;font-weight:750;box-shadow:0 4px 12px rgba(113,55,245,.25)}
.kdr-nav-new{margin-left:auto;padding:1px 7px;border-radius:20px;background:linear-gradient(135deg,#7c3aed,#6830ec);color:#fff;font-size:9px;font-weight:800;letter-spacing:.05em}
.kdr-nav-item.active .kdr-nav-new{background:rgba(255,255,255,.28)}
.kdr-nav-badges{display:inline-flex;gap:3px;margin-left:auto}
.kdr-nb{width:17px;height:17px;display:grid;place-items:center;border-radius:50%;font-size:9.5px;font-weight:800;color:#fff}
.kdr-nb.g{background:#22c55e}.kdr-nb.o{background:#f59e0b}.kdr-nb.r{background:#ef4444}
.kdr-nav-badge{margin-left:auto;padding:1px 8px;border-radius:20px;background:var(--surface3);color:var(--text2);font-size:9.5px;font-weight:800}
.kdr-invite{width:100%;margin-top:4px;padding:10px 12px;border:1px dashed rgba(124,58,237,.4);border-radius:12px;background:linear-gradient(135deg,rgba(124,58,237,.09),rgba(139,92,246,.05));color:var(--accent);font-size:12.5px;font-weight:750;cursor:pointer;transition:.18s}
.kdr-invite:hover{background:linear-gradient(135deg,rgba(124,58,237,.16),rgba(139,92,246,.1));transform:translateY(-1px)}
.kdr-sys{display:flex;align-items:center;gap:6px;margin-top:auto;padding:10px 4px 2px;font-size:11px;color:var(--text3);font-weight:600}
.kdr-sys-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.15)}
.kdr-sys-time{margin-left:auto;color:var(--text4);font-size:10.5px;font-weight:500}
.toast-info{color:var(--accent);border-color:rgba(124,58,237,.3);background:rgba(243,238,255,.95)}
:root[data-theme="dark"] .toast-info{background:rgba(35,30,60,.95);border-color:rgba(139,92,246,.35)}
/* ── 工单（功能建议 / Bug 反馈） ── */
.header-feedback-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(124,58,237,.22);border-radius:8px;background:rgba(124,58,237,.08);color:var(--accent);cursor:pointer;transition:.18s ease}
.header-feedback-btn:hover{border-color:var(--accent);background:rgba(124,58,237,.15);transform:translateY(-1px)}
.header-feedback-btn:focus-visible{outline:3px solid rgba(124,58,237,.22);outline-offset:2px}
:root[data-theme="dark"] .header-feedback-btn{border-color:rgba(139,92,246,.35);background:rgba(139,92,246,.12);color:#c4b5fd}
:root[data-theme="dark"] .header-feedback-btn:hover{border-color:#8b5cf6;background:rgba(139,92,246,.2)}
body.ticket-dialog-open{overflow:hidden}
.ticket-mask{position:fixed;inset:0;z-index:10040;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(20,17,37,.42);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.ticket-mask.show{display:flex}
.ticket-sheet{width:min(680px,100%);max-height:min(720px,calc(100dvh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(124,58,237,.18);border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 20px 48px rgba(34,24,55,.18);color:#211b31}
:root:not([data-theme="dark"]) .ticket-sheet{background:rgba(255,255,255,.9);backdrop-filter:blur(18px) saturate(1.08);-webkit-backdrop-filter:blur(18px) saturate(1.08);box-shadow:0 18px 42px rgba(48,32,77,.16),0 1px 0 rgba(255,255,255,.9) inset}
.ticket-submit-sheet{max-width:680px}.ticket-list-sheet{width:min(720px,100%);height:auto;min-height:220px;max-height:min(680px,calc(100dvh - 48px))}
.ticket-dialog-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 18px;border-bottom:1px solid rgba(124,58,237,.12);flex:0 0 auto}.ticket-dialog-head h2{margin:0;color:#211b31;font-size:16px;font-weight:800;line-height:1.25;letter-spacing:0}
.ticket-icon-button,.ticket-attach-button,.ticket-history-button,.ticket-retry-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;background:transparent;color:inherit;font-family:inherit;cursor:pointer}.ticket-icon-button{width:32px;height:32px;padding:0;border-radius:7px;color:#746d82}.ticket-icon-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ticket-dialog-body{min-height:0;overflow:auto;padding:16px 18px 18px;scrollbar-gutter:stable}.ticket-type-fieldset{min-width:0;margin:0;padding:0;border:0}.ticket-type-fieldset legend,.ticket-field-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;color:#544c63;font-size:11px;font-weight:750;line-height:1.3}
.ticket-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ticket-type{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;min-height:62px;padding:10px 11px;border:1px solid #e4deee;border-radius:8px;background:rgba(250,249,253,.72);cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.ticket-type-input{position:absolute;inline-size:1px;block-size:1px;margin:-1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.ticket-type-icon{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:#f2edff;color:#7041dd}
.ticket-type-icon svg,.ticket-attach-button svg,.ticket-history-button svg,.ticket-submit-button svg,.ticket-badge svg,.ticket-retry-button svg,.ticket-thumb-remove svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.ticket-type b{display:block;overflow-wrap:anywhere;color:#292134;font-size:12px;font-weight:800;line-height:1.25}.ticket-type small{display:block;margin-top:3px;overflow-wrap:anywhere;color:#82798e;font-size:10px;font-weight:600;line-height:1.35}.ticket-type.on{border-color:#8758e7;background:rgba(124,58,237,.08);box-shadow:inset 0 0 0 1px rgba(124,58,237,.11)}.ticket-type.on .ticket-type-icon{background:#e9ddff;color:#6630d2}
.ticket-content-field{margin-top:16px}.ticket-field-label label{cursor:text}.ticket-field-label>span:last-child{margin-left:auto;color:#968ca5;font-variant-numeric:tabular-nums}.ticket-textarea{display:block;box-sizing:border-box;width:100%;min-height:118px;resize:vertical;border:1px solid #e4deee;border-radius:8px;background:rgba(255,255,255,.78);color:#292134;padding:11px 12px;font-family:inherit;font-size:13px;font-weight:500;line-height:1.6;letter-spacing:0;outline:none}.ticket-textarea::placeholder{color:#9a91a5}.ticket-attachments{margin-top:16px}.ticket-imgs{display:flex;min-height:0;gap:8px;flex-wrap:wrap}.ticket-thumb{position:relative;width:72px;height:72px;overflow:hidden;border:1px solid #ded7e8;border-radius:7px;background:#f7f4fb}.ticket-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.ticket-thumb-remove{position:absolute;top:4px;right:4px;width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:6px;background:rgba(27,21,38,.76);color:#fff;cursor:pointer}.ticket-thumb-remove svg{width:14px;height:14px}.ticket-form-status{min-height:18px;margin:10px 0 0;color:#b2433e;font-size:11px;font-weight:650;line-height:1.45}
.ticket-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid rgba(124,58,237,.12);background:rgba(250,249,253,.7);flex:0 0 auto}.ticket-primary-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.ticket-history-button,.ticket-attach-button{min-height:34px;padding:0 9px;border-color:#e1d9ed;border-radius:7px;color:#665d74;font-size:11px;font-weight:750;white-space:nowrap}.ticket-history-button{border-color:transparent;padding-left:0;color:#6737d4}.ticket-submit-button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:1px solid #6d35de;border-radius:7px;background:#6d35de;color:#fff;font-family:inherit;font-size:11px;font-weight:800;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:none}.ticket-submit-button svg{width:15px;height:15px}.ticket-submit-button:hover{background:#5d29c8;border-color:#5d29c8}.ticket-submit-button:active{transform:translateY(1px)}.ticket-submit-button:disabled{border-color:#b7a4db;background:#b7a4db;color:rgba(255,255,255,.88);cursor:wait}
.ticket-icon-button:hover,.ticket-attach-button:hover,.ticket-history-button:hover,.ticket-retry-button:hover{border-color:#c8b5ec;background:rgba(124,58,237,.08);color:#5d29c8}.ticket-icon-button:active,.ticket-attach-button:active,.ticket-history-button:active,.ticket-retry-button:active{transform:translateY(1px)}.ticket-icon-button:focus-visible,.ticket-attach-button:focus-visible,.ticket-history-button:focus-visible,.ticket-retry-button:focus-visible,.ticket-submit-button:focus-visible,.ticket-thumb-remove:focus-visible,.ticket-type:focus-within,.ticket-textarea:focus-visible{outline:3px solid rgba(112,65,221,.24);outline-offset:2px}.ticket-textarea:focus-visible{border-color:#8a61e4;box-shadow:0 0 0 1px rgba(112,65,221,.14)}
.ticket-list{min-height:0;flex:0 1 auto;max-height:calc(100dvh - 150px);overflow:auto;display:flex;flex-direction:column;gap:9px;padding:14px 18px 18px;scrollbar-gutter:stable}.ticket-item{border:1px solid #e6e0ee;border-radius:8px;background:rgba(255,255,255,.64);padding:12px}.ticket-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ticket-item-meta{display:flex;min-width:0;flex-wrap:wrap;gap:6px}.ticket-badge{display:inline-flex;align-items:center;gap:4px;min-height:22px;padding:0 7px;border-radius:5px;font-size:10px;font-weight:800;line-height:1;white-space:nowrap}.ticket-badge svg{width:13px;height:13px}.ticket-badge.bug{background:#fff0ee;color:#bd4236}.ticket-badge.sug{background:#f0eaff;color:#6737d4}.ticket-badge.open{background:#fff4df;color:#a56400}.ticket-badge.done{background:#eaf8ee;color:#177b3d}.ticket-item-time{max-width:48%;overflow-wrap:anywhere;color:#8c8399;font-size:10px;font-weight:600;line-height:1.35;text-align:right;font-variant-numeric:tabular-nums}.ticket-item-content{margin-top:9px;overflow-wrap:anywhere;color:#31293e;font-size:12px;line-height:1.65;white-space:pre-wrap}.ticket-item-imgs{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.ticket-item-image{width:68px;height:68px;overflow:hidden;padding:0;border:1px solid #ddd5e7;border-radius:7px;background:#f7f4fb;cursor:zoom-in}.ticket-item-image img{display:block;width:100%;height:100%;object-fit:cover}.ticket-item-image.is-unavailable{opacity:.55;cursor:default}
.ticket-reply{margin-top:10px;padding:9px 10px;border-left:2px solid #8052df;background:rgba(124,58,237,.07);border-radius:0 6px 6px 0;color:#4e377d;font-size:11px;line-height:1.6}.ticket-reply b{display:block;color:#5832a8;font-size:10px;font-weight:800}.ticket-reply p{margin:3px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.ticket-list-state{min-height:168px;display:flex;flex:1;align-items:center;justify-content:center;gap:9px;padding:20px;color:#8c8399;font-size:12px;text-align:center}.ticket-list-state.error{flex-direction:column;color:#af4a43}.ticket-retry-button{min-height:32px;padding:0 10px;border-color:#e4c8c4;border-radius:7px;color:#ad453d;font-size:11px;font-weight:750}.ticket-retry-button svg{width:14px;height:14px}.ticket-list-foot{display:flex;justify-content:flex-end;padding:12px 18px;border-top:1px solid rgba(124,58,237,.12);background:rgba(250,249,253,.7);flex:0 0 auto}
:root[data-theme="dark"] .ticket-mask{background:rgba(4,7,12,.66);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}:root[data-theme="dark"] .ticket-sheet{border-color:#353d52;background:#171b27;color:#e7ebf3;box-shadow:0 20px 48px rgba(0,0,0,.46)}:root[data-theme="dark"] .ticket-dialog-head,:root[data-theme="dark"] .ticket-dialog-foot,:root[data-theme="dark"] .ticket-list-foot{border-color:#30384b;background:#171b27}:root[data-theme="dark"] .ticket-dialog-head h2,:root[data-theme="dark"] .ticket-type b,:root[data-theme="dark"] .ticket-item-content{color:#edf0f8}:root[data-theme="dark"] .ticket-icon-button{color:#aeb7c9}:root[data-theme="dark"] .ticket-type{border-color:#30384b;background:#1b2030}:root[data-theme="dark"] .ticket-type-icon{background:#252b3d;color:#bea6ff}:root[data-theme="dark"] .ticket-type small,:root[data-theme="dark"] .ticket-field-label,:root[data-theme="dark"] .ticket-field-label>span:last-child,:root[data-theme="dark"] .ticket-item-time,:root[data-theme="dark"] .ticket-list-state{color:#9aa5ba}:root[data-theme="dark"] .ticket-type.on{border-color:#9670ef;background:rgba(139,92,246,.16);box-shadow:inset 0 0 0 1px rgba(177,144,255,.16)}:root[data-theme="dark"] .ticket-type.on .ticket-type-icon{background:#302650;color:#d2bfff}:root[data-theme="dark"] .ticket-textarea{border-color:#30384b;background:#121722;color:#edf0f8}:root[data-theme="dark"] .ticket-textarea::placeholder{color:#778198}:root[data-theme="dark"] .ticket-thumb,:root[data-theme="dark"] .ticket-item-image{border-color:#354057;background:#1b2130}:root[data-theme="dark"] .ticket-history-button{color:#c2adff}:root[data-theme="dark"] .ticket-attach-button{border-color:#39435a;color:#c3ccdc}:root[data-theme="dark"] .ticket-icon-button:hover,:root[data-theme="dark"] .ticket-attach-button:hover,:root[data-theme="dark"] .ticket-history-button:hover,:root[data-theme="dark"] .ticket-retry-button:hover{border-color:#7966aa;background:#252b3a;color:#d6c5ff}:root[data-theme="dark"] #ticketSubmitMask .ticket-submit-button:not(:disabled){border-color:#7c3aed;background:#7c3aed;color:#fff}:root[data-theme="dark"] #ticketSubmitMask .ticket-submit-button:not(:disabled):hover{border-color:#6d28d9;background:#6d28d9;color:#fff}:root[data-theme="dark"] #ticketSubmitMask .ticket-submit-button:not(:disabled):active{border-color:#5b21b6;background:#5b21b6;color:#fff}:root[data-theme="dark"] .ticket-item{border-color:#30384b;background:#1b2030}:root[data-theme="dark"] .ticket-badge.bug{background:rgba(185,66,54,.16);color:#ff978e}:root[data-theme="dark"] .ticket-badge.sug{background:rgba(124,58,237,.18);color:#c9b2ff}:root[data-theme="dark"] .ticket-badge.open{background:rgba(191,126,18,.17);color:#f8ca72}:root[data-theme="dark"] .ticket-badge.done{background:rgba(31,135,72,.18);color:#8fdda7}:root[data-theme="dark"] .ticket-reply{border-color:#9d7af2;background:rgba(124,58,237,.14);color:#d8ccf5}:root[data-theme="dark"] .ticket-reply b{color:#e0d4ff}:root[data-theme="dark"] .ticket-list-state.error,:root[data-theme="dark"] .ticket-form-status{color:#ffaaa3}:root[data-theme="dark"] .ticket-retry-button{border-color:#6f4650;color:#ffaaa3}
@media(max-width:600px){.ticket-mask{align-items:flex-end;padding:calc(env(safe-area-inset-top) + 8px) 0 0;background:rgba(20,17,37,.5)}.ticket-sheet,.ticket-list-sheet{width:100%;max-width:none;max-height:calc(100dvh - env(safe-area-inset-top) - 8px);height:auto;border-right:0;border-bottom:0;border-left:0;border-radius:12px 12px 0 0}.ticket-list-sheet{height:calc(100dvh - env(safe-area-inset-top) - 8px)}.ticket-dialog-head{min-height:56px;padding:0 16px}.ticket-dialog-body{padding:14px 16px 16px}.ticket-dialog-foot{align-items:stretch;flex-direction:column-reverse;padding:10px 16px calc(10px + env(safe-area-inset-bottom))}.ticket-primary-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}.ticket-history-button{align-self:flex-start;padding:0 3px}.ticket-attach-button,.ticket-submit-button{width:100%;min-width:0}.ticket-types{grid-template-columns:1fr}.ticket-type{min-height:54px;padding:9px 10px}.ticket-textarea{min-height:112px;resize:none}.ticket-list{padding:12px 16px 16px}.ticket-list-foot{padding:10px 16px calc(10px + env(safe-area-inset-bottom))}.ticket-list-foot .ticket-submit-button{width:100%}.ticket-item{padding:11px}.ticket-item-head{align-items:flex-start}.ticket-item-time{max-width:46%;font-size:9.5px}.ticket-list-state{min-height:132px}}
/* Feedback dialogs need a solid working surface, not a second glass layer. */
.ticket-mask{background:rgba(24,31,43,.54);backdrop-filter:none;-webkit-backdrop-filter:none}
.ticket-sheet,:root:not([data-theme="dark"]) .ticket-sheet{width:min(640px,100%);border-color:#dfe4eb;border-radius:10px;background:#fff;box-shadow:0 18px 46px rgba(15,23,42,.28);color:#202733;backdrop-filter:none;-webkit-backdrop-filter:none}
.ticket-dialog-head{min-height:56px;border-color:#e8edf3}.ticket-dialog-head h2{color:#202733}
.ticket-type{border-color:#dfe4eb;background:#fff}.ticket-type-icon{background:#f1f5f9;color:#566171}.ticket-type b{color:#283241}.ticket-type small,.ticket-type-fieldset legend,.ticket-field-label{color:#657080}.ticket-type.on{border-color:#7150d9;background:#f6f4ff;box-shadow:inset 0 0 0 1px rgba(113,80,217,.08)}.ticket-type.on .ticket-type-icon{background:#ece8ff;color:#6040c7}.ticket-type#ticketTypeBugLbl.on{border-color:#d55b55;background:#fff8f7}.ticket-type#ticketTypeBugLbl.on .ticket-type-icon{background:#feeceb;color:#b9413b}
.ticket-textarea{border-color:#d8dee8;background:#fff;color:#283241}.ticket-textarea::placeholder{color:#8f99a8}
.ticket-dialog-foot,.ticket-list-foot{border-color:#e8edf3;background:#f8fafc}.ticket-history-button{color:#6040c7}.ticket-attach-button{border-color:#dfe4eb;color:#566171}.ticket-submit-button{border-color:#6040c7;background:#6040c7}.ticket-submit-button:hover{border-color:#5033ac;background:#5033ac}
@media(max-width:600px){.ticket-mask{background:rgba(24,31,43,.58)}.ticket-sheet,.ticket-list-sheet{border-radius:12px 12px 0 0}}

@media(max-width:900px){
  .kdr-nav{flex-direction:row;overflow-x:auto;border:none;background:transparent;padding:0;gap:6px}
  .kdr-nav-item{height:34px;flex:0 0 auto;padding:0 13px;border:1px solid var(--border2);border-radius:9px;background:var(--surface2)}
  .kdr-invite{display:none}
  .kdr-sys{display:none}
}
/* ── 统计总览尺寸校准（效果图：数字36px级、环图128px） ── */
.kdr-stat{padding:18px 20px}
.kdr-stat-value b{font-size:34px}
.kdr-stat-label{font-size:12.5px}
.kdr-donut-wrap{width:128px;height:128px}
.kdr-donut-hole{inset:18px}
.kdr-donut-hole b{font-size:24px}
.kdr-dist{gap:22px;padding:16px 22px}

/* KD summary option A: signal capsules keep the pool visually primary. */
.kdr-stats-row{grid-template-columns:repeat(4,minmax(0,1fr)) 116px;gap:10px;margin-top:12px;align-items:stretch}
.kdr-stat{min-height:68px;padding:10px 12px;border:1px solid #eee8f2;border-radius:22px;background:linear-gradient(180deg,#fff 0%,#fcfbfd 100%);box-shadow:0 5px 16px rgba(49,35,82,.045);gap:9px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.kdr-stat:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(49,35,82,.09)}
.kdr-stat-icon{width:30px;height:30px;border-radius:50%;font-size:14px;box-shadow:0 0 0 4px rgba(255,255,255,.75)}
.kdr-stat-text{min-width:0}
.kdr-stat-label{color:#463c51;font-size:11px;font-weight:850;white-space:nowrap}
.kdr-stat-label i{display:block;margin-top:2px;font-size:9px;font-weight:800}
.kdr-stat-value{margin-top:3px;display:flex;align-items:baseline;gap:3px}
.kdr-stat-value b{font-size:22px;font-weight:900;line-height:1}
.kdr-stat-value small{margin-left:0;font-size:9px;font-weight:800}
.kdr-stat-delta{top:auto;right:12px;bottom:8px;padding:0;background:transparent!important;font-size:8.5px;font-weight:850}
.kdr-stat[data-signal="daily_golden_pushed"]{border-color:#c6e8d0;background:linear-gradient(145deg,#f3fcf5,#fff)}
.kdr-stat[data-signal="daily_golden_pushed"] .kdr-stat-label,.kdr-stat[data-signal="daily_golden_pushed"] .kdr-stat-value b,.kdr-stat[data-signal="daily_golden_pushed"] .kdr-stat-value small,.kdr-stat[data-signal="daily_golden_pushed"] .kdr-stat-delta{color:#16783a}
.kdr-stat[data-signal="weekly_golden_pushed"]{border-color:#f1dfad;background:linear-gradient(145deg,#fffaf0,#fff)}
.kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-label,.kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-value b,.kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-value small,.kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-delta{color:#9a6200}
.kdr-stat[data-signal="dual_golden_pushed"]{border-color:#dbc8f2;background:linear-gradient(145deg,#faf5ff,#fff)}
.kdr-stat[data-signal="dual_golden_pushed"] .kdr-stat-label,.kdr-stat[data-signal="dual_golden_pushed"] .kdr-stat-value b,.kdr-stat[data-signal="dual_golden_pushed"] .kdr-stat-value small,.kdr-stat[data-signal="dual_golden_pushed"] .kdr-stat-delta{color:#7135ae}
.kdr-stat[data-signal="daily_death"]{border-color:#f0c9c6;background:linear-gradient(145deg,#fff5f4,#fff)}
.kdr-stat[data-signal="daily_death"] .kdr-stat-label,.kdr-stat[data-signal="daily_death"] .kdr-stat-value b,.kdr-stat[data-signal="daily_death"] .kdr-stat-value small,.kdr-stat[data-signal="daily_death"] .kdr-stat-delta{color:#b6322e}
.kdr-stat[data-signal="daily_golden_pushed"] .kdr-stat-icon{animation:kdrSummaryPulse 1.9s ease-in-out infinite}
.kdr-summary-total{display:flex;align-items:center;justify-content:center;gap:5px;min-height:68px;border-left:1px solid #eee8f2;color:#63586f;font-size:9px;font-weight:850}
.kdr-summary-total b{display:grid;place-items:center;width:38px;height:38px;border:1px solid #dfd7e9;border-radius:50%;background:#f3eff7;color:#3b3048;font-size:16px;font-weight:900}
.kdr-dist{display:flex;justify-content:center;min-height:68px;margin:0;padding:0;border:0;border-left:1px solid #eee8f2;border-radius:0;background:transparent;box-shadow:none}
.kdr-donut-wrap{width:38px;height:38px}.kdr-donut{display:none}.kdr-donut-hole{position:static;inset:auto;width:38px;height:38px;background:#f3eff7;border:1px solid #dfd7e9}.kdr-donut-hole b{font-size:16px;color:#3b3048}.kdr-donut-hole span{display:block;color:#63586f;font-size:8px;font-weight:850;white-space:nowrap}
.kdr-donut-legend{display:none}.kdr-dist-legend{display:none}
:root[data-theme="dark"] .kdr-stat{border-color:#37324e;background:linear-gradient(145deg,#242139,#1e1c2c)}
:root[data-theme="dark"] .kdr-stat-label{color:#f0eaf7}:root[data-theme="dark"] .kdr-stat[data-signal="daily_golden_pushed"] .kdr-stat-label,:root[data-theme="dark"] .kdr-stat[data-signal="daily_golden_pushed"] .kdr-stat-value b,:root[data-theme="dark"] .kdr-stat[data-signal="daily_golden_pushed"] .kdr-stat-value small,:root[data-theme="dark"] .kdr-stat[data-signal="daily_golden_pushed"] .kdr-stat-delta{color:#54d77b}:root[data-theme="dark"] .kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-label,:root[data-theme="dark"] .kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-value b,:root[data-theme="dark"] .kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-value small,:root[data-theme="dark"] .kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-delta{color:#ffc75d}:root[data-theme="dark"] .kdr-stat[data-signal="dual_golden_pushed"] .kdr-stat-label,:root[data-theme="dark"] .kdr-stat[data-signal="dual_golden_pushed"] .kdr-stat-value b,:root[data-theme="dark"] .kdr-stat[data-signal="dual_golden_pushed"] .kdr-stat-value small,:root[data-theme="dark"] .kdr-stat[data-signal="dual_golden_pushed"] .kdr-stat-delta{color:#d3a8ff}:root[data-theme="dark"] .kdr-stat[data-signal="daily_death"] .kdr-stat-label,:root[data-theme="dark"] .kdr-stat[data-signal="daily_death"] .kdr-stat-value b,:root[data-theme="dark"] .kdr-stat[data-signal="daily_death"] .kdr-stat-value small,:root[data-theme="dark"] .kdr-stat[data-signal="daily_death"] .kdr-stat-delta{color:#ff8d87}
:root[data-theme="dark"] .kdr-summary-total{border-left-color:#37324e;color:#bdb2cb}:root[data-theme="dark"] .kdr-summary-total b,:root[data-theme="dark"] .kdr-donut-hole{border-color:#37324e;background:#29243b;color:#f2edf7}:root[data-theme="dark"] .kdr-donut-hole span{color:#bdb2cb}
@keyframes kdrSummaryPulse{50%{transform:scale(1.1);box-shadow:0 0 0 5px rgba(44,173,90,.08),0 0 16px rgba(44,173,90,.22)}}
@media(max-width:900px){.kdr-stats-row{grid-template-columns:1fr 1fr}.kdr-dist{grid-column:auto;min-height:68px}.kdr-stat{border-radius:17px}.kdr-summary-total{grid-column:1/-1;border-left:0;border-top:1px solid #eee8f2}}

/* Selected palette A: semantic market signals. */
.kdr-stat[data-signal="daily_golden_pushed"] .kdr-stat-icon{background:#dff5e5;color:#16783a}
.kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-icon{background:#fff0c8;color:#9a6200}
.kdr-stat[data-signal="dual_golden_pushed"] .kdr-stat-icon{background:#eadbfa;color:#7135ae}
.kdr-stat[data-signal="daily_death"] .kdr-stat-icon{background:#f9d9d7;color:#b6322e}
.kdr-stat[data-signal="daily_golden_pushed"] .kdr-stat-label i{color:#238344}
.kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-label i{color:#ae7108}
.kdr-stat[data-signal="dual_golden_pushed"] .kdr-stat-label i{color:#8048bd}
.kdr-stat[data-signal="daily_death"] .kdr-stat-label i{color:#c0403a}
.kdr-stat[data-signal="daily_golden_pushed"] .kdr-stat-delta{color:#16783a}
.kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-delta{color:#9a6200}
.kdr-stat[data-signal="dual_golden_pushed"] .kdr-stat-delta{color:#7135ae}
.kdr-stat[data-signal="daily_death"] .kdr-stat-delta{color:#b6322e}
.kdr-stats-row{grid-template-columns:repeat(4,minmax(0,1fr))}
.kdr-dist{display:none}
@media(max-width:900px){.kdr-stats-row{grid-template-columns:1fr 1fr}.kdr-dist{display:none}}
/* KD radar list drag and disabled-cycle states */
.kdr-list-item[draggable="true"]{cursor:grab}.kdr-list-item[draggable="true"]:active{cursor:grabbing}.kdr-list-item.dragging{opacity:.55;transform:scale(.995);box-shadow:0 10px 24px rgba(113,55,245,.16)}.kdr-list-visual-plate.is-disabled{opacity:.72}.kdr-list-visual-plate.is-disabled .kdr-list-plate-ring{background:#e4dfe9}.kdr-list-visual-plate.is-disabled .kdr-list-plate-copy b{color:#82798d}.kdr-cycle-panel.is-disabled{opacity:.72}.kdr-cycle-panel.is-disabled .kdr-gauge-arc{stroke:#d8d2df}.kdr-cycle-panel.is-disabled .kdr-gauge-value,.kdr-cycle-panel.is-disabled .kdr-gauge-sub{fill:#82798d}.kdr-cycle-panel.is-disabled .kdr-cycle-foot i{background:#9a93a5}
/* KD radar mobile usability overrides */
.kdr-group-actions{display:flex;align-items:center;gap:6px}.kdr-group-rename{height:28px;padding:0 9px;border:1px solid #ded3fb;border-radius:7px;background:#faf7ff;color:#7137f5;font-family:inherit;font-size:10.5px;font-weight:800;cursor:pointer}.kdr-group-rename:hover{border-color:#a98cf8;background:#f3eeff}
.kdr-radar-card[draggable="true"],.kdr-list-item[draggable="true"]{touch-action:pan-y}
@media(max-width:900px){
  .kdr-tools{width:100%;margin-left:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
  .kdr-tools .kdr-global-settings{flex:1 1 135px}
  .kdr-tools .kdr-view-switch{flex:0 0 auto;margin-left:0}
  .kdr-tools .kdr-sort-pair{flex:1 1 270px;min-width:0}
  .kdr-tools .kdr-search-box{flex:1 1 220px;width:auto;min-width:0}
}
@media(max-width:700px){
  .kdr-list-view{overflow:visible}
  .kdr-list-head{display:none}
  .kdr-list-item{min-width:0;border-left-width:3px}
  .kdr-list-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0;min-height:0;gap:10px;padding:12px}
  .kdr-list-symbol{grid-column:1/-1}
  .kdr-list-visual-plate{padding:0 4px;border-left:0}
  .kdr-list-signal-path{grid-column:1/-1;padding:10px 0 0;border-left:0;border-top:1px solid #eee9f3}
  .kdr-list-plate-ring{flex-basis:52px;width:52px;height:52px}
  .kdr-list-plate-ring i{transform-origin:4px 23px}
}

/* Final responsive guardrails: keep status badges readable and controls aligned
   after the legacy mobile rules above. */
.kdr-card-head-actions{flex:0 0 auto;white-space:nowrap}
.kdr-card-status{width:max-content;min-width:max-content;max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap;flex:0 0 auto}
.kdr-sort-pair{border:1px solid #e8e2f0;border-radius:10px;background:#fdfcff;padding:4px 5px;box-sizing:border-box}
:root[data-theme="dark"] .kdr-sort-pair{border-color:#2a2740;background:#1a1828}
:root[data-theme="dark"] .kdr-sort-heading{color:#e5dfef}
@media(max-width:700px){
  .kdr-sort-pair{padding:8px;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr)}
  .kdr-sort-heading{padding:0 2px;min-width:0}
  .kdr-sort-heading b{font-size:10px}
  .kdr-sort-field{min-width:0}
  .kdr-card-head-actions{gap:4px}
  .kdr-card-status{min-height:32px;padding:0 8px;font-size:10px;line-height:1}
}
@media(max-width:390px){
  .kdr-card-status{font-size:9.5px;padding:0 6px}
  .kdr-card-menu-btn{width:30px;height:30px;flex-basis:30px}
}
@media(max-width:560px){
  .kdr-tools .kdr-search-box{flex-basis:100%;order:10}
  .kdr-search-results{left:0;right:0;width:auto}
  .kdr-ocr-menu{left:auto;right:0}
  .kdr-group-actions{gap:4px}.kdr-group-rename,.kdr-group-delete{min-height:36px;padding:0 8px}
}

/* List KD plate: make the current value readable as an arc, not only a pin. */
.kdr-list-plate-ring{isolation:isolate}
.kdr-list-plate-ring::before{content:"";position:absolute;z-index:1;inset:0;border-radius:50%;background:conic-gradient(from -90deg,rgba(255,255,255,0) 0 var(--kdr-angle),rgba(255,255,255,.62) var(--kdr-angle) 360deg);-webkit-mask:radial-gradient(farthest-side,#000 0 calc(100% - 7px),transparent calc(100% - 6px));mask:radial-gradient(farthest-side,#000 0 calc(100% - 7px),transparent calc(100% - 6px));pointer-events:none}
.kdr-list-plate-ring:after{z-index:2}
.kdr-list-plate-ring i{z-index:3;left:calc(50% - 5px);width:10px;height:10px;transform-origin:5px 26px;box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(41,37,55,.14),0 2px 5px rgba(49,35,82,.22)}
.kdr-list-plate-ring b{z-index:4}
:root[data-theme="dark"] .kdr-list-plate-ring::before{background:conic-gradient(from -90deg,rgba(0,0,0,0) 0 var(--kdr-angle),rgba(0,0,0,.48) var(--kdr-angle) 360deg)}
:root[data-theme="dark"] .kdr-list-plate-ring i{box-shadow:0 0 0 2px #1e1c2c,0 0 0 4px rgba(244,240,250,.18),0 2px 5px rgba(0,0,0,.35)}
@media(max-width:700px){.kdr-list-plate-ring i{transform-origin:5px 23px}}

/* Card hierarchy A: keep the native KD gauge untouched; elevate symbol and state. */
.kdr-radar-card-head{align-items:center;padding:15px 14px 12px}
.kdr-radar-card-head .kdr-symbol-cell{flex:1 1 auto;min-width:0}
.kdr-radar-card-head .kdr-sym-main{font-size:17px;font-weight:900;line-height:1.2;color:#211b31}
.kdr-radar-card-head .kdr-sym-sub{margin-top:5px;font-size:10.5px;color:#71697d}
.kdr-card-status{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-width:72px;max-width:none;min-height:28px;margin-top:0;padding:0 10px;border:1px solid transparent;border-radius:999px;overflow:visible;color:#4c4357;font-size:10.5px;font-weight:850;line-height:1;white-space:nowrap;text-overflow:clip}
.kdr-card-status i{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(255,255,255,.68)}
.kdr-card-status.mid{border-color:#bfe4c8;background:#eefaf0;color:#168a2d}
.kdr-card-status.removed{border-color:#ded8e9;background:#f3f0f6;color:#71697d}
.kdr-card-status.launch{border-color:#bfe4c8;background:#eaf8ec;color:#168a2d}
.kdr-card-status.resonate{border-color:#d9c6f4;background:#f5ecff;color:#7d2fc7}
.kdr-card-status.weekup{border-color:#f0d79e;background:#fff6df;color:#a66a00}
.kdr-card-status.weak{border-color:#f0c5c1;background:#fdeeee;color:#c2322b}
:root[data-theme="dark"] .kdr-radar-card-head .kdr-sym-main{color:#f2edf7}
:root[data-theme="dark"] .kdr-radar-card-head .kdr-sym-sub{color:#a0a0b0}
:root[data-theme="dark"] .kdr-card-status.mid,:root[data-theme="dark"] .kdr-card-status.launch{border-color:rgba(74,222,128,.28);background:rgba(34,197,94,.14);color:#4ade80}
:root[data-theme="dark"] .kdr-card-status.removed{border-color:#37324e;background:#29243b;color:#bdb2cb}
:root[data-theme="dark"] .kdr-card-status.resonate{border-color:rgba(192,132,252,.3);background:rgba(124,58,237,.17);color:#d3a8ff}
:root[data-theme="dark"] .kdr-card-status.weekup{border-color:rgba(251,191,36,.3);background:rgba(245,158,11,.14);color:#fbbf24}
:root[data-theme="dark"] .kdr-card-status.weak{border-color:rgba(248,113,113,.3);background:rgba(239,68,68,.14);color:#f87171}
@media(max-width:700px){
  .kdr-radar-card-head{padding:14px 12px 11px}
  .kdr-radar-card-head .kdr-sym-main{font-size:18px}
  .kdr-card-status{min-width:76px;max-width:46%;padding:0 8px;font-size:10px;overflow:visible}
}

/* Mobile KD radar: keep the pool scannable and controls reachable. */
.kdr-mobile-back {
  display: none;
}

@media (max-width: 700px) {
  body.kd-radar-open .sidebar {
    display: none;
  }

  body.kd-radar-open .content {
    width: 100%;
  }

  .kdr-mobile-back {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    margin: 0 0 6px;
    padding: 0 2px;
    border: 0;
    background: transparent;
    color: #7137f5;
    font-family: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
  }

  .kd-radar-page {
    width: 100%;
  }

  .kdr-system-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin: 8px 0 0;
  }

  .kdr-system-pill {
    min-width: 0;
    min-height: 30px;
    justify-content: center;
    padding: 0 7px;
    overflow: hidden;
    font-size: 10px;
    line-height: 1.2;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .kdr-system-hint {
    display: none;
  }

  .kdr-stats-row {
    display: flex;
    gap: 8px;
    margin-top: 10px;
    padding: 0 2px 4px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  .kdr-stats-row::-webkit-scrollbar {
    display: none;
  }

  .kdr-stat {
    flex: 0 0 148px;
    min-height: 70px;
    padding: 10px 11px;
    border-radius: 16px;
  }

  .kdr-stat-icon {
    width: 30px;
    height: 30px;
    font-size: 14px;
  }

  .kdr-stat-label {
    font-size: 11px;
  }

  .kdr-stat-value b {
    font-size: 23px;
  }

  .kdr-filter-context {
    display: none;
  }

  .kdr-pool {
    margin-top: 10px;
    border-radius: 14px;
  }

  .kdr-pool-bar {
    position: sticky;
    top: 0;
    z-index: 10;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    padding: 10px 10px 9px;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 6px 14px rgba(49, 35, 82, .06);
  }

  .kdr-pool-title {
    grid-column: 1 / -1;
    min-width: 0;
    font-size: 14px;
  }

  .kdr-pool-title small {
    display: none;
  }

  .kdr-tabs {
    width: auto;
    min-width: 0;
    height: 42px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .kdr-tabs::-webkit-scrollbar {
    display: none;
  }

  .kdr-tab {
    flex: 0 0 auto;
    min-width: 62px;
    height: 34px;
    padding: 0 10px;
    font-size: 11px;
  }

  .kdr-add-group {
    width: auto;
    min-height: 42px;
    height: 42px;
    padding: 0 10px;
    font-size: 10.5px;
  }

  .kdr-tools {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px;
    width: 100%;
  }

  .kdr-tools .kdr-global-settings {
    min-width: 0;
    min-height: 42px;
    height: 42px;
    padding: 0 10px;
    font-size: 11px;
  }

  .kdr-tools .kdr-view-switch {
    height: 42px;
    padding: 4px;
  }

  .kdr-tools .kdr-view-switch button {
    width: 38px;
    height: 34px;
  }

  .kdr-tools .kdr-sort-pair {
    grid-column: 1 / -1;
    width: 100%;
  }

  .kdr-tools .kdr-sort-field {
    min-height: 42px;
    height: 42px;
  }

  .kdr-tools .kdr-search-box {
    width: 100%;
  }

  .kdr-search-input-row,
  .kdr-search,
  .kdr-ocr-button {
    min-height: 42px;
    height: 42px;
  }

  .kdr-search {
    font-size: 12px;
  }

  .kdr-ocr-button {
    width: 42px;
    flex-basis: 42px;
  }

  .kdr-search-results {
    position: fixed;
    top: auto;
    left: 10px;
    right: 10px;
    width: auto;
    max-height: min(52vh, 360px);
  }

  .kdr-search-result {
    min-height: 54px;
    padding: 9px 11px;
  }

  .kdr-search-result button {
    min-height: 36px;
  }

  .kdr-radar-grid {
    gap: 10px;
    padding: 8px;
  }

  .kdr-radar-card-head {
    min-height: 62px;
    padding: 13px 11px 10px;
  }

  .kdr-radar-card-head .kdr-sym-main {
    font-size: 18px;
  }

  .kdr-radar-card-head .kdr-sym-sub {
    max-width: 190px;
    margin-top: 5px;
    font-size: 11px;
  }

  .kdr-card-status {
    min-width: 76px;
    max-width: 46%;
    min-height: 32px;
    padding: 0 8px;
    font-size: 10px;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
  }

  .kdr-star-btn {
    width: 40px;
    height: 40px;
    padding: 0;
    font-size: 20px;
  }

  .kdr-cycle-grid {
    margin: 0 10px;
    padding: 10px 0 8px;
  }

  .kdr-cycle-panel {
    padding: 0 9px;
  }

  .kdr-cycle-head .kdr-cycle-title {
    font-size: 11px;
  }

  .kdr-cycle-number strong {
    font-size: 29px;
  }

  .kdr-cycle-gauge,
  .kdr-cycle-gauge svg {
    height: 108px;
  }

  .kdr-radar-card-foot {
    min-height: 38px;
    padding: 8px 11px;
  }

  .kdr-radar-card-foot .kdr-score-label,
  .kdr-radar-card-foot div b {
    font-size: 9px;
  }

  .kdr-pool-foot {
    flex-wrap: wrap;
    gap: 4px 10px;
    padding: 9px 11px;
    font-size: 10px;
  }

  .kdr-pool-foot span:last-child {
    flex-basis: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (max-width: 390px) {
  body.kd-radar-open {
    overflow-x: hidden;
  }

  body.kd-radar-open .hdr-r {
    display: none;
  }

  .kdr-system-pill {
    font-size: 9.5px;
  }

  .kdr-stat {
    flex-basis: 140px;
  }

  .kdr-radar-card-head .kdr-sym-main {
    font-size: 17px;
  }

  .kdr-card-status {
    max-width: 42%;
    font-size: 9.5px;
  }

  .kdr-cycle-panel {
    padding: 0 7px;
  }
}

/* KD radar management: keep single-card actions quiet until the user needs them. */
.kdr-manage-toggle{height:36px;min-height:36px;box-sizing:border-box;padding:0 11px;border:1px solid #ded8e9;border-radius:8px;background:#fff;color:#51485d;font-family:inherit;font-size:11px;font-weight:800;line-height:1;white-space:nowrap;cursor:pointer;transition:.15s ease}
.kdr-manage-toggle:hover{border-color:#bda8f6;background:#faf8ff;color:#7137f5}.kdr-manage-toggle.active{border-color:#8d69ef;background:#f1ebff;color:#7137f5;box-shadow:0 0 0 3px rgba(113,55,245,.09)}
.kdr-bulk-bar{display:none;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:50px;padding:8px 18px;border-bottom:1px solid #eee9f3;background:#fbf9ff}
.kdr-bulk-bar.show{display:grid}
.kdr-bulk-head{display:flex;align-items:center;gap:6px;min-width:0}
.kdr-bulk-count{min-width:80px;color:#302a3e;font-size:12px;font-weight:850;white-space:nowrap}
.kdr-bulk-actions{display:none;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
.kdr-bulk-bar.has-selection .kdr-bulk-actions{display:flex}
.kdr-bulk-actions .kdr-bulk-action:disabled{display:none}
.kdr-bulk-action,.kdr-bulk-group{height:32px;box-sizing:border-box;border:1px solid #e1d9f2;border-radius:7px;background:#fff;color:#62586c;padding:0 10px;font-family:inherit;font-size:10.5px;font-weight:800;cursor:pointer}.kdr-bulk-action:hover:not(:disabled){border-color:#bda8f6;background:#f5f1ff;color:#7137f5}.kdr-bulk-action.primary{border-color:#d8c8fb;background:#f5f0ff;color:#7137f5}.kdr-bulk-action.danger{margin-left:0;border-color:#efc9c5;background:#fff8f7;color:#c2322b}.kdr-bulk-action.danger:hover{border-color:#df9d97;background:#fdeeee;color:#b42318}.kdr-bulk-action:disabled{cursor:not-allowed;opacity:.45}.kdr-bulk-group{min-width:128px;outline:none}
.kdr-card-head-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.kdr-card-menu-btn{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border:1px solid #e3ddeb;border-radius:7px;background:#fff;color:#71697d;font-family:inherit;font-size:18px;font-weight:900;line-height:1;cursor:pointer}.kdr-card-menu-btn:hover{border-color:#bda8f6;background:#f5f1ff;color:#7137f5}
.kdr-card-select{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;margin-top:3px;border:1px solid #cbc4d3;border-radius:6px;background:#fff;color:#fff;font-family:inherit;font-size:13px;font-weight:900;line-height:1;cursor:pointer}.kdr-card-select:hover{border-color:#9f80ef}.kdr-card-select.selected{border-color:#7137f5;background:#7137f5;box-shadow:0 0 0 3px rgba(113,55,245,.1)}
.kdr-radar-card.is-managing{border-top-color:#8b5cf6;box-shadow:0 8px 22px rgba(113,55,245,.09)}.kdr-radar-card.is-managing .kdr-star-btn{display:none}.kdr-list-row{position:relative}.kdr-list-item.is-managing .kdr-list-symbol{padding-left:28px}.kdr-list-item .kdr-card-select{position:absolute;top:10px;left:12px;z-index:2;margin:0}
.kdr-card-menu{position:fixed;z-index:210;display:none;width:188px;padding:6px;border:1px solid #e1d9ed;border-radius:9px;background:#fff;box-shadow:0 14px 32px rgba(49,35,82,.18)}.kdr-card-menu.show{display:grid;gap:2px}.kdr-card-menu-title{overflow:hidden;padding:6px 8px 8px;border-bottom:1px solid #f0edf4;color:#302a3e;font-size:10.5px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.kdr-card-menu button{min-height:32px;border:0;border-radius:6px;background:transparent;color:#51485d;padding:0 8px;text-align:left;font-family:inherit;font-size:11px;font-weight:750;cursor:pointer}.kdr-card-menu button:hover{background:#f5f1ff;color:#7137f5}.kdr-card-menu button.danger{color:#c2322b}.kdr-card-menu button.danger:hover{background:#fdeeee;color:#b42318}
.kdr-assignment-mask{position:fixed;inset:0;z-index:220;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(25,21,45,.42)}.kdr-assignment-sheet{width:360px;max-width:100%;border:1px solid #e8e4f0;border-radius:12px;background:#fff;box-shadow:0 20px 54px rgba(25,17,45,.25)}.kdr-assignment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 17px 12px;border-bottom:1px solid #efedf4}.kdr-assignment-head small{display:block;color:#8e87a1;font-size:10px;font-weight:800}.kdr-assignment-head h3{margin:4px 0 0;color:#302a3e;font-size:15px;font-weight:850}.kdr-assignment-sheet>p{margin:12px 17px 0;color:#71697d;font-size:11px;line-height:1.6}.kdr-assignment-list{display:grid;gap:7px;max-height:280px;overflow:auto;padding:14px 17px}.kdr-assignment-option{display:flex;align-items:center;gap:9px;min-height:38px;border:1px solid #e8e4f0;border-radius:8px;background:#fdfcff;padding:0 11px;color:#423a51;font-size:12px;font-weight:750;cursor:pointer}.kdr-assignment-option:has(input:checked){border-color:#bda8f6;background:#f5f1ff;color:#7137f5}.kdr-assignment-option input{width:16px;height:16px;accent-color:#7137f5}.kdr-assignment-empty{margin:0;color:#9a93a5;font-size:11px;line-height:1.6}.kdr-assignment-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 17px 16px}
:root[data-theme="dark"] .kdr-manage-toggle,:root[data-theme="dark"] .kdr-bulk-action,:root[data-theme="dark"] .kdr-bulk-group,:root[data-theme="dark"] .kdr-card-menu-btn{border-color:#37324e;background:#1e1c2c;color:#bdb2cb}:root[data-theme="dark"] .kdr-manage-toggle.active,:root[data-theme="dark"] .kdr-bulk-action.primary{border-color:#694da5;background:#322857;color:#c99dff}:root[data-theme="dark"] .kdr-bulk-bar{border-color:#2a2740;background:#1a1828}:root[data-theme="dark"] .kdr-bulk-count{color:#f2edf7}:root[data-theme="dark"] .kdr-bulk-action.danger{border-color:rgba(248,113,113,.28);background:rgba(239,68,68,.1);color:#ffaaa2}:root[data-theme="dark"] .kdr-card-select{border-color:#514b5c;background:#1e1c2c}:root[data-theme="dark"] .kdr-card-select.selected{border-color:#a78bfa;background:#7c3aed}:root[data-theme="dark"] .kdr-card-menu,:root[data-theme="dark"] .kdr-assignment-sheet{border-color:#37324e;background:#1e1c2c}:root[data-theme="dark"] .kdr-card-menu-title,:root[data-theme="dark"] .kdr-assignment-head{border-color:#37324e;color:#f2edf7}:root[data-theme="dark"] .kdr-card-menu button{color:#d9d5e4}:root[data-theme="dark"] .kdr-card-menu button:hover{background:#322857;color:#d3a8ff}:root[data-theme="dark"] .kdr-assignment-head h3{color:#f2edf7}:root[data-theme="dark"] .kdr-assignment-sheet>p{color:#a0a0b0}:root[data-theme="dark"] .kdr-assignment-option{border-color:#37324e;background:#1a1828;color:#d9d5e4}:root[data-theme="dark"] .kdr-assignment-option:has(input:checked){border-color:#694da5;background:#322857;color:#d3a8ff}
@media(max-width:700px){.kdr-manage-toggle{height:42px;min-height:42px;padding:0 10px;font-size:11px}.kdr-bulk-bar{grid-template-columns:1fr;gap:8px;min-height:0;padding:8px 10px;border:1px solid #e3e7ef;border-radius:8px;background:#fbfaff}.kdr-bulk-bar.show{display:grid}.kdr-bulk-head{width:100%;gap:6px}.kdr-bulk-count{min-width:0;flex:1;min-height:32px;display:flex;align-items:center;font-size:11px}.kdr-bulk-head .kdr-bulk-action{height:32px;min-height:32px;padding:0 8px;font-size:10px}.kdr-bulk-actions{display:none;grid-template-columns:1fr 1fr;gap:6px;width:100%}.kdr-bulk-bar.has-selection .kdr-bulk-actions{display:grid}.kdr-bulk-action,.kdr-bulk-group{min-height:36px;height:36px;font-size:10.5px}.kdr-bulk-group{grid-column:1/-1;width:100%;min-width:0}.kdr-bulk-actions .kdr-bulk-action.primary:first-of-type{grid-column:1/-1}.kdr-bulk-action.danger{grid-column:1/-1;margin-left:0}.kdr-card-menu{width:176px}.kdr-assignment-mask{align-items:flex-end;padding:0}.kdr-assignment-sheet{width:100%;max-width:none;border-radius:14px 14px 0 0}.kdr-assignment-list{max-height:42vh}.kdr-card-head-actions{gap:4px}.kdr-card-menu-btn{width:32px;height:32px;flex-basis:32px}.kdr-radar-card.is-managing .kdr-card-status{max-width:42%}}

/* KD Radar hierarchy reset: search first, then compact tools, then signal content. */
/* Status semantics: monitoring is pending (yellow), pushed is confirmed (green), death needs action (red). */
.kdr-card-status.monitoring,.kdr-list-status.monitoring{border-color:#f0d79e;background:#fff6df;color:#a66a00}
.kdr-card-status.pushed,.kdr-list-status.pushed{border-color:#bfe4c8;background:#eaf8ec;color:#168a2d}
.kdr-card-status.death,.kdr-list-status.death{border-color:#f0c5c1;background:#fdeeee;color:#c2322b}
:root[data-theme="dark"] .kdr-card-status.monitoring,:root[data-theme="dark"] .kdr-list-status.monitoring{border-color:rgba(251,191,36,.3);background:rgba(245,158,11,.14);color:#fbbf24}
:root[data-theme="dark"] .kdr-card-status.pushed,:root[data-theme="dark"] .kdr-list-status.pushed{border-color:rgba(74,222,128,.28);background:rgba(34,197,94,.14);color:#4ade80}
:root[data-theme="dark"] .kdr-card-status.death,:root[data-theme="dark"] .kdr-list-status.death{border-color:rgba(248,113,113,.3);background:rgba(239,68,68,.14);color:#f87171}
.kdr-list-symbol-copy{min-width:0;flex:1 1 auto}.kdr-list-symbol-actions{display:flex;align-items:center;gap:7px;margin-left:auto}.kdr-list-status{display:inline-flex;align-items:center;gap:5px;min-height:24px;max-width:150px;border:1px solid #bfe4c8;border-radius:999px;background:#eefaf0;color:#168a2d;padding:0 8px;overflow:hidden;font-size:10px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.kdr-list-status i{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:currentColor}.kdr-list-status.resonate{border-color:#d9c6f4;background:#f5ecff;color:#7d2fc7}.kdr-list-status.weekup{border-color:#f0d79e;background:#fff6df;color:#a66a00}.kdr-list-status.weak{border-color:#f0c5c1;background:#fdeeee;color:#c2322b}.kdr-list-status.removed{border-color:#ded8e9;background:#f3f0f6;color:#71697d}
.kdr-list-status.golden{border-color:#bfe4c8;background:#eaf8ec;color:#168a2d}.kdr-list-status.conflict{border-color:#f2ce8c;background:#fff3d7;color:#a66a00}.kdr-list-status.death{border-color:#f0c5c1;background:#fdeeee;color:#c2322b}
.kdr-list-cycle{display:flex;align-items:center;gap:11px;min-width:0;padding:0 12px;border-left:1px solid #eee9f3}.kdr-list-cycle-dial{position:relative;display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:50%;background:conic-gradient(from -90deg,#22c55e 0 20%,#facc15 20% 80%,#ef4444 80% 100%)}.kdr-list-cycle-dial:after{position:absolute;inset:8px;border-radius:50%;background:#fff;content:""}.kdr-list-cycle-dial:before{position:absolute;z-index:1;inset:0;border-radius:50%;background:conic-gradient(from -90deg,rgba(255,255,255,0) 0 var(--kdr-angle,0deg),rgba(255,255,255,.64) var(--kdr-angle,0deg) 360deg);-webkit-mask:radial-gradient(farthest-side,#000 0 calc(100% - 7px),transparent calc(100% - 6px));mask:radial-gradient(farthest-side,#000 0 calc(100% - 7px),transparent calc(100% - 6px));content:""}.kdr-list-cycle-dial i{position:absolute;z-index:3;top:3px;left:calc(50% - 5px);width:10px;height:10px;border-radius:50%;background:#292537;box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(41,37,55,.14);transform:rotate(var(--kdr-angle));transform-origin:5px 26px}.kdr-list-cycle-dial b{position:relative;z-index:4;color:#302a3e;font-size:16px;font-weight:900;font-variant-numeric:tabular-nums}.kdr-list-cycle-copy{min-width:0}.kdr-list-cycle-copy span{display:block;color:#82798d;font-size:10px;font-weight:850}.kdr-list-cycle-copy b{display:block;overflow:hidden;margin-top:4px;color:#302a3e;font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.kdr-list-cycle-copy small{display:block;overflow:hidden;margin-top:4px;color:#82798d;font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.kdr-list-cycle.oversold .kdr-list-cycle-copy b{color:#168a2d}.kdr-list-cycle.overbought .kdr-list-cycle-copy b{color:#c2352b}.kdr-list-cycle.neutral .kdr-list-cycle-dial{background:#eee9f2}.kdr-list-cycle.neutral .kdr-list-cycle-dial b{color:#82798d}
.kdr-list-signal-strip{display:flex;align-items:center;gap:8px;min-width:0;padding-left:17px;border-left:1px solid #eee9f3;color:#71697d}.kdr-list-signal-strip>span{flex:0 0 auto;color:#82798d;font-size:10px;font-weight:850}.kdr-list-signal-strip>b{overflow:hidden;color:#302a3e;font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.kdr-list-signal-strip>i{color:#ad9fbe;font-size:16px;font-style:normal}.kdr-list-signal-strip>strong{display:inline-flex;align-items:center;gap:5px;overflow:hidden;color:#168a2d;font-size:11px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.kdr-list-signal-strip>strong em{display:grid;place-items:center;width:16px;height:16px;flex:0 0 16px;border-radius:50%;background:#e9f9ee;color:#17883a;font-size:10px;font-style:normal}.kdr-list-signal-strip.resonate>strong{color:#7d2fc7}.kdr-list-signal-strip.weekup>strong{color:#a66a00}.kdr-list-signal-strip.weak>strong{color:#c2322b}.kdr-list-signal-strip.weak>strong em{background:#fdeeee;color:#c2322b}
.kdr-list-current-status{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding-left:17px;border-left:1px solid #eee9f3}.kdr-list-current-status>span{color:#82798d;font-size:10px;font-weight:850}.kdr-list-current-status>b{display:inline-flex;align-items:center;gap:6px;min-width:0;color:#a66a00;font-size:11px;font-weight:900;white-space:nowrap}.kdr-list-current-status>b i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:currentColor}.kdr-list-current-status.golden>b{color:#168a2d}.kdr-list-current-status.conflict>b{color:#a66a00}.kdr-list-current-status.death>b{color:#c2322b}.kdr-list-current-status.monitoring>b{color:#a66a00}.kdr-list-current-status.pushed>b{color:#168a2d}.kdr-list-current-status.removed>b{color:#71697d}.kdr-list-current-status>em{min-width:0;margin-left:auto;overflow:hidden;color:#82798d;font-size:9.5px;font-style:normal;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
:root[data-theme="dark"] .kdr-list-status{border-color:rgba(74,222,128,.28);background:rgba(34,197,94,.14);color:#4ade80}:root[data-theme="dark"] .kdr-list-status.resonate{border-color:rgba(192,132,252,.3);background:rgba(124,58,237,.17);color:#d3a8ff}:root[data-theme="dark"] .kdr-list-status.weekup{border-color:rgba(251,191,36,.3);background:rgba(245,158,11,.14);color:#fbbf24}:root[data-theme="dark"] .kdr-list-status.weak{border-color:rgba(248,113,113,.3);background:rgba(239,68,68,.14);color:#f87171}:root[data-theme="dark"] .kdr-list-cycle{border-color:#2a2740}:root[data-theme="dark"] .kdr-list-cycle-dial:after{background:#1e1c2c}:root[data-theme="dark"] .kdr-list-cycle-dial:before{background:conic-gradient(from -90deg,rgba(0,0,0,0) 0 var(--kdr-angle,0deg),rgba(0,0,0,.48) var(--kdr-angle,0deg) 360deg)}:root[data-theme="dark"] .kdr-list-cycle-dial b,:root[data-theme="dark"] .kdr-list-cycle-copy b{color:#f2edf7}:root[data-theme="dark"] .kdr-list-cycle-dial i{background:#f4f0fa;box-shadow:0 0 0 2px #1e1c2c,0 0 0 4px rgba(244,240,250,.18)}:root[data-theme="dark"] .kdr-list-cycle-copy span,:root[data-theme="dark"] .kdr-list-cycle-copy small,:root[data-theme="dark"] .kdr-list-signal-strip>span{color:#a0a0b0}:root[data-theme="dark"] .kdr-list-signal-strip{border-color:#2a2740}:root[data-theme="dark"] .kdr-list-signal-strip>b{color:#f2edf7}:root[data-theme="dark"] .kdr-list-signal-strip>strong em{background:#1e3d28;color:#4ade80}
@media(max-width:700px){.kdr-tools{grid-template-columns:auto 42px 82px 1fr!important;gap:7px!important}.kdr-tools .kdr-search-box{grid-column:1/-1;grid-row:1;order:-1;width:100%;min-width:0}.kdr-tools .kdr-view-switch{grid-column:1;grid-row:2;margin:0!important}.kdr-tools .kdr-global-settings{grid-column:2;grid-row:2;min-width:42px!important;width:42px;height:42px;padding:0!important;font-size:0}.kdr-tools .kdr-global-settings::before{content:"⚙";font-size:18px}.kdr-tools .kdr-manage-toggle{grid-column:3;grid-row:2;width:82px;padding:0 8px}.kdr-tools .kdr-sort-pair{grid-column:1/-1;grid-row:3;width:100%;min-width:0;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr)}.kdr-tools .kdr-sort-pair::before{display:none}.kdr-tools .kdr-sort-heading{min-height:42px;font-size:10px}.kdr-tools .kdr-sort-heading i{width:17px;height:17px;font-size:12px}.kdr-tools .kdr-sort-field{min-width:0;padding:0 7px}.kdr-tools .kdr-sort-field span{font-size:10px}.kdr-tools .kdr-sort-field select{font-size:10.5px}.kdr-list-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0!important;padding:12px!important}.kdr-list-symbol{grid-column:1/-1;align-items:center;padding-bottom:11px;border-bottom:1px solid #eee9f3}.kdr-list-symbol b{font-size:14px}.kdr-list-symbol small{margin-top:3px}.kdr-list-symbol-actions{gap:5px}.kdr-list-status{max-width:104px;min-height:23px;padding:0 7px;font-size:9.5px}.kdr-list-cycle{gap:8px;padding:12px 4px 10px;border:0}.kdr-list-cycle:first-of-type{border-right:1px solid #eee9f3;padding-left:2px}.kdr-list-cycle-dial{flex-basis:46px;width:46px;height:46px}.kdr-list-cycle-dial:after{inset:7px}.kdr-list-cycle-dial i{top:2px;left:calc(50% - 4px);width:8px;height:8px;transform-origin:4px 21px}.kdr-list-cycle-dial b{font-size:14px}.kdr-list-cycle-copy span{font-size:9px}.kdr-list-cycle-copy b{margin-top:3px;font-size:10.5px}.kdr-list-cycle-copy small{margin-top:3px;font-size:8.5px}.kdr-list-signal-strip{grid-column:1/-1;gap:6px;padding:10px 2px 0;border-left:0;border-top:1px solid #eee9f3}.kdr-list-signal-strip>span{font-size:9px}.kdr-list-signal-strip>b{font-size:10.5px}.kdr-list-signal-strip>i{font-size:13px}.kdr-list-signal-strip>strong{font-size:10px}.kdr-list-signal-strip>strong em{width:14px;height:14px;flex-basis:14px;font-size:8px}:root[data-theme="dark"] .kdr-list-symbol{border-color:#2a2740}:root[data-theme="dark"] .kdr-list-cycle:first-of-type{border-color:#2a2740}}
/* Mobile KD Radar option C: grouped controls with a shared two-column grid. */
@media(max-width:700px){
  .kdr-tools{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;align-items:stretch}
  .kdr-tools::before{grid-column:1/-1;grid-row:2;content:"浏览与管理";color:#887f92;font-size:10px;font-weight:850}
  .kdr-tools .kdr-search-box{grid-column:1/-1;grid-row:1;order:-1;width:100%;min-width:0}
  .kdr-tools .kdr-view-switch{grid-column:1/-1;grid-row:3;width:100%;height:42px;margin:0!important;padding:4px;border-color:#dfd4fa;background:#faf8ff}
  .kdr-tools .kdr-view-switch button{width:auto;flex:1 1 50%;height:34px}
  .kdr-tools .kdr-view-switch button.active{background:#7137f5;color:#fff;box-shadow:0 2px 6px rgba(113,55,245,.18)}
  .kdr-tools .kdr-global-settings{grid-column:1;grid-row:4;min-width:0!important;width:100%;height:42px;padding:0 8px!important;font-size:11px}
  .kdr-tools .kdr-global-settings::before{content:none}
  .kdr-tools .kdr-manage-toggle{grid-column:2;grid-row:4;min-width:0;width:100%;height:42px;padding:0 8px}
  .kdr-tools .kdr-sort-pair{grid-column:1/-1;grid-row:5;width:100%;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:7px;padding:8px;border:1px solid #e8e2f0;border-radius:9px;background:#fdfcff}
  .kdr-tools .kdr-sort-pair::before{display:none}
  .kdr-tools .kdr-sort-heading{min-height:42px;font-size:10px}
  .kdr-tools .kdr-sort-field{min-width:0;height:42px;padding:0 7px;background:#fff}
  .kdr-tools .kdr-sort-field span{font-size:10px}
  .kdr-tools .kdr-sort-field select{font-size:10.5px}
  :root[data-theme="dark"] .kdr-tools .kdr-sort-pair{border-color:#2a2740;background:#1a1828}
  :root[data-theme="dark"] .kdr-tools .kdr-sort-field{background:#1e1c2c}
}
/* Keep observing cards recognizable; only unavailable cycle panels use muted gray. */
.kdr-radar-card.mid{border-top-color:#f59e0b}
.kdr-radar-card{opacity:1;filter:none}

/* Persistent trading state for card view: event labels remain in the backend,
   while the card presents the current daily/weekly state. */
.kdr-card-status.golden{border-color:#bfe4c8;background:#eaf8ec;color:#168a2d}
.kdr-card-status.conflict{border-color:#f2ce8c;background:#fff3d7;color:#a66a00}
.kdr-card-status.death{border-color:#f0c5c1;background:#fdeeee;color:#c2322b}
.kdr-card-status.error,.kdr-list-status.error{border-color:#f3b8b8;background:#fff0f0;color:#b42318}
.kdr-cycle-panel.golden .kdr-cycle-head b,.kdr-cycle-panel.golden .kdr-cycle-foot{color:#168a2d}
.kdr-cycle-panel.golden .kdr-cycle-foot i{background:#22c55e}
.kdr-cycle-panel.death .kdr-cycle-head b,.kdr-cycle-panel.death .kdr-cycle-foot{color:#c2322b}
.kdr-cycle-panel.death .kdr-cycle-foot i{background:#ef4444}
.kdr-card-state-golden{border-top-color:#22a93b}
.kdr-card-state-conflict{border-top-color:#f59e0b}
.kdr-card-state-death{border-top-color:#d8352a}
.kdr-card-state-error{border-top-color:#dc2626}
.kdr-card-trade-foot{justify-content:space-between;min-height:38px;padding:8px 14px;color:#71697d;font-size:10px;font-weight:750}
.kdr-card-trade-foot strong{color:#51485f;font-size:10px;font-weight:850}
.kdr-card-trade-foot.golden strong{color:#168a2d}
.kdr-card-trade-foot.conflict strong{color:#a66a00}
.kdr-card-trade-foot.death strong{color:#c2322b}
.kdr-card-trade-foot.error strong,.kdr-list-current-status.error>b{color:#b42318}
.kdr-card-trade-foot.error .kdr-card-trade-copy span{white-space:normal;overflow-wrap:anywhere}
.kdr-card-trade-foot span{white-space:nowrap}
:root[data-theme="dark"] .kdr-card-status.golden{border-color:rgba(74,222,128,.28);background:rgba(34,197,94,.14);color:#4ade80}
:root[data-theme="dark"] .kdr-card-status.conflict{border-color:rgba(251,191,36,.3);background:rgba(245,158,11,.14);color:#fbbf24}
:root[data-theme="dark"] .kdr-card-status.death{border-color:rgba(248,113,113,.3);background:rgba(239,68,68,.14);color:#f87171}
:root[data-theme="dark"] .kdr-card-status.error,:root[data-theme="dark"] .kdr-list-status.error{border-color:rgba(248,113,113,.32);background:rgba(239,68,68,.16);color:#fca5a5}
:root[data-theme="dark"] .kdr-cycle-panel.golden .kdr-cycle-head b,:root[data-theme="dark"] .kdr-cycle-panel.golden .kdr-cycle-foot{color:#4ade80}
:root[data-theme="dark"] .kdr-cycle-panel.death .kdr-cycle-head b,:root[data-theme="dark"] .kdr-cycle-panel.death .kdr-cycle-foot{color:#f87171}
:root[data-theme="dark"] .kdr-card-trade-foot strong{color:#e5dfed}
:root[data-theme="dark"] .kdr-card-trade-foot.golden strong{color:#4ade80}
:root[data-theme="dark"] .kdr-card-trade-foot.conflict strong{color:#fbbf24}
:root[data-theme="dark"] .kdr-card-trade-foot.death strong{color:#f87171}
:root[data-theme="dark"] .kdr-card-trade-foot.error strong,:root[data-theme="dark"] .kdr-list-current-status.error>b{color:#fca5a5}
@media(max-width:700px){.kdr-card-trade-foot{padding:8px 12px}.kdr-card-trade-foot strong,.kdr-card-trade-foot span{font-size:9px}}

/* Radar round decisions stay visually distinct from live signal states. */
.kdr-card-status.skipped,.kdr-list-status.skipped{border-color:#d8c8f2;background:#f5efff;color:#7041b8}
.kdr-card-trade-foot.skipped strong{color:#7041b8}
.kdr-card-state-skipped{border-top-color:#8b5cf6}
.kdr-list-current-status.skipped>b{color:#7041b8}
:root[data-theme="dark"] .kdr-card-status.skipped,:root[data-theme="dark"] .kdr-list-status.skipped{border-color:rgba(192,132,252,.3);background:rgba(124,58,237,.17);color:#d3a8ff}
:root[data-theme="dark"] .kdr-card-trade-foot.skipped strong,:root[data-theme="dark"] .kdr-list-current-status.skipped>b{color:#d3a8ff}

.kdr-flow-help{display:inline-grid;place-items:center;width:20px;height:20px;margin-left:-7px;padding:0;border:1px solid #d8c8f2;border-radius:50%;background:#f5efff;color:#7041b8;font-family:inherit;font-size:11px;font-weight:900;line-height:1;cursor:pointer;transition:.15s ease}
.kdr-flow-help:hover{border-color:#a98cf8;background:#eee5ff;transform:translateY(-1px)}
.kdr-flow-mask{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(25,17,45,.45);backdrop-filter:blur(4px)}
.kdr-flow-mask.show{display:flex}
.kdr-flow-dialog{width:560px;max-width:94vw;max-height:84vh;overflow:hidden;border:1px solid #e8e4f0;border-radius:16px;background:#fff;box-shadow:0 18px 50px rgba(25,17,45,.22)}
.kdr-flow-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 20px 14px;border-bottom:1px solid #efedf4}
.kdr-flow-head small{display:block;color:#8e87a1;font-size:10px;font-weight:750}
.kdr-flow-head h3{margin:4px 0 0;color:#19152d;font-size:16px;font-weight:850}
.kdr-flow-content{max-height:calc(84vh - 75px);overflow:auto;padding:14px 20px 20px}
.kdr-flow-content section{padding:11px 12px;border:1px solid #eee9f3;border-left:3px solid #8b5cf6;border-radius:9px;background:#fdfcff}
.kdr-flow-content section+section{margin-top:8px}
.kdr-flow-content b{display:block;color:#302a3e;font-size:11.5px;font-weight:850}
.kdr-flow-content p{margin:5px 0 0;color:#71697d;font-size:11px;line-height:1.65}
:root[data-theme="dark"] .kdr-flow-help{border-color:#514675;background:#25213a;color:#d3a8ff}
:root[data-theme="dark"] .kdr-flow-help:hover{border-color:#8069d5;background:#322857}
:root[data-theme="dark"] .kdr-flow-mask{background:rgba(0,0,0,.58)}
:root[data-theme="dark"] .kdr-flow-dialog{border-color:#2a2740;background:#1e1c2c;box-shadow:0 18px 50px rgba(0,0,0,.5)}
:root[data-theme="dark"] .kdr-flow-head{border-color:#2a2740}
:root[data-theme="dark"] .kdr-flow-head h3{color:#f2edf7}
:root[data-theme="dark"] .kdr-flow-content section{border-color:#2a2740;border-left-color:#8b5cf6;background:#1a1828}
:root[data-theme="dark"] .kdr-flow-content b{color:#f2edf7}
:root[data-theme="dark"] .kdr-flow-content p{color:#a0a0b0}
@media(max-width:700px){
  .kdr-pool-bar{grid-template-columns:minmax(0,1fr) auto auto!important;column-gap:7px}
  .kdr-pool-title{grid-column:1!important;grid-row:1!important}
  .kdr-flow-help{grid-column:2;grid-row:1;margin:0;align-self:center}
  .kdr-add-group{grid-column:3;grid-row:1;margin-left:0}
  .kdr-flow-dialog{max-height:88vh;border-radius:14px}
  .kdr-flow-content{max-height:calc(88vh - 75px);padding:12px 14px 16px}
  .kdr-flow-head{padding:16px 14px 12px}
}

/* The list's final column is a single current state, not a duplicated signal path. */
:root[data-theme="dark"] .kdr-list-current-status{border-color:#2a2740}
:root[data-theme="dark"] .kdr-list-current-status>span{color:#a0a0b0}
:root[data-theme="dark"] .kdr-list-current-status>b{color:#fbbf24}
:root[data-theme="dark"] .kdr-list-current-status.pushed>b{color:#4ade80}
:root[data-theme="dark"] .kdr-list-current-status.death>b{color:#f87171}
:root[data-theme="dark"] .kdr-list-current-status.removed>b{color:#bdb2cb}
@media(max-width:700px){
  .kdr-list-current-status{grid-column:1/-1;justify-content:flex-start;gap:8px;padding:10px 2px 0;border-left:0;border-top:1px solid #eee9f3}
  .kdr-list-current-status>span{font-size:9px}
  .kdr-list-current-status>b{font-size:10.5px}
  .kdr-list-current-status>em{margin-left:0;font-size:9px}
  :root[data-theme="dark"] .kdr-list-current-status{border-color:#2a2740}
}

/* Final mobile preview overrides: these follow the legacy mobile rules. */
@media(max-width:700px){
  .kdr-mobile-title{display:flex;align-items:center;height:30px;margin:0 0 2px;color:var(--text,#f2edf7);font-size:15px;font-weight:900}
  .kdr-mobile-back{height:30px!important;min-height:30px!important;margin:0 0 2px!important;padding:0!important;gap:7px!important;justify-content:flex-start!important;font-size:0!important;color:transparent!important;background:transparent!important}
  .kdr-mobile-back::before{content:'←';font-size:19px;line-height:1;color:var(--text,#f2edf7)}
  .kdr-mobile-back::after{content:'自选列表';font-size:15px;font-weight:900;color:var(--text,#f2edf7)}
  .kdr-tools .kdr-sort-pair{display:none}
  .kdr-tools.mobile-expanded .kdr-sort-pair{display:grid}
  .kdr-tools .kdr-global-settings,.kdr-tools .kdr-manage-toggle{display:none}
  .kdr-tools .kdr-view-switch{grid-column:1;grid-row:2}
  .kdr-tools.mobile-expanded .kdr-global-settings{display:inline-flex;grid-row:3}
  .kdr-tools.mobile-expanded .kdr-manage-toggle{display:inline-flex;grid-row:4}
  .kdr-tools.mobile-expanded .kdr-sort-pair{grid-row:5}
  .kdr-pool-title{color:var(--text,#f2edf7)}
}

@media(max-width:700px){
  .kdr-mobile-back{display:none!important}
  .kdr-system-row{display:none!important}
  .kdr-stats-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-top:8px!important;padding:0!important;overflow:visible!important}
  .kdr-stat{display:flex!important;align-items:center;justify-content:center;min-width:0!important;width:auto!important;min-height:62px!important;padding:8px 6px!important;border-radius:12px!important;text-align:center}
  .kdr-stat-text{display:flex;flex-direction:column;align-items:center;text-align:center}
  .kdr-stat-label{font-size:10px!important}
  .kdr-stat-value{width:100%;justify-content:center;margin-top:4px!important}
  .kdr-stat-value b{font-size:22px!important}
}

@keyframes kdr-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){
  .kdr-tools .kdr-refresh-kd{grid-column:1/-1!important;grid-row:3!important;width:100%;height:38px;min-width:0;padding:0 7px}
  .kdr-tools .kdr-refresh-kd span{font-size:10.5px}
  .kdr-tools .kdr-refresh-kd.is-loading{cursor:wait}
  .kdr-tools.mobile-expanded .kdr-global-settings{grid-row:4!important}
  .kdr-tools.mobile-expanded .kdr-manage-toggle{grid-row:5!important}
  .kdr-tools.mobile-expanded .kdr-sort-pair{grid-row:6!important}
}

/* Data currency stays available without competing with the KD dial or trade state. */
.kdr-card-trade-foot .kdr-card-trade-copy{display:grid;min-width:0;gap:2px}
.kdr-card-trade-foot .kdr-card-trade-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kdr-data-asof{display:block;overflow:hidden;flex:0 1 auto;max-width:46%;color:#82798d;font-size:9px;font-style:normal;font-weight:750;line-height:1.3;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.kdr-data-asof.is-pending{color:#a66a00}
.kdr-list-cycle-copy .kdr-data-asof{margin-top:4px;max-width:100%;overflow:visible;font-size:9px;line-height:1.25;text-align:left;text-overflow:clip;white-space:normal}
:root[data-theme="dark"] .kdr-data-asof{color:#a0a0b0}
:root[data-theme="dark"] .kdr-data-asof.is-pending{color:#fbbf24}
@media(max-width:700px){
  .kdr-card-trade-foot .kdr-card-trade-copy{max-width:58%}
  .kdr-card-trade-foot .kdr-data-asof{max-width:40%;font-size:8.5px}
  .kdr-list-cycle-copy .kdr-data-asof{font-size:8.5px}
}

/* A dynamic weekly value is informative context, never a formal signal. */
.kdr-cycle-panel.dynamic .kdr-cycle-head b,
.kdr-cycle-panel.dynamic .kdr-cycle-foot{color:#a66a00}
.kdr-cycle-panel.dynamic .kdr-cycle-foot i{background:#f59e0b}
.kdr-cycle-panel.dynamic .kdr-cycle-mode{border-color:#f0d08a;background:#fff8e6;color:#a66a00}
:root[data-theme="dark"] .kdr-cycle-panel.dynamic .kdr-cycle-head b,
:root[data-theme="dark"] .kdr-cycle-panel.dynamic .kdr-cycle-foot{color:#fbbf24}
:root[data-theme="dark"] .kdr-cycle-panel.dynamic .kdr-cycle-foot i{background:#fbbf24}
:root[data-theme="dark"] .kdr-cycle-panel.dynamic .kdr-cycle-mode{border-color:rgba(251,191,36,.3);background:rgba(245,158,11,.14);color:#fbbf24}
/* Local KD list gauge study: K/D identity and signal state use separate colors. */
:root{
  --kdr-k:#c86b00;
  --kdr-k-soft:#fff2df;
  --kdr-d:#087f8c;
  --kdr-d-soft:#e7f6f7;
  --kdr-golden:#168a2d;
  --kdr-death:#c2322b;
  --kdr-flat:#71697d;
  --kdr-gauge-track:#e6e5ea;
  --kdr-zone-oversold:#7d8cc4;
  --kdr-zone-neutral:#c8cdd5;
  --kdr-zone-overbought:#a878a4;
}
.kdr-gauge-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;padding:8px 16px;border-bottom:1px solid #e8e4f0;background:#f8fafb;box-sizing:border-box}
.kdr-gauge-legend{display:flex;align-items:center;gap:14px;color:#625b6f;font-size:10px;font-weight:800;white-space:nowrap}
.kdr-gauge-line-legend,.kdr-gauge-zone-legend{display:flex;align-items:center;gap:14px}
.kdr-gauge-legend span{display:inline-flex;align-items:center;gap:6px}
.kdr-gauge-line-legend i{width:11px;height:4px;border-radius:2px;background:currentColor}
.kdr-gauge-line-legend .k{color:var(--kdr-k)}
.kdr-gauge-line-legend .d{color:var(--kdr-d)}
.kdr-gauge-zone-legend{padding-left:14px;border-left:1px solid #dedbe4;color:#71697d}
.kdr-gauge-zone-legend i{width:12px;height:6px;border-radius:2px;background:currentColor}
.kdr-gauge-zone-legend .oversold{color:var(--kdr-zone-oversold)}
.kdr-gauge-zone-legend .neutral{color:#7f8793}
.kdr-gauge-zone-legend .neutral i{background:var(--kdr-zone-neutral)}
.kdr-gauge-zone-legend .overbought{color:var(--kdr-zone-overbought)}
.kdr-gauge-variant-switch{display:inline-grid;grid-template-columns:repeat(3,72px);gap:2px;height:34px;padding:3px;border:1px solid #dedbe4;border-radius:8px;background:#fff;box-sizing:border-box}
.kdr-gauge-variant-switch button{height:26px;padding:0 7px;border:0;border-radius:5px;background:transparent;color:#71697d;font-family:inherit;font-size:10px;font-weight:850;cursor:pointer;white-space:nowrap}
.kdr-gauge-variant-switch button:hover{background:#f1eef4;color:#302a3e}
.kdr-gauge-variant-switch button.active{background:#302a3e;color:#fff;box-shadow:0 1px 3px rgba(48,42,62,.18)}
.kdr-list-head,.kdr-list-row{grid-template-columns:minmax(190px,1fr) minmax(235px,1.12fr) minmax(235px,1.12fr) minmax(250px,1.2fr);min-width:960px}
.kdr-list-row{min-height:112px}
.kdr-kd-variant{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:86px;padding:5px 10px 5px 12px;border-left:1px solid #eee9f3;box-sizing:border-box}
.kdr-kd-summary{display:grid;align-content:center;min-width:0;gap:4px}
.kdr-kd-summary>span{color:#82798d;font-size:9.5px;font-weight:850}
.kdr-kd-summary>b{display:flex;align-items:center;gap:5px;min-width:0;color:var(--kdr-flat);font-size:11px;font-weight:900;white-space:nowrap}
.kdr-kd-summary>b i{display:grid;place-items:center;width:16px;height:16px;flex:0 0 16px;border-radius:50%;background:#efedf2;color:inherit;font-size:10px;font-style:normal;line-height:1}
.kdr-kd-summary>b.golden{color:var(--kdr-golden)}
.kdr-kd-summary>b.golden i{background:#e6f5ea}
.kdr-kd-summary>b.death{color:var(--kdr-death)}
.kdr-kd-summary>b.death i{background:#fae9e7}
.kdr-kd-summary>small{display:block;overflow:hidden;color:#71697d;font-size:9px;font-weight:750;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.kdr-kd-summary .kdr-data-asof{max-width:100%;margin-top:1px;overflow:visible;color:#938a9f;font-size:8.5px;line-height:1.25;text-align:left;text-overflow:clip;white-space:normal}

/* A: reference-led dual arcs. K and D are independent tracks. */
.kdr-kd-arc-visual{position:relative;width:112px;height:96px;justify-self:center}
.kdr-kd-arc-visual svg{position:absolute;top:4px;right:0;left:0;width:100%;height:86px;overflow:visible}
.kdr-kd-arc-track,.kdr-kd-arc-zone,.kdr-kd-arc-value{fill:none}
.kdr-kd-arc-track,.kdr-kd-arc-zone{stroke-width:9}
.kdr-kd-arc-track{stroke:var(--kdr-gauge-track);stroke-linecap:round}
.kdr-kd-arc-zone{stroke-linecap:butt}
.kdr-kd-arc-zone.oversold{stroke:var(--kdr-zone-oversold);stroke-dasharray:19 81}
.kdr-kd-arc-zone.neutral{stroke:var(--kdr-zone-neutral);stroke-dasharray:0 21 58 21}
.kdr-kd-arc-zone.overbought{stroke:var(--kdr-zone-overbought);stroke-dasharray:0 81 19 1}
.kdr-kd-arc-value{stroke-width:4.5;stroke-linecap:round}
.kdr-kd-arc-value.k{stroke:var(--kdr-k)}
.kdr-kd-arc-value.d{stroke:var(--kdr-d)}
.kdr-kd-arc-center{position:absolute;top:31px;left:50%;display:grid;place-items:center;width:42px;height:32px;text-align:center;transform:translateX(-50%)}
.kdr-kd-arc-center b{color:#302a3e;font-size:17px;font-weight:950;line-height:1}
.kdr-kd-arc-center span{margin-top:3px;color:var(--kdr-flat);font-size:11px;font-weight:950;line-height:1}
.kdr-kd-arc.golden .kdr-kd-arc-center span{color:var(--kdr-golden)}
.kdr-kd-arc.death .kdr-kd-arc-center span{color:var(--kdr-death)}
.kdr-kd-arc-number{position:absolute;z-index:2;left:50%;display:inline-flex;width:78px;align-items:baseline;justify-content:center;gap:4px;font-variant-numeric:tabular-nums;line-height:1;transform:translateX(-50%)}
.kdr-kd-arc-number i{font-size:8px;font-style:normal;font-weight:950}
.kdr-kd-arc-number b{font-size:10px;font-weight:950}
.kdr-kd-arc-number.k{top:0;color:var(--kdr-k)}
.kdr-kd-arc-number.d{bottom:2px;color:var(--kdr-d)}

/* B: two rows on the same 0-100 scale with visible 20/80 thresholds. */
.kdr-kd-scale-visual{position:relative;display:grid;align-content:center;gap:7px;width:116px;min-height:76px;padding:4px 1px 11px;box-sizing:border-box}
.kdr-kd-scale-row{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:5px;min-width:0}
.kdr-kd-scale-row>span{font-size:8.5px;font-weight:950;font-variant-numeric:tabular-nums;white-space:nowrap}
.kdr-kd-scale-row>span b{font-size:10px}
.kdr-kd-scale-row.k>span{color:var(--kdr-k)}
.kdr-kd-scale-row.d>span{color:var(--kdr-d)}
.kdr-kd-scale-track{position:relative;height:5px;border-radius:3px;background:var(--kdr-gauge-track)}
.kdr-kd-scale-track:before,.kdr-kd-scale-track:after{position:absolute;z-index:2;top:-3px;width:1px;height:11px;background:#b7b2bd;content:""}
.kdr-kd-scale-track:before{left:20%}
.kdr-kd-scale-track:after{left:80%}
.kdr-kd-scale-track i{display:block;height:5px;border-radius:3px;background:currentColor}
.kdr-kd-scale-row.k .kdr-kd-scale-track{color:var(--kdr-k)}
.kdr-kd-scale-row.d .kdr-kd-scale-track{color:var(--kdr-d)}
.kdr-kd-scale-track em{position:absolute;z-index:3;top:50%;width:8px;height:8px;border:2px solid #fff;border-radius:50%;background:currentColor;box-shadow:0 0 0 1px currentColor;transform:translate(-50%,-50%)}
.kdr-kd-scale-ticks{position:absolute;right:1px;bottom:0;left:42px;height:9px;color:#938a9f;font-size:7px;font-weight:800}
.kdr-kd-scale-ticks span{position:absolute;bottom:0;transform:translateX(-50%)}
.kdr-kd-scale-ticks span:nth-child(1){left:20%}
.kdr-kd-scale-ticks span:nth-child(2){left:80%}

/* C: direct K/D relationship plate for fastest list scanning. */
.kdr-kd-compare-visual{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:stretch;gap:4px;width:122px;min-height:68px}
.kdr-kd-number{display:grid;align-content:center;min-width:0;padding:6px 5px;border-top:3px solid currentColor;border-radius:5px;background:#f6f5f7;text-align:center}
.kdr-kd-number.k{color:var(--kdr-k);background:var(--kdr-k-soft)}
.kdr-kd-number.d{color:var(--kdr-d);background:var(--kdr-d-soft)}
.kdr-kd-number span{font-size:9px;font-weight:950;white-space:nowrap}
.kdr-kd-number span small{display:block;margin-top:2px;color:#82798d;font-size:7px;font-weight:800}
.kdr-kd-number b{margin-top:4px;color:#302a3e;font-size:15px;font-weight:950;font-variant-numeric:tabular-nums}
.kdr-kd-number em{margin-top:3px;color:#71697d;font-size:7.5px;font-style:normal;font-weight:800}
.kdr-kd-operator{display:grid;place-items:center;align-content:center;gap:3px;color:var(--kdr-flat)}
.kdr-kd-operator b{font-size:17px;font-weight:950;line-height:1}
.kdr-kd-operator span{font-size:8px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
.kdr-kd-operator.golden{color:var(--kdr-golden)}
.kdr-kd-operator.death{color:var(--kdr-death)}

.kdr-kd-empty{display:grid;grid-template-columns:18px 32px;align-content:center;justify-content:center;gap:4px 6px;width:112px;height:68px;border:1px dashed #d8d4dd;border-radius:6px;background:#faf9fb;color:#938a9f}
.kdr-kd-empty span{font-size:9px;font-weight:950}
.kdr-kd-empty b{font-size:14px;font-weight:900}
.kdr-kd-empty i{display:none}

:root[data-theme="dark"]{
  --kdr-k:#f0a34a;
  --kdr-k-soft:#362919;
  --kdr-d:#35b8c3;
  --kdr-d-soft:#173238;
  --kdr-golden:#4ade80;
  --kdr-death:#f87171;
  --kdr-flat:#a0a0b0;
  --kdr-gauge-track:#353141;
  --kdr-zone-oversold:#7483ba;
  --kdr-zone-neutral:#545b67;
  --kdr-zone-overbought:#956b90;
}
:root[data-theme="dark"] .kdr-gauge-preview-bar{border-color:#2a2740;background:#181722}
:root[data-theme="dark"] .kdr-gauge-variant-switch{border-color:#3b3749;background:#211f2d}
:root[data-theme="dark"] .kdr-gauge-variant-switch button{color:#bdb6c7}
:root[data-theme="dark"] .kdr-gauge-variant-switch button:hover{background:#302d3d;color:#f2edf7}
:root[data-theme="dark"] .kdr-gauge-variant-switch button.active{background:#f2edf7;color:#211f2d}
:root[data-theme="dark"] .kdr-gauge-zone-legend{border-color:#3b3749}
:root[data-theme="dark"] .kdr-gauge-zone-legend .neutral{color:#a0a6af}
:root[data-theme="dark"] .kdr-kd-variant{border-color:#2a2740}
:root[data-theme="dark"] .kdr-kd-summary>span,:root[data-theme="dark"] .kdr-kd-summary>small{color:#a0a0b0}
:root[data-theme="dark"] .kdr-kd-summary>b i{background:#302d3d}
:root[data-theme="dark"] .kdr-kd-summary>b.golden i{background:#1e3d28}
:root[data-theme="dark"] .kdr-kd-summary>b.death i{background:#472629}
:root[data-theme="dark"] .kdr-kd-summary .kdr-data-asof{color:#8e87a1}
:root[data-theme="dark"] .kdr-kd-arc-center b,:root[data-theme="dark"] .kdr-kd-number b{color:#f2edf7}
:root[data-theme="dark"] .kdr-kd-scale-track em{border-color:#1e1c2c}
:root[data-theme="dark"] .kdr-kd-number span small,:root[data-theme="dark"] .kdr-kd-number em{color:#b0a8ba}
:root[data-theme="dark"] .kdr-kd-empty{border-color:#454050;background:#211f2d;color:#a0a0b0}

@media(max-width:700px){
  .kdr-gauge-preview-bar{flex-wrap:wrap;gap:8px;padding:9px 12px}
  .kdr-gauge-legend{display:grid;width:100%;justify-items:center;gap:7px;white-space:normal}
  .kdr-gauge-zone-legend{gap:10px;padding-left:0;border-left:0;font-size:8.5px}
  .kdr-gauge-variant-switch{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .kdr-list-view,.kdr-list-item,.kdr-list-row{min-width:0}
  .kdr-list-view{overflow:visible}
  .kdr-list-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0!important}
  .kdr-kd-variant{grid-column:1/-1;grid-template-columns:128px minmax(0,1fr);gap:12px;min-height:96px;padding:10px 2px;border-top:1px solid #eee9f3;border-left:0;border-right:0!important}
  .kdr-kd-variant:first-of-type{padding-left:2px;border-right:0}
  .kdr-kd-summary>small{overflow:visible;text-overflow:clip;white-space:normal}
  :root[data-theme="dark"] .kdr-kd-variant{border-color:#2a2740}
}

/* Final list instrument: K and D share one explicit 0-100 range rail. */
:root{
  --kdr-k:#c26b12;
  --kdr-d:#087f8c;
  --kdr-zone-oversold-bg:#dfe6f5;
  --kdr-zone-neutral-bg:#e8eaee;
  --kdr-zone-overbought-bg:#efe1ec;
  --kdr-rail-border:#d9dbe1;
}
.kdr-gauge-preview-bar{justify-content:flex-start;min-height:42px;padding:7px 16px;background:#f8f9fb}
.kdr-gauge-legend{width:100%;gap:16px;color:#686271;font-size:9.5px}
.kdr-gauge-line-legend,.kdr-gauge-zone-legend{gap:13px}
.kdr-gauge-line-legend i{width:8px;height:8px;border-radius:50%;box-sizing:border-box}
.kdr-gauge-line-legend .k i{background:var(--kdr-k);box-shadow:0 0 0 2px #fff,0 0 0 3px var(--kdr-k)}
.kdr-gauge-line-legend .d i{border:2px solid var(--kdr-d);border-radius:1px;background:#fff;transform:rotate(45deg)}
.kdr-gauge-zone-legend{padding-left:16px}
.kdr-gauge-zone-legend span{color:#686271}
.kdr-gauge-zone-legend i{width:14px;height:7px;border:1px solid var(--kdr-rail-border);border-radius:2px;box-sizing:border-box}
.kdr-gauge-zone-legend .oversold i{background:var(--kdr-zone-oversold-bg)}
.kdr-gauge-zone-legend .neutral i{background:var(--kdr-zone-neutral-bg)}
.kdr-gauge-zone-legend .overbought i{background:var(--kdr-zone-overbought-bg)}
.kdr-list-head,.kdr-list-row{grid-template-columns:minmax(190px,1fr) minmax(235px,1.12fr) minmax(235px,1.12fr) minmax(250px,1.2fr);min-width:960px}
.kdr-list-row{min-height:116px}
.kdr-kd-rail{display:grid;grid-template-columns:minmax(0,1fr);align-content:center;align-items:stretch;gap:5px;min-width:0;min-height:96px;padding:8px 12px 7px;border-left:1px solid #eee9f3;box-sizing:border-box}
.kdr-rail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:16px}
.kdr-rail-head>span{color:#625d69;font-size:10.5px;font-weight:900;line-height:1;white-space:nowrap}
.kdr-rail-head>b{display:inline-flex;align-items:center;gap:4px;color:var(--kdr-flat);font-size:10.5px;font-weight:900;line-height:1;white-space:nowrap}
.kdr-rail-head>b i{font-size:12px;font-style:normal;line-height:1}
.kdr-rail-head>b small{padding-left:3px;border-left:1px solid currentColor;font-family:"Roboto Mono","SFMono-Regular",Consolas,monospace;font-size:8.5px;font-weight:750;letter-spacing:0;line-height:1;opacity:.78;font-variant-numeric:tabular-nums}
.kdr-rail-head>b.golden{color:var(--kdr-golden)}
.kdr-rail-head>b.death{color:var(--kdr-death)}
.kdr-rail-body{display:grid;gap:4px;min-width:0}
.kdr-rail-row{display:grid;grid-template-columns:12px 38px minmax(0,1fr);align-items:center;column-gap:6px;min-width:0;height:14px;color:#4d4852}
.kdr-rail-row>span{font-size:9.5px;font-weight:950;line-height:1;text-align:center}
.kdr-rail-row>b{color:#36313b;font-family:"DIN Alternate","Roboto Mono","SFMono-Regular",Consolas,monospace;font-size:11.5px;font-weight:800;letter-spacing:0;line-height:1;text-align:right;font-variant-numeric:tabular-nums}
.kdr-rail-row.k>span{color:var(--kdr-k)}
.kdr-rail-row.d>span{color:var(--kdr-d)}
.kdr-rail-track{position:relative;display:grid;grid-template-columns:20fr 60fr 20fr;height:9px;min-width:0;border:1px solid var(--kdr-rail-border);border-radius:3px;box-sizing:border-box;color:currentColor}
.kdr-rail-zone{display:block;min-width:0}
.kdr-rail-zone.oversold{border-radius:2px 0 0 2px;background:var(--kdr-zone-oversold-bg)}
.kdr-rail-zone.neutral{border-right:1px solid #c9ccd3;border-left:1px solid #c9ccd3;background:var(--kdr-zone-neutral-bg)}
.kdr-rail-zone.overbought{border-radius:0 2px 2px 0;background:var(--kdr-zone-overbought-bg)}
.kdr-rail-progress{position:absolute;z-index:2;top:3px;left:0;width:var(--kdr-value);height:2px;background:currentColor;content:""}
.kdr-rail-marker{position:absolute;z-index:3;top:50%;left:clamp(5px,var(--kdr-value),calc(100% - 5px));width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:currentColor;box-shadow:0 0 0 1px currentColor;box-sizing:border-box;transform:translate(-50%,-50%)}
.kdr-rail-row.k .kdr-rail-track{color:var(--kdr-k)}
.kdr-rail-row.d .kdr-rail-track{color:var(--kdr-d)}
.kdr-rail-row.d .kdr-rail-marker{width:9px;height:9px;border:2px solid var(--kdr-d);border-radius:1px;background:#fff;box-shadow:0 0 0 1px #fff;transform:translate(-50%,-50%) rotate(45deg)}
.kdr-rail-axis{position:relative;height:9px;margin-left:62px;color:#827c88;font-family:"Roboto Mono","SFMono-Regular",Consolas,monospace;font-size:7.5px;font-weight:700;letter-spacing:0;line-height:1;font-variant-numeric:tabular-nums}
.kdr-rail-axis span{position:absolute;top:1px;white-space:nowrap;transform:translateX(-50%)}
.kdr-rail-axis span:nth-child(1){left:0;transform:none}
.kdr-rail-axis span:nth-child(2){left:20%}
.kdr-rail-axis span:nth-child(3){left:80%}
.kdr-rail-axis span:nth-child(4){right:0;left:auto;transform:none}
.kdr-rail-foot{display:flex;align-items:center;gap:6px;min-width:0;min-height:12px;color:#625c68;font-size:9px;font-weight:800;line-height:1.15;white-space:nowrap}
.kdr-rail-foot>span{overflow:hidden;text-overflow:ellipsis}
.kdr-rail-foot .kdr-data-asof{flex:0 0 auto;margin:0 0 0 auto;color:#817b87;font-size:8.5px;line-height:1.15;text-align:right;white-space:nowrap}
.kdr-kd-rail.is-disabled{opacity:1;color:#99949e}
.kdr-kd-rail.is-disabled .kdr-rail-head>b,.kdr-kd-rail.is-disabled .kdr-rail-foot{color:#918b97}
.kdr-kd-rail.is-disabled .kdr-rail-row>span,.kdr-kd-rail.is-disabled .kdr-rail-row>b{color:#a29da7}
.kdr-kd-rail.is-disabled .kdr-rail-zone{border-color:#dfe0e4;background:#f1f2f4}

:root[data-theme="dark"]{
  --kdr-zone-oversold-bg:#30384e;
  --kdr-zone-neutral-bg:#303238;
  --kdr-zone-overbought-bg:#463544;
  --kdr-rail-border:#4a4752;
}
:root[data-theme="dark"] .kdr-gauge-preview-bar{border-color:#2a2740;background:#181722}
:root[data-theme="dark"] .kdr-gauge-legend,:root[data-theme="dark"] .kdr-gauge-zone-legend span{color:#aaa4b1}
:root[data-theme="dark"] .kdr-gauge-line-legend .k i{box-shadow:0 0 0 2px #181722,0 0 0 3px var(--kdr-k)}
:root[data-theme="dark"] .kdr-gauge-line-legend .d i{background:#181722}
:root[data-theme="dark"] .kdr-kd-rail{border-color:#2a2740}
:root[data-theme="dark"] .kdr-rail-head>span,:root[data-theme="dark"] .kdr-rail-row>b{color:#eeeaf2}
:root[data-theme="dark"] .kdr-rail-zone.neutral{border-color:#51505a}
:root[data-theme="dark"] .kdr-rail-row.k .kdr-rail-marker{border-color:#1e1c2c}
:root[data-theme="dark"] .kdr-rail-row.d .kdr-rail-marker{background:#1e1c2c;box-shadow:0 0 0 1px #1e1c2c}
:root[data-theme="dark"] .kdr-rail-axis,:root[data-theme="dark"] .kdr-rail-foot{color:#a7a1ad}
:root[data-theme="dark"] .kdr-rail-foot>b{color:#d1cbd6}
:root[data-theme="dark"] .kdr-rail-foot .kdr-data-asof{color:#918a9d}
:root[data-theme="dark"] .kdr-kd-rail.is-disabled .kdr-rail-zone{border-color:#3e3b46;background:#2a2832}

@media(max-width:700px){
  .kdr-mobile-back{display:inline-flex!important;align-items:center;justify-content:center;width:auto;height:32px;min-height:32px;margin:0 0 6px;padding:0 10px;border:1px solid #ded3fb;border-radius:7px;background:#fff;color:#6040b5;font-size:10.5px;font-weight:850}
  .kdr-gauge-preview-bar{min-height:52px;padding:7px 12px}
  .kdr-gauge-legend{display:grid;width:100%;align-items:center;justify-items:start;gap:7px;font-size:9px;white-space:nowrap}
  .kdr-gauge-line-legend,.kdr-gauge-zone-legend{gap:11px}
  .kdr-gauge-zone-legend{margin-left:0;padding-left:0;border-left:0;font-size:8.5px}
  .kdr-list-row{grid-template-columns:minmax(0,1fr)!important;min-width:0;gap:0!important}
  .kdr-list-symbol{grid-column:1}
  .kdr-kd-rail{grid-column:1;grid-template-columns:minmax(0,1fr);gap:5px;width:100%;min-height:98px;padding:10px 4px 9px;border-top:1px solid #eee9f3;border-right:0!important;border-left:0}
  .kdr-kd-rail:first-of-type{padding-left:4px;border-right:0}
  .kdr-rail-row{grid-template-columns:13px 42px minmax(0,1fr);column-gap:7px}
  .kdr-rail-row>b{font-size:12px}
  .kdr-rail-axis{margin-left:69px;font-size:8px}
  .kdr-rail-foot{font-size:9.5px}
  .kdr-rail-foot .kdr-data-asof{font-size:9px}
  .kdr-list-current-status{grid-column:1}
  .kdr-list-current-status>b{font-size:11px}
  :root[data-theme="dark"] .kdr-mobile-back{border-color:#514675;background:#211f2d;color:#c99dff}
  :root[data-theme="dark"] .kdr-gauge-zone-legend{border-color:#3b3749}
  :root[data-theme="dark"] .kdr-kd-rail{border-color:#2a2740}
}

/* Restored reference list layout; the former round dial now uses the card gauge. */
.kdr-list-head,.kdr-list-row{grid-template-columns:minmax(190px,1fr) minmax(205px,1.05fr) minmax(205px,1.05fr) minmax(280px,1.35fr);min-width:940px}
.kdr-list-item{min-width:940px}
.kdr-list-row{min-height:96px;padding:10px 16px}
.kdr-list-card-gauge{display:flex;align-items:center;gap:10px;min-width:0;min-height:76px;padding:0 10px;border-left:1px solid #eee9f3;box-sizing:border-box}
.kdr-list-cycle-gauge{display:grid;place-items:center;flex:0 0 76px;width:76px;height:auto;aspect-ratio:180/118;min-width:0}
.kdr-list-cycle-gauge svg{display:block;width:100%;height:auto;aspect-ratio:180/118;overflow:visible}
.kdr-list-cycle-gauge .kdr-gauge-needle{stroke:#252132;stroke-width:3;stroke-linecap:round}
.kdr-list-cycle-gauge .kdr-gauge-pin{fill:#252132;stroke:#fff;stroke-width:2}
.kdr-list-cycle-gauge .kdr-gauge-value{fill:#302a3e;font-size:27px;font-weight:850}
.kdr-list-cycle-gauge .kdr-gauge-sub{fill:#71697d;font-size:13px;font-weight:750}
.kdr-list-cycle-gauge .kdr-gauge-tick{fill:#8e8799;font-size:10px;font-weight:800}
.kdr-list-card-gauge.is-disabled{opacity:.72}
.kdr-list-card-gauge.is-disabled .kdr-gauge-arc{stroke:#d8d2df}
.kdr-list-card-gauge.is-disabled .kdr-gauge-value,.kdr-list-card-gauge.is-disabled .kdr-gauge-sub{fill:#82798d}
.kdr-list-card-gauge .kdr-list-cycle-copy{min-width:0}
.kdr-list-card-gauge .kdr-list-cycle-copy b{font-variant-numeric:tabular-nums}
:root[data-theme="dark"] .kdr-list-card-gauge{border-color:#2a2740}
:root[data-theme="dark"] .kdr-list-cycle-gauge .kdr-gauge-needle{stroke:#f4f0fa}
:root[data-theme="dark"] .kdr-list-cycle-gauge .kdr-gauge-pin{fill:#f4f0fa;stroke:#1e1c2c}
:root[data-theme="dark"] .kdr-list-cycle-gauge .kdr-gauge-value{fill:#f2edf7}
:root[data-theme="dark"] .kdr-list-cycle-gauge .kdr-gauge-sub,:root[data-theme="dark"] .kdr-list-cycle-gauge .kdr-gauge-tick{fill:#a0a0b0}
:root[data-theme="dark"] .kdr-list-card-gauge.is-disabled .kdr-gauge-arc{stroke:#45414f}

@media(max-width:700px){
  .kdr-mobile-back{display:none!important}
  .kdr-list-view,.kdr-list-item,.kdr-list-row{min-width:0}
  .kdr-list-view{overflow:visible}
  .kdr-list-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;min-height:0;gap:0!important;padding:12px!important}
  .kdr-list-symbol{grid-column:1/-1}
  .kdr-list-card-gauge{grid-column:auto;gap:6px;min-height:70px;padding:11px 3px 9px;border-top:1px solid #eee9f3;border-right:0;border-left:0}
  .kdr-list-symbol + .kdr-list-card-gauge{padding-left:1px;border-right:1px solid #eee9f3}
  .kdr-list-cycle-gauge{flex-basis:56px;width:56px;height:auto;aspect-ratio:180/118}
  .kdr-list-cycle-gauge svg{width:100%;height:auto;aspect-ratio:180/118}
  .kdr-list-card-gauge .kdr-list-cycle-copy span{font-size:9px}
  .kdr-list-card-gauge .kdr-list-cycle-copy b{margin-top:3px;font-size:10.5px}
  .kdr-list-card-gauge .kdr-list-cycle-copy .kdr-data-asof{margin-top:3px;font-size:8.5px;white-space:nowrap}
  .kdr-list-current-status{grid-column:1/-1}
  :root[data-theme="dark"] .kdr-list-card-gauge,:root[data-theme="dark"] .kdr-list-symbol + .kdr-list-card-gauge{border-color:#2a2740}
}

/* Mobile list hierarchy: a dense four-column market table. */
@media(max-width:700px){
  .kdr-list-view{
    display:block;
    width:calc(100% + 16px);
    min-width:0;
    margin-left:-8px;
    padding:0;
    overflow:visible;
    box-sizing:border-box;
    background:#fff;
  }
  .kdr-list-head{
    display:grid;
    grid-template-columns:28% 21% 21% 30%!important;
    align-items:center;
    column-gap:0;
    min-width:0;
    min-height:31px;
    padding:0 3px;
    border-top:1px solid #ebe8ef;
    border-bottom:1px solid #e6e2eb;
    background:#fbfafc;
    color:#726a80;
    font-size:9px;
    font-weight:800;
    box-sizing:border-box;
  }
  .kdr-list-head span{text-align:center;white-space:nowrap}
  .kdr-list-head span:first-child{padding-left:22px;text-align:left}
  .kdr-list-head span:last-child{padding-left:5px;text-align:left}
  .kdr-list-item{
    min-width:0;
    margin:0;
    overflow:visible;
    border:0;
    border-bottom:1px solid #e8e5ec;
    border-radius:0;
    background:#fff;
    box-shadow:none;
  }
  .kdr-list-item:hover{background:#fff}
  .kdr-list-row{
    position:relative;
    grid-template-columns:28% 21% 21% 30%!important;
    align-items:stretch;
    column-gap:0;
    min-width:0;
    min-height:78px;
    padding:0!important;
    gap:0!important;
    background:transparent;
  }
  .kdr-list-symbol{
    grid-column:auto;
    align-items:center;
    gap:3px;
    min-width:0;
    min-height:78px;
    padding:6px 1px 6px 4px;
    border:0;
    overflow:hidden;
    background:transparent;
    box-sizing:border-box;
  }
  .kdr-list-item.is-managing .kdr-list-symbol{padding-left:31px}
  .kdr-list-item.is-managing .kdr-star-btn{display:none}
  .kdr-list-symbol .kdr-star-btn{
    flex:0 0 19px;
    width:19px;
    margin:0;
    padding:0;
    font-size:18px;
  }
  .kdr-list-symbol-copy{
    display:grid;
    grid-template-rows:17px 15px 15px;
    align-content:center;
    min-width:0;
    overflow:hidden;
  }
  .kdr-list-symbol-copy .kdr-symbol-title{display:contents}
  .kdr-list-symbol b{
    grid-row:1;
    overflow:hidden;
    font-size:12px;
    font-weight:850;
    line-height:16px;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .kdr-list-symbol small{
    grid-row:2;
    overflow:hidden;
    margin:0;
    font-size:8.5px;
    font-weight:700;
    line-height:15px;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .kdr-list-symbol .kdr-mkt-tag{padding:1px 5px;border-radius:4px;font-size:8px;letter-spacing:0}
  .kdr-list-symbol .kdr-ath-badge{
    grid-row:3;
    justify-self:start;
    min-height:13px;
    padding:0 4px;
    border-radius:3px;
    font-size:7.5px;
    line-height:1;
  }
  .kdr-list-symbol-actions{
    position:absolute;
    z-index:3;
    top:50%;
    right:16px;
    margin:0;
    transform:translateY(-50%);
  }
  .kdr-list-symbol-actions .kdr-list-status{display:none}
  .kdr-list-symbol-actions .kdr-card-menu-btn{width:26px;height:26px;flex-basis:26px;border-radius:6px;font-size:17px}
  .kdr-list-card-gauge{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:56px 12px;
    justify-items:center;
    align-content:center;
    gap:0;
    min-width:0;
    min-height:78px;
    padding:5px 2px 4px;
    border:0;
    background:transparent;
    box-sizing:border-box;
  }
  .kdr-list-symbol + .kdr-list-card-gauge{border:0}
  .kdr-list-cycle-gauge{
    grid-column:1;
    grid-row:1;
    align-self:end;
    width:min(72px,100%);
    height:auto;
    aspect-ratio:180/118;
    flex:none;
  }
  .kdr-list-cycle-gauge svg{
    width:100%;
    height:auto;
    aspect-ratio:180/118;
  }
  .kdr-list-card-gauge .kdr-list-cycle-copy{
    display:contents;
    text-align:center;
  }
  .kdr-list-card-gauge .kdr-list-cycle-copy span{display:none}
  .kdr-list-card-gauge .kdr-list-cycle-copy b{
    display:none;
  }
  .kdr-list-card-gauge .kdr-list-cycle-copy .kdr-data-asof{
    grid-column:1;
    grid-row:2;
    justify-self:center;
    margin:0;
    max-width:100%;
    overflow:hidden;
    font-size:8px;
    line-height:12px;
    text-align:center;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .kdr-list-current-status{
    grid-column:auto;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:2px;
    min-width:0;
    min-height:78px;
    padding:6px 44px 6px 5px;
    border:0;
    background:transparent!important;
    box-sizing:border-box;
  }
  .kdr-list-current-status>span{display:none}
  .kdr-list-current-status>b{
    flex:none;
    gap:4px;
    max-width:100%;
    overflow:hidden;
    font-size:10.5px;
    line-height:14px;
    text-overflow:ellipsis;
  }
  .kdr-list-current-status>b i{width:6px;height:6px;flex-basis:6px}
  .kdr-list-current-status>em{
    display:block;
    width:100%;
    min-width:0;
    margin:0;
    overflow:visible;
    color:#756e80;
    font-size:8px;
    font-weight:700;
    line-height:12px;
    text-overflow:clip;
    white-space:normal;
  }
  .kdr-list-current-status>em span{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .kdr-list-current-status>em span+span::before{content:none}

  :root[data-theme="dark"] .kdr-list-view{background:#1e1c2c}
  :root[data-theme="dark"] .kdr-list-head{border-color:#302b40;background:#191722;color:#aaa2b4}
  :root[data-theme="dark"] .kdr-list-item{
    border-color:#302b40;
    background:#1e1c2c;
    box-shadow:none;
  }
  :root[data-theme="dark"] .kdr-list-item:hover,
  :root[data-theme="dark"] .kdr-list-symbol,
  :root[data-theme="dark"] .kdr-list-card-gauge,
  :root[data-theme="dark"] .kdr-list-current-status{background:#1e1c2c!important}
  :root[data-theme="dark"] .kdr-list-current-status>em{color:#aaa2b4}
}

.kdr-list-current-status>em span{display:inline}
.kdr-list-current-status>em span+span::before{content:" · "}

@media(max-width:700px){
  .kdr-list-current-status>em span{display:block}
  .kdr-list-current-status>em span+span::before{content:none}
}

/* Manual market membership is an operator action, not a confirmed KD signal. */
.kdr-card-menu button.primary{background:#f5efff;color:#7041b8;font-weight:850}
.kdr-card-menu button.primary:hover{background:#ebe0ff;color:#5f2da5}
.kdr-card-status.manual,.kdr-list-status.manual{border-color:#d8c8f2;background:#f5efff;color:#7041b8}
.kdr-card-state-manual{border-top-color:#8b5cf6}
.kdr-list-item.manual{border-left-color:#8b5cf6}
.kdr-card-trade-foot.manual strong,.kdr-list-current-status.manual>b{color:#7041b8}
.kdr-push-bridge.manual .kdr-push-bridge-status>b{color:#7041b8}
.kdr-push-bridge.manual .kdr-push-bridge-status>b i{background:#8b5cf6;color:#fff}
:root[data-theme="dark"] .kdr-card-menu button.primary{background:#322857;color:#d3a8ff}
:root[data-theme="dark"] .kdr-card-menu button.primary:hover{background:#42326b;color:#e4c8ff}
:root[data-theme="dark"] .kdr-card-status.manual,:root[data-theme="dark"] .kdr-list-status.manual{border-color:rgba(192,132,252,.3);background:rgba(124,58,237,.17);color:#d3a8ff}
:root[data-theme="dark"] .kdr-card-trade-foot.manual strong,:root[data-theme="dark"] .kdr-list-current-status.manual>b,:root[data-theme="dark"] .kdr-push-bridge.manual .kdr-push-bridge-status>b{color:#d3a8ff}
@media(max-width:700px){
  .kdr-list-item.manual{border-left:0}
  .kdr-list-current-status.manual{background:transparent}
  :root[data-theme="dark"] .kdr-list-item.manual{border-left:0}
  :root[data-theme="dark"] .kdr-list-current-status.manual{border:0;background:#1e1c2c}
}

/* Mobile toolbar: keep frequent actions visible without an expansion row. */
@media(max-width:700px){
  .kdr-tools{
    grid-template-columns:minmax(0,1fr) 42px 42px!important;
    gap:7px!important;
    align-items:stretch;
  }
  .kdr-tools::before{display:none!important;content:none!important}
  .kdr-tools .kdr-search-box{
    grid-column:1/-1!important;
    grid-row:1!important;
    width:100%;
    min-width:0;
  }
  .kdr-tools .kdr-view-switch{
    display:flex!important;
    grid-column:1!important;
    grid-row:2!important;
    width:100%;
    height:42px;
    margin:0!important;
  }
  .kdr-tools .kdr-global-settings,
  .kdr-tools .kdr-manage-toggle{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    grid-row:2!important;
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0!important;
    font-size:0!important;
    line-height:1;
  }
  .kdr-tools .kdr-global-settings{grid-column:2!important}
  .kdr-tools .kdr-manage-toggle{grid-column:3!important}
  .kdr-tools .kdr-global-settings::before{
    content:"⚙"!important;
    font-size:18px!important;
  }
  /* The button already owns one semantic SVG icon; do not add a second
     pseudo-element glyph on top of it. */
  .kdr-tools .kdr-manage-toggle::before{
    display:none!important;
    content:none!important;
  }
  .kdr-tools .kdr-refresh-kd{
    grid-column:1/-1!important;
    grid-row:3!important;
    width:100%;
    min-width:0;
    height:38px;
  }
  .kdr-tools .kdr-sort-pair,
  .kdr-mobile-more-toggle{display:none!important}
}

/* Opportunity hierarchy: signal strength leads, while card dimensions stay fixed. */
.kdr-radar-card.kdr-priority-dual{
  border-top-color:#7c3aed;
  box-shadow:0 8px 24px rgba(113,55,245,.12);
}
.kdr-radar-card.kdr-priority-weekly{border-top-color:#e2a114}
.kdr-radar-card.kdr-priority-daily{border-top-color:#22a93b}
.kdr-radar-card.kdr-priority-death{border-top-color:#d8352a}
.kdr-radar-card.kdr-priority-observing{border-top-color:#c9c2d6}
.kdr-priority-dual .kdr-radar-card-head{background:#fbf7ff}
.kdr-priority-weekly .kdr-radar-card-head{background:#fffbf2}
.kdr-priority-daily .kdr-radar-card-head{background:#f6fcf7}
.kdr-priority-dual .kdr-card-status,
.kdr-priority-dual .kdr-list-status{
  border-color:#d8c8fb;
  background:#f3ecff;
  color:#7137f5;
}
.kdr-priority-weekly .kdr-card-status,
.kdr-priority-weekly .kdr-list-status{
  border-color:#f0d79e;
  background:#fff6df;
  color:#9a6200;
}
.kdr-priority-daily .kdr-card-status,
.kdr-priority-daily .kdr-list-status{
  border-color:#bfe4c8;
  background:#eaf8ec;
  color:#168a2d;
}
.kdr-list-item.kdr-priority-dual{border-left-color:#7c3aed}
.kdr-list-item.kdr-priority-weekly{border-left-color:#e2a114}
.kdr-list-item.kdr-priority-daily{border-left-color:#22a93b}
:root[data-theme="dark"] .kdr-priority-dual .kdr-radar-card-head{background:#251f36}
:root[data-theme="dark"] .kdr-priority-weekly .kdr-radar-card-head{background:#282318}
:root[data-theme="dark"] .kdr-priority-daily .kdr-radar-card-head{background:#19291f}
:root[data-theme="dark"] .kdr-priority-dual .kdr-card-status,
:root[data-theme="dark"] .kdr-priority-dual .kdr-list-status{border-color:rgba(192,132,252,.3);background:rgba(124,58,237,.17);color:#d3a8ff}
:root[data-theme="dark"] .kdr-priority-weekly .kdr-card-status,
:root[data-theme="dark"] .kdr-priority-weekly .kdr-list-status{border-color:rgba(251,191,36,.3);background:rgba(245,158,11,.14);color:#fbbf24}
:root[data-theme="dark"] .kdr-priority-daily .kdr-card-status,
:root[data-theme="dark"] .kdr-priority-daily .kdr-list-status{border-color:rgba(74,222,128,.28);background:rgba(34,197,94,.14);color:#4ade80}

/* KD Radar card layout preferences. */
.kdr-layout-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:36px;padding:0 11px;border:1px solid #ddd0f5;border-radius:8px;background:#faf7ff;color:#7041b8;font-family:inherit;font-size:11px;font-weight:850;white-space:nowrap;cursor:pointer;transition:.15s ease}
.kdr-layout-button:hover{border-color:#a98cf8;background:#f3ecff}
.kdr-mobile-columns-toggle{display:none;align-items:center;justify-content:center;gap:4px;border:1px solid #e3e7ef;border-radius:8px;background:#fff;color:#2d2440;font-family:inherit;font-size:11px;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;transition:.15s ease}
.kdr-mobile-columns-toggle .kdr-columns-icon,
.kdr-mobile-columns-toggle .kdr-list-density-icon{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kdr-mobile-columns-toggle:hover{border-color:#c4b5fd;background:#f5f3ff;color:#6d28d9}
.kdr-mobile-columns-toggle:focus-visible{outline:2px solid rgba(113,55,245,.42);outline-offset:1px}
.kdr-layout-mask{position:fixed;inset:0;z-index:10070;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(25,17,45,.48);backdrop-filter:blur(3px)}
.kdr-layout-mask.show{display:flex}
.kdr-layout-dialog{width:430px;max-width:calc(100vw - 28px);max-height:calc(100vh - 36px);overflow:auto;border:1px solid #e6e0ed;border-radius:8px;background:#fff;box-shadow:0 22px 58px rgba(25,17,45,.28);padding:20px;color:#282136}
.kdr-layout-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.kdr-layout-head small{display:block;margin-bottom:3px;color:#8e87a1;font-size:10px;font-weight:800}
.kdr-layout-head h3{margin:0;font-size:18px;font-weight:900;letter-spacing:0}
.kdr-layout-current{margin-top:14px;border-left:3px solid #7041b8;background:#f3ecff;padding:9px 11px;color:#5f586d;font-size:11px;font-weight:800}
.kdr-layout-section{display:grid;gap:9px;padding:15px 0;border-bottom:1px solid #efebf3}
.kdr-layout-label{color:#3e374a;font-size:12px;font-weight:900}
.kdr-layout-row{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:10px}
.kdr-layout-row>span{color:#82798d;font-size:10.5px;font-weight:800}
.kdr-layout-segments{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:3px;border:1px solid #e5dfeb;border-radius:8px;background:#f8f6fa}
.kdr-layout-segments.two{grid-template-columns:repeat(2,1fr)}
.kdr-layout-segments.wide{grid-template-columns:repeat(2,1fr)}
.kdr-layout-segments.wide.three{grid-template-columns:repeat(3,1fr)}
.kdr-layout-segments button{height:31px;border:0;border-radius:6px;background:transparent;color:#71697d;font-family:inherit;font-size:11px;font-weight:850;cursor:pointer}
.kdr-layout-segments button:hover{color:#7041b8}
.kdr-layout-segments button.active{background:#7041b8;color:#fff;box-shadow:0 2px 7px rgba(113,55,245,.2)}
.kdr-layout-toggles{display:grid;gap:7px}
.kdr-layout-toggles label{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;padding:0 10px;border:1px solid #ebe6f0;border-radius:7px;background:#fdfcff;color:#5f586d;font-size:11px;font-weight:800;cursor:pointer}
.kdr-layout-toggles input{position:absolute;opacity:0;pointer-events:none}
.kdr-layout-toggles i{position:relative;width:34px;height:19px;flex:0 0 34px;border-radius:20px;background:#ddd7e5;transition:.18s ease}
.kdr-layout-toggles i::after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.18s ease}
.kdr-layout-toggles input:checked+i{background:#7041b8}
.kdr-layout-toggles input:checked+i::after{transform:translateX(15px)}
.kdr-layout-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:16px}
.kdr-layout-reset,.kdr-layout-done{height:36px;border-radius:7px;padding:0 14px;font-family:inherit;font-size:11px;font-weight:850;cursor:pointer}
.kdr-layout-reset{border:1px solid #e2dce9;background:#fff;color:#71697d}
.kdr-layout-done{border:1px solid #7041b8;background:#7041b8;color:#fff}
:root[data-theme="dark"] .kdr-layout-button{border-color:#514675;background:#25213a;color:#c99dff}
:root[data-theme="dark"] .kdr-layout-dialog{border-color:#2a2740;background:#1e1c2c;color:#f2edf7;box-shadow:0 22px 58px rgba(0,0,0,.52)}
:root[data-theme="dark"] .kdr-layout-current{background:#29243b;color:#c8c0d2}
:root[data-theme="dark"] .kdr-layout-section{border-color:#2a2740}
:root[data-theme="dark"] .kdr-layout-label{color:#eee8f4}
:root[data-theme="dark"] .kdr-layout-row>span{color:#a0a0b0}
:root[data-theme="dark"] .kdr-layout-segments{border-color:#37324e;background:#1a1828}
:root[data-theme="dark"] .kdr-layout-segments button{color:#a0a0b0}
:root[data-theme="dark"] .kdr-layout-segments button.active{background:#7041b8;color:#fff}
:root[data-theme="dark"] .kdr-layout-toggles label{border-color:#37324e;background:#252236;color:#d8d2e6}
:root[data-theme="dark"] .kdr-layout-reset{border-color:#37324e;background:#252236;color:#c8c0d2}

#kdrPoolBody.kdr-radar-grid{grid-template-columns:repeat(var(--kdr-card-columns,3),minmax(0,1fr))}
#kdrPoolBody.kdr-hide-ath .kdr-ath-badge{display:none!important}
#kdrPoolBody.kdr-hide-asof .kdr-data-asof{display:none!important}
#kdrPoolBody.kdr-hide-detail .kdr-card-trade-copy span,
#kdrPoolBody.kdr-hide-detail .kdr-list-current-status>em{display:none!important}
#kdrPoolBody.kdr-density-compact{gap:9px;padding:10px}
#kdrPoolBody.kdr-density-compact .kdr-radar-card-head{padding:10px 10px 7px}
#kdrPoolBody.kdr-density-compact .kdr-radar-card-head .kdr-sym-main{font-size:12px}
#kdrPoolBody.kdr-density-compact .kdr-sym-sub{font-size:9px}
#kdrPoolBody.kdr-density-compact .kdr-cycle-grid{margin:0 9px;padding:7px 0 5px}
#kdrPoolBody.kdr-density-compact .kdr-cycle-panel{padding:0 7px}
#kdrPoolBody.kdr-density-compact .kdr-cycle-gauge,
#kdrPoolBody.kdr-density-compact .kdr-cycle-gauge svg{height:82px}
#kdrPoolBody.kdr-density-compact .kdr-gauge-value{font-size:23px}
#kdrPoolBody.kdr-density-compact .kdr-card-trade-foot{min-height:32px;padding:6px 10px}
#kdrPoolBody.kdr-density-compact .kdr-card-trade-copy{gap:0}
#kdrPoolBody[data-card-columns="4"] .kdr-radar-card-head,
#kdrPoolBody[data-card-columns="5"] .kdr-radar-card-head{padding-left:10px;padding-right:10px;gap:6px}
#kdrPoolBody[data-card-columns="4"] .kdr-cycle-grid,
#kdrPoolBody[data-card-columns="5"] .kdr-cycle-grid{margin-left:8px;margin-right:8px}
#kdrPoolBody[data-card-columns="5"] .kdr-cycle-panel{padding-left:6px;padding-right:6px}
#kdrPoolBody[data-card-columns="5"] .kdr-card-status{font-size:8.5px;padding-left:6px;padding-right:6px}

@media(min-width:701px){
  #kdrPoolBody[data-card-columns="3"] .kdr-radar-card,
  #kdrPoolBody[data-card-columns="4"] .kdr-radar-card,
  #kdrPoolBody[data-card-columns="5"] .kdr-radar-card{container:kdr-radar-card/inline-size}
  #kdrPoolBody[data-card-columns="3"] .kdr-cycle-head{min-height:20px;align-items:flex-start}
  @container kdr-radar-card (max-width:400px){
    #kdrPoolBody[data-card-columns="3"] .kdr-cycle-head,
    #kdrPoolBody[data-card-columns="4"] .kdr-cycle-head,
    #kdrPoolBody[data-card-columns="5"] .kdr-cycle-head{min-height:37px;align-items:flex-start}
  }
  @container kdr-radar-card (max-width:272px){
    #kdrPoolBody[data-card-columns="4"] .kdr-cycle-head,
    #kdrPoolBody[data-card-columns="5"] .kdr-cycle-head{min-height:47px}
  }
  @container kdr-radar-card (max-width:244px){
    #kdrPoolBody[data-card-columns="4"] .kdr-cycle-head,
    #kdrPoolBody[data-card-columns="5"] .kdr-cycle-head{min-height:92px}
  }
}

@media(max-width:700px){
  .kdr-layout-mask{align-items:flex-end;padding:0}
  .kdr-layout-dialog{width:100%;max-width:none;max-height:88vh;border-width:1px 0 0;border-radius:8px 8px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom))}
  .kdr-layout-row{grid-template-columns:54px minmax(0,1fr)}
  .kdr-tools{grid-template-columns:minmax(0,1fr) 42px 42px 42px!important}
  .kdr-tools .kdr-view-switch{grid-column:1!important;grid-row:2!important}
  .kdr-tools .kdr-layout-button{display:inline-flex!important;grid-column:2!important;grid-row:2!important;width:42px;height:42px;padding:0;font-size:0}
  .kdr-tools .kdr-layout-button::before{content:"\25a6";font-size:18px}
  .kdr-tools .kdr-global-settings{grid-column:3!important;grid-row:2!important}
  .kdr-tools .kdr-manage-toggle{grid-column:4!important;grid-row:2!important}
  .kdr-tools .kdr-refresh-kd{grid-column:1/-1!important;grid-row:3!important}
  #kdrPoolBody.kdr-radar-grid{grid-template-columns:repeat(var(--kdr-card-mobile-columns,1),minmax(0,1fr))}
  #kdrPoolBody[data-mobile-columns="2"]{gap:7px;padding:7px 0}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-radar-card-head{display:block;padding:8px 7px 6px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-symbol-cell{min-width:0}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-symbol-cell>div{min-width:0}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-sym-main-row,
  #kdrPoolBody[data-mobile-columns="2"] .kdr-sym-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-radar-card-head .kdr-sym-main{font-size:11px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-sym-sub{font-size:8px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-head-actions{justify-content:space-between;margin-top:6px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-status{min-height:20px;padding:0 5px;font-size:8px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-menu-btn{width:25px;height:25px;flex-basis:25px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-cycle-grid{margin:0 5px;padding:6px 0 4px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-cycle-panel{padding:0 3px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-cycle-head .kdr-cycle-title{font-size:8px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-cycle-head b{display:none}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-cycle-mode{display:none}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-cycle-gauge,
  #kdrPoolBody[data-mobile-columns="2"] .kdr-cycle-gauge svg{height:72px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-gauge-value{font-size:22px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-gauge-sub{font-size:8px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-gauge-ticks,
  #kdrPoolBody[data-mobile-columns="2"] .kdr-gauge-tick{display:none}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-trade-foot{display:block;min-height:0;padding:7px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-trade-foot strong{display:block;overflow:hidden;font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-trade-copy span{font-size:8px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-data-asof{max-width:100%;margin-top:3px;font-size:7.5px;text-align:left}
}

/* Requested card-only fixes: clamp long names without changing header composition. */
#kdrPoolBody .kdr-radar-card-head .kdr-symbol-cell>div{min-width:0}
#kdrPoolBody .kdr-radar-card-head .kdr-sym-main{display:-webkit-box;max-width:100%;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:normal;word-break:normal;hyphens:none}
.kdr-card-menu .kdr-card-menu-push.is-linked:disabled{border:0;background:#eef8f0;color:#168a2d;cursor:default;opacity:1}
:root[data-theme="dark"] .kdr-card-menu .kdr-card-menu-push.is-linked:disabled{background:rgba(34,197,94,.14);color:#4ade80}

/* KD radar deletion confirmation: centered and consistent with the application dialogs. */
.kdr-delete-confirm-mask{position:fixed;inset:0;z-index:10080;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(25,21,45,.48);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.kdr-delete-confirm-dialog{width:390px;max-width:100%;border:1px solid #e4ddef;border-radius:12px;background:#fff;padding:22px;box-shadow:0 24px 64px rgba(25,17,45,.3)}
.kdr-delete-confirm-icon{display:grid;place-items:center;width:34px;height:34px;margin-bottom:12px;border-radius:10px;background:#fdeeee;color:#c2322b;font-size:18px;font-weight:900;line-height:1}
.kdr-delete-confirm-eyebrow{display:block;margin-bottom:5px;color:#9a93a5;font-size:10px;font-weight:850}
.kdr-delete-confirm-title{margin:0;color:#302a3e;font-size:17px;font-weight:900;line-height:1.35}
.kdr-delete-confirm-copy{margin:9px 0 0;color:#71697d;font-size:12px;font-weight:650;line-height:1.65}
.kdr-delete-confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
.kdr-delete-confirm-actions button{height:34px;border-radius:8px;padding:0 14px;font-family:inherit;font-size:11.5px;font-weight:850;cursor:pointer}
.kdr-delete-confirm-cancel{border:1px solid #e1d9ed;background:#fff;color:#62586c}
.kdr-delete-confirm-cancel:hover{border-color:#bda8f6;background:#f5f1ff;color:#7137f5}
.kdr-delete-confirm-submit{border:1px solid #c2322b;background:#c2322b;color:#fff}
.kdr-delete-confirm-submit:hover{border-color:#a6211c;background:#a6211c}
.kdr-delete-confirm-actions button:focus-visible{outline:3px solid rgba(113,55,245,.24);outline-offset:2px}
:root[data-theme="dark"] .kdr-delete-confirm-dialog{border-color:#37324e;background:#1e1c2c}
:root[data-theme="dark"] .kdr-delete-confirm-icon{background:rgba(239,68,68,.14);color:#ffaaa2}
:root[data-theme="dark"] .kdr-delete-confirm-eyebrow{color:#a0a0b0}
:root[data-theme="dark"] .kdr-delete-confirm-title{color:#f2edf7}
:root[data-theme="dark"] .kdr-delete-confirm-copy{color:#bdb2cb}
:root[data-theme="dark"] .kdr-delete-confirm-cancel{border-color:#37324e;background:#1e1c2c;color:#d8d2e6}
:root[data-theme="dark"] .kdr-delete-confirm-cancel:hover{border-color:#694da5;background:#322857;color:#d3a8ff}
:root[data-theme="dark"] .kdr-delete-confirm-submit{border-color:#d2554e;background:#c93b34}
:root[data-theme="dark"] .kdr-delete-confirm-submit:hover{border-color:#ef716a;background:#d84a42}
@media(max-width:700px){.kdr-delete-confirm-mask{padding:16px}.kdr-delete-confirm-dialog{padding:20px}.kdr-delete-confirm-actions button{min-width:104px;height:38px}}

/* KD Radar cards use fixed content tracks so data length cannot move modules. */
#kdrPoolBody .kdr-radar-card-head{
  box-sizing:border-box;
  height:119px;
  min-height:119px!important;
}
#kdrPoolBody .kdr-radar-card-head .kdr-symbol-cell{align-items:flex-start}
#kdrPoolBody .kdr-radar-card-head .kdr-symbol-cell>div{flex:1 1 0;width:0;min-width:0}
#kdrPoolBody .kdr-radar-card-head .kdr-sym-main-row{
  align-content:flex-start;
  align-items:flex-start;
  flex-wrap:wrap;
  row-gap:7px;
}
#kdrPoolBody .kdr-radar-card-head .kdr-sym-main-row>.kdr-sym-main{
  flex:0 0 100%;
  width:100%;
  height:2.4em;
  min-height:2.4em;
  max-height:2.4em;
}
#kdrPoolBody .kdr-radar-card-head .kdr-ath-badge{
  width:76px;
  min-width:76px;
  max-width:76px;
  box-sizing:border-box;
}
#kdrPoolBody .kdr-radar-card-head .kdr-sym-sub{width:100%}
#kdrPoolBody .kdr-radar-card-head .kdr-sym-sub{
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
}
#kdrPoolBody .kdr-radar-card-head .kdr-sym-sub .kdr-mkt-tag{
  flex:0 0 auto;
  margin-left:auto;
}
#kdrPoolBody .kdr-radar-card-head .kdr-card-status{
  box-sizing:border-box;
  width:auto;
  min-width:0;
  max-width:none;
}
#kdrPoolBody .kdr-cycle-head{
  box-sizing:border-box;
  height:47px;
  min-height:47px;
  align-items:flex-start;
  overflow:hidden;
}
#kdrPoolBody .kdr-card-trade-foot{
  box-sizing:border-box;
  height:48px;
  min-height:48px;
  max-height:48px;
  overflow:hidden;
}
#kdrPoolBody .kdr-card-trade-foot .kdr-card-trade-copy{flex:1 1 auto;width:0}
#kdrPoolBody .kdr-card-trade-foot .kdr-card-trade-copy strong,
#kdrPoolBody .kdr-card-trade-foot .kdr-card-trade-copy span{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap!important;
}
#kdrPoolBody .kdr-card-trade-foot .kdr-data-asof{
  flex:0 0 90px;
  width:90px;
  max-width:90px;
}
#kdrPoolBody.kdr-density-compact .kdr-radar-card-head{
  height:97px;
  min-height:97px!important;
}
#kdrPoolBody.kdr-density-compact .kdr-card-trade-foot{
  height:42px;
  min-height:42px;
  max-height:42px;
}
#kdrPoolBody.kdr-hide-ath .kdr-radar-card-head{
  height:92px;
  min-height:92px!important;
}
#kdrPoolBody.kdr-density-compact.kdr-hide-ath .kdr-radar-card-head{
  height:70px;
  min-height:70px!important;
}
@media(max-width:700px){
  #kdrPoolBody:not([data-mobile-columns="2"]) .kdr-cycle-head{
    height:47px;
    min-height:47px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-cycle-head{
    height:20px;
    min-height:20px;
    overflow:hidden;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-status{
    height:20px;
    min-height:20px;
    max-height:20px;
    line-height:1;
    white-space:nowrap!important;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-radar-card-head{
    height:auto;
    min-height:0!important;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-trade-foot{
    height:auto;
    min-height:0;
    max-height:none;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-trade-foot .kdr-data-asof{
    width:auto;
    max-width:100%;
  }
}

/* Reference card header: fixed tracks keep content positions identical across all symbols. */
#kdrPoolBody .kdr-radar-card-head{
  position:relative;
  display:block;
  box-sizing:border-box;
  height:97px;
  min-height:97px!important;
  padding:10px 10px 7px;
}
#kdrPoolBody.kdr-density-compact .kdr-radar-card-head,
#kdrPoolBody.kdr-hide-ath .kdr-radar-card-head,
#kdrPoolBody.kdr-density-compact.kdr-hide-ath .kdr-radar-card-head{
  height:97px;
  min-height:97px!important;
}
#kdrPoolBody .kdr-card-identity{min-width:0;margin-left:5px;padding-right:104px}
#kdrPoolBody .kdr-card-title-row{display:flex;align-items:center;min-width:0;height:19px}
#kdrPoolBody .kdr-card-title-row .kdr-sym-main{
  display:block;
  min-width:0;
  max-width:calc(100% - 24px);
  overflow:hidden;
  color:#211b31;
  font-size:12px;
  font-weight:900;
  line-height:19px;
  text-overflow:ellipsis;
  white-space:nowrap;
  -webkit-line-clamp:unset;
  -webkit-box-orient:initial;
}
#kdrPoolBody .kdr-card-title-row .kdr-star-btn{width:18px;height:18px;flex:0 0 18px;margin:0 0 0 4px;padding:0;color:#c9c2d6;font-size:16px;line-height:18px}
#kdrPoolBody .kdr-card-title-row .kdr-star-btn.on{color:#7c3aed}
#kdrPoolBody .kdr-card-code{overflow:hidden;margin:5px 0 0 1px;color:#71697d;font-family:var(--mono,"Roboto Mono",Consolas,monospace);font-size:9.5px;font-weight:700;line-height:14px;text-overflow:ellipsis;white-space:nowrap}
#kdrPoolBody .kdr-card-head-actions{position:absolute;top:10px;right:10px;display:flex;align-items:center;gap:6px;margin:0}
#kdrPoolBody .kdr-card-meta-row{position:absolute;top:52px;right:10px;left:15px;display:flex;align-items:center;justify-content:space-between;min-width:0;height:20px}
#kdrPoolBody .kdr-card-meta-row .kdr-ath-badge{margin:0}
#kdrPoolBody .kdr-card-market-tag{min-height:17px;padding:3px 5px;border-radius:4px;font-size:8px;letter-spacing:0;line-height:11px}
#kdrPoolBody .kdr-radar-card.is-managing .kdr-card-select{position:absolute;z-index:2;top:10px;left:10px;margin:0}
#kdrPoolBody .kdr-radar-card.is-managing .kdr-card-identity{margin-left:30px}
:root[data-theme="dark"] #kdrPoolBody .kdr-card-title-row .kdr-sym-main{color:#f2edf7}

@media(max-width:700px){
  #kdrPoolBody[data-mobile-columns="2"] .kdr-radar-card-head{display:block;height:116px!important;min-height:116px!important;padding:8px 7px 6px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-identity{margin-left:0;padding-right:0}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-title-row{height:18px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-title-row .kdr-sym-main{max-width:calc(100% - 23px);font-size:11px;line-height:18px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-title-row .kdr-star-btn{width:17px;height:17px;flex-basis:17px;margin-left:3px;font-size:14px;line-height:17px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-code{margin-top:3px;font-size:8px;line-height:12px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-meta-row{top:43px;right:7px;left:7px;height:16px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-meta-row .kdr-ath-badge{min-height:16px;padding:0 4px;border-radius:3px;font-size:7.5px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-market-tag{min-height:14px;padding:2px 4px;border-radius:3px;font-size:7px;line-height:10px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-head-actions{top:84px;right:7px;left:7px;justify-content:space-between;gap:4px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-radar-card.is-managing .kdr-card-select{top:8px;left:7px}
  #kdrPoolBody[data-mobile-columns="2"] .kdr-radar-card.is-managing .kdr-card-identity{margin-left:27px}
}

/* Two-column mobile cards: use the narrow width as a real compact layout,
   instead of squeezing the single-column tracks into half a card. */
@media(max-width:700px){
  #kdrPoolBody[data-mobile-columns="2"] .kdr-radar-card-head{
    height:96px!important;
    min-height:96px!important;
    padding:7px!important;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-identity{
    min-width:0;
    margin-left:0;
    padding-right:82px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-title-row{
    height:18px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-title-row .kdr-sym-main{
    max-width:calc(100% - 21px);
    font-size:11px;
    line-height:18px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-title-row .kdr-star-btn{
    width:17px;
    height:17px;
    flex-basis:17px;
    margin-left:3px;
    font-size:14px;
    line-height:17px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-code{
    max-width:48%;
    margin-top:1px;
    font-size:8px;
    line-height:12px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-head-actions{
    top:1px;
    right:7px;
    left:7px;
    gap:4px;
    justify-content:flex-end;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-status{
    position:absolute;
    top:67px;
    left:0;
    min-width:0;
    max-width:54px;
    height:19px;
    min-height:19px;
    padding:0 5px;
    gap:3px;
    overflow:hidden;
    font-size:7.5px;
    line-height:1;
    text-overflow:ellipsis;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-status i{
    width:5px;
    height:5px;
    box-shadow:none;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-menu-btn{
    width:20px;
    height:20px;
    flex-basis:20px;
    font-size:16px;
    line-height:18px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-meta-row{
    top:47px;
    right:7px;
    left:7px;
    height:17px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-meta-row .kdr-ath-badge{
    min-width:0;
    max-width:78px;
    min-height:16px;
    padding:0 4px;
    border-radius:3px;
    font-size:7.5px;
    line-height:16px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-market-tag{
    min-height:14px;
    padding:2px 4px;
    border-radius:3px;
    font-size:7px;
    line-height:10px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-price-row{
    top:27px;
    right:7px;
    left:auto;
    width:72px;
    min-height:17px;
    height:17px;
    justify-content:flex-end;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-price-row .kdr-card-price{
    min-width:0;
    max-width:72px;
    font-size:8.5px;
    line-height:17px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-cycle-grid{
    height:83px;
    min-height:0;
    margin:0 5px;
    padding:5px 0 2px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-cycle-panel{
    padding:0 3px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-cycle-head{
    height:18px;
    min-height:18px;
    padding-top:0;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-cycle-head .kdr-cycle-title{
    font-size:8px;
    line-height:18px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-cycle-head b,
  #kdrPoolBody[data-mobile-columns="2"] .kdr-cycle-mode,
  #kdrPoolBody[data-mobile-columns="2"] .kdr-cycle-foot,
  #kdrPoolBody[data-mobile-columns="2"] .kdr-cycle-scale{
    display:none;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-cycle-gauge,
  #kdrPoolBody[data-mobile-columns="2"] .kdr-cycle-gauge svg{
    height:60px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-gauge-value{
    font-size:20px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-gauge-sub{
    font-size:7.5px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-gauge-ticks,
  #kdrPoolBody[data-mobile-columns="2"] .kdr-gauge-tick{
    display:none;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-trade-foot{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto;
    align-items:center;
    height:34px;
    min-height:34px;
    max-height:34px;
    padding:5px 7px;
    gap:1px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-trade-foot .kdr-card-trade-copy{
    display:block;
    grid-column:1;
    grid-row:1;
    width:auto;
    max-width:none;
    min-width:0;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-trade-foot strong,
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-trade-foot span{
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap!important;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-trade-foot strong{
    font-size:8px;
    line-height:12px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-trade-foot .kdr-card-trade-copy span{
    display:none;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-trade-foot .kdr-data-asof{
    grid-column:1;
    grid-row:2;
    width:auto;
    max-width:100%;
    margin:0;
    font-size:7px;
    line-height:10px;
    text-align:left;
  }
}

/* At the smallest supported phone width, keep the footer to one readable
   line; the status badge and management menu still retain the card actions. */
@media(max-width:400px){
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-trade-foot{
    grid-template-rows:auto auto;
    height:32px;
    min-height:32px;
    max-height:32px;
    padding:4px 6px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-trade-foot .kdr-card-trade-copy{
    grid-row:1;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-trade-foot .kdr-card-trade-copy span{
    display:none;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-trade-foot strong{
    font-size:7.5px;
    line-height:12px;
  }
  #kdrPoolBody[data-mobile-columns="2"] .kdr-card-trade-foot .kdr-data-asof{
    grid-row:2;
    max-width:100%;
    font-size:6.5px;
    line-height:10px;
    text-align:left;
  }
}

/* The toolbar toggle changes meaning with the active view. */
@media(max-width:700px){
  #kdrMobileColumnsToggle .kdr-list-density-icon{display:none}
  #kdrMobileColumnsToggle[data-layout-mode="list"] .kdr-columns-icon{display:none!important}
  #kdrMobileColumnsToggle[data-layout-mode="list"] .kdr-list-density-icon{display:block}
  #kdrMobileColumnsToggle[data-layout-mode="list"]{gap:4px}
}

/* Compact list rows: keep the table readable while reclaiming the vertical
   space previously spent on repeated ATH and status-detail lines. */
@media(max-width:700px){
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-list-density-compact .kdr-list-row,
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-list-density-compact .kdr-list-symbol,
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-list-density-compact .kdr-list-card-gauge,
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-list-density-compact .kdr-list-current-status{
    min-height:66px;
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-list-density-compact .kdr-list-symbol{
    padding:4px 1px 4px 4px;
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-list-density-compact .kdr-list-symbol-copy{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:16px 14px;
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-list-density-compact .kdr-list-symbol b{
    grid-column:1/-1;
    grid-row:1;
    line-height:15px;
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-list-density-compact .kdr-list-symbol small{
    grid-column:1;
    grid-row:2;
    line-height:14px;
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-list-density-compact .kdr-list-symbol .kdr-ath-badge{
    grid-column:2;
    grid-row:2;
    align-self:center;
    justify-self:end;
    line-height:13px;
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-list-density-compact .kdr-list-card-gauge{
    grid-template-rows:48px 10px;
    padding:3px 2px 2px;
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-list-density-compact .kdr-list-cycle-gauge{
    width:min(64px,100%);
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-list-density-compact .kdr-list-card-gauge .kdr-list-cycle-copy .kdr-data-asof{
    font-size:7.5px;
    line-height:10px;
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-list-density-compact .kdr-list-current-status{
    padding:4px 38px 4px 5px;
    gap:1px;
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-list-density-compact .kdr-list-current-status>b{
    font-size:10px;
    line-height:13px;
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-list-density-compact .kdr-list-current-status>em{
    font-size:7.5px;
    line-height:11px;
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-list-density-compact .kdr-list-current-status>em span+span{
    display:none;
  }
}

/* Five narrow desktop columns retain a usable title track without moving metadata. */
@media(min-width:701px) and (max-width:1450px){
  /* Narrow five-column cards use a separate action row so the title/star
     track never intersects the status badge or menu button. */
  #kdrPoolBody.kdr-radar-grid[data-card-columns="5"]{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
  #kdrPoolBody[data-card-columns="5"] .kdr-card-identity{padding-right:0}
  #kdrPoolBody[data-card-columns="5"] .kdr-card-title-row .kdr-sym-main{max-width:none;font-size:10px}
  #kdrPoolBody[data-card-columns="5"] .kdr-card-title-row .kdr-star-btn{width:14px;height:14px;flex-basis:14px;margin-left:1px;font-size:13px;line-height:14px}
  #kdrPoolBody[data-card-columns="5"] .kdr-card-head-actions{top:46px;gap:3px}
  #kdrPoolBody[data-card-columns="5"] .kdr-card-status{width:46px;min-width:46px;max-width:46px;padding-left:3px;padding-right:3px;font-size:7px}
  #kdrPoolBody[data-card-columns="5"] .kdr-card-menu-btn{width:20px;height:20px;flex-basis:20px;font-size:17px;line-height:20px}
  #kdrPoolBody[data-card-columns="5"] .kdr-card-meta-row{top:74px}
}

/* Log functional states: keep the existing compact row language. */
.log-empty,.log-loading{padding:18px 12px;text-align:center;color:var(--text3);font-size:11px;white-space:normal}
.log-error{color:var(--red)}
.lr-detail-label{display:block;margin-bottom:3px;color:var(--text3);font-size:10px;font-weight:700}
.lr-detail-text{display:block;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text2)}
.lr-state{flex:0 0 auto;font-size:10px;font-weight:700;white-space:nowrap}
.lr-state.st-err{color:#dc2626}.lr-state.st-ok{color:#059669}.lr-state.st-sys{color:#64748b}.lr-state.st-golden{color:#16a34a}.lr-state.st-death{color:#ef4444}
.lr-chevron{flex:0 0 14px;color:var(--text3);font-size:18px;line-height:1;text-align:center;transition:transform .15s}
.lr.open .lr-chevron{transform:rotate(90deg)}
.lr:focus-visible,.log-tab:focus-visible,#logSearch:focus-visible,.log-bar .sb-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

:root[data-theme="dark"] .log-wrap{background:var(--surface);border-color:var(--border);box-shadow:0 2px 8px rgba(0,0,0,0.18)}
:root[data-theme="dark"] .log-wrap:hover{box-shadow:0 8px 32px rgba(0,0,0,0.3)}
:root[data-theme="dark"] .log-bar,:root[data-theme="dark"] .log-tabs{background:var(--surface2);border-color:var(--border)}
:root[data-theme="dark"] .log-body{background:var(--bg2);color:var(--text);border-color:var(--border);scrollbar-color:#555 transparent}
:root[data-theme="dark"] .ll{background:transparent;border-bottom-color:var(--border);border-left-color:rgba(167,139,250,.28)}
:root[data-theme="dark"] .ll:hover{background:rgba(167,139,250,.08)}
:root[data-theme="dark"] .ll .ts{color:#e5e7eb}
:root[data-theme="dark"] .ll .pipe{color:#8f8aa0}
:root[data-theme="dark"] .ll .msg,:root[data-theme="dark"] .ll .msg-data{color:#e5e7eb}
:root[data-theme="dark"] .ll .msg-signal{color:#86efac}
:root[data-theme="dark"] .ll .msg-op{color:#93c5fd}
:root[data-theme="dark"] .ll .msg-err{color:#fca5a5}
:root[data-theme="dark"] #logSearch{background:var(--surface2);border-color:var(--border2);color:var(--text)}
:root[data-theme="dark"] #logSearch::placeholder{color:var(--text3)}
:root[data-theme="dark"] .log-bar .sb-btn{background:var(--surface2);border-color:var(--border2);color:var(--text)}
:root[data-theme="dark"] .log-tab{background:var(--surface2);border-color:var(--border2);color:var(--text2)}
:root[data-theme="dark"] .log-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}

@media(max-width:600px){
  .log-bar{align-items:center;min-height:52px}
  .log-bar>div{display:flex;align-items:center;gap:6px;min-height:44px}
  #logSearch{width:132px!important;min-height:44px!important;padding:9px 10px!important;font-size:12px!important}
  .log-bar .sb-btn{min-height:44px!important;padding:9px 12px!important;font-size:12px!important}
  .log-tabs{min-height:52px;padding:4px 8px!important;align-items:center}
  .log-tabs .log-tab{min-height:44px!important;padding:9px 12px!important;font-size:12px!important;border-radius:8px!important}
  .log-body{height:360px;overflow-x:hidden;white-space:normal;padding:0;background:var(--surface3)}
  .log-mobile-entry{display:block;border-bottom:1px solid var(--border)}
  .log-mobile-entry:last-child{border-bottom:0}
  .lr{min-height:52px;padding:8px 10px;gap:7px;background:transparent;border-bottom:0}
  .lr .lr-time{min-width:43px;font-size:11px;color:var(--text2)}
  .lr .lr-badge{min-width:38px;min-height:28px;padding:6px 5px;font-size:10px;line-height:16px}
  .lr .lr-msg{font-size:12px;color:var(--text);line-height:18px}
  .lr .lr-state{font-size:10px}
  .lr .badge-error{background:rgba(220,38,38,.12);color:#dc2626}
  .lr .badge-system{background:rgba(100,116,139,.12);color:var(--text2)}
  .lr-detail{display:none;padding:8px 12px 10px 60px;background:var(--surface2);border-top:1px solid var(--border);border-bottom:0;font-size:11px;line-height:17px}
  .lr-detail.show{display:block}
  :root[data-theme="dark"] .log-body{background:var(--bg2)}
  :root[data-theme="dark"] .lr{background:transparent;border-color:var(--border)}
  :root[data-theme="dark"] .lr:active,:root[data-theme="dark"] .lr.open{background:rgba(167,139,250,.08)}
  :root[data-theme="dark"] .lr .lr-time{color:#d1d5db}
  :root[data-theme="dark"] .lr .lr-msg{color:#f3f4f6}
  :root[data-theme="dark"] .lr-detail{background:rgba(17,17,25,.72);color:#d1d5db}
}

/* Final mobile sizing: fit the desktop fields into the phone width. */
@media(max-width:600px){
  #logWrap .log-body{overflow-x:hidden}
  #logWrap .log-mobile-entry{min-width:100%;width:100%}
  #logWrap .log-mobile-entry .ll{width:100%;min-width:0;grid-template-columns:46px 48px minmax(0,1fr) 50px;grid-template-rows:20px 20px 16px;min-height:58px;height:58px;padding:3px 7px;column-gap:4px}
  #logWrap .log-mobile-entry .ll .ts{grid-column:1;grid-row:1;font-size:9px;line-height:20px}
  #logWrap .log-mobile-entry .ll .tp{grid-column:2;grid-row:1;width:48px;min-height:18px;font-size:8.5px;line-height:16px}
  #logWrap .log-mobile-entry .ll .st{grid-column:4;grid-row:1;min-width:46px;max-width:50px;font-size:7.5px;line-height:15px}
  #logWrap .log-mobile-entry .ll .msg{grid-column:3;grid-row:1/span 3;display:grid!important;grid-template-rows:39px 16px;gap:1px;min-width:0;overflow:hidden}
  #logWrap .log-mobile-entry .ll .mline{display:flex!important;flex-wrap:wrap;align-content:flex-start;align-items:center;gap:2px 4px;grid-row:1;width:100%;height:39px;overflow:hidden;white-space:normal}
  #logWrap .log-mobile-entry .ll .mline>*{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #logWrap .log-mobile-entry .ll .log-field-symbol,
  #logWrap .log-mobile-entry .ll .log-field-period,
  #logWrap .log-mobile-entry .ll .log-field-candle,
  #logWrap .log-mobile-entry .ll .log-field-event,
  #logWrap .log-mobile-entry .ll .log-field-kd,
  #logWrap .log-mobile-entry .ll .log-field-price{display:block;min-width:0;overflow:hidden}
  #logWrap .log-mobile-entry .ll .mline .chip-sym{flex:0 1 48px;font-size:8.5px}
  #logWrap .log-mobile-entry .ll .mline .chip-tf{flex:0 1 38px;font-size:8px}
  #logWrap .log-mobile-entry .ll .mline .evt{flex:1 1 70px;font-size:8.5px}
  #logWrap .log-mobile-entry .ll .mline .chip-score{flex:0 1 82px;font-size:7.5px}
  #logWrap .log-mobile-entry .ll .mline .kd{flex:0 1 38px;font-size:7.5px;line-height:15px}
  #logWrap .log-mobile-entry .ll .mline .px{flex:0 1 70px;font-size:8.5px}
  #logWrap .log-mobile-entry .ll .mline .chip-dt{display:none}
  #logWrap .log-mobile-entry .ll .dline{display:flex!important;grid-row:2;align-items:center;height:16px;min-width:0;overflow:hidden;font-size:7.5px;line-height:16px;white-space:nowrap}
  #logWrap .log-mobile-entry .ll .dline>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #logWrap .log-mobile-entry .ll .lr-chevron{left:auto;right:3px;bottom:1px;font-size:13px}
  #logWrap .log-mobile-entry .lr-detail{min-width:0;width:100%;padding-left:67px;white-space:normal}
}

/* Last rule wins: compact single-line mobile log rows. */
@media(max-width:600px){
  #logWrap .log-body{overflow-x:hidden!important;white-space:normal!important}
  #logWrap .log-mobile-entry{min-width:100%!important;width:100%!important}
  #logWrap .log-mobile-entry .ll{display:flex!important;align-items:center!important;width:100%!important;min-width:0!important;height:34px!important;min-height:34px!important;padding:3px 7px!important;gap:4px!important;overflow:hidden!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll .ts{display:block!important;flex:0 0 31px!important;width:31px!important;margin:0!important;grid-column:auto!important;grid-row:auto!important;font-size:9px!important;line-height:18px!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll .tp{display:block!important;flex:0 0 48px!important;width:48px!important;min-height:18px!important;margin:0!important;grid-column:auto!important;grid-row:auto!important;font-size:8.5px!important;line-height:16px!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll .pipe{display:none!important}
  #logWrap .log-mobile-entry .ll .msg{display:flex!important;align-items:center!important;flex:1 1 auto!important;min-width:0!important;grid-column:auto!important;grid-row:auto!important;grid-template-columns:none!important;grid-template-rows:none!important;gap:4px!important;overflow:hidden!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll .mline{display:flex!important;align-items:center!important;flex:1 1 auto!important;min-width:0!important;width:auto!important;height:auto!important;grid-column:auto!important;grid-row:auto!important;grid-template-columns:none!important;gap:4px!important;overflow:hidden!important;white-space:nowrap!important;flex-wrap:nowrap!important}
  #logWrap .log-mobile-entry .ll .dline{display:none!important}
  #logWrap .log-mobile-entry .ll .mline>*{min-width:0!important;max-width:none!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll .chip-dt{display:none!important}
  #logWrap .log-mobile-entry .ll .chip-sym{flex:0 1 43px!important;font-size:8px!important}
  #logWrap .log-mobile-entry .ll .chip-tf{flex:0 1 34px!important;font-size:8px!important}
  #logWrap .log-mobile-entry .ll .evt{flex:1 1 70px!important;font-size:8.5px!important;font-weight:800!important}
  #logWrap .log-mobile-entry .ll .chip-score{flex:0 1 58px!important;font-size:7px!important}
  #logWrap .log-mobile-entry .ll .kd{flex:0 1 31px!important;font-size:7px!important;line-height:15px!important}
  #logWrap .log-mobile-entry .ll .px{flex:0 1 59px!important;font-size:8px!important}
  #logWrap .log-mobile-entry .ll .st{flex:0 1 42px!important;min-width:0!important;max-width:42px!important;margin:0!important;grid-column:auto!important;grid-row:auto!important;font-size:7.5px!important;line-height:15px!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #logWrap .log-mobile-entry .ll .lr-chevron{display:none!important}
  #logWrap .log-mobile-entry .lr-detail{min-width:0!important;width:100%!important;padding-left:55px!important;white-space:normal!important}
}

/* Final mobile log flow override. */
@media(max-width:600px){
  #logWrap .log-body{overflow-x:hidden!important;white-space:normal!important}
  #logWrap .log-mobile-entry{width:100%!important;min-width:100%!important}
  #logWrap#logWrap .log-mobile-entry .ll{display:flex!important;align-items:center!important;width:100%!important;min-width:0!important;height:34px!important;min-height:34px!important;padding:3px 7px!important;gap:4px!important;overflow:hidden!important;white-space:nowrap!important}
  #logWrap#logWrap .log-mobile-entry .ll .ts{display:block!important;flex:0 0 31px!important;width:31px!important;margin:0!important;grid-column:auto!important;grid-row:auto!important;font-size:9px!important;line-height:18px!important;white-space:nowrap!important}
  #logWrap#logWrap .log-mobile-entry .ll .tp{display:block!important;flex:0 0 48px!important;width:48px!important;min-height:18px!important;margin:0!important;grid-column:auto!important;grid-row:auto!important;font-size:8.5px!important;line-height:16px!important;white-space:nowrap!important}
  #logWrap#logWrap .log-mobile-entry .ll .pipe{display:none!important}
  #logWrap#logWrap .log-mobile-entry .ll .msg{display:flex!important;align-items:center!important;flex:1 1 auto!important;min-width:0!important;grid-column:auto!important;grid-row:auto!important;grid-template-columns:none!important;grid-template-rows:none!important;gap:4px!important;overflow:hidden!important;white-space:nowrap!important}
  #logWrap#logWrap .log-mobile-entry .ll .mline{display:flex!important;align-items:center!important;flex:1 1 auto!important;min-width:0!important;width:auto!important;height:auto!important;grid-column:auto!important;grid-row:auto!important;grid-template-columns:none!important;gap:4px!important;overflow:hidden!important;white-space:nowrap!important;flex-wrap:nowrap!important}
  #logWrap#logWrap .log-mobile-entry .ll .dline{display:none!important}
  #logWrap#logWrap .log-mobile-entry .ll .mline>*{min-width:0!important;max-width:none!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  #logWrap#logWrap .log-mobile-entry .ll .chip-dt{display:none!important}
  #logWrap#logWrap .log-mobile-entry .ll .chip-sym{flex:0 1 43px!important;font-size:8px!important}
  #logWrap#logWrap .log-mobile-entry .ll .chip-tf{flex:0 1 34px!important;font-size:8px!important}
  #logWrap#logWrap .log-mobile-entry .ll .evt{flex:1 1 70px!important;font-size:8.5px!important;font-weight:800!important}
  #logWrap#logWrap .log-mobile-entry .ll .chip-score{flex:0 1 58px!important;font-size:7px!important}
  #logWrap#logWrap .log-mobile-entry .ll .kd{flex:0 1 31px!important;font-size:7px!important;line-height:15px!important}
  #logWrap#logWrap .log-mobile-entry .ll .px{flex:0 1 59px!important;font-size:8px!important}
  #logWrap#logWrap .log-mobile-entry .ll .st{flex:0 1 42px!important;min-width:0!important;max-width:42px!important;margin:0!important;grid-column:auto!important;grid-row:auto!important;font-size:7.5px!important;line-height:15px!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #logWrap#logWrap .log-mobile-entry .ll .lr-chevron{display:none!important}
  #logWrap .log-mobile-entry .lr-detail{min-width:0!important;width:100%!important;padding-left:55px!important;white-space:normal!important}
}

/* Final mobile log flow: this must follow all legacy grid overrides. */
@media(max-width:600px){
  #logWrap .log-body{overflow-x:hidden!important;white-space:normal!important}
  #logWrap .log-mobile-entry{width:100%!important;min-width:100%!important}
  #logWrap .log-mobile-entry .ll{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    height:34px!important;
    min-height:34px!important;
    padding:3px 7px!important;
    gap:4px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  #logWrap .log-mobile-entry .ll .ts{flex:0 0 31px!important;width:31px!important;margin:0!important;grid-column:auto!important;grid-row:auto!important;font-size:9px!important;line-height:18px!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll .tp{flex:0 0 48px!important;width:48px!important;min-height:18px!important;margin:0!important;grid-column:auto!important;grid-row:auto!important;font-size:8.5px!important;line-height:16px!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll .pipe{display:none!important}
  #logWrap .log-mobile-entry .ll .msg{display:flex!important;align-items:center!important;flex:1 1 auto!important;min-width:0!important;grid-column:auto!important;grid-row:auto!important;grid-template-columns:none!important;grid-template-rows:none!important;gap:4px!important;overflow:hidden!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll .mline{display:flex!important;align-items:center!important;flex:1 1 auto!important;min-width:0!important;width:auto!important;height:auto!important;grid-column:auto!important;grid-row:auto!important;grid-template-columns:none!important;gap:4px!important;overflow:hidden!important;white-space:nowrap!important;flex-wrap:nowrap!important}
  #logWrap .log-mobile-entry .ll .dline{display:none!important}
  #logWrap .log-mobile-entry .ll .mline>*{min-width:0!important;max-width:none!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll .chip-dt{display:none!important}
  #logWrap .log-mobile-entry .ll .chip-sym{flex:0 1 43px!important;font-size:8px!important}
  #logWrap .log-mobile-entry .ll .chip-tf{flex:0 1 34px!important;font-size:8px!important}
  #logWrap .log-mobile-entry .ll .evt{flex:1 1 70px!important;font-size:8.5px!important;font-weight:800!important}
  #logWrap .log-mobile-entry .ll .chip-score{flex:0 1 58px!important;font-size:7px!important}
  #logWrap .log-mobile-entry .ll .kd{flex:0 1 31px!important;font-size:7px!important;line-height:15px!important}
  #logWrap .log-mobile-entry .ll .px{flex:0 1 59px!important;font-size:8px!important}
  #logWrap .log-mobile-entry .ll .st{flex:0 1 42px!important;min-width:0!important;max-width:42px!important;margin:0!important;grid-column:auto!important;grid-row:auto!important;font-size:7.5px!important;line-height:15px!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #logWrap .log-mobile-entry .ll .lr-chevron{display:none!important}
  #logWrap .log-mobile-entry .lr-detail{min-width:0!important;width:100%!important;padding-left:55px!important;white-space:normal!important}
}

/* Mobile log rows: keep the existing fields in one compact flowing line. */
@media(max-width:600px){
  #logWrap .log-body{overflow-x:hidden;white-space:normal}
  #logWrap .log-mobile-entry{width:100%;min-width:100%}
  #logWrap .log-mobile-entry .ll{
    display:flex!important;
    align-items:center;
    width:100%;
    min-width:0;
    height:34px;
    min-height:34px;
    padding:3px 7px;
    gap:4px;
    overflow:hidden;
    white-space:nowrap;
  }
  #logWrap .log-mobile-entry .ll .ts{
    flex:0 0 31px;
    width:31px;
    margin:0;
    font-size:9px;
    line-height:18px;
    white-space:nowrap;
  }
  #logWrap .log-mobile-entry .ll .tp{
    flex:0 0 48px;
    width:48px;
    min-height:18px;
    margin:0;
    padding:1px 4px;
    font-size:8.5px;
    line-height:16px;
    white-space:nowrap;
  }
  #logWrap .log-mobile-entry .ll .pipe{display:none!important}
  #logWrap .log-mobile-entry .ll .msg{
    display:flex!important;
    align-items:center;
    flex:1 1 auto;
    min-width:0;
    gap:4px;
    overflow:hidden;
    white-space:nowrap;
  }
  #logWrap .log-mobile-entry .ll .mline{
    display:flex!important;
    align-items:center;
    flex:1 1 auto;
    min-width:0;
    gap:4px;
    overflow:hidden;
    white-space:nowrap;
  }
  #logWrap .log-mobile-entry .ll .dline{display:none!important}
  #logWrap .log-mobile-entry .ll .mline>*{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  #logWrap .log-mobile-entry .ll .chip-dt{display:none!important}
  #logWrap .log-mobile-entry .ll .chip-sym{flex:0 1 43px;font-size:8px}
  #logWrap .log-mobile-entry .ll .chip-tf{flex:0 1 34px;font-size:8px}
  #logWrap .log-mobile-entry .ll .evt{flex:1 1 70px;font-size:8.5px;font-weight:800}
  #logWrap .log-mobile-entry .ll .chip-score{flex:0 1 58px;font-size:7px}
  #logWrap .log-mobile-entry .ll .kd{flex:0 1 31px;font-size:7px;line-height:15px}
  #logWrap .log-mobile-entry .ll .px{flex:0 1 59px;font-size:8px}
  #logWrap .log-mobile-entry .ll .st{
    flex:0 1 42px;
    min-width:0;
    max-width:42px;
    margin:0;
    padding:1px 4px;
    font-size:7.5px;
    line-height:15px;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  #logWrap .log-mobile-entry .ll .lr-chevron{display:none!important}
  #logWrap .log-mobile-entry .lr-detail{min-width:0;width:100%;padding-left:55px;white-space:normal}
}

/* Mobile log rows use the desktop field schema at a compact scale. */
@media(max-width:600px){
  #logWrap .log-body{
    height:390px;
    overflow-x:auto;
    overflow-y:auto;
    white-space:nowrap;
    padding:0;
    background:var(--surface);
  }
  #logWrap .log-mobile-entry{
    display:block;
    min-width:760px;
    border-bottom:1px solid var(--border);
  }
  #logWrap .log-mobile-entry .ll{
    display:grid;
    grid-template-columns:72px 54px minmax(0,1fr) 58px;
    grid-template-rows:22px 18px;
    column-gap:6px;
    min-width:760px;
    min-height:42px;
    height:42px;
    padding:3px 8px;
    align-items:center;
    overflow:hidden;
    border-left-width:3px;
    background:var(--surface);
  }
  #logWrap .log-mobile-entry .ll .ts{
    display:block;
    grid-column:1;
    grid-row:1;
    min-width:0;
    margin:0;
    color:var(--text2);
    font-size:10px;
    line-height:22px;
    font-weight:700;
    white-space:nowrap;
  }
  #logWrap .log-mobile-entry .ll .tp{
    grid-column:2;
    grid-row:1;
    width:54px;
    min-height:19px;
    margin:0;
    padding:1px 4px;
    font-size:9px;
    line-height:17px;
    border-radius:4px;
    text-align:center;
  }
  #logWrap .log-mobile-entry .ll .pipe{display:none}
  #logWrap .log-mobile-entry .ll .msg,
  #logWrap .log-mobile-entry .ll .mline,
  #logWrap .log-mobile-entry .ll .log-meta-row,
  #logWrap .log-mobile-entry .ll .log-outcome-row{display:contents!important}
  #logWrap .log-mobile-entry .ll .log-slot{
    min-height:19px;
    line-height:19px;
  }
  #logWrap .log-mobile-entry .ll .log-field-symbol{grid-column:3;grid-row:1}
  #logWrap .log-mobile-entry .ll .log-field-period{grid-column:4;grid-row:1}
  #logWrap .log-mobile-entry .ll .log-field-candle{grid-column:1;grid-row:2}
  #logWrap .log-mobile-entry .ll .log-field-event{grid-column:2;grid-row:2;min-width:0}
  #logWrap .log-mobile-entry .ll .log-field-kd{grid-column:3;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:4px;overflow:hidden}
  #logWrap .log-mobile-entry .ll .log-field-price{grid-column:4;grid-row:2;justify-content:flex-start;overflow:hidden}
  #logWrap .log-mobile-entry .ll .log-field-symbol .chip-sym,
  #logWrap .log-mobile-entry .ll .chip-tf,
  #logWrap .log-mobile-entry .ll .chip-dt,
  #logWrap .log-mobile-entry .ll .chip-score,
  #logWrap .log-mobile-entry .ll .chip-retry{
    min-height:17px;
    padding:1px 4px;
    border-radius:4px;
    font-size:9px;
    line-height:15px;
  }
  #logWrap .log-mobile-entry .ll .log-field-event .evt{font-size:9px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #logWrap .log-mobile-entry .ll .log-field-kd .kd{font-size:8px;line-height:15px;min-height:17px;padding:1px 3px;border-radius:4px;white-space:nowrap}
  #logWrap .log-mobile-entry .ll .log-field-price .px{font-size:9px;white-space:nowrap}
  #logWrap .log-mobile-entry .ll .dline{display:none!important}
  #logWrap .log-mobile-entry .ll .st{grid-column:4;grid-row:1;justify-self:end;min-width:50px;max-width:58px;margin:0;padding:1px 3px;font-size:8px;line-height:16px;overflow:hidden;text-overflow:ellipsis}
  #logWrap .log-mobile-entry .lr-chevron{display:block;position:absolute;left:calc(100vw - 54px);right:auto;bottom:2px;font-size:14px}
  #logWrap .log-mobile-entry .lr{position:relative;cursor:pointer}
  #logWrap .log-mobile-entry .lr-detail{display:none;min-width:760px;padding:7px 12px 8px 84px;font-size:10px;line-height:15px;white-space:normal;background:var(--surface2);border-top:1px solid var(--border)}
  #logWrap .log-mobile-entry .lr-detail.show{display:block}
  :root[data-theme="dark"] #logWrap .log-mobile-entry .ll{background:var(--surface);border-bottom-color:var(--border)}
:root[data-theme="dark"] #logWrap .log-mobile-entry .ll .ts{color:#d1d5db}
}

/* Final mobile sizing override must remain after all legacy log rules. */
@media(max-width:600px){
  #logWrap .log-body{overflow-x:hidden!important;white-space:normal!important}
  #logWrap .log-mobile-entry{min-width:100%!important;width:100%!important}
  #logWrap .log-mobile-entry .ll{display:flex!important;align-items:center!important;width:100%!important;min-width:0!important;height:34px!important;min-height:34px!important;padding:3px 7px!important;gap:4px!important;overflow:hidden!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll .ts{display:block!important;flex:0 0 31px!important;width:31px!important;margin:0!important;grid-column:auto!important;grid-row:auto!important;font-size:9px!important;line-height:18px!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll .tp{display:block!important;flex:0 0 48px!important;width:48px!important;min-height:18px!important;margin:0!important;grid-column:auto!important;grid-row:auto!important;font-size:8.5px!important;line-height:16px!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll .pipe{display:none!important}
  #logWrap .log-mobile-entry .ll .msg{display:flex!important;align-items:center!important;flex:1 1 auto!important;min-width:0!important;grid-column:auto!important;grid-row:auto!important;grid-template-columns:none!important;grid-template-rows:none!important;gap:4px!important;overflow:hidden!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll .mline{display:flex!important;align-items:center!important;flex:1 1 auto!important;min-width:0!important;width:auto!important;height:auto!important;grid-column:auto!important;grid-row:auto!important;grid-template-columns:none!important;gap:4px!important;overflow:hidden!important;white-space:nowrap!important;flex-wrap:nowrap!important}
  #logWrap .log-mobile-entry .ll .dline{display:none!important}
  #logWrap .log-mobile-entry .ll .mline>*{min-width:0!important;max-width:none!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll .chip-dt{display:none!important}
  #logWrap .log-mobile-entry .ll .chip-sym{flex:0 1 43px!important;font-size:8px!important}
  #logWrap .log-mobile-entry .ll .chip-tf{flex:0 1 34px!important;font-size:8px!important}
  #logWrap .log-mobile-entry .ll .evt{flex:1 1 70px!important;font-size:8.5px!important;font-weight:800!important}
  #logWrap .log-mobile-entry .ll .chip-score{flex:0 1 58px!important;font-size:7px!important}
  #logWrap .log-mobile-entry .ll .kd{flex:0 1 31px!important;font-size:7px!important;line-height:15px!important}
  #logWrap .log-mobile-entry .ll .px{flex:0 1 59px!important;font-size:8px!important}
  #logWrap .log-mobile-entry .ll .st{flex:0 1 42px!important;min-width:0!important;max-width:42px!important;margin:0!important;grid-column:auto!important;grid-row:auto!important;font-size:7.5px!important;line-height:15px!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #logWrap .log-mobile-entry .ll .lr-chevron{display:none!important}
  #logWrap .log-mobile-entry .lr-detail{min-width:0!important;width:100%!important;padding-left:55px!important;white-space:normal!important}
}

/* Keep the message's two aligned sub-rows intact inside the compact mobile row. */
@media(max-width:600px){
  #logWrap .log-mobile-entry .ll .msg{
    display:grid!important;
    grid-column:3;
    grid-row:1 / span 2;
    grid-template-rows:22px 16px;
    gap:1px;
    min-width:0;
    overflow:hidden;
    white-space:normal;
  }
  #logWrap .log-mobile-entry .ll .mline{
    display:grid!important;
    grid-template-columns:72px 48px minmax(150px,1.2fr) minmax(120px,1fr);
    align-items:center;
    gap:5px;
    min-width:0;
    width:100%;
    overflow:hidden;
    white-space:nowrap;
  }
  #logWrap .log-mobile-entry .ll .dline{
    display:flex!important;
    align-items:center;
    gap:5px;
    min-width:0;
    height:16px;
    margin:0;
    overflow:hidden;
    color:var(--text3);
    font-size:8px;
    line-height:16px;
    white-space:nowrap;
  }
  #logWrap .log-mobile-entry .ll .mline>* ,
  #logWrap .log-mobile-entry .ll .dline>*{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  #logWrap .log-mobile-entry .ll .msg .chip,
  #logWrap .log-mobile-entry .ll .msg .evt,
  #logWrap .log-mobile-entry .ll .msg .px{font-size:9px;line-height:17px}
  #logWrap .log-mobile-entry .ll .msg .evt{font-weight:800}
  #logWrap .log-mobile-entry .ll .msg .kd{font-size:8px}
}

/* Mobile final sizing after legacy message overrides. */
@media(max-width:600px){
  #logWrap .log-body{overflow-x:hidden!important;white-space:normal!important}
  #logWrap .log-mobile-entry{min-width:100%!important;width:100%!important}
  #logWrap .log-mobile-entry .ll{display:flex!important;align-items:center!important;width:100%!important;min-width:0!important;height:34px!important;min-height:34px!important;padding:3px 7px!important;gap:4px!important;overflow:hidden!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll .ts{display:block!important;flex:0 0 31px!important;width:31px!important;margin:0!important;grid-column:auto!important;grid-row:auto!important;font-size:9px!important;line-height:18px!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll .tp{display:block!important;flex:0 0 48px!important;width:48px!important;min-height:18px!important;margin:0!important;grid-column:auto!important;grid-row:auto!important;font-size:8.5px!important;line-height:16px!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll .pipe{display:none!important}
  #logWrap .log-mobile-entry .ll .msg{display:flex!important;align-items:center!important;flex:1 1 auto!important;min-width:0!important;grid-column:auto!important;grid-row:auto!important;grid-template-columns:none!important;grid-template-rows:none!important;gap:4px!important;overflow:hidden!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll .mline{display:flex!important;align-items:center!important;flex:1 1 auto!important;min-width:0!important;width:auto!important;height:auto!important;grid-column:auto!important;grid-row:auto!important;grid-template-columns:none!important;gap:4px!important;overflow:hidden!important;white-space:nowrap!important;flex-wrap:nowrap!important}
  #logWrap .log-mobile-entry .ll .dline{display:none!important}
  #logWrap .log-mobile-entry .ll .mline>*{min-width:0!important;max-width:none!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll .chip-dt{display:none!important}
  #logWrap .log-mobile-entry .ll .chip-sym{flex:0 1 43px!important;font-size:8px!important}
  #logWrap .log-mobile-entry .ll .chip-tf{flex:0 1 34px!important;font-size:8px!important}
  #logWrap .log-mobile-entry .ll .evt{flex:1 1 70px!important;font-size:8.5px!important;font-weight:800!important}
  #logWrap .log-mobile-entry .ll .chip-score{flex:0 1 58px!important;font-size:7px!important}
  #logWrap .log-mobile-entry .ll .kd{flex:0 1 31px!important;font-size:7px!important;line-height:15px!important}
  #logWrap .log-mobile-entry .ll .px{flex:0 1 59px!important;font-size:8px!important}
  #logWrap .log-mobile-entry .ll .st{flex:0 1 42px!important;min-width:0!important;max-width:42px!important;margin:0!important;grid-column:auto!important;grid-row:auto!important;font-size:7.5px!important;line-height:15px!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #logWrap .log-mobile-entry .ll .lr-chevron{display:none!important}
  #logWrap .log-mobile-entry .lr-detail{min-width:0!important;width:100%!important;padding-left:55px!important;white-space:normal!important}

  /* Keep filter buttons small enough for the phone and make every touch hit the button. */
  #logWrap .log-tabs{
    position:relative;
    z-index:2;
    display:flex!important;
    align-items:center!important;
    gap:3px!important;
    min-height:38px!important;
    height:38px!important;
    padding:4px 6px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    flex-wrap:nowrap!important;
    pointer-events:auto!important;
    touch-action:pan-x;
    -webkit-overflow-scrolling:touch;
  }
  #logWrap .log-tabs .log-tab{
    box-sizing:border-box!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    min-height:30px!important;
    height:30px!important;
    padding:0 6px!important;
    border-radius:6px!important;
    font-size:10px!important;
    line-height:1!important;
    text-align:center!important;
    vertical-align:middle!important;
    cursor:pointer!important;
    pointer-events:auto!important;
    touch-action:manipulation;
    user-select:none;
    -webkit-tap-highlight-color:transparent;
  }
  #logWrap .log-tabs .log-tab span{
    margin-left:2px!important;
    font-size:9px!important;
    line-height:1!important;
  }
  #logWrap .log-tabs .log-market-spacer{
    flex:0 0 1px!important;
    height:22px!important;
    margin:0 2px!important;
  }

  /* Center text inside the mobile log badges and status pills. */
  #logWrap#logWrap .log-mobile-entry .ll .tp,
  #logWrap .log-mobile-entry .ll .chip,
  #logWrap .log-mobile-entry .ll .st,
  #logWrap .log-mobile-entry .ll .kd{
    box-sizing:border-box!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    vertical-align:middle!important;
  }
  #logWrap .log-mobile-entry .ll .tp{padding:1px 4px!important}
  #logWrap .log-mobile-entry .ll .chip{line-height:15px!important}
  #logWrap .log-mobile-entry .ll .st{text-align:center!important}
}

/* ══ UI Deploy: monitoring summary cards ══ */
/* Local visual preview for the reference-inspired monitoring summary. */
.preview-summary{margin:0 0 14px;padding:12px 13px 13px;border:1px solid rgba(124,58,237,.15);border-radius:var(--r);background:linear-gradient(145deg,rgba(255,255,255,.42),rgba(255,255,255,.22));box-shadow:0 4px 16px rgba(63,43,101,.04)}
.preview-summary-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 1px 10px}
.preview-summary-kicker{display:block;color:var(--accent);font:700 9px/1 var(--font);letter-spacing:.09em;text-transform:uppercase}
.preview-summary h2{margin-top:4px;color:var(--text);font-size:14px;font-weight:750;line-height:1.2}
.preview-summary-time{color:var(--text4);font:500 10px/1 var(--font);white-space:nowrap}
.preview-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.preview-stat-card{position:relative;min-height:92px;padding:12px 13px 11px;overflow:hidden;border:1px solid rgba(124,58,237,.16);border-radius:13px;background:rgba(255,255,255,.58);box-shadow:0 2px 8px rgba(52,35,84,.035)}
.preview-stat-card:hover{border-color:rgba(124,58,237,.34);box-shadow:0 7px 18px rgba(52,35,84,.08)}
.preview-stat-label{display:block;color:var(--text2);font-size:10px;font-weight:650;line-height:1.2}
.preview-stat-card strong{display:block;margin-top:9px;color:var(--text);font:700 27px/1 var(--font);letter-spacing:.01em}
.preview-stat-card strong small{margin-left:1px;font-size:13px;font-weight:700}
.preview-stat-note{display:block;margin-top:7px;color:var(--text3);font-size:9px;line-height:1.2}
.preview-stat-card i{position:absolute;right:13px;bottom:13px;width:30px;height:2px;border-radius:999px;background:var(--accent)}
.preview-stat-green i{background:var(--green)}
.preview-stat-blue i{background:var(--blue)}
.preview-stat-orange i{background:var(--orange)}
:root[data-theme="dark"] .preview-summary{border-color:#2d2941;background:linear-gradient(145deg,rgba(24,22,36,.94),rgba(16,15,27,.94));box-shadow:0 10px 28px rgba(0,0,0,.12)}
:root[data-theme="dark"] .preview-stat-card{border-color:#35304a;background:#171525;box-shadow:inset 0 0 0 1px rgba(255,255,255,.018)}
:root[data-theme="dark"] .preview-stat-card:hover{border-color:#55477c;background:#1b192d}
:root[data-theme="dark"] .preview-stat-card strong{color:#f2edf7}
:root[data-theme="dark"] .preview-stat-label{color:#aaa4b4}
:root[data-theme="dark"] .preview-stat-note{color:#777184}
@media(max-width:900px){.preview-summary{margin-bottom:12px}.preview-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.preview-stat-card{min-height:88px}}
@media(max-width:520px){.preview-summary{padding:10px 10px 11px}.preview-summary-head{align-items:flex-start}.preview-summary h2{font-size:13px}.preview-summary-time{font-size:9px}.preview-stat-card{min-height:86px;padding:11px 12px}.preview-stat-card strong{font-size:24px}.preview-stat-card i{right:12px;bottom:12px;width:27px}}

/* ═══════════════════════════════════════════════════════════
   UI 升级 v3（用户确认范围：1 数字感 / 4 布局高效 / 5 移动端 / 6 质感）
   日志模块排版不动
   ═══════════════════════════════════════════════════════════ */
/* 1. 数字感：金融数值等宽对齐（只影响数值，不影响日志区） */
.preview-stat-card strong{font-family:'JetBrains Mono',Consolas,monospace;font-size:30px;font-weight:800;letter-spacing:-.02em}
.pcard .pv,.pcard .pp{font-family:'JetBrains Mono',Consolas,monospace;letter-spacing:-.01em}
/* 4. 布局高效：侧栏收窄、内容区更宽、间距紧凑（仅桌面端，移动端保持原版单列） */
@media(min-width:901px){
  .main{grid-template-columns:260px 1fr}
  .content{padding:16px;gap:14px}
}
/* 6. 细节质感 */
.mkt-dot.on{box-shadow:0 0 0 3px rgba(5,150,105,.13),0 0 9px rgba(5,150,105,.45)}
.card{transition:box-shadow .2s,border-color .2s}
.card:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--border));box-shadow:0 6px 20px rgba(0,0,0,.07)}
.preview-stat-card{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.preview-stat-card:hover{transform:translateY(-1px)}
/* 5. 移动端重设计：底部导航栏（窄屏） */
.mobile-tabbar{display:none}
@media(max-width:900px){
  /* 毛玻璃导航条：浅色主题白毛玻璃+紫高亮，深色主题深色毛玻璃+浅紫（跟随主题） */
  .mobile-tabbar{display:grid;position:fixed;z-index:60;left:0;right:0;bottom:0;grid-template-columns:repeat(5,1fr);padding:8px 6px calc(8px + env(safe-area-inset-bottom));border-top:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .mobile-tabbar button{display:grid;place-items:center;gap:4px;min-height:54px;margin:0 3px;border:0;border-radius:12px;background:transparent;color:#55506b;font-size:21px;line-height:1;transition:background .15s ease,color .15s ease}
  .mobile-tabbar button b{font-size:11px;font-weight:800;letter-spacing:.02em;color:inherit}
  .mobile-tabbar button:hover{color:#3f3a55}
  .mobile-tabbar button.active{background:rgba(124,58,237,.14);color:#6d28d9}
  .mobile-tabbar button.active b{font-weight:850}
  .content{padding-bottom:88px}
}
:root[data-theme="dark"] .mobile-tabbar{background:rgba(21,22,39,.94);border-top-color:rgba(48,49,77,.9)}
:root[data-theme="dark"] .mobile-tabbar button{color:#b7a6ff!important}
:root[data-theme="dark"] .mobile-tabbar button:hover{color:#d6c9ff!important}
:root[data-theme="dark"] .mobile-tabbar button.active{background:rgba(161,140,255,.16);color:#d6c9ff!important}
/* ── 手机端日志浅色主题适配（原移动端日志样式为深色硬编码，此处按浅色主题覆盖） ── */
@media(max-width:600px){
  :root:not([data-theme="dark"]) #logArea .lr{background:#fff!important;border-bottom:1px solid rgba(0,0,0,.06)!important;color:#1f2430!important}
  :root:not([data-theme="dark"]) #logArea .lr:active,:root:not([data-theme="dark"]) #logArea .lr:hover{background:#f6f4fb!important}
  :root:not([data-theme="dark"]) #logArea .lr.lr-ev-golden{background:linear-gradient(90deg,rgba(34,197,94,.1),#fff 72%)!important}
  :root:not([data-theme="dark"]) #logArea .lr.lr-ev-death{background:linear-gradient(90deg,rgba(239,68,68,.1),#fff 72%)!important}
  :root:not([data-theme="dark"]) #logArea .lr-time{color:#7c3aed!important}
  :root:not([data-theme="dark"]) #logArea .lr-badge{border-color:rgba(0,0,0,.08)!important}
  :root:not([data-theme="dark"]) #logArea .lr-badge.badge-other{background:rgba(100,116,139,.1)!important;color:#475569!important}
  :root:not([data-theme="dark"]) #logArea .lr-badge.badge-config{background:rgba(139,92,246,.12)!important;color:#6d28d9!important}
  :root:not([data-theme="dark"]) #logArea .lr-badge.badge-scan{background:rgba(5,150,105,.1)!important;color:#047857!important}
  :root:not([data-theme="dark"]) #logArea .lr-badge.badge-signal{background:rgba(139,92,246,.12)!important;color:#6d28d9!important}
  :root:not([data-theme="dark"]) #logArea .lr-badge.badge-email{background:rgba(59,130,246,.12)!important;color:#1d4ed8!important}
  :root:not([data-theme="dark"]) #logArea .lr-event{color:#1f2430!important}
  :root:not([data-theme="dark"]) #logArea .lr-event.lr-ev-golden{color:#15803d!important}
  :root:not([data-theme="dark"]) #logArea .lr-event.lr-ev-death{color:#b91c1c!important}
  :root:not([data-theme="dark"]) #logArea .lr-meta{color:#6b7280!important}
  :root:not([data-theme="dark"]) #logArea .lr-chip{border-color:rgba(0,0,0,.1)!important;background:rgba(0,0,0,.04)!important;color:#4b5563!important}
  :root:not([data-theme="dark"]) #logArea .lr-chip-symbol{border-color:rgba(124,58,237,.3)!important;background:rgba(139,92,246,.1)!important;color:#6d28d9!important}
  :root:not([data-theme="dark"]) #logArea .lr-chip-score{border-color:rgba(217,119,6,.3)!important;background:rgba(245,158,11,.12)!important;color:#b45309!important}
  :root:not([data-theme="dark"]) #logArea .lr-kd{background:rgba(59,130,246,.1)!important;color:#1d4ed8!important}
  :root:not([data-theme="dark"]) #logArea .lr-price{background:rgba(5,150,105,.1)!important;color:#047857!important}
  :root:not([data-theme="dark"]) #logArea .lr-detail{color:#6b7280!important}
}

/* ══ 手机版日志行修复：恢复紧凑行内布局（覆盖 8-09 双测试版纵向堆叠样式） ══ */
@media(max-width:600px){
  #logArea .lr{flex-direction:row;align-items:center;gap:8px;padding:9px 12px}
  #logArea .lr .lr-msg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #logArea .lr .lr-time{flex:0 0 auto;min-width:44px;white-space:nowrap}
  #logArea .lr .lr-badge{flex:0 0 auto}
  #logArea .lr .lr-extra{flex:0 0 auto;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* Activity log refresh: fintech information hierarchy in the site's purple-white palette. */
#logWrap.log-wrap{overflow:hidden;border:1px solid rgba(124,58,237,.15);border-radius:12px;background:var(--surface3);box-shadow:0 8px 26px rgba(54,35,91,.07)}
#logWrap .log-activity-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:32px 16px;align-items:center;column-gap:16px;row-gap:8px;padding:14px 18px 13px;border-bottom:1px solid var(--border);background:var(--surface3)}
#logWrap .log-activity-copy{min-width:0;grid-column:1;grid-row:1;align-self:center}
#logWrap .log-activity-copy h4{margin:0;color:var(--text);font-size:16px;font-weight:800;line-height:1.25;letter-spacing:0}
#logWrap .log-activity-actions{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto}
#logWrap .log-next-cleanup{grid-column:2;grid-row:2;justify-self:end;min-width:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#000;font:600 10px/16px var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap}
#logWrap .log-icon-button{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid var(--border);border-radius:7px;background:var(--surface3);color:var(--text3);font-size:15px;line-height:1}
#logWrap .log-icon-button:hover{border-color:var(--accent);color:var(--accent);background:rgba(124,58,237,.07)}
#logWrap .log-latest-button{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:#fff;font-size:10px;font-weight:800;white-space:nowrap;box-shadow:none}
#logWrap .log-latest-button:hover{background:var(--accent2);border-color:var(--accent2)}
#logWrap .log-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--surface2)}
#logWrap .log-tabs{display:flex;align-items:center;gap:3px;min-width:0;overflow-x:auto;scrollbar-width:none}
#logWrap .log-tabs::-webkit-scrollbar{display:none}
#logWrap .log-tab{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto!important;height:27px!important;min-height:27px!important;padding:0 8px!important;border:1px solid transparent!important;border-radius:6px!important;background:transparent!important;color:var(--text3)!important;font-size:10px!important;font-weight:800!important;line-height:1!important;white-space:nowrap}
#logWrap .log-tab span{padding-left:3px;color:var(--text4);font:800 9px/1 var(--mono)}
#logWrap .log-tab:hover{background:var(--surface3)!important;color:var(--text)!important}
#logWrap .log-tab.active{border-color:rgba(124,58,237,.18)!important;background:rgba(124,58,237,.1)!important;color:var(--accent)!important}
#logWrap .log-tab.active span{color:var(--accent)}
#logWrap .log-market-spacer{flex:0 0 1px!important;height:22px;margin:0 2px;background:var(--border)}
#logWrap .log-side-tools{display:flex;align-items:center;gap:7px;flex:0 0 auto}
#logWrap .log-search-field{display:flex;align-items:center;gap:6px;width:170px;height:30px;padding:0 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface3);color:var(--text4)}
#logWrap .log-search-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px rgba(124,58,237,.08)}
#logWrap .log-search-field span{font-size:15px;line-height:1}
#logWrap .log-search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:10px}
#logWrap .log-search-field input::placeholder{color:var(--text4)}
#logWrap .log-clear-button{display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface3);color:var(--text2);font-size:10px;font-weight:800;white-space:nowrap}
#logWrap .log-clear-button:hover{border-color:var(--accent);color:var(--accent);background:rgba(124,58,237,.06)}
#logWrap .log-card{margin:0;border:0;border-radius:0;background:var(--surface3);overflow:hidden}
#logWrap .log-body{height:514px;max-height:none!important;padding:3px 0!important;overflow:auto!important;background:var(--surface3)!important;scrollbar-color:rgba(124,58,237,.3) transparent;scrollbar-width:thin}
#logWrap .log-body::-webkit-scrollbar{width:7px}
#logWrap .log-body::-webkit-scrollbar-thumb{border:2px solid var(--surface3);border-radius:9px;background:rgba(124,58,237,.28)}
#logWrap .log-row{display:grid!important;grid-template-columns:72px 64px minmax(0,1fr) auto 20px!important;grid-template-rows:auto auto!important;align-items:center!important;column-gap:8px!important;min-width:0!important;min-height:44px!important;height:auto!important;margin:0!important;padding:6px 10px 6px 11px!important;border:0!important;border-bottom:1px solid rgba(124,58,237,.09)!important;border-left:3px solid transparent!important;border-radius:0!important;background:var(--surface3)!important;color:var(--text)!important;transition:background .12s,border-color .12s}
#logWrap .log-row:hover,#logWrap .log-row:focus{background:rgba(124,58,237,.045)!important}
#logWrap .log-row.log-signal{border-left-color:var(--accent)!important}
#logWrap .log-row.log-email{border-left-color:var(--blue)!important}
#logWrap .log-row.log-error{border-left-color:var(--red)!important;background:rgba(220,38,38,.045)!important}
#logWrap .log-row.log-scan{border-left-color:#14b8a6!important}
#logWrap .log-row.log-scan .ts{color:#000!important}
#logWrap .log-row.log-scan .tp{background:rgba(20,184,166,.11)!important;color:#0f766e!important}
#logWrap .log-row.log-scan .msg{color:var(--text)!important}
#logWrap .log-row.log-scan .evt{color:#168a2d!important}
#logWrap .log-row.log-scan .st{background:rgba(34,197,94,.1)!important;color:#168a2d!important}
#logWrap .log-row .ts{grid-column:1;grid-row:1 / span 2;display:block!important;min-width:0!important;margin:0!important;color:var(--text3)!important;font:700 9px/1 var(--mono)!important;white-space:nowrap!important}
#logWrap .log-row .tp{grid-column:2;grid-row:1 / span 2;display:inline-flex!important;align-items:center!important;justify-content:center!important;justify-self:start!important;width:max-content!important;min-width:48px!important;height:20px!important;padding:0 5px!important;border:0!important;border-radius:5px!important;background:rgba(124,58,237,.08)!important;color:var(--text2)!important;font:800 8px/1 var(--mono)!important;white-space:nowrap!important}
#logWrap .log-row.log-signal .tp{background:rgba(124,58,237,.12)!important;color:var(--accent)!important}
#logWrap .log-row.log-email .tp{background:rgba(59,130,246,.1)!important;color:var(--blue)!important}
#logWrap .log-row.log-error .tp{background:rgba(220,38,38,.1)!important;color:var(--red)!important}
#logWrap .log-row .pipe{display:none!important}
#logWrap .log-row .msg{grid-column:3;grid-row:1 / span 2;display:grid!important;grid-template-rows:auto auto!important;gap:3px!important;min-width:0!important;overflow:hidden!important;color:var(--text)!important}
#logWrap .log-row .mline{display:flex!important;align-items:center!important;gap:4px!important;min-width:0!important;overflow:hidden!important;white-space:nowrap!important}
#logWrap .log-row .dline{display:flex!important;align-items:center!important;gap:4px!important;min-width:0!important;min-height:12px!important;overflow:hidden!important;color:var(--text3)!important;font-size:9px!important;line-height:1.25!important;white-space:nowrap!important}
#logWrap .log-row .mline>*{min-width:0!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#logWrap .log-row .chip{display:inline-flex!important;align-items:center!important;min-height:19px!important;padding:0 5px!important;border:1px solid var(--border)!important;border-radius:4px!important;background:var(--surface2)!important;color:var(--text2)!important;font-size:8px!important;line-height:1!important;white-space:nowrap!important}
#logWrap .log-row .chip-sym{border-color:rgba(124,58,237,.25)!important;background:rgba(124,58,237,.09)!important;color:var(--accent)!important;font-weight:800!important}
#logWrap .log-row .evt{display:block!important;min-width:0!important;overflow:hidden!important;color:var(--text)!important;font-size:10px!important;font-weight:800!important;line-height:1.25!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#logWrap .log-row.log-signal .mline{justify-content:flex-start!important}
#logWrap .log-row.log-signal .mline .evt{flex:0 1 auto!important}
#logWrap .log-row .evt-golden{color:#168a2d!important}#logWrap .log-row .evt-death{color:#b4232d!important}
#logWrap .log-row .kd{color:var(--accent)!important;font:800 8px/1 var(--mono)!important;white-space:nowrap!important}
#logWrap .log-row .px{color:var(--green)!important;font:800 9px/1 var(--mono)!important;white-space:nowrap!important}
#logWrap .log-row .st{grid-column:4;grid-row:1 / span 2;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:46px!important;height:20px!important;padding:0 5px!important;border-radius:5px!important;background:rgba(34,197,94,.1)!important;color:#168a2d!important;font:800 8px/1 var(--mono)!important;white-space:nowrap!important}
#logWrap .log-row .st-err{background:rgba(220,38,38,.1)!important;color:var(--red)!important}#logWrap .log-row .st-px{background:rgba(124,58,237,.08)!important;color:var(--accent)!important}
#logWrap .log-row .log-expand{grid-column:5;grid-row:1 / span 2;display:grid;place-items:center;color:var(--text4);font-size:15px;line-height:1;transition:transform .12s,color .12s}
#logWrap .log-row.open .log-expand{transform:rotate(45deg);color:var(--accent)}
#logWrap .log-row .log-detail{display:none;grid-column:3 / 6;align-items:flex-start;gap:8px;margin-top:6px;padding:8px 9px;border-left:2px solid var(--accent);background:rgba(124,58,237,.05);color:var(--text3);font-size:9px;line-height:1.5}
#logWrap .log-row.open .log-detail{display:flex}
#logWrap .log-detail-index{flex:0 0 auto;color:var(--accent);font:800 9px/1 var(--mono)}
#logWrap .log-empty,#logWrap .log-loading{padding:30px 12px!important;color:var(--text3)!important;font-size:11px!important;text-align:center!important}
#logWrap .log-footer{display:flex;align-items:center;gap:14px;padding:9px 11px;border-top:1px solid var(--border);background:var(--surface2);color:var(--text3);font:700 8px/1 var(--mono)}
#logWrap .log-footer>span{display:inline-flex;align-items:center;gap:5px}
#logWrap .log-legend-dot{width:6px;height:6px;border-radius:50%;background:var(--green)}
#logWrap .log-dot-orange{background:var(--orange)}
#logWrap .log-dot-red{background:var(--red)}
#logWrap .log-count-label{margin-left:auto}#logWrap .log-count-label b{color:var(--text)}

/* Keep every activity-log timestamp legible in solid black across layouts. */
#logWrap .log-row .ts,
#logWrap .log-mobile-entry .lr-time,
#logWrap .log-mobile-entry .ll.lr .ts{color:#000!important}

@media(max-width:600px){
  #logWrap .log-activity-head{grid-template-columns:max-content minmax(0,1fr);grid-template-rows:36px 16px;align-items:center;column-gap:8px;row-gap:4px;padding:8px 12px}
  #logWrap .log-activity-copy{grid-column:1;grid-row:1;align-self:center}
  #logWrap .log-activity-copy h4{font-size:16px;white-space:nowrap}
  #logWrap .log-activity-actions{grid-column:2;grid-row:1;justify-self:end;gap:8px}
  #logWrap .log-icon-button{position:relative;width:36px;height:36px}
  #logWrap .log-latest-button{position:relative;height:36px;padding:0 9px}
  #logWrap .log-icon-button::after,
  #logWrap .log-latest-button::after{content:"";position:absolute;inset:-4px}
  #logWrap .log-next-cleanup{grid-column:2;grid-row:2;justify-self:end;font-size:10px;line-height:16px}
  #logWrap .log-controls{align-items:stretch;flex-direction:column;gap:7px;padding:7px 6px}
  #logWrap .log-tabs{width:100%;padding-bottom:1px}
  #logWrap .log-side-tools{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto}
  #logWrap .log-search-field{width:auto}
  #logWrap .log-body{height:calc(100svh - 318px);min-height:420px;max-height:620px!important}
  #logWrap .log-row{grid-template-columns:44px 42px minmax(0,1fr) 42px!important;grid-template-rows:22px 16px!important;column-gap:5px!important;min-height:44px!important;padding:5px 7px!important}
  #logWrap .log-row .ts{grid-column:1;grid-row:1 / span 2;font-size:8px!important}
  #logWrap .log-row .tp{grid-column:2;grid-row:1;min-width:38px!important;width:38px!important;height:19px!important;padding:0 3px!important;font-size:0!important}
  #logWrap .log-row .tp:first-letter{font-size:11px}
  #logWrap .log-row .msg{grid-column:3;grid-row:1 / span 2;grid-template-rows:22px 14px!important;gap:1px!important}
  #logWrap .log-row .mline{gap:3px!important}
  #logWrap .log-row .dline{font-size:8px!important;line-height:14px!important}
  #logWrap .log-row .evt{font-size:9px!important}
  #logWrap .log-row .chip{min-height:17px!important;padding:0 4px!important;font-size:7px!important}
  #logWrap .log-row .kd{font-size:7px!important}
  #logWrap .log-row .px{font-size:8px!important}
  #logWrap .log-row .st{grid-column:4;grid-row:1;min-width:38px!important;height:19px!important;padding:0 3px!important;font-size:7px!important}
  #logWrap .log-row .log-expand{display:none!important}
  #logWrap .log-row .log-detail{display:none!important}
  #logWrap .log-footer{gap:9px;padding:8px;font-size:7px}
  #logWrap .log-footer>span:nth-child(2),#logWrap .log-footer>span:nth-child(3){display:none}
}

@media(max-width:340px){
  #logWrap .log-activity-head{grid-template-columns:max-content minmax(0,1fr);grid-template-rows:20px 36px;padding:8px}
  #logWrap .log-activity-copy{grid-column:1;grid-row:1}
  #logWrap .log-next-cleanup{grid-column:2;grid-row:1;align-self:center}
  #logWrap .log-activity-actions{grid-column:1 / -1;grid-row:2}
}

:root[data-theme="dark"] #logWrap .log-next-cleanup{border:0;background:transparent;color:#000}
@media(max-width:390px){
  #logWrap .log-row{grid-template-columns:40px 36px minmax(0,1fr) 36px!important;column-gap:4px!important;padding-left:5px!important;padding-right:5px!important}
  #logWrap .log-row .tp{width:34px!important;min-width:34px!important}
  #logWrap .log-row .st{min-width:34px!important}
  #logWrap .log-row .evt{font-size:8px!important}
}

/* Mobile log final layout: one compact row, no hidden-detail space. */
@media(max-width:600px){
  #logWrap .log-body{padding:0!important;overflow-x:hidden!important;overflow-y:auto!important}
  #logWrap .log-mobile-entry{display:block!important;width:100%!important;min-width:0!important;height:34px!important;min-height:34px!important;margin:0!important;padding:0!important}
  #logWrap .log-mobile-entry .ll.lr{display:flex!important;align-items:center!important;box-sizing:border-box!important;width:100%!important;height:34px!important;min-height:34px!important;margin:0!important;padding:3px 7px!important;gap:4px!important;overflow:hidden!important;white-space:nowrap!important}
  #logWrap#logWrap .log-mobile-entry .ll.lr .ts{display:block!important;flex:0 0 auto!important;width:auto!important;min-width:31px!important;margin:0!important;font-size:9px!important;line-height:18px!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll.lr .tp{display:block!important;flex:0 0 48px!important;width:48px!important;min-height:18px!important;margin:0!important;font-size:8.5px!important;line-height:16px!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll.lr .pipe{display:none!important}
  #logWrap .log-mobile-entry .ll.lr .msg{display:flex!important;align-items:center!important;flex:1 1 auto!important;min-width:0!important;overflow:hidden!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll.lr .mline{display:flex!important;align-items:center!important;flex:1 1 auto!important;min-width:0!important;width:auto!important;height:auto!important;gap:4px!important;overflow:hidden!important;white-space:nowrap!important;flex-wrap:nowrap!important}
#logWrap .log-mobile-entry .ll.lr .dline{display:none!important}
  #logWrap .log-mobile-entry .ll.lr .mline>*{min-width:0!important;max-width:none!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  #logWrap .log-mobile-entry .ll.lr .st{flex:0 1 42px!important;min-width:0!important;max-width:42px!important;margin:0!important;font-size:7.5px!important;line-height:15px!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #logWrap .log-mobile-entry .lr-detail{display:none!important;height:0!important;margin:0!important;padding:0!important}
}

/* Signal rows: keep the event label compact so KD values sit immediately beside it. */
#logWrap .log-mobile-entry .ll.lr.log-signal .mline .evt,
#logWrap .log-row.log-signal .mline .evt{flex:0 0 auto!important}

/* Filtering hides the complete mobile row, including its fixed-height wrapper. */
#logWrap .log-row.log-filter-hidden,
#logWrap .log-mobile-entry.log-filter-hidden{display:none!important}

/* Activity log text scale: the controls persist this preference per browser. */
#logWrap.log-wrap{--log-font-scale:1.15}
#logWrap .log-font-button{font-size:17px;font-weight:800}
#logWrap .log-font-button:disabled{opacity:.38;cursor:not-allowed}
#logWrap .log-row .ts{font-size:var(--log-time-size,10.35px)!important}
#logWrap .log-row .tp{font-size:var(--log-type-size,9.2px)!important}
#logWrap .log-row .evt{font-size:var(--log-event-size,11.5px)!important}
#logWrap .log-row .chip{font-size:var(--log-chip-size,9.2px)!important}
#logWrap .log-row .kd{font-size:var(--log-kd-size,9.2px)!important}
#logWrap .log-row .px{font-size:var(--log-price-size,10.35px)!important}
#logWrap .log-row .st{font-size:var(--log-status-size,9.2px)!important}
#logWrap .log-row .dline{font-size:var(--log-detail-size,10.35px)!important}
@media(max-width:600px){
  #logWrap .log-mobile-entry .ll.lr .ts{font-size:var(--log-mobile-time-size,10.35px)!important}
  #logWrap .log-mobile-entry .ll.lr .tp{font-size:var(--log-mobile-type-size,9.78px)!important}
  #logWrap .log-mobile-entry .ll.lr .evt{font-size:var(--log-mobile-event-size,9.78px)!important}
  #logWrap .log-mobile-entry .ll.lr .chip{font-size:var(--log-mobile-chip-size,9.2px)!important}
  #logWrap .log-mobile-entry .ll.lr .kd{font-size:var(--log-mobile-kd-size,8.05px)!important}
  #logWrap .log-mobile-entry .ll.lr .px{font-size:var(--log-mobile-price-size,9.2px)!important}
  #logWrap .log-mobile-entry .ll.lr .st{font-size:var(--log-mobile-status-size,8.63px)!important}
}

/* Desktop rows keep a compact, stable information group on wide screens. */
@media(min-width:601px){
  #logWrap .log-row{
    grid-template-columns:max-content 64px minmax(0,max-content) auto 20px minmax(0,1fr)!important;
  }
  #logWrap .log-row .msg{width:max-content!important;max-width:100%!important;justify-self:start!important}
  #logWrap .log-row .mline{
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    column-gap:8px!important;
    width:max-content!important;
    max-width:100%!important;
  }
  #logWrap .log-row .log-field{
    display:flex!important;
    align-items:center!important;
    flex:0 1 auto!important;
    gap:4px!important;
    min-width:0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  #logWrap .log-row .log-field-empty{display:none!important}
  #logWrap .log-row .log-field>*{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  #logWrap .log-row .log-field-event .evt{width:auto!important}
  #logWrap .log-row .log-field-extra{justify-content:flex-start!important}
  #logWrap .log-row .st{
    justify-self:start!important;
    width:64px!important;
    min-width:64px!important;
    margin:0!important;
  }
  #logWrap .log-row:not(:has(.st)) .log-expand{grid-column:4!important}
  #logWrap .log-row .dline{
    box-sizing:border-box!important;
    padding-left:0!important;
  }
}

@media(min-width:601px) and (max-width:899px){
  #logWrap .log-row{grid-template-columns:max-content 64px minmax(0,1fr) 64px 20px!important}
  #logWrap .log-row .msg{width:100%!important}
  #logWrap .log-row .mline{width:100%!important;flex-wrap:wrap!important;row-gap:4px!important}
  #logWrap .log-row .log-field-extra{flex:1 1 100%!important;flex-wrap:wrap!important}
  #logWrap .log-row .st{justify-self:end!important}
}

@media(min-width:601px) and (max-width:699px){
  #logWrap .log-row .log-field-event{
    overflow:visible!important;
    white-space:normal!important;
  }
  #logWrap .log-row .log-field-event .evt{
    overflow:visible!important;
    overflow-wrap:anywhere!important;
    text-overflow:clip!important;
    white-space:normal!important;
  }
}

@media(min-width:900px){
  #logWrap .log-row .mline{
    column-gap:8px!important;
  }
  #logWrap .log-row .dline{padding-left:0!important}
}

@media(min-width:1280px){
  #logWrap .log-row .mline{
    column-gap:8px!important;
  }
  #logWrap .log-row .dline{padding-left:0!important}
}

/* 手机端日志芯片叠压修复(2026-08-25): .log-field 包装层在≤600px时从行内盒变透明,
   让芯片重新成为 mline 的直接弹性子项,恢复收缩/截断规则,消除相邻框互盖 */
@media(max-width:600px){
  #logWrap .log-mobile-entry .ll .mline > .log-field{display:contents!important}
}

/* ═══════════ 电脑端日志排版重设计 v2 (2026-08-25) ═══════════
   目标(肉眼标准): 五列固定网格、状态列统一右缘、行高一致、消息单行省略。
   仅作用于 ≥601px;不改动任何业务逻辑与手机端规则。 */
@media(min-width:601px){
  /* 行骨架: 时间 | 类型 | 消息(弹性) | 状态(右对齐) | 展开 */
  #logWrap .log-row{
    display:grid!important;
    grid-template-columns:94px 58px minmax(0,1fr) 96px 22px!important;
    grid-template-rows:30px!important;
    grid-auto-rows:30px!important;
    align-items:center!important;
    column-gap:10px!important;
    min-height:30px!important;
    height:30px!important;
    padding:0 10px!important;
    margin:0!important;
    border:0!important;
    border-bottom:1px solid rgba(124,58,237,.08)!important;
    border-radius:0!important;
  }
  #logWrap .log-row .ts{
    grid-column:1!important;grid-row:1!important;
    display:block!important;flex:none!important;width:auto!important;
    font-family:var(--mono);font-weight:600;color:#8a8a9a;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  #logWrap .log-row .tp{
    grid-column:2!important;grid-row:1!important;
    display:flex!important;flex:none!important;width:auto!important;
    align-items:center;justify-content:flex-start;
    white-space:nowrap;overflow:hidden;
  }
  #logWrap .log-row .pipe{display:none!important}
  #logWrap .log-row .msg{
    grid-column:3!important;grid-row:1!important;
    display:flex!important;flex:none!important;width:auto!important;
    align-items:center;min-width:0;
    overflow:hidden;white-space:nowrap;
  }
  #logWrap .log-row .st{
    grid-column:4!important;grid-row:1!important;
    justify-self:end!important;flex:none!important;
    max-width:96px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  #logWrap .log-row .log-expand{grid-column:5!important;grid-row:1!important}
  #logWrap .log-row .log-detail{display:none!important}
  /* 消息内部: 主行+副行合并为同一条横线, 芯片统一规格, 末尾省略 */
  #logWrap .log-row .mline{
    display:flex!important;flex:0 1 auto;align-items:center;gap:6px;
    min-width:0;overflow:hidden;white-space:nowrap!important;flex-wrap:nowrap!important;
  }
  #logWrap .log-row .mline>*{
    flex:0 1 auto;min-width:0;max-width:none;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  }
  #logWrap .log-row .mline .log-field{display:contents}
  #logWrap .log-row .dline{
    display:flex!important;flex:0 1 auto;align-items:center;gap:6px;
    min-width:0;margin-left:2px;overflow:hidden;
    font-size:10px;color:#9aa3b8;white-space:nowrap;
  }
  #logWrap .log-row .dline>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #logWrap .log-row .dline .det{flex:0 1 auto}
  /* 展开态: 行高放开, 详情铺满消息列 */
  #logWrap .log-row.open{grid-template-rows:30px auto!important;height:auto!important;min-height:30px!important}
  #logWrap .log-row.open .msg{grid-row:1!important}
  #logWrap .log-row.open .log-detail{
    display:flex!important;grid-column:3/6!important;grid-row:2!important;
    margin-top:2px;padding:6px 8px;
    background:rgba(124,58,237,.05);border-left:2px solid var(--accent);
  }
}
.kdr-push-select{width:100%;height:36px;padding:0 10px;border:1px solid #e0d9ef;border-radius:8px;background:#fbfaff;color:#4e4761;font-family:inherit;font-size:12px;font-weight:700;outline:none}.kdr-push-select:focus{border-color:#9876e9;box-shadow:0 0 0 3px rgba(113,55,245,.12)}.kdr-push-toggle-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #e8e4f0;border-radius:8px;background:#fbfaff}.kdr-rule-toggle{display:flex;align-items:center;gap:7px;color:#5f586d;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.kdr-rule-toggle input{width:16px;height:16px;accent-color:#7137f5}.kdr-push-toggle-row small{max-width:185px;color:#90879d;font-size:10px;line-height:1.45;text-align:right}
:root[data-theme="dark"] .kdr-push-select,:root[data-theme="dark"] .kdr-push-toggle-row{border-color:#37324e;background:#252236;color:#e8e2f0}:root[data-theme="dark"] .kdr-rule-toggle{color:#e8e2f0}:root[data-theme="dark"] .kdr-push-toggle-row small{color:#aaa0b4}
@media (max-width:720px){.kdr-push-toggle-row{display:block}.kdr-push-toggle-row small{display:block;max-width:none;margin:8px 0 0 23px;text-align:left}}
@media (max-width:700px){.kdr-rule-dialog .kdr-push-select{height:44px}}

/* KD Radar timeline: an interactive white chart surface inside each stock card. */
#kdrTools .kdr-view-switch button .kdr-timeline-test-mark{display:inline-grid!important;place-items:center;width:15px;height:15px;flex:0 0 15px;margin-left:1px;border:1px solid #e6c37a;border-radius:5px;background:#fff8e8;color:#b46b00;vertical-align:-3px}
#kdrTools .kdr-view-switch button .kdr-timeline-test-mark svg{display:block;width:10px;height:10px;stroke:currentColor}
:root[data-theme="dark"] #kdrTools .kdr-view-switch button .kdr-timeline-test-mark{border-color:#80662d;background:#332a17;color:#f2bd55}
#kdrPoolBody.kdr-timeline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:14px;padding:14px;background:#fdfcff}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-empty{grid-column:1/-1;min-height:220px;display:grid;place-items:center;color:#8e87a1;font-size:12px;font-weight:750;text-align:center}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:524px;border:1px solid #e7e1ef;border-top:3px solid #c9c2d6;border-radius:8px;background:#fff;box-shadow:0 6px 16px rgba(49,35,82,.05);overflow:visible}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-card.kdr-priority-dual{border-top-color:#9333ea}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-card.kdr-priority-weekly{border-top-color:#e2a114}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-card.kdr-priority-daily{border-top-color:#22a93b}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-card.kdr-priority-death{border-top-color:#d8352a}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-card.kdr-priority-manual{border-top-color:#7c3aed}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-card.is-managing{border-top-color:#8b5cf6;box-shadow:0 8px 22px rgba(113,55,245,.09)}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-card-head{display:flex;align-items:flex-start;gap:9px;min-height:82px;padding:12px 13px 9px}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-identity{min-width:0;flex:1 1 auto}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-title-row{display:flex;align-items:center;min-width:0;gap:4px}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-symbol{min-width:0;overflow:hidden;color:#302a3e;font-size:14px;font-weight:850;line-height:20px;text-overflow:ellipsis;white-space:nowrap}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-title-row .kdr-star-btn{width:18px;height:18px;flex:0 0 18px;margin:0;padding:0;color:#c9c2d6;font-size:16px;line-height:18px}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-title-row .kdr-star-btn.on{color:#f5a623}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-code{overflow:hidden;margin-top:3px;color:#71697d;font-family:var(--mono,"Roboto Mono",Consolas,monospace);font-size:9.5px;font-weight:700;line-height:14px;text-overflow:ellipsis;white-space:nowrap}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-market-row{display:flex;align-items:center;gap:7px;margin-top:6px;color:#948aa5;font-family:var(--mono,"Roboto Mono",Consolas,monospace);font-size:8.5px;font-weight:750;line-height:1;white-space:nowrap}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-market-row .kdr-card-market-tag{min-height:17px;padding:3px 5px;border-radius:4px;font-size:8px;line-height:11px}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-head-actions .kdr-card-status{min-width:0;max-width:118px;min-height:27px;padding:0 8px;overflow:hidden;font-size:9px;text-overflow:ellipsis}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-icon-button,#kdrPoolBody.kdr-timeline-grid .kdr-timeline-toolbar button{display:inline-grid;place-items:center;width:28px;height:28px;flex:0 0 28px;padding:0;border:1px solid #e3ddeb;border-radius:6px;background:#fff;color:#71697d;font-family:inherit;font-size:16px;font-weight:850;line-height:1;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-icon-button:hover,#kdrPoolBody.kdr-timeline-grid .kdr-timeline-toolbar button:hover,#kdrPoolBody.kdr-timeline-grid .kdr-timeline-toolbar button[aria-pressed="true"]{border-color:#bda8f6;background:#f5f1ff;color:#7137f5}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-icon-button[aria-expanded="true"]{border-color:#bda8f6;background:#f5f1ff;color:#7137f5}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 13px 10px;padding:8px;border:1px solid #ece7f2;border-radius:7px;background:#fbfaff}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-metric{min-width:0;padding:0 9px;border-right:1px solid #e8e3ee}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-metric:last-child{border-right:0}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-metric span{display:block;color:#938a9f;font-size:9px;font-weight:800}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-metric b{display:block;overflow:hidden;margin-top:3px;color:#302a3e;font-family:var(--mono,"Roboto Mono",Consolas,monospace);font-size:18px;font-weight:850;line-height:1.05;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-metric.k b{color:#d96100}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-metric.d b{color:#176fb5}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-metric.j b{color:#0d8f87}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-chart-shell{position:relative;display:flex;flex:1 1 auto;flex-direction:column;min-height:0;margin:0 13px 13px;border:1px solid #e7e1ef;border-radius:8px;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 5px 14px rgba(49,35,82,.05);overflow:visible}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-toolbar{display:flex;align-items:center;gap:5px;min-height:39px;padding:5px 7px;border-bottom:1px solid #eeeaf3;background:#fff}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-periods{display:inline-flex;align-items:center;gap:2px}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-periods button{width:auto;min-width:35px;padding:0 8px;font-size:9px}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-periods button.active{border-color:#7137f5;background:#7137f5;color:#fff;box-shadow:0 2px 7px rgba(113,55,245,.24)}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-toolbar-divider{width:1px;height:18px;margin:0 1px;background:#e7e1ef}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-zoom-readout{min-width:34px;color:#8d849e;font-family:var(--mono,"Roboto Mono",Consolas,monospace);font-size:8px;font-weight:750;text-align:center;font-variant-numeric:tabular-nums}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-toolbar-spacer{flex:1 1 auto}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-canvas-stage{position:relative;height:332px;min-height:220px;background:#fff}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-canvas{display:block;width:100%;height:100%;outline:0;cursor:grab;touch-action:none}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-canvas:focus-visible{box-shadow:inset 0 0 0 2px #a98cf8}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-canvas.is-dragging{cursor:grabbing}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-hover{position:absolute;top:8px;left:10px;display:none;pointer-events:none;padding:4px 6px;border:1px solid #e3ddec;border-radius:4px;background:rgba(255,255,255,.97);box-shadow:0 4px 12px rgba(49,35,82,.12);color:#51495e;font-family:var(--mono,"Roboto Mono",Consolas,monospace);font-size:8px;font-weight:700;line-height:1.35;white-space:nowrap}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-hover.show{display:block}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-chart-footer{display:flex;align-items:center;gap:9px;min-height:29px;padding:0 9px;border-top:1px solid #eeeaf3;background:#fff;color:#8d849e;font-size:8px;font-weight:750}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-key{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-key i{display:block;width:12px;height:2px;border-radius:1px;background:#71697d}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-key.k i{background:var(--kdr-timeline-k,#ff6f00)}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-key.d i{background:var(--kdr-timeline-d,#1e88e5)}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-key.j i{background:var(--kdr-timeline-j,#00d1c3)}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-key.cross i{width:7px;height:7px;border-radius:50%;background:#168a2d}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-footer-spacer{flex:1 1 auto}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-chart-footer time{font-family:var(--mono,"Roboto Mono",Consolas,monospace);font-size:8px;font-variant-numeric:tabular-nums;white-space:nowrap}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings{position:absolute;top:45px;right:8px;z-index:30;display:none;width:332px;max-width:calc(100vw - 46px);max-height:min(590px,calc(100vh - 80px));overflow:auto;overscroll-behavior:contain;border:1px solid #ddd5ea;border-radius:8px;background:#fff;box-shadow:0 14px 32px rgba(49,35,82,.18),0 2px 7px rgba(49,35,82,.08);color:#51495e}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings.is-open{display:block}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings-head{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 13px 10px;border-bottom:1px solid #eeeaf3;background:#fff}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings-head strong{display:block;color:#3d3548;font-size:11px}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings-head small{display:block;margin-top:3px;color:#968da0;font-size:8px}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-close{display:grid;place-items:center;width:23px;height:23px;padding:0;border:1px solid #e5deed;border-radius:5px;background:#fff;color:#81788e;font-size:16px;line-height:1;cursor:pointer}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-close:hover{border-color:#d9cdf7;background:#f4efff;color:#5b2cc4}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings-section{padding:11px 13px 12px;border-bottom:1px solid #f0ecf5}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings-section h4{margin:0 0 9px;color:#6c6278;font-size:9px;font-weight:850}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings-grid label{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;color:#746c7e;font-size:9px;font-weight:750}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings-grid label>span{min-width:0}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings-grid input[type="number"],#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings-grid select{width:76px;height:25px;box-sizing:border-box;padding:0 6px;border:1px solid #e4deee;border-radius:5px;background:#fbfaff;color:#51495e;font-family:var(--mono,"Roboto Mono",Consolas,monospace);font-size:9px;font-weight:700}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings-grid select{width:88px;font-family:inherit}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings-grid input[type="color"]{width:34px;height:25px;padding:2px;border:1px solid #e4deee;border-radius:5px;background:#fff;cursor:pointer}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings-grid input[type="checkbox"]{width:15px;height:15px;margin:0;accent-color:#7137f5}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings-grid input[type="range"]{width:76px;margin:0;accent-color:#7137f5}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings-actions{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px 13px 11px;background:#fbfaff}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings-actions>div{display:flex;align-items:center;gap:6px}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings-actions button{height:26px;padding:0 9px;border:1px solid #ded5ee;border-radius:5px;background:#fff;color:#6743b6;font-family:inherit;font-size:9px;font-weight:850;cursor:pointer}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings-actions button.primary{border-color:#7137f5;background:#7137f5;color:#fff;box-shadow:0 2px 6px rgba(113,55,245,.24)}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings-actions button:disabled{cursor:wait;opacity:.68}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-save-status{min-width:0;color:#93899f;font-size:8px;font-weight:750;white-space:nowrap}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-save-status::before{content:"";display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:#c9c2d6;vertical-align:-1px}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-save-status.is-dirty{color:#a66a00}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-save-status.is-dirty::before{background:#e2a114}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-save-status.is-saving{color:#7154bd}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-save-status.is-saving::before{background:#8b5cf6}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-save-status.is-saved{color:#168a2d}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-save-status.is-saved::before{background:#22a93b}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-save-status.is-error{color:#c2322b}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-save-status.is-error::before{background:#d8352a}

/* This is a card-panel enlargement, not use of the browser Fullscreen API. */
#kdrPoolBody.kdr-timeline-grid.kdr-timeline-expanded{position:relative;grid-template-columns:1fr;min-height:min(82vh,900px)}
#kdrPoolBody.kdr-timeline-grid.kdr-timeline-expanded .kdr-timeline-card:not(.is-expanded){visibility:hidden;pointer-events:none}
#kdrPoolBody.kdr-timeline-grid.kdr-timeline-expanded .kdr-timeline-card.is-expanded{position:absolute;inset:14px;z-index:8;min-height:0;height:auto;box-shadow:0 18px 44px rgba(49,35,82,.16)}
#kdrPoolBody.kdr-timeline-grid.kdr-timeline-expanded .kdr-timeline-card.is-expanded .kdr-timeline-chart-shell{flex:1 1 auto;min-height:0}
#kdrPoolBody.kdr-timeline-grid.kdr-timeline-expanded .kdr-timeline-card.is-expanded .kdr-timeline-canvas-stage{height:auto;min-height:280px;flex:1 1 auto}
#kdrPoolBody.kdr-timeline-grid.kdr-timeline-expanded .kdr-timeline-card.is-expanded .kdr-timeline-settings{top:45px;bottom:8px;max-height:none}

:root[data-theme="dark"] #kdrPoolBody.kdr-timeline-grid{background:#1a1828}
:root[data-theme="dark"] #kdrPoolBody.kdr-timeline-grid .kdr-timeline-card{border-color:#2a2740;background:#1e1c2c;box-shadow:0 6px 18px rgba(0,0,0,.2)}
:root[data-theme="dark"] #kdrPoolBody.kdr-timeline-grid .kdr-timeline-symbol{color:#f2edf7}
:root[data-theme="dark"] #kdrPoolBody.kdr-timeline-grid .kdr-timeline-metrics{border-color:#37324e;background:#252236}
:root[data-theme="dark"] #kdrPoolBody.kdr-timeline-grid .kdr-timeline-metric{border-color:#37324e}
:root[data-theme="dark"] #kdrPoolBody.kdr-timeline-grid .kdr-timeline-metric b{color:#f2edf7}
:root[data-theme="dark"] #kdrPoolBody.kdr-timeline-grid .kdr-timeline-chart-shell{border-color:#37324e}

/* Keep the test marker visible when compact mobile mode hides view labels. */
body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-view-switch button .kdr-timeline-test-mark{display:inline-grid!important;place-items:center;width:15px;height:15px;flex:0 0 15px;margin-left:1px;border:1px solid #e6c37a;border-radius:5px;background:#fff8e8;color:#b46b00;vertical-align:-3px}
body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-view-switch button{position:relative;white-space:nowrap}
body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-view-switch button .kdr-timeline-test-mark{position:absolute;top:-6px;right:-4px;z-index:2;width:12px;height:12px;min-width:12px;min-height:12px;margin:0;flex:0 0 12px;border-radius:4px;pointer-events:none}

@media(max-width:1180px){#kdrPoolBody.kdr-timeline-grid{grid-template-columns:1fr}}
@media(max-width:700px){
  .kdr-tools .kdr-view-switch{width:100%!important}
  .kdr-tools .kdr-view-switch button{flex:1 1 33.333%!important;min-width:0!important}
  #kdrPoolBody.kdr-timeline-grid{gap:10px;padding:10px 0;background:transparent}
  #kdrPoolBody.kdr-timeline-grid .kdr-timeline-card{min-height:0;border-left:0;border-right:0;border-radius:0;box-shadow:none}
  #kdrPoolBody.kdr-timeline-grid .kdr-timeline-card-head{min-height:78px;padding:11px 11px 8px}
  #kdrPoolBody.kdr-timeline-grid .kdr-timeline-symbol{font-size:13px}
  #kdrPoolBody.kdr-timeline-grid .kdr-timeline-head-actions{gap:4px}
  #kdrPoolBody.kdr-timeline-grid .kdr-timeline-head-actions .kdr-card-status{max-width:100px;min-height:25px;font-size:8.5px}
  #kdrPoolBody.kdr-timeline-grid .kdr-timeline-metrics{margin:0 10px 9px;padding:7px}
  #kdrPoolBody.kdr-timeline-grid .kdr-timeline-metric{padding:0 7px}
  #kdrPoolBody.kdr-timeline-grid .kdr-timeline-metric b{font-size:17px}
  #kdrPoolBody.kdr-timeline-grid .kdr-timeline-chart-shell{margin:0 10px 10px}
  #kdrPoolBody.kdr-timeline-grid .kdr-timeline-canvas-stage{height:278px}
  #kdrPoolBody.kdr-timeline-grid .kdr-timeline-zoom-readout{display:none}
  #kdrPoolBody.kdr-timeline-grid .kdr-timeline-chart-footer{gap:7px;padding:0 8px}
  #kdrPoolBody.kdr-timeline-grid .kdr-timeline-settings{position:fixed;top:64px;right:12px;z-index:10060;width:min(332px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 80px)}
  #kdrPoolBody.kdr-timeline-grid.kdr-timeline-expanded{min-height:calc(100dvh - 146px);padding:8px}
  #kdrPoolBody.kdr-timeline-grid.kdr-timeline-expanded .kdr-timeline-card.is-expanded{inset:8px;border:1px solid #e7e1ef;border-radius:8px;box-shadow:0 14px 34px rgba(49,35,82,.16)}
  #kdrPoolBody.kdr-timeline-grid.kdr-timeline-expanded .kdr-timeline-card.is-expanded .kdr-timeline-canvas-stage{min-height:230px}
  #kdrPoolBody.kdr-timeline-grid.kdr-timeline-expanded .kdr-timeline-card.is-expanded .kdr-timeline-settings{position:absolute;top:45px;right:8px;bottom:8px;width:min(332px,calc(100% - 16px));max-width:calc(100% - 16px);max-height:none}
}
@media(max-width:390px){#kdrPoolBody.kdr-timeline-grid .kdr-timeline-head-actions .kdr-card-status{display:none}#kdrPoolBody.kdr-timeline-grid .kdr-timeline-chart-footer{gap:6px;font-size:7.5px}#kdrPoolBody.kdr-timeline-grid .kdr-timeline-chart-footer time{display:none}}


/* ── gauge-v4 20260830: 亮暗填充底态/点亮段/区间徽章/分界脉冲 (KD重设计效果图 v4 定稿) ── */
.kdr-g4-dim,.kdr-g4-fill{fill:none;stroke-width:12}
.kdr-g4-dim{stroke-opacity:.05}
.kdr-g4-dim.z0{stroke:#22c55e}.kdr-g4-dim.z1{stroke:#facc15}.kdr-g4-dim.z2{stroke:#ef4444}
.kdr-g4-fill.z0{stroke:#22c55e}.kdr-g4-fill.z1{stroke:#facc15}.kdr-g4-fill.z2{stroke:#ef4444}
.kdr-g4-ticks{fill:none;stroke:var(--text3);stroke-width:1.4}
.kdr-g4-ping{fill:none;stroke-width:1.6}
.kdr-g4-ping.z0{stroke:#22c55e}.kdr-g4-ping.z1{stroke:#facc15}.kdr-g4-ping.z2{stroke:#ef4444}
.kdr-g4-badge{fill-opacity:.14;stroke-opacity:.4}
.kdr-g4-badge.z0{fill:#22c55e;stroke:#22c55e}.kdr-g4-badge.z1{fill:#facc15;stroke:#facc15}.kdr-g4-badge.z2{fill:#ef4444;stroke:#ef4444}
.kdr-g4-badge-text{font-size:9.5px;font-weight:800}
.kdr-g4-badge-text.z0{fill:#168a2d}.kdr-g4-badge-text.z1{fill:#a66a00}.kdr-g4-badge-text.z2{fill:#c2322b}
.kdr-cycle-panel.position-neutral .kdr-gauge-value{fill:#a66a00}
#kdrPoolBody.kdr-density-compact .kdr-g4-badge-text{font-size:8.5px}
:root[data-theme="dark"] .kdr-g4-dim.z0{stroke:#4ade80}:root[data-theme="dark"] .kdr-g4-dim.z1{stroke:#facc15}:root[data-theme="dark"] .kdr-g4-dim.z2{stroke:#f87171}
:root[data-theme="dark"] .kdr-g4-fill.z0{stroke:#4ade80}:root[data-theme="dark"] .kdr-g4-fill.z1{stroke:#facc15}:root[data-theme="dark"] .kdr-g4-fill.z2{stroke:#f87171}
:root[data-theme="dark"] .kdr-g4-ping.z0{stroke:#4ade80}:root[data-theme="dark"] .kdr-g4-ping.z1{stroke:#facc15}:root[data-theme="dark"] .kdr-g4-ping.z2{stroke:#f87171}
:root[data-theme="dark"] .kdr-g4-badge.z0{fill:#4ade80;stroke:#4ade80}:root[data-theme="dark"] .kdr-g4-badge.z1{fill:#facc15;stroke:#facc15}:root[data-theme="dark"] .kdr-g4-badge.z2{fill:#f87171;stroke:#f87171}
:root[data-theme="dark"] .kdr-g4-badge-text.z0{fill:#4ade80}:root[data-theme="dark"] .kdr-g4-badge-text.z1{fill:#eab308}:root[data-theme="dark"] .kdr-g4-badge-text.z2{fill:#f87171}
:root[data-theme="dark"] .kdr-cycle-panel.position-neutral .kdr-gauge-value{fill:#eab308}
@media(max-width:700px){#kdrPoolBody[data-mobile-columns="2"] .kdr-g4-badge-text{font-size:8px}}

/* Mobile radar workspace: match the main page's 20px content gutter.
   Remove only the radar-specific second gutter; keep card-grid inner spacing. */
@media(max-width:700px){
  body.kd-radar-open .content{padding:20px 20px 88px!important}
  body.kd-radar-open #kdRadarPage .kdr-content{padding:0 0 26px!important}
  body.kd-radar-open #kdRadarPage .kdr-pool{width:100%;margin-left:0;margin-right:0}
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-radar-grid{padding-left:8px!important;padding-right:8px!important}
}
/* 徽章 CJK 回退字体安全余量: max-content 测量偏窄时防末字被裁 */
.kdr-card-status{padding:0 12px}
/* 数值按区间着色: 需在 :root 通用规则之后显式声明(同特异性后者胜) */
.kdr-cycle-panel.position-oversold .kdr-gauge-value{fill:#168a2d}
.kdr-cycle-panel.position-neutral .kdr-gauge-value{fill:#a66a00}
.kdr-cycle-panel.position-overbought .kdr-gauge-value{fill:#c2322b}
:root[data-theme="dark"] .kdr-cycle-panel.position-oversold .kdr-gauge-value{fill:#4ade80}
:root[data-theme="dark"] .kdr-cycle-panel.position-overbought .kdr-gauge-value{fill:#f87171}

/* Final mobile KD Radar state: collapse secondary tools behind one full-width toggle. */
@media (max-width:700px){
  body.kd-radar-open,
  body.kd-radar-open .content,
  body.kd-radar-open #kdRadarPage,
  body.kd-radar-open .kdr-content{
    min-width:0;
    max-width:100%;
    overflow-x:hidden;
  }

  body.kd-radar-open #kdRadarPage .kdr-system-row,
  body.kd-radar-open #kdRadarPage .kdr-dist,
  body.kd-radar-open #kdRadarPage .kdr-filter-context{
    display:none!important;
  }

  body.kd-radar-open #kdRadarPage .kdr-stats-row{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;
    min-width:0;
    width:100%;
    margin-top:8px!important;
    padding:0!important;
    overflow:visible!important;
  }
  body.kd-radar-open #kdRadarPage .kdr-stat{
    min-width:0!important;
    width:auto!important;
    min-height:56px!important;
    padding:6px 5px!important;
  }
  body.kd-radar-open #kdRadarPage .kdr-stat-label{font-size:10px!important;line-height:1.2}
  body.kd-radar-open #kdRadarPage .kdr-stat-label i{display:inline!important;margin:0 0 0 2px!important;font-size:9px!important}
  body.kd-radar-open #kdRadarPage .kdr-stat-value{margin-top:2px!important}
  body.kd-radar-open #kdRadarPage .kdr-stat-value b{font-size:21px!important}

  body.kd-radar-open #kdRadarPage .kdr-pool-bar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    grid-template-rows:auto auto auto auto;
    align-items:center;
    min-width:0;
    width:100%;
    gap:5px;
    padding:6px 0!important;
  }
  body.kd-radar-open #kdRadarPage .kdr-pool-title{grid-column:1;grid-row:1;min-width:0}
  body.kd-radar-open #kdRadarPage .kdr-flow-help{grid-column:2;grid-row:1;margin-left:0}
  body.kd-radar-open #kdRadarPage .kdr-add-group{grid-column:3;grid-row:1;margin-left:0;min-width:34px;width:34px;height:34px!important;min-height:34px!important;padding:0!important;font-size:0}
  body.kd-radar-open #kdRadarPage .kdr-add-group::before{content:'+';font-size:19px;line-height:1}
  body.kd-radar-open #kdRadarPage .kdr-tabs{
    grid-column:1/-1;
    grid-row:2;
    min-width:0;
    width:100%;
    height:36px!important;
    box-sizing:border-box;
    max-width:100%;
    overflow-x:auto;
  }

  body.kd-radar-open #kdRadarPage #kdrMobileToolsToggle{
    display:inline-flex!important;
    grid-column:1/-1!important;
    grid-row:3!important;
    align-items:center;
    justify-content:center;
    width:100%;
    min-width:0;
    min-height:36px;
    height:36px;
    box-sizing:border-box;
    padding:0 12px;
    border:1px solid #ded3fb;
    border-radius:8px;
    background:#faf7ff;
    color:#7137f5;
    font:800 11px/1 inherit;
    white-space:nowrap;
    cursor:pointer;
  }
  body.kd-radar-open #kdRadarPage #kdrMobileToolsToggle span:last-child{overflow:hidden;text-overflow:ellipsis}

  body.kd-radar-open #kdRadarPage #kdrTools{
    display:none!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-template-rows:auto auto auto!important;
    align-items:stretch;
    gap:8px!important;
    grid-column:1/-1!important;
    grid-row:4!important;
    min-width:0;
    width:100%;
    margin:0;
  }
  body.kd-radar-open #kdRadarPage #kdrTools > .kdr-global-settings,
  body.kd-radar-open #kdRadarPage #kdrTools > .kdr-manage-toggle,
  body.kd-radar-open #kdRadarPage #kdrTools > .kdr-layout-button,
  body.kd-radar-open #kdRadarPage #kdrTools > .kdr-sort-pair{
    display:none!important;
  }
  body.kd-radar-open #kdRadarPage #kdrTools.mobile-expanded{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:auto auto auto auto auto auto!important;
    align-items:stretch;
    gap:8px!important;
  }
  body.kd-radar-open #kdRadarPage #kdrTools > .kdr-search-box{
    grid-column:1/-1!important;
    grid-row:1!important;
    width:100%;
    min-width:0;
  }
  body.kd-radar-open #kdRadarPage #kdrTools > .kdr-view-switch{
    display:flex!important;
    grid-column:1/-1!important;
    grid-row:2!important;
    width:100%;
    min-width:0;
    height:42px;
    margin:0!important;
  }
  body.kd-radar-open #kdRadarPage #kdrTools > .kdr-view-switch button{
    flex:1 1 33.333%!important;
    min-width:0!important;
    height:34px;
    padding:0 6px;
    font-size:10.5px;
  }
  body.kd-radar-open #kdRadarPage #kdrTools > .kdr-view-switch button span{display:inline!important}
  body.kd-radar-open #kdRadarPage #kdrTools > .kdr-refresh-kd{
    display:inline-flex!important;
    grid-column:1/-1!important;
    grid-row:3!important;
    align-items:center;
    justify-content:center;
    width:100%;
    min-width:0;
    min-height:42px;
    height:42px;
  }
  body.kd-radar-open #kdRadarPage #kdrTools.mobile-expanded > .kdr-global-settings,
  body.kd-radar-open #kdRadarPage #kdrTools.mobile-expanded > .kdr-manage-toggle,
  body.kd-radar-open #kdRadarPage #kdrTools.mobile-expanded > .kdr-layout-button{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-width:0!important;
    width:100%!important;
    min-height:42px;
    height:42px;
    box-sizing:border-box;
    padding:0 8px;
    font-size:11px!important;
    line-height:1;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  body.kd-radar-open #kdRadarPage #kdrTools.mobile-expanded > .kdr-global-settings{display:inline-flex!important;grid-column:1/-1!important;grid-row:3!important}
  body.kd-radar-open #kdRadarPage #kdrTools.mobile-expanded > .kdr-manage-toggle{display:inline-flex!important;grid-column:1!important;grid-row:4!important}
  body.kd-radar-open #kdRadarPage #kdrTools.mobile-expanded > .kdr-layout-button{display:inline-flex!important;grid-column:2!important;grid-row:4!important}
  body.kd-radar-open #kdRadarPage #kdrTools > .kdr-sort-pair{
    display:none!important;
    grid-column:1/-1!important;
    grid-row:5!important;
    grid-template-columns:auto minmax(0,1fr) minmax(0,1fr)!important;
    gap:7px;
    width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  body.kd-radar-open #kdRadarPage #kdrTools.mobile-expanded > .kdr-sort-pair{display:grid!important}
  body.kd-radar-open #kdRadarPage #kdrTools > .kdr-sort-pair .kdr-sort-heading,
  body.kd-radar-open #kdRadarPage #kdrTools > .kdr-sort-pair .kdr-sort-field{
    min-width:0;
    min-height:42px;
    height:42px;
  }
  body.kd-radar-open #kdRadarPage #kdrTools > .kdr-sort-pair .kdr-sort-field select{max-width:100%;min-width:0}
  body.kd-radar-open #kdRadarPage #kdrTools.mobile-expanded > .kdr-refresh-kd{grid-row:6!important}

  body.kd-radar-open #kdRadarPage #kdrPoolBody{
    min-width:0;
    max-width:100%;
    overflow-x:hidden;
    border-radius:10px;
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-radar-grid{
    grid-template-columns:repeat(var(--kdr-card-mobile-columns,1),minmax(0,1fr))!important;
    min-width:0;
    max-width:100%;
    overflow-x:hidden;
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-radar-grid .kdr-radar-card{
    min-width:0;
    max-width:100%;
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody[data-mobile-columns="2"] .kdr-radar-card-head{
    min-width:0;
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody .kdr-card-identity,
  body.kd-radar-open #kdRadarPage #kdrPoolBody .kdr-symbol-cell,
  body.kd-radar-open #kdRadarPage #kdrPoolBody .kdr-card-head-actions,
  body.kd-radar-open #kdRadarPage #kdrPoolBody .kdr-card-trade-foot{
    min-width:0;
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody .kdr-sym-main,
  body.kd-radar-open #kdRadarPage #kdrPoolBody .kdr-card-code,
  body.kd-radar-open #kdRadarPage #kdrPoolBody .kdr-data-asof{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  body.kd-radar-open #kdRadarPage #kdrPoolBody .kdr-list-view{
    min-width:0;
    max-width:100%;
    overflow-x:hidden!important;
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody .kdr-list-head,
  body.kd-radar-open #kdRadarPage #kdrPoolBody .kdr-list-item,
  body.kd-radar-open #kdRadarPage #kdrPoolBody .kdr-list-row{
    min-width:0!important;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }

  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid{
    grid-template-columns:1fr!important;
    min-width:0;
    max-width:100%;
    overflow-x:hidden;
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-card,
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-chart-shell,
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-canvas-stage{
    min-width:0;
    max-width:100%;
  }
  body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-canvas-stage{height:278px;min-height:230px}

  :root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrMobileToolsToggle{
    border-color:#514675;
    background:#25213a;
    color:#c99dff;
  }
}

/* Mobile KD Radar header: one compact toolbar, with automatic monitoring hidden from the UI. */
.header-theme-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  padding:0;
  border:1px solid rgba(139,92,246,.2);
  border-radius:8px;
  background:rgba(139,92,246,.1);
  color:var(--accent);
  font-size:16px;
  cursor:pointer;
  transition:all .2s;
}
.header-icon-btn{flex:0 0 auto}

@media (max-width:640px){
  body.kd-radar-open .hdr{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    min-height:48px;
    height:48px;
    padding:6px 8px;
    gap:6px;
    background:rgba(255,255,255,.94);
    box-shadow:0 1px 0 rgba(45,36,64,.05);
  }
  body.kd-radar-open .hdr-l{
    display:flex;
    flex:1 1 auto;
    align-items:center;
    min-width:0;
    gap:5px;
  }
  body.kd-radar-open .logo{
    display:flex;
    flex:1 1 auto;
    align-items:center;
    min-width:0;
    overflow:visible;
    color:var(--text);
    font-size:12px;
    letter-spacing:0;
    white-space:nowrap;
  }
  body.kd-radar-open .logo-wordmark{
    overflow:hidden;
    min-width:0;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  body.kd-radar-open .logo-version{display:none}
  body.kd-radar-open .version-help{
    width:32px;
    min-width:32px;
    height:32px;
    min-height:32px;
    margin-left:4px;
    border-radius:50%;
    font-size:12px;
    flex:0 0 32px;
  }
  body.kd-radar-open .event-calendar-launch,
  body.kd-radar-open .header-icon-btn,
  body.kd-radar-open .hdr-btn.header-icon-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    min-width:32px;
    height:32px;
    min-height:32px;
    padding:0;
    border-radius:8px;
  }
  body.kd-radar-open .event-calendar-launch{
    flex:0 0 32px;
    font-size:0;
    line-height:1;
  }
  body.kd-radar-open .event-calendar-launch .event-calendar-label{display:none}
  body.kd-radar-open .event-calendar-launch .event-calendar-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:16px;
    height:16px;
    flex:0 0 16px;
    line-height:1;
  }
  body.kd-radar-open .hdr-r{
    display:flex!important;
    flex:0 0 auto;
    align-items:center;
    gap:4px;
  }
  body.kd-radar-open #userInfo{display:none}
  body.kd-radar-open .header-logout-btn svg{width:16px;height:16px}
  :root[data-theme="dark"] body.kd-radar-open .hdr{
    background:rgba(17,17,25,.95);
    box-shadow:0 1px 0 rgba(255,255,255,.03);
  }
}

@media (max-width:390px){
  body.kd-radar-open .hdr{gap:4px;padding-left:6px;padding-right:6px}
  body.kd-radar-open .hdr-l{gap:4px}
  body.kd-radar-open .hdr-r{gap:3px}
}

/* Mobile pool scheme B: one purple-white data table connected to one tool workspace. */
.kdr-mobile-summary-label{display:none}
.kdr-pool-title-mark{display:inline-block;width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#7137f5}

@media (max-width:700px){
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-stats-row{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%;
    margin:0!important;
    padding:0 8px 8px!important;
    overflow:hidden!important;
    border:1px solid #ded3fa!important;
    border-bottom-color:#e8e1f4!important;
    border-radius:10px 10px 0 0!important;
    background:#f8f6fc!important;
    box-shadow:none!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-mobile-summary-label{
    display:flex;
    grid-column:1/-1;
    align-items:center;
    justify-content:space-between;
    min-height:30px;
    margin:0 -8px 1px;
    padding:0 10px;
    border-bottom:1px solid #ded3fa;
    background:#f6f2ff;
    color:#5524c7;
    font-size:10px;
    font-weight:900;
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-mobile-summary-label small{
    color:#8879a4;
    font-size:8px;
    font-weight:750;
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-mobile-summary-label b{
    color:#7137f5;
    font-size:9px;
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-stat,
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-stat[data-signal]{
    display:flex!important;
    align-items:center;
    justify-content:center;
    min-width:0!important;
    min-height:58px!important;
    margin:0!important;
    padding:8px 2px 7px!important;
    overflow:hidden;
    border:1px solid var(--kdr-state-border,#ded3fa)!important;
    border-radius:7px!important;
    background:var(--kdr-state-bg,#fff)!important;
    box-shadow:0 3px 7px var(--kdr-state-shadow,rgba(73,47,126,.07))!important;
    color:var(--kdr-state-strong,#5524c7)!important;
    text-align:center;
    transform:none!important;
    outline:none;
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-stat:focus-visible{
    outline:2px solid var(--kdr-state-strong,#7137f5);
    outline-offset:1px;
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-stat-label,
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-stat-label i{
    color:var(--kdr-state-text,#6f627d)!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-stat-value b{
    color:var(--kdr-state-strong,#5524c7)!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-stat-value small{
    color:var(--kdr-state-text,#887e93)!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-stat[data-signal="daily_golden_pushed"]{
    --kdr-state-bg:#f3fcf5;
    --kdr-state-border:#c6e8d0;
    --kdr-state-text:#16783a;
    --kdr-state-strong:#16783a;
    --kdr-state-shadow:rgba(22,120,58,.08);
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-stat[data-signal="weekly_golden_pushed"]{
    --kdr-state-bg:#f3fcf5;
    --kdr-state-border:#c6e8d0;
    --kdr-state-text:#16783a;
    --kdr-state-strong:#16783a;
    --kdr-state-shadow:rgba(22,120,58,.08);
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-stat[data-signal="dual_golden_pushed"]{
    --kdr-state-bg:#faf5ff;
    --kdr-state-border:#dbc8f2;
    --kdr-state-text:#7135ae;
    --kdr-state-strong:#7135ae;
    --kdr-state-shadow:rgba(113,53,174,.08);
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-stat[data-signal="daily_death"]{
    --kdr-state-bg:#fff5f4;
    --kdr-state-border:#f0c9c6;
    --kdr-state-text:#b6322e;
    --kdr-state-strong:#b6322e;
    --kdr-state-shadow:rgba(182,50,46,.08);
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-stat.is-selected{
    background:var(--kdr-state-bg,#f6f2ff)!important;
    border-color:var(--kdr-state-strong,#7137f5)!important;
    box-shadow:inset 0 -3px 0 var(--kdr-state-strong,#7137f5),0 0 0 2px var(--kdr-state-shadow,rgba(113,55,245,.14)),0 4px 9px var(--kdr-state-shadow,rgba(113,55,245,.14))!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-pool{
    width:100%;
    margin-top:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-pool-bar{
    position:static!important;
    width:100%;
    margin:0 0 8px!important;
    padding:8px 9px 9px!important;
    overflow:visible;
    border:1px solid #ded3fa!important;
    border-top:0!important;
    border-radius:0 0 10px 10px!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-pool-heading{
    display:flex!important;
    align-items:center;
    min-width:0;
    gap:6px;
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-pool-title{
    display:flex;
    align-items:center;
    gap:7px;
    color:#292335!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-tabs,
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-search-input-row,
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-view-switch{
    border-color:#ded3fa!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-tab.active,
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-view-switch button.active{
    border-color:#7137f5!important;
    background:#7137f5!important;
    color:#fff!important;
    box-shadow:0 2px 6px rgba(113,55,245,.18)!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-add-group,
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-refresh-kd,
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-global-settings{
    border-color:#ded3fa!important;
    background:#fff!important;
    color:#5524c7!important;
    box-shadow:none!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-global-settings{
    background:#f6f2ff!important;
  }
  :root[data-theme="dark"] body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-stats-row,
  :root[data-theme="dark"] body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-stat,
  :root[data-theme="dark"] body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-pool-bar{
    border-color:#42385e!important;
    background:#1e1c2c!important;
  }
  :root[data-theme="dark"] body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-mobile-summary-label{
    border-color:#42385e;
    background:#28223b;
    color:#d3c3ff;
  }
  :root[data-theme="dark"] body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-stat-label,
  :root[data-theme="dark"] body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-stat-label i{
    color:#b8afc6!important;
  }
  :root[data-theme="dark"] body.kd-radar-open #kdRadarPage.kdr-b-mode .kdr-stat-value b{
    color:#d3a8ff!important;
  }
}

/* Compact the version-help control highlighted in the mobile header. */
@media(max-width:700px){
  .version-help{
    width:16px!important;
    min-width:16px!important;
    height:16px!important;
    min-height:16px!important;
    flex:0 0 16px!important;
    margin-left:2px!important;
    font-size:9px!important;
  }
}

/* KDWatch logo moment: a compact Aurora Maximalism card centered over the
   current page.  The backdrop stays quiet so the interaction feels like a
   brand interlude, not a full-screen takeover. */
body.logo-showcase-open{overflow:hidden}
.logo-showcase{position:fixed;inset:0;z-index:10060;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(10,0,20,.18);backdrop-filter:blur(5px) saturate(1.08);-webkit-backdrop-filter:blur(5px) saturate(1.08);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility 0s linear .24s}
.logo-showcase.show{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
.logo-showcase-mesh{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% 18%,rgba(255,255,255,.2),transparent 38%)}
.logo-showcase-mesh::before,.logo-showcase-mesh::after{content:"";position:absolute;inset:-24%;background:radial-gradient(circle at 20% 30%,rgba(93,52,208,.48),transparent 34%),radial-gradient(circle at 78% 32%,rgba(255,0,110,.35),transparent 31%),radial-gradient(circle at 53% 82%,rgba(0,240,255,.22),transparent 38%);filter:blur(24px);animation:logoMeshDrift 11s ease-in-out infinite alternate}
.logo-showcase-mesh::after{background:conic-gradient(from 210deg at 50% 50%,rgba(93,52,208,.18),rgba(255,0,110,.22),rgba(0,240,255,.16),rgba(93,52,208,.18));mix-blend-mode:screen;opacity:.72;animation-duration:15s;animation-direction:alternate-reverse}
.logo-showcase-shell{position:relative;isolation:isolate;width:min(570px,calc(100vw - 36px));min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:28px;background:linear-gradient(135deg,rgba(22,9,52,.96),rgba(53,7,65,.94) 52%,rgba(5,37,61,.95));box-shadow:0 28px 90px rgba(20,0,45,.44),0 0 0 1px rgba(0,240,255,.1) inset;transform:translateY(12px) scale(.94);transition:transform .48s cubic-bezier(.2,.9,.25,1.18)}
.logo-showcase.show .logo-showcase-shell{transform:translateY(0) scale(1)}
.logo-showcase-shell::before{content:"";position:absolute;inset:1px;border-radius:27px;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.08),transparent 42%);pointer-events:none}
.logo-showcase-title{position:relative;margin:0;color:#fff;font-size:clamp(28px,5vw,42px);font-weight:850;letter-spacing:-.06em;line-height:1;text-shadow:0 0 22px rgba(0,240,255,.28),0 0 28px rgba(255,0,110,.2)}
.logo-showcase-logo{position:relative;z-index:2;width:min(78%,420px);height:auto;margin:24px 0 10px;filter:drop-shadow(0 0 16px rgba(0,240,255,.28)) drop-shadow(0 8px 18px rgba(0,0,0,.28));animation:logoShowcaseFloat 3.4s ease-in-out infinite}
.logo-showcase-caption{position:relative;margin:0;color:rgba(255,255,255,.66);font-family:var(--mono,"JetBrains Mono",Consolas,monospace);font-size:10px;font-weight:650;letter-spacing:.28em;text-indent:.28em}
.logo-showcase-orbit{position:absolute;z-index:1;width:440px;height:188px;border:1px solid rgba(0,240,255,.18);border-radius:50%;transform:rotate(-12deg);pointer-events:none;animation:logoOrbitDrift 9s ease-in-out infinite alternate}
.logo-showcase-orbit::before,.logo-showcase-orbit::after{content:"";position:absolute;inset:19px 36px;border:1px solid rgba(255,0,110,.16);border-radius:50%;transform:rotate(24deg)}
.logo-showcase-orbit::after{inset:44px -12px;border-color:rgba(255,255,255,.1);transform:rotate(-34deg)}
.logo-showcase-orbit i{position:absolute;width:7px;height:7px;border-radius:50%;background:#00f0ff;box-shadow:0 0 12px #00f0ff}
.logo-showcase-orbit i:nth-child(1){top:18px;left:18%;animation:logoOrbPulse 2.3s ease-in-out infinite}
.logo-showcase-orbit i:nth-child(2){right:13%;bottom:25px;background:#ff006e;box-shadow:0 0 12px #ff006e;animation:logoOrbPulse 2.3s .8s ease-in-out infinite}
.logo-showcase-orbit i:nth-child(3){left:48%;bottom:-3px;background:#a855f7;box-shadow:0 0 12px #a855f7;animation:logoOrbPulse 2.3s 1.4s ease-in-out infinite}
.logo-showcase-close{position:absolute;z-index:4;top:14px;right:16px;display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 9px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(10,0,20,.3);color:rgba(255,255,255,.84);font:600 10px/1 inherit;cursor:pointer;transition:.18s ease}
.logo-showcase-close svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.logo-showcase-close:hover,.logo-showcase-close:focus-visible{border-color:rgba(0,240,255,.58);background:rgba(0,240,255,.12);color:#fff;outline:none;transform:translateY(-1px)}
@keyframes logoMeshDrift{0%{transform:translate3d(-2%,-1%,0) scale(1)}100%{transform:translate3d(3%,2%,0) scale(1.08)}}
@keyframes logoShowcaseFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes logoOrbitDrift{0%{transform:rotate(-12deg) translate3d(-5px,2px,0)}100%{transform:rotate(-8deg) translate3d(7px,-4px,0)}}
@keyframes logoOrbPulse{0%,100%{opacity:.55;transform:scale(.8)}50%{opacity:1;transform:scale(1.35)}}
@media(max-width:600px){
  .logo-showcase{padding:16px;background:rgba(10,0,20,.14)}
  .logo-showcase-shell{width:min(420px,calc(100vw - 28px));min-height:230px;border-radius:23px}
  .logo-showcase-shell::before{border-radius:22px}
  .logo-showcase-logo{width:min(82%,320px);margin:20px 0 9px}
  .logo-showcase-title{font-size:32px}
  .logo-showcase-caption{font-size:8px;letter-spacing:.2em;text-indent:.2em}
  .logo-showcase-orbit{width:310px;height:145px}
  .logo-showcase-close{top:12px;right:12px;width:30px;padding:0;justify-content:center}
  .logo-showcase-close span{display:none}
}
@media(prefers-reduced-motion:reduce){
  .logo-showcase,.logo-showcase-shell{transition:none}
  .logo-showcase-mesh::before,.logo-showcase-mesh::after,.logo-showcase-logo,.logo-showcase-orbit,.logo-showcase-orbit i{animation:none}
}

/* Refined logo-first treatment: quiet backdrop, restrained liquid-glass card,
   no decorative copy competing with the animated mark. */
.logo-showcase{background:rgba(255,255,255,.2);backdrop-filter:blur(2px) saturate(1.08);-webkit-backdrop-filter:blur(2px) saturate(1.08)}
.logo-showcase-mesh{background:radial-gradient(circle at 50% 45%,rgba(124,58,237,.08),transparent 58%)}
.logo-showcase-mesh::before,.logo-showcase-mesh::after{display:none}
.logo-showcase-shell{width:min(470px,calc(100vw - 34px));min-height:216px;border:1px solid rgba(255,255,255,.82);border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(248,246,255,.86) 54%,rgba(237,252,255,.84));backdrop-filter:blur(24px) saturate(1.28);-webkit-backdrop-filter:blur(24px) saturate(1.28);box-shadow:0 22px 58px rgba(70,53,115,.18),0 1px 0 rgba(255,255,255,.95) inset,0 -1px 0 rgba(124,58,237,.08) inset}
.logo-showcase-shell:focus{outline:none}
.logo-showcase-shell::before{inset:0;border-radius:19px;background:radial-gradient(ellipse at 20% 0%,rgba(255,255,255,.9),transparent 48%),radial-gradient(ellipse at 100% 100%,rgba(0,240,255,.1),transparent 50%);pointer-events:none}
.logo-showcase-logo{width:min(84%,380px);margin:0;filter:drop-shadow(0 8px 16px rgba(64,42,126,.16));animation:logoShowcaseFloat 4.2s ease-in-out infinite}
.logo-showcase-title,.logo-showcase-caption,.logo-showcase-orbit{display:none}
.logo-showcase-close{top:12px;right:12px;width:28px;height:28px;padding:0;justify-content:center;border-color:rgba(108,84,172,.2);background:rgba(255,255,255,.5);color:rgba(72,54,107,.62);box-shadow:0 2px 8px rgba(72,54,107,.08)}
.logo-showcase-close span{display:none}
.logo-showcase-close:hover,.logo-showcase-close:focus-visible{border-color:rgba(108,84,172,.42);background:rgba(255,255,255,.8);color:#493576;transform:none}
.logo-showcase-brand{position:relative;z-index:2;display:flex;align-items:center;gap:18px;padding:8px 20px}
.logo-showcase-mark{display:grid;place-items:center;width:96px;height:96px;flex:0 0 96px;border-radius:27px;background:linear-gradient(145deg,#f6efff,#fff);box-shadow:0 10px 24px rgba(92,55,152,.14),0 1px 0 rgba(255,255,255,.95) inset}
.logo-showcase-mark img{display:block;width:88px;height:88px;filter:drop-shadow(0 5px 8px rgba(79,46,137,.16));animation:commandMarkFloat 4.8s ease-in-out infinite}
.logo-showcase-copy{min-width:0;text-align:left}
.logo-showcase-wordmark{color:#302344;font-size:34px;font-weight:450;letter-spacing:-.07em;line-height:1}
.logo-showcase-wordmark b{font-weight:800;background:linear-gradient(135deg,#6d28d9,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent}
.logo-showcase-tagline{margin-top:8px;color:#847693;font:650 9px/1 var(--mono,"JetBrains Mono",Consolas,monospace);letter-spacing:.16em;white-space:nowrap}
.logo-showcase-rule{width:54px;height:2px;margin:12px 0 8px;border-radius:99px;background:linear-gradient(90deg,#7c3aed,#a78bfa 58%,rgba(167,139,250,0))}
.logo-showcase-label{color:#8f849c;font-size:10px;font-weight:650;letter-spacing:.06em}
@media(max-width:600px){
  .logo-showcase{padding:14px;background:rgba(255,255,255,.16)}
  .logo-showcase-shell{width:min(390px,calc(100vw - 28px));min-height:190px;border-radius:18px}
  .logo-showcase-shell::before{border-radius:17px}
  .logo-showcase-logo{width:min(86%,320px)}
  .logo-showcase-close{top:10px;right:10px}
  .logo-showcase-brand{gap:12px;padding:8px 14px}
  .logo-showcase-mark{width:72px;height:72px;flex-basis:72px;border-radius:21px}
  .logo-showcase-mark img{width:66px;height:66px}
  .logo-showcase-wordmark{font-size:27px}
  .logo-showcase-tagline{margin-top:6px;font-size:7px;letter-spacing:.1em}
  .logo-showcase-rule{width:40px;margin:9px 0 6px}
  .logo-showcase-label{font-size:8px}
}

/* Brand-led command desk: the live animated mark anchors the summary while
   the existing four metrics remain the source of truth. */
.preview-summary{padding:12px;border:1px solid rgba(124,58,237,.16);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(247,244,255,.58) 58%,rgba(237,252,255,.48));backdrop-filter:blur(18px) saturate(1.18);-webkit-backdrop-filter:blur(18px) saturate(1.18);box-shadow:0 10px 28px rgba(63,43,101,.06),0 1px 0 rgba(255,255,255,.88) inset}
.preview-command-layout{display:grid;grid-template-columns:minmax(205px,.78fr) minmax(0,2.22fr);gap:12px;align-items:stretch}
.preview-command-brand{position:relative;display:flex;min-height:148px;flex-direction:column;justify-content:space-between;overflow:hidden;padding:13px 14px;border:1px solid rgba(124,58,237,.13);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(246,244,253,.56));box-shadow:0 3px 12px rgba(66,48,101,.035)}
.preview-command-brand::after{content:"";position:absolute;right:-42px;bottom:-54px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.13),rgba(0,240,255,.04) 45%,transparent 70%);pointer-events:none}
.preview-command-brand-top{position:relative;z-index:1;display:flex;align-items:center;gap:11px}
.preview-command-mark{display:grid;place-items:center;width:78px;height:78px;flex:0 0 78px;border:1px solid rgba(124,58,237,.14);border-radius:22px;background:rgba(255,255,255,.64);box-shadow:0 7px 18px rgba(82,54,139,.12),0 1px 0 rgba(255,255,255,.95) inset}
.preview-command-mark img{display:block;width:66px;height:66px;filter:drop-shadow(0 4px 7px rgba(82,54,139,.12));animation:commandMarkFloat 4.8s ease-in-out infinite}
.preview-command-brand-copy{min-width:0}
.preview-summary-kicker{color:#7041b8;font-size:8px;letter-spacing:.1em}
.preview-summary h2{margin-top:5px;font-size:19px;letter-spacing:-.04em}
.preview-command-brand-copy p{margin:6px 0 0;color:var(--text3);font-size:10px;line-height:1.35;white-space:nowrap}
.preview-command-meta{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid rgba(124,58,237,.1)}
.preview-command-state{display:inline-flex;align-items:center;gap:5px;color:var(--text2);font-size:9px;font-weight:750}
.preview-command-state i{width:6px;height:6px;border-radius:50%;background:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.12)}
.preview-summary-time{font-size:8.5px}
.preview-command-data{min-width:0;padding:3px 1px 1px}
.preview-command-data-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 8px;color:var(--text2);font-size:11px;font-weight:800}
.preview-command-data-head small{color:var(--text4);font:600 8px/1 var(--mono,"JetBrains Mono",Consolas,monospace);letter-spacing:.08em}
.preview-command-data .preview-summary-grid{height:calc(100% - 23px);grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.preview-command-data .preview-stat-card{min-height:112px;padding:11px 12px 10px;border-color:rgba(124,58,237,.13);background:rgba(255,255,255,.66);box-shadow:0 2px 8px rgba(52,35,84,.035)}
.preview-command-data .preview-stat-card strong{margin-top:11px;font-size:26px}
@keyframes commandMarkFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(1deg)}}
:root[data-theme="dark"] .preview-summary{border-color:#332d4a;background:linear-gradient(135deg,rgba(33,28,51,.92),rgba(25,22,40,.9));box-shadow:0 10px 28px rgba(0,0,0,.18)}
:root[data-theme="dark"] .preview-command-brand{border-color:#3b3354;background:linear-gradient(145deg,rgba(41,35,63,.94),rgba(30,27,47,.9))}
:root[data-theme="dark"] .preview-command-mark{border-color:#4a3f68;background:rgba(33,29,52,.8)}
:root[data-theme="dark"] .preview-command-data .preview-stat-card{border-color:#3b3354;background:rgba(31,28,47,.82)}
@media(max-width:900px){
  .preview-command-layout{grid-template-columns:1fr;gap:10px}
  .preview-command-brand{min-height:0;padding:11px 12px}
  .preview-command-brand-top{gap:10px}
  .preview-command-mark{width:64px;height:64px;flex-basis:64px;border-radius:18px}
  .preview-command-mark img{width:54px;height:54px}
  .preview-summary h2{font-size:17px}
  .preview-command-data{padding:0 1px 1px}
  .preview-command-data .preview-summary-grid{height:auto}
}
@media(max-width:520px){
  .preview-summary{padding:9px;border-radius:16px}
  .preview-command-brand-copy p{font-size:9px}
  .preview-command-meta{padding-top:8px}
  .preview-command-data-head{margin-bottom:6px}
  .preview-command-data .preview-stat-card{min-height:82px;padding:10px 10px 9px}
  .preview-command-data .preview-stat-card strong{margin-top:8px;font-size:23px}
  .preview-command-data .preview-stat-note{margin-top:5px;font-size:8px}
}

/* Integrated command rail: one continuous glass surface instead of nested
   cards. The mark acts as the visual anchor and the metrics read as a single
   instrument strip, matching the site's existing airy lavender surfaces. */
.preview-summary{position:relative;overflow:hidden;padding:0;border:1px solid rgba(124,58,237,.14);border-radius:18px;background:linear-gradient(115deg,rgba(255,255,255,.7),rgba(249,247,255,.54) 54%,rgba(237,251,255,.42));box-shadow:0 8px 24px rgba(63,43,101,.05),0 1px 0 rgba(255,255,255,.9) inset}
.preview-summary::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 12% 50%,rgba(124,58,237,.08),transparent 33%),radial-gradient(ellipse at 86% 0%,rgba(0,240,255,.07),transparent 31%)}
.preview-command-layout{position:relative;z-index:1;grid-template-columns:minmax(225px,.9fr) minmax(0,2.1fr);gap:0;align-items:stretch}
.preview-command-brand{min-height:150px;padding:15px 18px 13px 16px;border:0;border-radius:0;background:transparent;box-shadow:none}
.preview-command-brand::after{right:-48px;bottom:-62px;width:168px;height:168px;background:radial-gradient(circle,rgba(124,58,237,.1),rgba(0,240,255,.035) 46%,transparent 70%)}
.preview-command-brand-top{gap:10px}
.preview-command-mark{width:78px;height:78px;flex-basis:78px;border:0;border-radius:24px;background:transparent;box-shadow:none}
.preview-command-mark::before{content:"";position:absolute;width:68px;height:68px;border-radius:22px;background:radial-gradient(circle at 36% 28%,rgba(255,255,255,.98),rgba(243,236,255,.76) 62%,rgba(225,247,255,.54));box-shadow:0 8px 18px rgba(82,54,139,.1),0 1px 0 rgba(255,255,255,.95) inset}
.preview-command-mark img{position:relative;z-index:1;width:68px;height:68px;filter:drop-shadow(0 4px 7px rgba(82,54,139,.12))}
.preview-command-brand-copy{padding-top:1px}
.preview-summary-kicker{font-size:7.5px;letter-spacing:.1em}
.preview-summary h2{margin-top:4px;font-size:18px;font-weight:800}
.preview-command-brand-copy p{margin-top:5px;font-size:9px}
.preview-command-meta{padding-top:10px;border-top:1px solid rgba(124,58,237,.1)}
.preview-command-state{font-size:8.5px}
.preview-summary-time{font-size:8px}
.preview-command-data{padding:14px 12px 12px 15px;border-left:1px solid rgba(124,58,237,.1)}
.preview-command-data-head{margin:0 2px 7px;font-size:10px}
.preview-command-data-head small{font-size:7px}
.preview-command-data .preview-summary-grid{height:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.preview-command-data .preview-stat-card{min-height:105px;padding:10px 13px 9px;border:0;border-left:1px solid rgba(124,58,237,.11);border-radius:0;background:transparent;box-shadow:none}
.preview-command-data .preview-stat-card:first-child{border-left:0}
.preview-command-data .preview-stat-card:hover{background:rgba(255,255,255,.35);box-shadow:none}
.preview-command-data .preview-stat-card strong{margin-top:10px;font-size:25px}
.preview-command-data .preview-stat-card i{right:13px;bottom:11px;width:25px;height:2px}
:root[data-theme="dark"] .preview-summary{border-color:#332d4a;background:linear-gradient(115deg,rgba(33,28,51,.92),rgba(25,22,40,.88) 54%,rgba(20,33,43,.82));box-shadow:0 10px 28px rgba(0,0,0,.16)}
:root[data-theme="dark"] .preview-command-data{border-left-color:#3a3452}
:root[data-theme="dark"] .preview-command-data .preview-stat-card{border-left-color:#3a3452;background:transparent}
:root[data-theme="dark"] .preview-command-data .preview-stat-card:hover{background:rgba(255,255,255,.035)}
@media(max-width:900px){
  .preview-command-layout{display:block}
  .preview-command-brand{min-height:0;padding:12px 13px 10px;border-bottom:1px solid rgba(124,58,237,.1)}
  .preview-command-data{padding:11px 9px 9px;border-left:0}
  .preview-command-data .preview-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .preview-command-data .preview-stat-card{min-height:86px;border-left:0;border-top:1px solid rgba(124,58,237,.1);padding:10px 11px 9px}
  .preview-command-data .preview-stat-card:nth-child(-n+2){border-top:0}
}
@media(max-width:520px){
  .preview-summary{border-radius:16px}
  .preview-command-brand{padding:11px 11px 9px}
  .preview-command-mark{width:58px;height:58px;flex-basis:58px}
  .preview-command-mark::before{width:50px;height:50px;border-radius:17px}
  .preview-command-mark img{width:50px;height:50px}
  .preview-summary h2{font-size:17px}
  .preview-command-brand-copy p{font-size:8.5px}
  .preview-command-meta{padding-top:8px}
  .preview-command-data{padding:9px 7px 7px}
  .preview-command-data-head{margin:0 2px 4px}
  .preview-command-data .preview-stat-card{min-height:79px;padding:9px 9px 8px}
  .preview-command-data .preview-stat-card strong{margin-top:7px;font-size:22px}
.preview-command-data .preview-stat-note{margin-top:4px;font-size:8px}
.preview-command-data .preview-stat-card i{right:9px;bottom:9px;width:23px}
}

/* Market pulse strip: fills the command-desk lead space with compact,
   source-labelled index quotes while keeping the existing glass/Aurora tone. */
.market-index-panel{position:relative;margin:0 0 10px;padding:8px 9px 7px;border:1px solid rgba(124,58,237,.14);border-radius:12px;background:linear-gradient(120deg,rgba(255,255,255,.58),rgba(245,241,255,.42) 52%,rgba(232,251,255,.38));box-shadow:0 5px 16px rgba(82,54,139,.045);overflow:hidden}
.market-index-panel::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 12%,rgba(124,58,237,.13),transparent 35%),radial-gradient(circle at 88% 0,rgba(0,240,255,.1),transparent 38%)}
.market-index-panel-head{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 6px}
.market-index-title{display:flex;align-items:baseline;gap:8px;min-width:0}
.market-index-kicker{color:#7041b8;font:700 7px/1 var(--mono,"JetBrains Mono",Consolas,monospace);letter-spacing:.11em;text-transform:uppercase}
.market-index-title b{color:var(--text);font-size:11px;font-weight:800;white-space:nowrap}
.market-index-updated{color:var(--text4);font-size:8px;white-space:nowrap}
.market-index-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.market-index-group{min-width:0;padding:6px 7px 5px;border:1px solid rgba(124,58,237,.11);border-radius:9px;background:rgba(255,255,255,.48)}
.market-index-group-head{display:flex;align-items:center;gap:5px;margin-bottom:4px;color:var(--text2);font-size:8px;font-weight:800}
.market-index-group-dot{width:5px;height:5px;border-radius:50%;background:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.1)}
.market-index-us .market-index-group-dot{background:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}
.market-index-hk .market-index-group-dot{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.1)}
.market-index-crypto .market-index-group-dot{background:#14b8a6;box-shadow:0 0 0 3px rgba(20,184,166,.1)}
.market-index-group-state{margin-left:auto;color:var(--text4);font-size:7px;font-weight:600}
.market-index-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px}
.market-index-item{position:relative;min-width:0;padding:3px 0 2px;border-top:1px solid rgba(124,58,237,.08)}
.market-index-item:nth-child(-n+2){border-top:0}
.market-index-item-name{display:flex;align-items:baseline;justify-content:space-between;gap:4px;color:var(--text2);font-size:8px;line-height:1.1}
.market-index-item-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.market-index-item-name small{color:var(--text4);font:500 7px/1 var(--mono,"JetBrains Mono",Consolas,monospace)}
.market-index-item-value{display:flex;align-items:baseline;justify-content:space-between;gap:4px;margin-top:2px}
.market-index-item-value strong{color:var(--text);font:700 12px/1 var(--mono,"JetBrains Mono",Consolas,monospace);font-variant-numeric:tabular-nums;white-space:nowrap}
.market-index-item-value em{font:700 8px/1 var(--mono,"JetBrains Mono",Consolas,monospace);font-style:normal;white-space:nowrap}
.market-index-item-value em.up{color:#059669}.market-index-item-value em.down{color:#e11d48}.market-index-item-value em.flat{color:var(--text4)}
.market-index-item-meta{display:block;margin-top:2px;color:var(--text4);font-size:7px;line-height:1.1;white-space:nowrap}
.market-index-item.is-stale .market-index-item-value strong{color:var(--text2)}
.market-index-empty{grid-column:1/-1;padding:8px;color:var(--text4);font-size:8px;text-align:center}
:root[data-theme="dark"] .market-index-panel{border-color:#3a3452;background:linear-gradient(120deg,rgba(39,32,62,.84),rgba(28,27,49,.78) 52%,rgba(20,42,52,.72));box-shadow:0 8px 20px rgba(0,0,0,.14)}
:root[data-theme="dark"] .market-index-group{border-color:#423960;background:rgba(31,28,47,.68)}
:root[data-theme="dark"] .market-index-item{border-top-color:#3a3452}
@media(max-width:1100px){.market-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.market-index-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.market-index-panel{margin:0 0 8px;padding:7px}.market-index-grid{gap:5px}.market-index-group{padding:5px 6px}.market-index-item-value strong{font-size:11px}}
@media(max-width:520px){.market-index-panel-head{align-items:flex-start;flex-direction:column;gap:3px;margin-bottom:5px}.market-index-updated{font-size:7px}.market-index-grid{grid-template-columns:1fr 1fr;gap:5px}.market-index-list{grid-template-columns:1fr}.market-index-item:nth-child(2){border-top:1px solid rgba(124,58,237,.08)}.market-index-item-name{font-size:7px}.market-index-item-value strong{font-size:11px}.market-index-item-meta{font-size:6.5px}}

/* Brand glass system: shared material language for the whole light interface. */
:root:not([data-theme="dark"]){
  --brand-glass-surface:rgba(255,255,255,.64);
  --brand-glass-surface-strong:rgba(255,255,255,.78);
  --brand-glass-border:rgba(124,58,237,.12);
  --brand-glass-shadow:0 10px 28px rgba(73,47,119,.07);
}
:root:not([data-theme="dark"]) body{background:radial-gradient(ellipse at 8% -10%,rgba(124,58,237,.11),transparent 34%),radial-gradient(ellipse at 100% 0%,rgba(0,210,255,.08),transparent 30%),var(--bg)}
:root:not([data-theme="dark"]) .hdr,
:root:not([data-theme="dark"]) .ticker-wrap,
:root:not([data-theme="dark"]) .sidebar,
:root:not([data-theme="dark"]) .mobile-tabbar{background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(247,245,253,.56));backdrop-filter:blur(22px) saturate(1.16);-webkit-backdrop-filter:blur(22px) saturate(1.16);border-color:var(--brand-glass-border)}
:root:not([data-theme="dark"]) .hdr{box-shadow:0 1px 0 rgba(255,255,255,.72) inset,0 5px 18px rgba(73,47,119,.035)}
:root:not([data-theme="dark"]) .ticker-wrap{box-shadow:0 1px 0 rgba(255,255,255,.55) inset}
:root:not([data-theme="dark"]) .sb-section,
:root:not([data-theme="dark"]) .card,
:root:not([data-theme="dark"]) .kdr-nav,
:root:not([data-theme="dark"]) .kdr-invite,
:root:not([data-theme="dark"]) .modal,
:root:not([data-theme="dark"]) .kdr-group-dialog,
:root:not([data-theme="dark"]) .kdr-flow-dialog,
:root:not([data-theme="dark"]) .kdr-assignment-sheet{background:linear-gradient(145deg,rgba(255,255,255,.7),rgba(247,245,253,.52));backdrop-filter:blur(18px) saturate(1.14);-webkit-backdrop-filter:blur(18px) saturate(1.14);border-color:var(--brand-glass-border);box-shadow:var(--brand-glass-shadow),0 1px 0 rgba(255,255,255,.82) inset}
:root:not([data-theme="dark"]) .kdr-nav-item:hover,
:root:not([data-theme="dark"]) .sb-section:hover,
:root:not([data-theme="dark"]) .card:hover{box-shadow:0 12px 30px rgba(73,47,119,.09),0 1px 0 rgba(255,255,255,.9) inset}

/* Restore the original visual hierarchy: a large glass canvas, a brand header,
   then four high-contrast metric cards. */
.preview-summary{padding:13px;border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(248,246,255,.6) 56%,rgba(237,251,255,.5));box-shadow:0 12px 30px rgba(63,43,101,.07),0 1px 0 rgba(255,255,255,.9) inset}
.preview-command-layout{display:block}
.preview-command-brand{min-height:0;padding:4px 5px 12px;border-bottom:1px solid rgba(124,58,237,.1)}
.preview-command-brand-top{gap:12px}
.preview-command-mark{width:64px;height:64px;flex-basis:64px}
.preview-command-mark::before{width:56px;height:56px;border-radius:19px}
.preview-command-mark img{width:56px;height:56px}
.preview-summary-kicker{font-size:8px;letter-spacing:.11em}
.preview-summary h2{margin-top:5px;font-size:21px;font-weight:850;letter-spacing:-.045em}
.preview-command-brand-copy p{margin-top:5px;font-size:9px}
.preview-command-meta{padding-top:9px;border-top:0}
.preview-command-state{font-size:8.5px}
.preview-summary-time{font-size:8.5px}
.preview-command-data{padding:12px 1px 1px;border-left:0}
.preview-command-data-head{margin:0 2px 9px;font-size:11px}
.preview-command-data-head small{font-size:7.5px}
.preview-command-data .preview-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.preview-command-data .preview-stat-card{min-height:118px;padding:13px 13px 11px;border:1px solid rgba(124,58,237,.13);border-radius:14px;background:rgba(255,255,255,.7);box-shadow:0 3px 10px rgba(52,35,84,.045)}
.preview-command-data .preview-stat-card:first-child{border-left:1px solid rgba(124,58,237,.13)}
.preview-command-data .preview-stat-card:hover{background:rgba(255,255,255,.86);border-color:rgba(124,58,237,.27);box-shadow:0 9px 20px rgba(52,35,84,.09)}
.preview-command-data .preview-stat-label{font-size:10.5px;font-weight:750}
.preview-command-data .preview-stat-card strong{margin-top:13px;font-size:36px;font-weight:850;line-height:.94}
.preview-command-data .preview-stat-card strong small{font-size:17px}
.preview-command-data .preview-stat-note{margin-top:9px;font-size:9px}
.preview-command-data .preview-stat-card i{right:13px;bottom:12px;width:30px;height:3px}
@media(max-width:900px){
  .preview-summary{padding:12px}
  .preview-command-brand{padding:3px 3px 11px}
  .preview-command-data{padding:12px 1px 1px}
  .preview-command-data .preview-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .preview-command-data .preview-stat-card{min-height:108px;padding:12px 12px 10px}
  .preview-command-data .preview-stat-card strong{font-size:34px}
}
@media(max-width:520px){
  .preview-summary{padding:10px;border-radius:16px}
  .preview-command-brand{padding:2px 2px 10px}
  .preview-command-mark{width:58px;height:58px;flex-basis:58px}
  .preview-command-mark::before{width:50px;height:50px;border-radius:17px}
  .preview-command-mark img{width:50px;height:50px}
  .preview-summary h2{font-size:19px}
  .preview-command-brand-copy p{font-size:8.5px}
  .preview-command-meta{padding-top:8px}
  .preview-command-data{padding:10px 0 0}
  .preview-command-data-head{margin:0 2px 7px}
  .preview-command-data .preview-summary-grid{gap:8px}
  .preview-command-data .preview-stat-card{min-height:104px;padding:11px 11px 10px;border-radius:14px}
  .preview-command-data .preview-stat-label{font-size:9.5px}
  .preview-command-data .preview-stat-card strong{margin-top:11px;font-size:32px}
  .preview-command-data .preview-stat-card strong small{font-size:16px}
  .preview-command-data .preview-stat-note{margin-top:8px;font-size:8.5px}
  .preview-command-data .preview-stat-card i{right:11px;bottom:11px;width:27px}
}

/* Give the four headline numbers clear dashboard-level hierarchy. */
.preview-command-data .preview-stat-label{font-size:11px;font-weight:750;letter-spacing:.01em}
.preview-command-data .preview-stat-card strong{margin-top:12px;font-size:40px;font-weight:850;line-height:.92;letter-spacing:.015em;font-variant-numeric:tabular-nums}
.preview-command-data .preview-stat-card strong small{font-size:18px;font-weight:850}
.preview-command-data .preview-stat-note{margin-top:9px;font-size:10px}
@media(max-width:900px){
  .preview-command-data .preview-stat-card{min-height:112px}
  .preview-command-data .preview-stat-card strong{font-size:38px}
}
@media(max-width:520px){
  .preview-command-data .preview-stat-card{min-height:112px;padding:12px 11px 10px}
  .preview-command-data .preview-stat-label{font-size:10px}
  .preview-command-data .preview-stat-card strong{margin-top:10px;font-size:36px}
  .preview-command-data .preview-stat-card strong small{font-size:17px}
  .preview-command-data .preview-stat-note{margin-top:8px;font-size:9px}
}

/* Keep the command desk asymmetric on desktop: the new market pulse occupies
   the previously empty right-hand lead area, while mobile remains stacked. */
@media(min-width:901px){
  .preview-command-layout{display:grid;grid-template-columns:minmax(225px,.9fr) minmax(0,2.1fr);gap:0;align-items:stretch}
  .preview-command-brand{min-height:150px;padding:15px 18px 13px 16px}
  .preview-command-data{padding:12px 12px 12px 15px;border-left:1px solid rgba(124,58,237,.1)}
  .market-index-panel{margin:0 0 8px;padding:7px 8px 6px}
  .market-index-grid{gap:5px}
  .market-index-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 7px}
  .market-index-item:nth-child(-n+2){border-top:0}
  .market-index-item-name{font-size:7px}
  .market-index-item-value strong{font-size:11px}
  .market-index-item-meta{font-size:6.5px}
}
@media(max-width:900px){
  .preview-command-layout{display:block}
  .preview-command-data{border-left:0}
}

/* Market index rail: crisp, data-first treatment for the command desk. */
.market-index-panel{position:relative;margin:0 0 13px;padding:0;border:1px solid #dfe3ef;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(40,49,86,.06);overflow:hidden}
.market-index-panel::before{display:none}
.market-index-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px 10px;border-bottom:1px solid #e7eaf2;background:#fbfcff}
.market-index-heading{display:flex;align-items:baseline;gap:10px;min-width:0}
.market-index-title{display:flex;align-items:baseline;gap:9px;min-width:0}
.market-index-kicker{color:#002fa7;font:700 9px/1 var(--font,system-ui,sans-serif);letter-spacing:.04em;white-space:nowrap}
.market-index-title b{color:#283044;font-size:14px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.market-index-coverage{color:#8b93a6;font-size:10px;white-space:nowrap}
.market-index-updated{color:#8b93a6;font-size:10px;white-space:nowrap}
.market-index-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px}
.market-index-group{min-width:0;padding:0;border:1px solid #e3e6ef;border-radius:10px;background:#fff;overflow:hidden}
.market-index-group-head{display:flex;align-items:center;gap:6px;min-height:34px;margin:0;padding:8px 9px;border-bottom:1px solid #eceef4;color:#293248;font-size:11px;font-weight:800}
.market-index-group-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#002fa7;box-shadow:none}
.market-index-us .market-index-group-dot{background:#365edb;box-shadow:none}
.market-index-hk .market-index-group-dot{background:#d98324;box-shadow:none}
.market-index-crypto .market-index-group-dot{background:#0f8b8d;box-shadow:none}
.market-index-group-source{min-width:0;overflow:hidden;color:#9aa2b2;font:500 9px/1 var(--mono,"JetBrains Mono",Consolas,monospace);text-overflow:ellipsis;white-space:nowrap}
.market-index-group-state{margin-left:auto;padding:3px 5px;border-radius:4px;background:#f1f4fa;color:#778198;font-size:9px;font-weight:700;white-space:nowrap}
.market-index-list{display:block;padding:0 10px 4px}
.market-index-item{position:relative;min-width:0;padding:8px 0 7px;border-top:1px solid #eef0f5}
.market-index-item:first-child{border-top:0}
.market-index-item-name{display:flex;align-items:baseline;justify-content:space-between;gap:7px;color:#505a70;font-size:10px;line-height:1.2}
.market-index-item-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.market-index-item-name small{color:#9aa2b2;font:500 9px/1 var(--mono,"JetBrains Mono",Consolas,monospace)}
.market-index-item-value{display:flex;align-items:baseline;justify-content:space-between;gap:7px;margin-top:3px}
.market-index-item-value strong{color:#20283a;font:700 16px/1 var(--mono,"JetBrains Mono",Consolas,monospace);font-variant-numeric:tabular-nums;white-space:nowrap}
.market-index-item-value em{padding:3px 5px;border-radius:4px;font:700 10px/1 var(--mono,"JetBrains Mono",Consolas,monospace);font-style:normal;white-space:nowrap}
.market-index-item-value em.up{color:#087f5b;background:#e9f8f1}.market-index-item-value em.down{color:#c43b4b;background:#fff0f1}.market-index-item-value em.flat{color:#7b8498;background:#f3f5f8}
.market-index-item-meta{display:block;margin-top:4px;color:#a0a7b5;font-size:8px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.market-index-item.is-stale .market-index-item-value strong{color:#596275}
.market-index-empty{grid-column:1/-1;padding:16px;color:#8b93a6;font-size:10px;text-align:center}
:root[data-theme="dark"] .market-index-panel{border-color:#343b50;background:#171b27;box-shadow:0 8px 20px rgba(0,0,0,.18)}
:root[data-theme="dark"] .market-index-panel-head{border-color:#2c3345;background:#1b2030}
:root[data-theme="dark"] .market-index-kicker{color:#8ca8ff}
:root[data-theme="dark"] .market-index-title b{color:#edf0f8}
:root[data-theme="dark"] .market-index-coverage,:root[data-theme="dark"] .market-index-updated{color:#8f98ad}
:root[data-theme="dark"] .market-index-group{border-color:#30384b;background:#171b27}
:root[data-theme="dark"] .market-index-group-head{border-color:#2c3345;color:#e1e6f2}
:root[data-theme="dark"] .market-index-group-state{background:#252c3c;color:#9ca8c0}
:root[data-theme="dark"] .market-index-item{border-color:#2b3344}
:root[data-theme="dark"] .market-index-item-name{color:#b9c1d2}
:root[data-theme="dark"] .market-index-item-name small,:root[data-theme="dark"] .market-index-item-meta{color:#788398}
:root[data-theme="dark"] .market-index-item-value strong{color:#f0f3fa}
@media(max-width:1100px){.market-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.market-index-panel-head{align-items:flex-start;flex-direction:column;gap:4px}.market-index-updated{font-size:9px}.market-index-grid{gap:8px;padding:8px}}
@media(max-width:520px){.market-index-heading{align-items:flex-start;flex-direction:column;gap:3px}.market-index-title b{font-size:13px}.market-index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:7px}.market-index-group-head{min-height:32px;padding:7px 7px;font-size:10px}.market-index-group-source{display:none}.market-index-group-state{padding:2px 4px;font-size:8px}.market-index-list{padding:0 7px 3px}.market-index-item{padding:7px 0 6px}.market-index-item-name{font-size:9px}.market-index-item-name small{font-size:8px}.market-index-item-value strong{font-size:13px}.market-index-item-value em{padding:2px 4px;font-size:9px}.market-index-item-meta{font-size:7px}}

/* Market index cards: Swiss data-board treatment. The chart is the visual
   anchor; labels remain limited to the index, session, source and state. */
.market-index-panel{border:1px solid #d8ddea;border-radius:12px;background:#fff;box-shadow:0 8px 20px rgba(38,52,88,.06)}
.market-index-panel::before{display:none}
.market-index-panel-head{padding:11px 13px 10px;margin:0;border-bottom:1px solid #e6e9f0;background:#fbfcff}
.market-index-kicker{color:#002fa7;font:800 9px/1 var(--font,system-ui,sans-serif);letter-spacing:.06em;text-transform:none}
.market-index-title b{color:#1f2a40;font-size:15px;letter-spacing:-.025em}
.market-index-coverage,.market-index-updated{color:#8a93a5;font-size:10px}
.market-index-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:10px}
.market-index-card{--index-accent:#002fa7;min-width:0;padding:10px 10px 8px;border:1px solid #dfe4ee;border-radius:9px;background:#fff;box-shadow:none;overflow:hidden}
.market-index-card.up{--index-accent:#087f5b}.market-index-card.down{--index-accent:#c43b4b}.market-index-card.flat{--index-accent:#365edb}
.market-index-card-top{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}
.market-index-market{display:inline-flex;align-items:center;gap:5px;color:#354059;font-size:10px;font-weight:800}
.market-index-market::before{content:"";width:6px;height:6px;border-radius:50%;background:#002fa7}
.market-index-market.us::before{background:#365edb}
.market-index-market.crypto::before{background:#0f8b8d}
.market-index-card-state{padding:3px 5px;border-radius:4px;background:#f1f4fa;color:#778198;font-size:8px;font-weight:700;white-space:nowrap}
.market-index-card-title{display:block}
.market-index-card-title>div:first-child{min-width:0}
.market-index-card-title b{display:block;overflow:hidden;color:#4c5870;font-size:11px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.market-index-card-title small{display:block;margin-top:3px;color:#9aa2b2;font:500 8px/1 var(--mono,"JetBrains Mono",Consolas,monospace)}
.market-index-card-value{display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-width:0;margin-top:6px}
.market-index-card-value strong{color:#1f293b;font:800 18px/1 var(--mono,"JetBrains Mono",Consolas,monospace);font-variant-numeric:tabular-nums;white-space:nowrap}
.market-index-card-value em{padding:3px 4px;border-radius:4px;font:800 9px/1 var(--mono,"JetBrains Mono",Consolas,monospace);font-style:normal;white-space:nowrap}
.market-index-card-value em.up{color:#087f5b;background:#e9f8f1}.market-index-card-value em.down{color:#c43b4b;background:#fff0f1}.market-index-card-value em.flat{color:#365edb;background:#eef2ff}
.market-index-chart{position:relative;height:142px;margin:9px 0 5px;background:#fff;overflow:hidden}
.market-index-chart svg{display:block;width:100%;height:100%;overflow:visible}
.market-index-chart-area{opacity:.1}.market-index-chart-area.up{fill:#047857}.market-index-chart-area.down{fill:#be123c}.market-index-chart-area.flat{fill:#1d4ed8}
.market-index-chart-line{fill:none;stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.market-index-chart-line.up{stroke:#047857}.market-index-chart-line.down{stroke:#be123c}.market-index-chart-line.flat{stroke:#1d4ed8}
.market-index-chart-reference{stroke:#98a2b3;stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}
.market-index-chart-empty{display:flex;align-items:center;justify-content:center;color:#a0a7b5;font-size:8px;background:repeating-linear-gradient(-45deg,#fcfdff,#fcfdff 6px,#f7f9fc 6px,#f7f9fc 12px)}
.market-index-chart-empty span{padding:4px 6px;border:1px dashed #cfd6e3;border-radius:4px;background:#fff;color:#8993a5}
.market-index-card .market-index-item-meta{margin-top:0;color:#9aa2b2;font-size:8px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.market-index-card.is-stale{border-color:#e1e4eb}.market-index-card.is-stale .market-index-card-value strong{color:#667085}
.market-index-empty{grid-column:1/-1;padding:18px;color:#8b93a6;font-size:10px;text-align:center}
:root[data-theme="dark"] .market-index-panel{border-color:#343b50;background:#171b27;box-shadow:0 8px 20px rgba(0,0,0,.18)}
:root[data-theme="dark"] .market-index-panel-head{border-color:#2c3345;background:#1b2030}
:root[data-theme="dark"] .market-index-title b{color:#edf0f8}
:root[data-theme="dark"] .market-index-card{border-color:#30384b;background:#171b27}
:root[data-theme="dark"] .market-index-market{color:#dbe2ef}
:root[data-theme="dark"] .market-index-card-state{background:#252c3c;color:#9ca8c0}
:root[data-theme="dark"] .market-index-card-title b{color:#b9c1d2}
:root[data-theme="dark"] .market-index-card-title small,:root[data-theme="dark"] .market-index-card .market-index-item-meta{color:#788398}
:root[data-theme="dark"] .market-index-card-value strong{color:#f0f3fa}
:root[data-theme="dark"] .market-index-chart{border-color:#2b3344;background:#151a25}
:root[data-theme="dark"] .market-index-chart-empty{background:repeating-linear-gradient(-45deg,#151a25,#151a25 6px,#1b2130 6px,#1b2130 12px)}
:root[data-theme="dark"] .market-index-chart-empty span{border-color:#3a4458;background:#1b2030;color:#9ca8c0}
@media(max-width:1200px){.market-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.market-index-grid{gap:7px;padding:8px}.market-index-card{padding:9px 8px 7px}.market-index-card-value strong{font-size:16px}.market-index-chart{height:128px;margin-top:8px}}
@media(max-width:430px){.market-index-panel-head{align-items:flex-start;flex-direction:column;gap:4px}.market-index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:7px}.market-index-card-top{margin-bottom:7px}.market-index-market{font-size:9px}.market-index-card-state{font-size:7px;padding:2px 4px}.market-index-card-title{display:block}.market-index-card-value{justify-content:space-between;margin-top:6px}.market-index-card-value strong{font-size:15px}.market-index-chart{height:112px;margin:7px 0 5px}.market-index-card .market-index-item-meta{font-size:7px}}

/* Keep the redesigned KD controls above legacy mobile helper rules. */
@media(max-width:640px){
  .kd-settings-body{padding:2px 10px 10px}
  .kd-settings-body .quality-tier-help{width:28px;height:28px;padding:0;border-radius:7px;display:inline-flex;grid-column:auto;justify-self:auto}
  .kd-settings-body .quality-tier-help::after{content:none}
  .kd-settings-body .kd-warning-block .tolerance-help{margin-left:40px;font-size:11px}
}

/* PC command desk reflow (Swiss data-board direction).
   The desktop composition is a continuous horizontal workspace: identity
   header first, then a readable index rail, then the operational metrics.
   This removes the stretched left rail that previously made the header look
   like a mobile card enlarged to fill the monitor. Mobile rules above remain
   the source of truth below 901px. */
@media(min-width:901px){
  .preview-summary{
    padding:0;
    border:1px solid #d8ddea;
    border-radius:16px;
    background:#fff;
    box-shadow:0 10px 26px rgba(38,52,88,.07);
    overflow:hidden;
  }
  .preview-summary::before{display:none}
  .preview-command-layout{display:block;position:relative;z-index:1}
  .preview-command-brand{
    min-height:60px;
    height:60px;
    padding:8px 16px;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    border:0;
    border-bottom:1px solid #e3e7ef;
    border-radius:0;
    background:#f8faff;
    box-shadow:none;
  }
  .preview-command-brand::after{display:none}
  .preview-command-brand-top{gap:10px}
  .preview-command-mark{width:42px;height:42px;flex-basis:42px;border:0;border-radius:12px;background:transparent;box-shadow:none}
  .preview-command-mark::before{width:40px;height:40px;border-radius:12px;background:#fff;box-shadow:0 4px 10px rgba(38,52,88,.1),0 0 0 1px #dbe2f0}
  .preview-command-mark img{width:38px;height:38px;filter:drop-shadow(0 2px 4px rgba(38,52,88,.08))}
  .preview-command-brand-copy{padding-top:0}
  .preview-summary-kicker{color:#002fa7;font-size:8px;letter-spacing:.08em}
  .preview-summary h2{margin-top:3px;color:#1f2a40;font-size:18px;font-weight:850;letter-spacing:-.025em}
  .preview-command-brand-copy p{margin-top:3px;color:#667085;font-size:8px}
  .preview-command-meta{padding:0;border-top:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
  .preview-command-state{color:#475467;font-size:8.5px}
  .preview-command-state i{background:#002fa7;box-shadow:0 0 0 3px rgba(0,47,167,.1)}
  .preview-summary-time{color:#8a93a5;font-size:8.5px}
  .preview-command-data{padding:8px 12px 10px;border-left:0}
  .market-index-panel{margin:0}
  .market-index-panel-head{padding:6px 10px 5px}
  .market-index-kicker{color:#002fa7;font-size:8px;letter-spacing:.05em}
  .market-index-title b{font-size:12px}
  .market-index-coverage,.market-index-updated{font-size:8px}
  .market-index-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:6px}
  .market-index-card{padding:6px 8px 5px;border-radius:8px}
  .market-index-card-top{margin-bottom:3px}
  .market-index-market{font-size:9px}
  .market-index-card-state{font-size:7px;padding:2px 4px}
  .market-index-card-title{display:block}
  .market-index-card-title>div:first-child{min-width:0}
  .market-index-card-title b{font-size:11px}
  .market-index-card-title small{font-size:7px}
  .market-index-card-value{margin-top:3px}
  .market-index-card-value strong{font-size:16px}
  .market-index-card-value em{font-size:8px;padding:2px 4px}
  .market-index-chart{height:142px!important;margin:8px 0 5px!important;border:0!important;overflow:hidden!important}
  .market-index-item-meta{font-size:7px;margin-top:3px}
  .preview-command-data-head,.preview-command-data .preview-summary-grid{display:none!important}
  .preview-command-data .preview-stat-card:first-child{border-left:1px solid #e0e5ef}
  .preview-command-data .preview-stat-card:hover{background:#fbfcff;border-color:#cfd8e8;box-shadow:0 6px 16px rgba(38,52,88,.07)}
  .preview-command-data .preview-stat-label{font-size:11px}
  .preview-command-data .preview-stat-card strong{margin-top:12px;font-size:36px}
  .preview-command-data .preview-stat-card strong small{font-size:17px}
  .preview-command-data .preview-stat-note{margin-top:8px;font-size:9px}
  .preview-command-data .preview-stat-card i{right:14px;bottom:12px;width:28px;height:2px}
}

@media(min-width:901px) and (max-width:1100px){
  .preview-command-brand{padding:14px 17px}
  .preview-summary h2{font-size:20px}
  .preview-command-data{padding:13px 14px 15px}
  .market-index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:9px}
  .market-index-chart{height:142px}
  .preview-command-data .preview-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .preview-command-data .preview-stat-card{min-height:100px}
}

@media(min-width:901px){
  :root[data-theme="dark"] .preview-summary{border-color:#343b50;background:#171b27;box-shadow:0 10px 26px rgba(0,0,0,.2)}
  :root[data-theme="dark"] .preview-command-brand{border-bottom-color:#2c3345;background:#1b2030}
  :root[data-theme="dark"] .preview-command-mark::before{background:#20283a;box-shadow:0 5px 14px rgba(0,0,0,.25),0 0 0 1px #39445b}
  :root[data-theme="dark"] .preview-summary h2{color:#edf0f8}
  :root[data-theme="dark"] .preview-command-brand-copy p,:root[data-theme="dark"] .preview-summary-time{color:#8f98ad}
  :root[data-theme="dark"] .preview-command-state{color:#c5ccda}
  :root[data-theme="dark"] .preview-command-data .preview-stat-card{border-color:#30384b;background:#171b27}
  :root[data-theme="dark"] .preview-command-data .preview-stat-card:first-child{border-left-color:#30384b}
  :root[data-theme="dark"] .preview-command-data .preview-stat-card:hover{background:#1b2030;border-color:#46526a}
}

/* Final mobile command desk override: compact identity, charts and metrics. */
@media(max-width:520px){
  .preview-summary{padding:0 8px 8px;border-radius:12px;box-shadow:none}
  .preview-command-brand{display:flex;min-height:0;padding:8px 4px 7px;flex-direction:row;align-items:center;border-bottom:1px solid rgba(124,58,237,.1);background:transparent;box-shadow:none}
  .preview-command-brand::after{display:none}
  .preview-command-brand-top{gap:8px}
  .preview-command-mark{width:34px;height:34px;flex-basis:34px;border:0;border-radius:10px;background:transparent;box-shadow:none}
  .preview-command-mark::before{width:32px;height:32px;border-radius:10px;box-shadow:0 3px 9px rgba(82,54,139,.08),0 0 0 1px #e2dded}
  .preview-command-mark img{width:29px;height:29px;filter:none}
  .preview-summary-kicker,.preview-command-brand-copy p,.preview-command-meta{display:none}
  .preview-summary h2{margin:0;font-size:16px;line-height:1.1}
  .preview-command-data{padding:8px 0 0}
  .market-index-panel{margin:0 0 9px;border-radius:10px}
  .market-index-panel-head{align-items:center;flex-direction:row;gap:7px;padding:8px 10px 7px}
  .market-index-heading{align-items:baseline;flex-direction:row;gap:6px}
  .market-index-kicker{font-size:8px}
  .market-index-title{gap:6px}
  .market-index-title b{font-size:12px}
  .market-index-coverage{display:none}
  .market-index-updated{font-size:8px}
  .market-index-grid{gap:5px;padding:6px}
  .market-index-card{padding:7px 7px 6px;border-radius:8px}
  .market-index-card-top{margin-bottom:5px}
  .market-index-market{font-size:8px}
  .market-index-card-state{padding:2px 3px;font-size:6px}
  .market-index-card-title b{font-size:10px}
  .market-index-card-title small{font-size:7px}
  .market-index-card-value{margin-top:4px}
  .market-index-card-value strong{font-size:15px}
  .market-index-card-value em{padding:2px 3px;font-size:8px}
  .market-index-chart{height:112px;margin:6px 0 4px}
  .market-index-item-meta{font-size:6px}
  .preview-command-data-head{margin:0 1px 5px;font-size:11px}
  .preview-command-data-head small{display:none}
  .preview-command-data .preview-summary-grid{gap:5px}
  .preview-command-data .preview-stat-card{min-height:62px;padding:8px 8px 7px;border-radius:9px}
  .preview-command-data .preview-stat-label{font-size:9px}
  .preview-command-data .preview-stat-card strong{margin-top:6px;font-size:26px}
  .preview-command-data .preview-stat-note{display:none}
  .preview-command-data .preview-stat-card i{right:8px;bottom:7px;width:20px;height:2px}
}

/* Mobile interaction budget: keep the log list virtualizable and avoid
   repainting a blurred backdrop underneath every tap. The translucent
   surfaces remain, but the GPU-heavy filter is only used on larger screens. */
.log-load-more{display:flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:6px 10px;border-bottom:1px solid var(--border);background:var(--surface2);color:var(--text3);font-size:10px}
.log-load-more-button{height:26px;padding:0 10px;border:1px solid rgba(124,58,237,.22);border-radius:7px;background:rgba(124,58,237,.08);color:var(--accent);font-family:inherit;font-size:10px;font-weight:800;line-height:1;cursor:pointer}
.log-load-more-button:hover{background:rgba(124,58,237,.14)}
.log-load-more-button:disabled{cursor:wait;opacity:.65}
.log-load-more-hint{font-size:9px;color:var(--text4)}
@media(max-width:900px){
  #logWrap .log-mobile-entry{content-visibility:auto;contain-intrinsic-size:34px}
  .mobile-tabbar{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
}
@media(max-width:600px){
  .hdr,.ticker-wrap,.sidebar,.sb-section,.card,.preview-summary,.market-index-panel{
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  }
  .log-load-more{min-height:34px;padding:5px 8px}
}

/* KD Radar action tools: one compact KDWatch-purple control family. */
body.kd-radar-open #kdRadarPage #kdrTools{gap:6px}
body.kd-radar-open #kdRadarPage #kdrTools .kdr-tool-action{
  height:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  box-sizing:border-box;padding:0 10px;border:1px solid #e3e7ef;border-radius:8px;background:#fff;
  color:#2d2440;font-family:inherit;font-size:11px;font-weight:800;line-height:1;white-space:nowrap;
  cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .15s ease;
}
body.kd-radar-open #kdRadarPage #kdrTools .kdr-tool-action-icon,
body.kd-radar-open #kdRadarPage #kdrTools .kdr-tool-action-chevron{
  width:16px;height:16px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
}
body.kd-radar-open #kdRadarPage #kdrTools .kdr-tool-action:hover:not(:disabled){
  border-color:#c4b5fd;background:#f5f3ff;color:#6d28d9;transform:translateY(-1px);
}
body.kd-radar-open #kdRadarPage #kdrTools .kdr-tool-action:active:not(:disabled){transform:translateY(0);background:#ede9fe;color:#6d28d9}
body.kd-radar-open #kdRadarPage #kdrTools .kdr-tool-action:focus-visible{
  outline:3px solid rgba(113,55,245,.24);outline-offset:2px;
}
body.kd-radar-open #kdRadarPage #kdrTools .kdr-tool-action:disabled{cursor:wait;opacity:.65;transform:none}
body.kd-radar-open #kdRadarPage #kdrTools .kdr-manage-toggle.active{
  border-color:#8d69ef;background:#eee5ff;color:#5d29c8;box-shadow:inset 0 0 0 1px rgba(113,55,245,.08);
}
:root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrTools .kdr-tool-action{
  border-color:#394357;background:#1b2130;color:#e2e7f0;
}
:root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrTools .kdr-tool-action:hover:not(:disabled){
  border-color:#8d6be8;background:#25213a;color:#e4d8ff;
}
:root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrTools .kdr-tool-action:active:not(:disabled){background:#322857}
:root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrTools .kdr-manage-toggle.active{
  border-color:#9a77f2;background:#382a61;color:#eadfff;box-shadow:inset 0 0 0 1px rgba(201,157,255,.14);
}
@media(max-width:700px){
  /* Mobile tool desk: named primary settings, compact icon-only secondary actions. */
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrMobileToolsToggle{display:none!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-template-rows:44px 44px 44px 44px!important;
    grid-column:1/-1!important;
    grid-row:3!important;
    align-items:stretch;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-search-box{
    display:block!important;
    grid-column:1/-1!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-search-box .kdr-search-input-row{
    height:44px!important;
    min-height:44px!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-search-box .kdr-search{
    height:44px!important;
    min-height:44px!important;
    padding:0 12px!important;
    font-size:12px!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-search-box .kdr-ocr-button{
    width:44px!important;
    flex:0 0 44px!important;
    height:44px!important;
    min-height:44px!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-view-switch{
    display:flex!important;
    grid-column:1/-1!important;
    grid-row:2!important;
    width:100%!important;
    height:44px!important;
    min-height:44px!important;
    margin:0!important;
    padding:0!important;
    border-color:#e3e7ef!important;
    border-radius:8px!important;
    background:#fff!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-view-switch button{
    flex:1 1 33.333%!important;
    min-width:0!important;
    min-height:42px!important;
    height:42px!important;
    padding:0 6px!important;
    color:#667085!important;
    font-size:12px!important;
    font-weight:700!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-view-switch button span{display:inline!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-view-switch button.active{
    background:#ede9fe!important;
    color:#6d28d9!important;
    box-shadow:none!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-tool-action{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 10px!important;
    border:1px solid #e3e7ef!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#2d2440!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    transform:none!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-tool-action:hover:not(:disabled){
    border-color:#c4b5fd!important;
    background:#f5f3ff!important;
    color:#6d28d9!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-tool-action:focus-visible{
    outline:3px solid rgba(124,58,237,.18)!important;
    outline-offset:2px!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-tool-action > .kdr-tool-action-icon{
    width:18px!important;
    height:18px!important;
    flex:0 0 18px!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-global-settings{grid-column:1/-1!important;grid-row:3!important;background:#7c3aed!important;border-color:#7c3aed!important;color:#fff!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-global-settings:hover:not(:disabled){background:#6d28d9!important;border-color:#6d28d9!important;color:#fff!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-manage-toggle{grid-column:2!important;grid-row:4!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-refresh-kd{grid-column:3!important;grid-row:4!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-manage-toggle span,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-refresh-kd span,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-mobile-columns-toggle span,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-maintenance-trigger span{display:none!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-manage-toggle,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-refresh-kd,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-mobile-columns-toggle,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-maintenance-trigger{gap:0!important;padding:0!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-mobile-columns-toggle{
    display:inline-flex!important;
    grid-column:1!important;
    grid-row:4!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 10px!important;
    border:1px solid #e3e7ef!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#2d2440!important;
    font-family:inherit!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-mobile-columns-toggle.active{
    border-color:#c4b5fd!important;
    background:#ede9fe!important;
    color:#6d28d9!important;
    box-shadow:none!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-mobile-columns-toggle .kdr-columns-icon,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-mobile-columns-toggle .kdr-list-density-icon{
    width:18px!important;
    height:18px!important;
    flex:0 0 18px!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-mobile-columns-toggle:not([data-layout-mode="list"]) .kdr-list-density-icon{display:none!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-mobile-columns-toggle[data-layout-mode="list"] .kdr-columns-icon{display:none!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-mobile-columns-toggle[data-layout-mode="list"] .kdr-list-density-icon{display:block!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-maintenance-trigger{
    grid-column:4!important;
    grid-row:4!important;
    border-color:#be123c!important;
    background:#fff1f2!important;
    color:#be123c!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-maintenance-trigger:hover:not(:disabled){
    border-color:#9f1239!important;
    background:#ffe4e6!important;
    color:#9f1239!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-maintenance-trigger .kdr-tool-action-icon{color:currentColor!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-refresh-kd::before{content:none!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-refresh-kd span{display:none!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-layout-button,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools > .kdr-sort-pair{display:none!important}
}

/* Mobile action band: daily controls stay in the scanning path while
   management controls remain one tap away without consuming the first screen. */
@media(max-width:700px){
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-mobile-title{display:none!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-pool-bar{
    position:sticky;
    top:48px;
    z-index:18;
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:6px;
    padding:8px;
    background:#fff;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-pool-heading{grid-column:1;grid-row:1}
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-add-group{grid-column:2;grid-row:1}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrMobileToolsToggle{
    display:inline-flex!important;
    grid-column:3!important;
    grid-row:1!important;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
    border-color:#e3e7ef!important;
    background:#fff!important;
    color:#667085!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrMobileToolsToggle .kdr-mobile-tools-icon{
    width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:2;
    stroke-linecap:round;stroke-linejoin:round;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrMobileToolsToggle [data-mobile-tools-label]{display:none}
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-tabs{
    grid-column:1/-1!important;
    grid-row:2!important;
    height:36px!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band{
    position:relative;
    z-index:1;
    display:grid!important;
    grid-column:1/-1!important;
    grid-row:3!important;
    grid-template-columns:minmax(0,1fr) 44px 44px minmax(104px,1.1fr)!important;
    grid-template-rows:44px!important;
    gap:6px!important;
    width:100%!important;
    margin:0!important;
    padding:6px 0!important;
    border-top:1px solid #e3e7ef;
    border-bottom:1px solid #e3e7ef;
    background:#fff;
    box-shadow:0 8px 14px rgba(38,52,88,.06);
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-global-settings{
    display:inline-flex!important;
    grid-column:1!important;
    grid-row:1!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 12px!important;
    justify-content:center!important;
    background:#7c3aed!important;
    border-color:#7c3aed!important;
    color:#fff!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-global-settings::before,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-layout-button::before{
    content:none!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-refresh-kd{
    display:inline-flex!important;
    grid-column:2!important;
    grid-row:1!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
    gap:0!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-refresh-kd span{display:none!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-mobile-columns-toggle{
    display:none!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-maintenance-trigger{
    display:inline-flex!important;
    grid-column:3!important;
    grid-row:1!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
    gap:0!important;
    border-color:#be123c!important;
    background:#fff1f2!important;
    color:#be123c!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-maintenance-trigger:hover:not(:disabled){
    border-color:#9f1239!important;
    background:#ffe4e6!important;
    color:#9f1239!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-maintenance-trigger span{display:none!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-view-switch{
    display:flex!important;
    position:static;
    grid-column:4!important;
    grid-row:1!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
    border:1px solid #e3e7ef!important;
    border-radius:8px!important;
    background:#fff!important;
    box-shadow:none;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-view-switch button{
    flex:1 1 33.333%!important;
    min-width:0!important;
    min-height:42px!important;
    height:42px!important;
    padding:0 3px!important;
    font-size:12px!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-view-switch #kdrViewCard{
    display:inline-flex!important;
    position:relative;
    flex-direction:row;
    justify-content:center;
    gap:4px;
    line-height:1;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-view-switch #kdrViewCard .kdr-view-label{
    display:inline!important;
    line-height:1;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-view-switch #kdrViewCard .kdr-view-state{
    position:absolute;
    top:4px;
    right:5px;
    display:inline-grid!important;
    place-items:center;
    color:#667085;
    font-size:10px;
    font-weight:700;
    line-height:1;
    white-space:nowrap;
    pointer-events:none;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-view-switch #kdrViewCard.active .kdr-view-state{color:#6d28d9}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-view-switch .kdr-view-icon{display:none!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-search-box,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-push-settings,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-manage-toggle,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-layout-button,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-sort-pair{
    display:none!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band.mobile-expanded{
    grid-template-rows:44px 44px 44px 44px 58px!important;
    padding-bottom:6px!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band.mobile-expanded > .kdr-view-switch{
    position:static;
    grid-column:4!important;
    grid-row:1!important;
    box-shadow:none;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band.mobile-expanded > .kdr-search-box{
    display:block!important;
    grid-column:1/-1!important;
    grid-row:2!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band.mobile-expanded > .kdr-search-box .kdr-search-input-row,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band.mobile-expanded > .kdr-search-box .kdr-search,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band.mobile-expanded > .kdr-search-box .kdr-ocr-button{
    height:44px!important;
    min-height:44px!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band.mobile-expanded > .kdr-push-settings,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band.mobile-expanded > .kdr-manage-toggle{
    display:inline-flex!important;
    grid-row:3!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
    gap:0!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band.mobile-expanded > .kdr-push-settings{grid-column:1!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band.mobile-expanded > .kdr-manage-toggle{grid-column:3/5!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band.mobile-expanded > .kdr-layout-button{
    display:inline-flex!important;
    grid-column:1/-1!important;
    grid-row:4!important;
    width:100%!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 10px!important;
    border:1px solid #e3e7ef!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#2d2440!important;
    font-size:12px!important;
    font-weight:700!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band.mobile-expanded > .kdr-sort-pair{
    display:grid!important;
    grid-column:1/-1!important;
    grid-row:5!important;
    grid-template-columns:auto minmax(0,1fr) minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    min-height:58px!important;
    padding:8px!important;
    box-sizing:border-box!important;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band .kdr-layout-icon{
    width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:2;
    stroke-linecap:round;stroke-linejoin:round;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band .kdr-sort-heading i{
    display:grid;place-items:center;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band .kdr-sort-icon{
    width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;
    stroke-linecap:round;stroke-linejoin:round;
  }
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band.mobile-expanded > .kdr-push-settings span,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band.mobile-expanded > .kdr-manage-toggle span,
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band.mobile-expanded > .kdr-maintenance-trigger span{display:none!important}
  body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-table-wrap{padding-top:12px}
  body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band.mobile-expanded + *{scroll-margin-top:250px}
  @media(max-width:340px){
    body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band{grid-template-columns:minmax(0,1fr) 40px 40px minmax(0,1fr)!important;gap:6px!important}
    body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-global-settings{gap:0!important;padding:0 4px!important;font-size:10px!important}
    body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-global-settings > .kdr-tool-action-icon{display:none!important}
    body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-view-switch button{padding:0 1px!important;font-size:10px!important}
    body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-view-switch #kdrViewCard .kdr-view-state{font-size:8px}
  }
  :root[data-theme="dark"] body.kd-radar-open #kdRadarPage.kdr-c-mode .kdr-pool-bar,
  :root[data-theme="dark"] body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band{background:#171b27}
  :root[data-theme="dark"] body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-view-switch{background:#1b2130!important;border-color:#394357!important}
  :root[data-theme="dark"] body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-view-switch #kdrViewCard .kdr-view-state{color:#aab4c7}
  :root[data-theme="dark"] body.kd-radar-open #kdRadarPage.kdr-c-mode #kdrTools.kdr-mobile-action-band > .kdr-view-switch #kdrViewCard.active .kdr-view-state{color:#c4b5fd}
}


/* Secondary maintenance actions stay available without competing with daily controls. */
.kdr-maintenance-menu{position:relative;flex:0 0 auto}.kdr-maintenance-trigger .kdr-tool-action-chevron{width:13px;height:13px;margin-left:-2px;transition:transform .15s ease}.kdr-maintenance-trigger[aria-expanded="true"] .kdr-tool-action-chevron{transform:rotate(180deg)}.kdr-maintenance-trigger.has-undo{border-color:#d7a231!important;background:#fff9e9!important;color:#9b6300!important}.kdr-maintenance-trigger.has-undo .kdr-tool-action-icon{color:#b9413b}.kdr-maintenance-popover{position:absolute;z-index:20;top:calc(100% + 7px);right:0;width:228px;padding:9px;border:1px solid #dfe4eb;border-radius:8px;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.16)}.kdr-maintenance-popover>p{margin:2px 5px 7px;color:#7b8593;font-size:10px;line-height:1.4}.kdr-maintenance-popover button{display:flex;align-items:flex-start;flex-direction:column;width:100%;gap:2px;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:#2e3948;font-family:inherit;text-align:left;cursor:pointer}.kdr-maintenance-popover button[hidden]{display:none}.kdr-maintenance-popover button:hover{background:#f7f5ff;color:#6040c7}.kdr-maintenance-popover button span{font-size:11px;font-weight:800}.kdr-maintenance-popover button small{color:#7b8593;font-size:10px;font-weight:600}.kdr-maintenance-popover .kdr-death-undo{color:#8a5d09}.kdr-maintenance-popover .kdr-death-undo:not([hidden]):hover{background:#fff8e7;color:#8a5d09}

/* The destructive workflow uses the same clear surface hierarchy as other KD work panels. */
.kdr-death-scan-modal{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(24,31,43,.56)}.kdr-death-scan-modal.show{display:flex}.kdr-death-scan-panel{width:min(760px,100%);max-height:min(760px,calc(100dvh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid #dfe4eb;border-radius:10px;background:#fff;color:#202733;box-shadow:0 18px 46px rgba(15,23,42,.28)}.kdr-death-scan-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 16px;border-bottom:1px solid #e8edf3;background:#fff}.kdr-death-scan-panel header h2{margin:2px 0 0;color:#202733;font-size:17px;font-weight:800}.kdr-death-scan-kicker{margin:0;color:#6040c7;font-size:10px;font-weight:850}.kdr-death-scan-description{max-width:540px;margin:6px 0 0;color:#657080;font-size:11px;line-height:1.55}.kdr-death-scan-panel header button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dfe4eb;border-radius:7px;background:#fff;color:#657080;font-size:0}.kdr-death-scan-panel header button:hover{background:#f8fafc;color:#202733}.kdr-death-scan-panel header button svg{width:16px;height:16px}.kdr-death-scan-tools{display:flex;align-items:flex-end;gap:14px;padding:12px 20px;border-bottom:1px solid #e8edf3;background:#f8fafc;font-size:11px}.kdr-death-filter{display:flex;flex-direction:column;gap:5px;color:#657080;font-size:10px;font-weight:750}.kdr-death-scan-tools select{min-width:220px;height:34px;border:1px solid #d8dee8;border-radius:7px;background:#fff;color:#283241;padding:0 9px;font-family:inherit;font-size:11px;outline:none}.kdr-death-select-all{display:inline-flex;align-items:center;gap:7px;min-height:34px;color:#3d4857;font-size:11px;font-weight:700;white-space:nowrap}.kdr-death-select-all input{width:15px;height:15px;accent-color:#6040c7}.kdr-death-scan-tools p{flex:1;min-width:150px;margin:0;color:#657080;font-size:10.5px;line-height:1.45}.kdr-death-scan-rows{flex:1;overflow:auto;padding:4px 20px 10px;background:#fff}.kdr-death-row{display:flex;gap:11px;padding:12px 4px;border-bottom:1px solid #edf0f4;color:#334050;font-size:12px}.kdr-death-row input{width:15px;height:15px;margin:2px 0 0;accent-color:#6040c7}.kdr-death-row b{color:#202733}.kdr-death-row small{display:block;color:#707b8b;line-height:1.45}.kdr-death-row code{color:#6040c7;font-size:10px}.kdr-death-row.muted{opacity:.55}.kdr-death-scan-panel footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid #e8edf3;background:#f8fafc}.kdr-death-scan-panel footer>p{margin:0;color:#7b8593;font-size:10.5px}.kdr-death-scan-panel footer>div{display:flex;gap:8px}.kdr-death-scan-panel footer button{height:34px;padding:0 12px;border:1px solid #d8dee8;border-radius:7px;background:#fff;color:#566171;font-family:inherit;font-size:11px;font-weight:750}.kdr-death-scan-panel footer .primary{border-color:#b9413b;background:#b9413b;color:#fff}.kdr-death-scan-panel footer .primary:hover{border-color:#a53531;background:#a53531}.kdr-death-scan-panel .empty{padding:32px;text-align:center;color:#657080}
:root[data-theme="dark"] .kdr-maintenance-trigger.has-undo{border-color:#a87925!important;background:#382d1b!important;color:#f1cf85!important}:root[data-theme="dark"] .kdr-maintenance-popover,:root[data-theme="dark"] .kdr-death-scan-panel,:root[data-theme="dark"] .kdr-death-scan-panel header{border-color:#30384b;background:#171b27;color:#edf0f8}:root[data-theme="dark"] .kdr-maintenance-popover>p,:root[data-theme="dark"] .kdr-maintenance-popover button small,:root[data-theme="dark"] .kdr-death-scan-description,:root[data-theme="dark"] .kdr-death-scan-tools p,:root[data-theme="dark"] .kdr-death-row small,:root[data-theme="dark"] .kdr-death-scan-panel footer>p{color:#9aa5ba}:root[data-theme="dark"] .kdr-maintenance-popover button,:root[data-theme="dark"] .kdr-death-row,:root[data-theme="dark"] .kdr-death-row b{color:#e2e7f0}:root[data-theme="dark"] .kdr-maintenance-popover button:hover{background:#25223a;color:#d6c5ff}:root[data-theme="dark"] .kdr-death-scan-panel header h2{color:#edf0f8}:root[data-theme="dark"] .kdr-death-scan-tools,:root[data-theme="dark"] .kdr-death-scan-panel footer{border-color:#30384b;background:#141925}:root[data-theme="dark"] .kdr-death-scan-tools select,:root[data-theme="dark"] .kdr-death-scan-panel header button,:root[data-theme="dark"] .kdr-death-scan-panel footer button{border-color:#394357;background:#1b2130;color:#d9e0ec}:root[data-theme="dark"] .kdr-death-scan-rows{background:#171b27}:root[data-theme="dark"] .kdr-death-row{border-color:#273043}:root[data-theme="dark"] .kdr-death-row code{color:#c9b2ff}
@media(max-width:700px){.kdr-maintenance-menu{display:block}.kdr-maintenance-trigger .kdr-tool-action-chevron{width:15px!important;height:15px!important;margin:0!important}.kdr-maintenance-popover{position:absolute;width:228px;right:0;margin-top:0}.kdr-death-scan-modal{align-items:flex-end;padding:0}.kdr-death-scan-panel{max-height:94dvh;border-right:0;border-bottom:0;border-left:0;border-radius:12px 12px 0 0}.kdr-death-scan-panel header{padding:16px}.kdr-death-scan-tools{align-items:stretch;flex-direction:column;padding:12px 16px}.kdr-death-scan-tools select{width:100%}.kdr-death-scan-tools p{min-width:0}.kdr-death-scan-rows{padding:4px 16px 10px}.kdr-death-scan-panel footer{align-items:stretch;flex-direction:column;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.kdr-death-scan-panel footer>div{width:100%}.kdr-death-scan-panel footer button{flex:1}.kdr-death-scan-panel footer .primary{white-space:nowrap}}

/* Death cleanup follows the compact white KDWatch tool-panel treatment. */
.kdr-maintenance-popover{width:246px;padding:7px;border-color:#d9dfe8;border-radius:8px;box-shadow:0 10px 26px rgba(25,35,52,.14)}
.kdr-maintenance-popover>p{margin:3px 7px 6px;color:#7b8594;font-size:10px;line-height:1.4}
.kdr-maintenance-popover .kdr-maintenance-option{position:relative;gap:3px;padding:10px 11px;border-radius:6px}
.kdr-maintenance-popover .kdr-maintenance-option span{font-size:11px;font-weight:800}
.kdr-maintenance-popover .kdr-maintenance-option small{font-size:10px;line-height:1.35}
.kdr-maintenance-popover .kdr-maintenance-option:hover{background:#f4f1ff;color:#5638b7}
.kdr-maintenance-trigger{border-color:#be123c!important;background:#fff1f2!important;color:#be123c!important}
.kdr-maintenance-trigger .kdr-tool-action-icon,.kdr-maintenance-trigger .kdr-tool-action-chevron{color:#be123c!important}
.kdr-maintenance-trigger:hover:not(:disabled){border-color:#9f1239!important;background:#ffe4e6!important;color:#9f1239!important}
.kdr-maintenance-popover .kdr-maintenance-option:hover{background:#fff1f2;color:#be123c}

.kdr-death-scan-modal{padding:20px;background:rgba(24,31,43,.48)}
.kdr-death-scan-panel{width:min(700px,100%);max-height:min(700px,calc(100dvh - 40px));border-color:#d9dfe8;border-radius:9px;box-shadow:0 18px 42px rgba(15,23,42,.24)}
.kdr-death-scan-panel header{padding:16px 18px 14px;border-color:#e5e9ef}
.kdr-death-scan-kicker{margin:0;color:#be123c;font-size:10px;font-weight:800;letter-spacing:0}
.kdr-death-scan-panel header h2{margin:3px 0 0;color:#202733;font-size:17px;line-height:1.25;font-weight:800}
.kdr-death-scan-description{margin:5px 0 0;color:#6d7786;font-size:11px;line-height:1.45}
.kdr-death-scan-panel header button{width:30px;height:30px;border-color:#dce2ea;border-radius:6px}
.kdr-death-scan-panel header button:hover{background:#f5f7fa;color:#384352}
.kdr-death-scan-tools{display:grid;grid-template-columns:208px auto minmax(0,1fr);align-items:end;gap:12px;padding:10px 18px;border-color:#e5e9ef;background:#f7f8fb}
.kdr-death-filter{gap:4px;font-size:10px}
.kdr-death-scan-tools select{min-width:0;width:100%;height:32px;border-color:#d5dce6;border-radius:6px;font-size:11px}
.kdr-death-scan-tools select:focus{border-color:#be123c;box-shadow:0 0 0 2px rgba(190,18,60,.12)}
.kdr-death-select-all{min-height:32px;font-size:11px}
.kdr-death-select-all input,.kdr-death-row input{accent-color:#be123c}
.kdr-death-scan-tools p{min-width:0;align-self:center;justify-self:end;margin:0;color:#657080;font-size:10.5px;font-weight:700;line-height:1.4;text-align:right}
.kdr-death-scan-rows{padding:0 18px 8px}
.kdr-death-row{gap:10px;padding:11px 2px;border-color:#e9edf2;font-size:12px}
.kdr-death-row input{width:15px;height:15px;margin:5px 0 0}
.kdr-death-row-content{display:block;min-width:0;flex:1}
.kdr-death-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.kdr-death-row-head>span:first-child{display:flex;align-items:baseline;gap:6px;min-width:0}
.kdr-death-row b{overflow:hidden;color:#273141;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.kdr-death-row code{flex:0 0 auto;color:#6247c5;font-size:10px}
.kdr-death-state-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;flex:0 0 auto}
.kdr-death-state{display:inline-flex;align-items:center;min-height:18px;padding:0 6px;border:1px solid transparent;border-radius:4px;font-size:9.5px;font-weight:750;line-height:1;white-space:nowrap}
.kdr-death-state.death{border-color:#f0c9c6;background:#fff5f4;color:#b6322e}
.kdr-death-state.clear{border-color:#d9e2ee;background:#f6f8fb;color:#687585}
.kdr-death-state.pending{border-color:#e2e6ec;background:#fafbfd;color:#8b95a3}
.kdr-death-state.protected{border-color:#f1dfae;background:#fff9e9;color:#9b690d}
.kdr-death-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:7px}
.kdr-death-metrics>span{display:flex;align-items:center;gap:6px;min-width:0;color:#5e6a79;font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}
.kdr-death-metrics em{flex:0 0 auto;color:#818b99;font-style:normal}
.kdr-death-metrics b{overflow:visible;color:#344153;font-size:10px;font-weight:750}
.kdr-death-metrics i{overflow:hidden;color:#818b99;font-size:10px;font-style:normal;text-overflow:ellipsis}
.kdr-death-row-meta{display:flex;justify-content:space-between;gap:12px;margin-top:6px;color:#86909e;font-size:9.5px;line-height:1.35}
.kdr-death-row-meta>span:last-child{overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.kdr-death-row.muted{opacity:.62}
.kdr-death-scan-panel footer{padding:11px 18px;border-color:#e5e9ef;background:#fff}
.kdr-death-scan-panel footer>p{font-size:10.5px}
.kdr-death-scan-panel footer button{height:32px;border-color:#d5dce6;border-radius:6px;font-size:11px}
.kdr-death-scan-panel footer .primary{border-color:#be123c;background:#be123c}
.kdr-death-scan-panel footer .primary:hover{border-color:#9f1239;background:#9f1239}
.kdr-death-scan-panel footer .kdr-death-undo-in-modal{border-color:#f0c9c6;color:#b6322e;background:#fff5f4}
.kdr-death-scan-panel footer .kdr-death-undo-in-modal:hover:not(:disabled){border-color:#e5aaa6;background:#ffefee;color:#a52c29}
.kdr-death-scan-panel footer .kdr-death-undo-in-modal:disabled{border-color:#e6e9ee;background:#f7f8fa;color:#a7afbb;cursor:not-allowed}
.kdr-death-scan-panel .empty{padding:38px 16px;color:#7b8594;font-size:11px}
.kdr-death-scan-progress{display:grid;gap:8px;max-width:430px;margin:0 auto;padding:34px 16px;color:#657080;font-size:11px;text-align:left}.kdr-death-scan-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#2d2440}.kdr-death-scan-progress-head b{font-size:12px;font-weight:800}.kdr-death-scan-progress-head strong{color:#7c3aed;font-family:"JetBrains Mono",Consolas,monospace;font-size:12px;font-variant-numeric:tabular-nums}.kdr-death-scan-progress p,.kdr-death-scan-progress small{margin:0;color:#667085;line-height:1.5}.kdr-death-scan-progress small{color:#8a93a5;font-size:10px}.kdr-death-scan-progress-track{height:8px;overflow:hidden;border:1px solid #e3e7ef;border-radius:8px;background:#f5f3ff}.kdr-death-scan-progress-track i{display:block;width:var(--kdr-death-progress,0%);height:100%;border-radius:inherit;background:#7c3aed;transition:width 160ms ease-out}@media(prefers-reduced-motion:reduce){.kdr-death-scan-progress-track i{transition:none}}
:root[data-theme="dark"] .kdr-death-scan-panel{border-color:#30384b}:root[data-theme="dark"] .kdr-death-scan-tools{border-color:#30384b;background:#141925}:root[data-theme="dark"] .kdr-death-scan-panel footer{border-color:#30384b;background:#171b27}:root[data-theme="dark"] .kdr-death-row{border-color:#273043}:root[data-theme="dark"] .kdr-death-row b,:root[data-theme="dark"] .kdr-death-metrics b{color:#e2e7f0}:root[data-theme="dark"] .kdr-death-metrics i,:root[data-theme="dark"] .kdr-death-row-meta{color:#9aa5ba}:root[data-theme="dark"] .kdr-death-state.clear{border-color:#3b475c;background:#202838;color:#aebbd0}:root[data-theme="dark"] .kdr-death-state.pending{border-color:#394357;background:#1b2130;color:#9aa5ba}:root[data-theme="dark"] .kdr-death-scan-progress-head{color:#edf0f8}:root[data-theme="dark"] .kdr-death-scan-progress p{color:#9aa5ba}:root[data-theme="dark"] .kdr-death-scan-progress small{color:#7f8ba1}:root[data-theme="dark"] .kdr-death-scan-progress-track{border-color:#394357;background:#1b2130}
@media(max-width:700px){.kdr-maintenance-popover{width:246px}.kdr-death-scan-modal{padding:0;align-items:flex-end}.kdr-death-scan-panel{max-height:92dvh;border-right:0;border-bottom:0;border-left:0;border-radius:10px 10px 0 0}.kdr-death-scan-panel header{padding:15px 16px}.kdr-death-scan-tools{grid-template-columns:1fr auto;gap:10px;padding:10px 16px}.kdr-death-filter{grid-column:1/-1}.kdr-death-scan-tools p{justify-self:end;text-align:right}.kdr-death-scan-rows{padding:0 16px 8px}.kdr-death-row-head{align-items:flex-start;flex-direction:column;gap:6px}.kdr-death-state-list{justify-content:flex-start}.kdr-death-metrics{grid-template-columns:1fr;gap:4px}.kdr-death-row-meta{align-items:flex-start;flex-direction:column;gap:2px}.kdr-death-row-meta>span:last-child{max-width:100%;text-align:left}.kdr-death-scan-panel footer{align-items:stretch;flex-direction:column;padding:10px 16px calc(10px + env(safe-area-inset-bottom))}.kdr-death-scan-panel footer>div{width:100%}.kdr-death-scan-panel footer button{flex:1}}

/* Keep the fixed mobile navigation legible over scrolling content. */
@media(max-width:900px){
  body.kd-radar-open .sidebar{display:none!important}
  :root:not([data-theme="dark"]) .mobile-tabbar{
    background:#fff!important;
    background-image:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  :root[data-theme="dark"] .mobile-tabbar{
    background:#151627!important;
    background-image:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
}

/* Weekly golden signals share the daily golden semantic green. The `weekup`
   class remains in the data model so filtering and sorting semantics stay intact. */
.kdr-state.weekup{background:#eaf8ec;color:#168a2d}
.kdr-grade.weekup{background:#eaf8ec;color:#168a2d}
.kdr-radar-card.weekup{border-top-color:#22a93b}
.kdr-push-bridge.weekup .kdr-push-bridge-status>b{color:#168a2d}
.kdr-push-bridge.weekup .kdr-push-bridge-status>b i{background:#22a93b;color:#fff}
.kdr-list-signal-path.weekup .kdr-list-path-result>b{color:#168a2d}
.kdr-list-item.weekup{border-left-color:#22a93b}
.kdr-card-status.weekup{border-color:#bfe4c8;background:#eaf8ec;color:#168a2d}
.kdr-list-status.weekup{border-color:#bfe4c8;background:#eaf8ec;color:#168a2d}
.kdr-list-signal-strip.weekup>strong{color:#168a2d}

:root[data-theme="dark"] .kdr-state.weekup{background:rgba(34,197,94,.14);color:#4ade80}
:root[data-theme="dark"] .kdr-grade.weekup{background:rgba(34,197,94,.14);color:#4ade80}
:root[data-theme="dark"] .kdr-card-status.weekup{border-color:rgba(74,222,128,.28);background:rgba(34,197,94,.14);color:#4ade80}
:root[data-theme="dark"] .kdr-list-status.weekup{border-color:rgba(74,222,128,.28);background:rgba(34,197,94,.14);color:#4ade80}
:root[data-theme="dark"] .kdr-push-bridge.weekup .kdr-push-bridge-status>b{color:#4ade80}
:root[data-theme="dark"] .kdr-push-bridge.weekup .kdr-push-bridge-status>b i{background:#22c55e;color:#fff}
:root[data-theme="dark"] .kdr-list-signal-path.weekup .kdr-list-path-result>b{color:#4ade80}
:root[data-theme="dark"] .kdr-list-signal-strip.weekup>strong{color:#4ade80}

/* Weekly-priority cards use the same green treatment as daily-priority cards. */
.kdr-radar-card.kdr-priority-weekly{border-top-color:#22a93b}
.kdr-priority-weekly .kdr-radar-card-head{background:#f6fcf7}
.kdr-priority-weekly .kdr-card-status,
.kdr-priority-weekly .kdr-list-status{border-color:#bfe4c8;background:#eaf8ec;color:#168a2d}
.kdr-list-item.kdr-priority-weekly{border-left-color:#22a93b}
#kdrPoolBody.kdr-timeline-grid .kdr-timeline-card.kdr-priority-weekly{border-top-color:#22a93b}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-focus-card.kdr-priority-weekly{border-top-color:#22a93b}
:root[data-theme="dark"] .kdr-priority-weekly .kdr-radar-card-head{background:#19291f}
:root[data-theme="dark"] .kdr-priority-weekly .kdr-card-status,
:root[data-theme="dark"] .kdr-priority-weekly .kdr-list-status{border-color:rgba(74,222,128,.28);background:rgba(34,197,94,.14);color:#4ade80}

/* Summary card and timeline queue also use green for weekly golden. */
.kdr-stat[data-signal="weekly_golden_pushed"]{border-color:#c6e8d0;background:linear-gradient(145deg,#f3fcf5,#fff)}
.kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-icon{background:#dff5e5;color:#16783a}
.kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-label,
.kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-value b,
.kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-value small,
.kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-delta{color:#16783a}
.kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-label i{color:#238344}
body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-queue-state.weekly{color:#168a2d}
:root[data-theme="dark"] .kdr-stat[data-signal="weekly_golden_pushed"]{border-color:rgba(74,222,128,.28);background:linear-gradient(145deg,#19291f,#1e1c2c)}
:root[data-theme="dark"] .kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-icon{background:rgba(34,197,94,.16);color:#4ade80}
:root[data-theme="dark"] .kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-label,
:root[data-theme="dark"] .kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-value b,
:root[data-theme="dark"] .kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-value small,
:root[data-theme="dark"] .kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-delta,
:root[data-theme="dark"] .kdr-stat[data-signal="weekly_golden_pushed"] .kdr-stat-label i{color:#54d77b}
:root[data-theme="dark"] body.kd-radar-open #kdRadarPage #kdrPoolBody.kdr-timeline-grid .kdr-timeline-reader-queue-state.weekly{color:#4ade80}
