/* ===== Strategy Detail Overlay ===== */
.dv-overlay{position:fixed;inset:0;background:rgba(0,0,0,.94);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);z-index:120;display:none;overflow-y:auto}
.dv-overlay.open{display:block}
.dv-shell{max-width:1380px;margin:0 auto;padding:22px 32px 80px;animation:dvIn .28s cubic-bezier(.2,.7,.2,1)}
@keyframes dvIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:780px){ .dv-shell{padding:14px 16px 60px} }

/* Top bar */
.dv-top{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--border-subtle);margin-bottom:22px;flex-wrap:wrap}
.dv-back{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 13px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--bg-secondary);color:var(--content-primary);font-size:13px;cursor:pointer;font-weight:500;transition:all .12s;font-family:inherit}
.dv-back:hover{background:var(--brand-accent-muted);border-color:var(--border-default)}
.dv-back svg{width:13px;height:13px}
.dv-breadcrumb{font-family:var(--mono);font-size:11.5px;color:var(--content-secondary);letter-spacing:.04em}
.dv-breadcrumb b{color:var(--content-primary);font-weight:500}
.dv-acts{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.dv-acts .act-btn{font-size:13px;height:34px;padding:0 13px}
.dv-acts .act-btn.primary-act{background:var(--brand-accent);color:#000;border-color:var(--brand-accent);font-weight:600}
.dv-acts .act-btn.primary-act:hover{background:#dadada}

/* Hero */
.dv-hero{display:flex;align-items:flex-start;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.dv-hero .glyph{flex:0 0 56px;width:56px;height:56px;border-radius:14px;display:grid;place-items:center}
.dv-hero .glyph.mr{background:rgba(29,155,240,.12);color:#4ab3f5}
.dv-hero .glyph.mom{background:rgba(0,186,124,.12);color:var(--gain)}
.dv-hero .glyph.vol{background:rgba(245,158,11,.12);color:#f5b04f}
.dv-hero .glyph.fb{background:rgba(167,139,250,.14);color:#bda6ff}
.dv-hero .glyph.vc{background:rgba(244,33,46,.10);color:#f1747a}
.dv-hero .glyph svg{width:26px;height:26px}
.dv-hero .ti{flex:1;min-width:240px}
.dv-hero .id{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--content-secondary);text-transform:uppercase}
.dv-hero h2{font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:5px 0 6px;text-wrap:balance}
.dv-hero .sub{font-family:var(--mono);font-size:12.5px;color:var(--content-secondary);letter-spacing:-.005em}
.dv-grade-lg{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:rgba(0,186,124,.12);color:var(--gain);border:1px solid rgba(0,186,124,.30);font-family:var(--mono);font-size:12px;font-weight:600;align-self:flex-start;margin-top:6px}
.dv-grade-lg svg{width:13px;height:13px}

/* Stat strip */
.dv-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:22px}
@media (max-width:1080px){ .dv-strip{grid-template-columns:repeat(3,1fr)} }
@media (max-width:560px){ .dv-strip{grid-template-columns:repeat(2,1fr)} }
.dv-stat{padding:14px 16px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:12px;display:flex;flex-direction:column;gap:5px}
.dv-stat .l{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--content-secondary);text-transform:uppercase}
.dv-stat .v{font-family:var(--mono);font-size:22px;font-weight:600;letter-spacing:-.025em;color:var(--content-primary)}
.dv-stat .v.gain{color:var(--gain)}
.dv-stat .v.loss{color:var(--loss)}
.dv-stat .d{font-family:var(--mono);font-size:10.5px;color:var(--content-tertiary)}

/* Chart container */
.dv-chartcard{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:16px;overflow:hidden;margin-bottom:22px}
.dv-charthd{display:flex;align-items:flex-start;gap:16px;padding:16px 20px 12px;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}
.dv-charthd .ti{font-size:15px;font-weight:600;letter-spacing:-.005em;margin-bottom:3px}
.dv-charthd .sub{font-family:var(--mono);font-size:11px;color:var(--content-secondary)}
.dv-charthd .legend{display:flex;gap:14px;margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--content-secondary);flex-wrap:wrap;align-self:center}
.dv-charthd .legend span{display:inline-flex;align-items:center;gap:6px}
.dv-charthd .legend .mk{width:9px;height:9px;border-radius:2px;display:inline-block}
.dv-charthd .legend .mk.bull{background:var(--gain)}
.dv-charthd .legend .mk.bear{background:var(--loss)}
.dv-charthd .legend .mk.entry-l{width:10px;height:10px;border-radius:50%;background:transparent;border:1.5px solid var(--gain)}
.dv-charthd .legend .mk.entry-s{width:10px;height:10px;border-radius:50%;background:transparent;border:1.5px solid var(--loss)}
.dv-charthd .legend .mk.exit{width:8px;height:8px;border-radius:50%;background:var(--content-secondary)}

.dv-chart-tabs{display:flex;gap:4px;padding:10px 20px;border-bottom:1px solid var(--border-subtle);align-items:center}
.dv-chart-tabs .tab{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border-radius:7px;font-family:var(--mono);font-size:11px;color:var(--content-secondary);background:transparent;border:1px solid transparent;cursor:pointer;font-weight:500;letter-spacing:.02em}
.dv-chart-tabs .tab.active{background:var(--bg-primary);color:var(--content-primary);border-color:var(--border-subtle)}
.dv-chart-tabs .tab:hover:not(.active){color:var(--content-primary)}
.dv-chart-tabs .sp{flex:1}
.dv-chart-tabs .lbl{font-family:var(--mono);font-size:10px;color:var(--content-tertiary);text-transform:uppercase;letter-spacing:.1em;margin-right:4px}

/* Chart bodies */
.dv-pane{padding:14px 20px 4px;position:relative}
.dv-pane .pane-hd{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.dv-pane .pane-hd .ti{font-family:var(--mono);font-size:10.5px;color:var(--content-secondary);text-transform:uppercase;letter-spacing:.12em}
.dv-pane .pane-hd .sub{font-family:var(--mono);font-size:10.5px;color:var(--content-tertiary)}
.dv-pane .pane-hd .end{margin-left:auto;font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--content-primary)}
.dv-pane .pane-hd .end.loss{color:var(--loss)}
.dv-pane .pane-hd .end.gain{color:var(--gain)}
.dv-pane.kline{padding-bottom:0}
.dv-pane.eq{border-top:1px solid var(--border-subtle);padding-top:14px}
.dv-pane.dd{border-top:1px solid var(--border-subtle);padding-top:14px;padding-bottom:18px}

.dv-chart-wrap{position:relative}
.dv-chart-wrap svg{display:block;width:100%}
.dv-chart-wrap .yaxis{position:absolute;top:0;right:6px;height:100%;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;padding:2px 0}
.dv-chart-wrap .yaxis span{font-family:var(--mono);font-size:9.5px;color:var(--content-tertiary);background:rgba(10,10,10,.65);padding:1px 5px;border-radius:3px;line-height:1.1}

.dv-xaxis{display:flex;justify-content:space-between;padding:6px 26px 14px 20px;font-family:var(--mono);font-size:10px;color:var(--content-tertiary);letter-spacing:.04em}

/* Trade hover sync */
.dv-cursor{position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.18);pointer-events:none;display:none;z-index:2}
.dv-cursor.show{display:block}

/* Grid: trades + sidebar */
.dv-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:18px;align-items:flex-start}
@media (max-width:1080px){ .dv-grid{grid-template-columns:1fr} }
.dv-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:16px;overflow:hidden}
.dv-card-hd{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border-subtle)}
.dv-card-hd .ti{font-size:14.5px;font-weight:600;letter-spacing:-.005em}
.dv-card-hd .sub{font-family:var(--mono);font-size:11px;color:var(--content-secondary)}
.dv-card-hd .ac{margin-left:auto;display:flex;gap:5px}
.dv-mini-chip{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:6px;font-family:var(--mono);font-size:10.5px;color:var(--content-secondary);background:var(--bg-primary);border:1px solid var(--border-subtle);cursor:pointer;transition:all .12s;letter-spacing:.02em;font-weight:500}
.dv-mini-chip:hover{color:var(--content-primary);border-color:var(--border-default)}
.dv-mini-chip.active{color:var(--content-primary);border-color:var(--border-strong);background:var(--bg-tertiary)}

/* Trade table */
.dv-trades{max-height:560px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#2F3336 transparent}
.dv-trades::-webkit-scrollbar{width:8px}
.dv-trades::-webkit-scrollbar-thumb{background:#2F3336;border-radius:4px}
.dv-trades table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:11.5px}
.dv-trades thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}
.dv-trades th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border-subtle);color:var(--content-secondary);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;background:var(--bg-secondary)}
.dv-trades th.r{text-align:right}
.dv-trades td{padding:9px 12px;border-bottom:1px solid var(--border-subtle);color:var(--content-primary);white-space:nowrap;letter-spacing:-.005em}
.dv-trades tr:last-child td{border-bottom:0}
.dv-trades td.r{text-align:right;font-variant-numeric:tabular-nums}
.dv-trades tr{transition:background .1s;cursor:pointer}
.dv-trades tr:hover td{background:var(--bg-tertiary)}
.dv-trades tr.active td{background:rgba(29,155,240,.08)}
.dv-trades .side-l{color:var(--gain);font-weight:600;letter-spacing:.04em}
.dv-trades .side-s{color:var(--loss);font-weight:600;letter-spacing:.04em}
.dv-trades .gain{color:var(--gain)}
.dv-trades .loss{color:var(--loss)}
.dv-trades td.tn{color:var(--content-tertiary)}
.dv-trades td.dt{color:var(--content-secondary);font-size:11px}

/* Sidebar */
.dv-side{display:flex;flex-direction:column;gap:18px}
.dv-side .ssec{padding:18px 20px}
.dv-side .ssec h5{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--content-secondary);margin:0 0 12px;font-weight:500;display:flex;align-items:center;gap:8px}
.dv-side .ssec h5::after{content:"";flex:1;height:1px;background:var(--border-subtle)}
.dv-side .ssec p{margin:0;font-size:13.5px;line-height:1.6;color:var(--content-secondary)}
.dv-side .ssec p strong{color:var(--content-primary);font-weight:500}
.dv-side .ssec p em{color:var(--content-primary);font-style:normal;font-weight:500}
.dv-side .payload{margin:0;border-radius:0;border:0;background:var(--bg-primary);border-top:1px solid var(--border-subtle);padding:14px 20px;font-size:11.5px;line-height:1.7}
.dv-side .kv{display:grid;grid-template-columns:1fr auto;gap:8px 16px;font-family:var(--mono);font-size:11.5px}
.dv-side .kv .k{color:var(--content-secondary)}
.dv-side .kv .v{color:var(--content-primary);text-align:right;font-weight:500;letter-spacing:-.005em}
.dv-side .kv .v.gain{color:var(--gain)}
.dv-side .kv .v.warn{color:var(--warn)}
.dv-side .kv .v.loss{color:var(--loss)}

.dv-prov{font-family:var(--mono);font-size:10.5px;color:var(--content-secondary);line-height:1.85}
.dv-prov .row{display:flex;gap:10px}
.dv-prov .row .k{flex:0 0 96px;color:var(--content-tertiary);text-transform:uppercase;letter-spacing:.08em;font-size:9.5px;padding-top:1px}
.dv-prov .row .v{color:var(--content-primary)}

/* "Open detail" CTA on hero / anatomy */
.dv-cta-link{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11.5px;color:#4ab3f5;cursor:pointer;background:transparent;border:0;padding:6px 0;font-weight:500;letter-spacing:.02em;transition:color .1s}
.dv-cta-link:hover{color:#7cc6f7}
.dv-cta-link svg{width:12px;height:12px}
.xcard{cursor:pointer}

/* ===== Rebuilt real-data detail body (#dv-body) ===== */
.dv-body{padding:0}
.dv-body-inner{max-width:1080px;margin:0 auto;padding:28px 32px 64px}
@media (max-width:720px){ .dv-body-inner{padding:20px} }
.dv-loading{padding:64px 0;text-align:center;color:var(--content-secondary);font-size:14px}
.dv-loading.error{color:var(--loss)}
.dv-hero2{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}
.dv-glyph2{width:46px;height:46px;border-radius:13px;flex-shrink:0;display:grid;place-items:center;background:var(--signal-dim);color:var(--signal)}
.dv-glyph2 svg{width:24px;height:24px}
.dv-hero2-main{min-width:0;flex:1}
.dv-hero-meta{font-size:11px;color:var(--content-secondary)}
.dv-hero2-main h2{font-size:26px;line-height:1.15;letter-spacing:-.02em;font-weight:600;margin:4px 0 6px}
.dv-sub{font-size:13.5px;color:var(--content-secondary)}
.dv-grade2{flex-shrink:0;font-family:var(--mono);font-size:11px;padding:6px 12px;border-radius:999px;border:1px solid var(--border-default);color:var(--content-secondary)}
.dv-grade2.ok{color:var(--gain);border-color:rgba(0,186,124,.35);background:rgba(0,186,124,.10)}
.dv-grade2.fail{color:var(--loss);border-color:rgba(244,33,46,.35);background:rgba(244,33,46,.10)}
.dv-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:22px}
@media (max-width:860px){ .dv-stats{grid-template-columns:repeat(3,1fr)} }
@media (max-width:480px){ .dv-stats{grid-template-columns:repeat(2,1fr)} }
.dv-stat{border:1px solid var(--border-default);border-radius:13px;background:var(--bg-secondary);padding:13px}
.dv-stat .l{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;color:var(--content-secondary)}
.dv-stat .v{font-family:var(--mono);font-size:19px;font-weight:600;margin-top:6px}
.dv-stat .v.gain{color:var(--gain)} .dv-stat .v.loss{color:var(--loss)}
.dv-stat .d{font-size:10.5px;color:var(--content-tertiary);margin-top:3px}
.dv-eq{border:1px solid var(--border-default);border-radius:14px;background:var(--bg-secondary);padding:16px;margin-bottom:22px}
.dv-eq-head{display:flex;justify-content:space-between;font-size:12.5px;font-weight:600;margin-bottom:10px}
.dv-eq-svg{width:100%;height:120px}
.dv-eq-empty{padding:32px 0;text-align:center;color:var(--content-secondary);font-size:13px}
.dv-cols{display:grid;grid-template-columns:1.5fr .85fr;gap:22px}
@media (max-width:860px){ .dv-cols{grid-template-columns:1fr} }
.dv-cols section{margin-bottom:20px}
.dv-cols h5{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--content-secondary);margin:0 0 8px}
.dv-cols p{font-size:14px;line-height:1.6;color:var(--content-primary);margin:0}
.dv-expr{font-family:var(--mono);font-size:12px;color:var(--content-primary);background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:10px;padding:12px;overflow:auto;white-space:pre-wrap;margin:0}
.dv-gates{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.dv-gate{display:grid;grid-template-columns:18px 1fr;gap:8px 10px;align-items:start;font-size:13px}
.dv-gate .gmk{width:18px;height:18px;border-radius:999px;display:grid;place-items:center;font-size:11px;background:rgba(0,186,124,.14);color:var(--gain)}
.dv-gate.fail .gmk{background:rgba(244,33,46,.14);color:var(--loss)}
.dv-gate .gk{font-weight:500}
.dv-gate .gd{grid-column:2;font-size:12px;color:var(--content-secondary)}
.dv-chips{display:flex;flex-wrap:wrap;gap:6px}
.dv-chip{font-family:var(--mono);font-size:11px;padding:4px 9px;border-radius:999px;border:1px solid var(--border-default);color:var(--content-secondary)}
.dv-kv{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border-subtle);font-size:12.5px}
.dv-kv:last-child{border-bottom:0}
.dv-kv .k{font-family:var(--mono);color:var(--content-secondary)}
.dv-kv .v{text-align:right}
.dv-flag{font-size:13px;color:var(--warn)!important}
.dv-foot-note{margin-top:18px;font-size:12px;color:var(--content-tertiary);line-height:1.55}
