@import url("./tokens.css");
@import url("./theme-christmas.css");
@import url("./layout/base.css");
@import url("./components/blog.css");
@import url("./components/marketing.css");
@import url("./components/portfolio-controls.css");
@import url("./components/analytics-visuals.css");
@import url("./components/forecast.css");
@import url("./components/news.css");
@import url("./components/report-overlay.css");
@import url("./components/cookie-consent.css");
@import url("./utilities.css");



body { padding-top: 0; } /* keep existing padding but nav is sticky */

.policy-section { margin-top:24px; }
.policy-section h2 { margin:0 0 8px; font-size:20px; }
.policy-section p { margin:0 0 12px; line-height:1.6; }

.risk-summary-dashboard { display:flex; flex-direction:column; gap:var(--space-lg); margin-top:var(--space-lg); }
.risk-meter { background:#141416; border:1px solid rgba(255,255,255,.08); border-radius:var(--radius-lg); padding:20px; display:flex; flex-direction:column; gap:14px; }
.risk-meter-header { display:flex; align-items:center; justify-content:flex-start; gap:8px; flex-wrap:nowrap; }
.risk-meter-title { margin:0; font-size:18px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#aeb3c7; }
.risk-meter-visual { display:flex; align-items:center; gap:16px; width:100%; }
.risk-meter-scale-label { font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#e0e5f6; }
.risk-meter-scale-label--left { flex:0 0 auto; text-align:right; min-width:54px; }
.risk-meter-scale-label--right { flex:0 0 auto; text-align:left; min-width:48px; }
.risk-meter-track { position:relative; flex:1; width:100%; height:16px; border-radius:999px; overflow:visible; background:rgba(255,255,255,.08); }
.risk-meter-gradient { position:absolute; inset:0; border-radius:inherit; background:linear-gradient(90deg, #00c48c 0%, #ffd659 33%, #ff8c1a 66%, #ff4d4f 100%); opacity:.82; }
.risk-meter-indicator { position:absolute; top:0; left:8%; transform:translate(-50%, calc(-100% + 16px)); display:flex; flex-direction:column; align-items:center; gap:6px; pointer-events:none; transition:left .3s ease, transform .3s ease; }
.risk-meter-pointer { width:0; height:0; border-left:8px solid transparent; border-right:8px solid transparent; border-top:0; border-bottom:12px solid #f5f6fb; position:relative; top:-2px; }
.risk-meter-callout { display:none; width:2px; height:12px; border-radius:999px; background:#f5f6fb; }
.risk-meter-indicator--edge { gap:var(--space-md); transform:translate(-50%, calc(-100% + 40px)); }
.risk-meter-indicator--edge .risk-meter-callout { display:block; }
.risk-meter-score { font-size:12px; font-weight:800; letter-spacing:.08em; color:#f5f6fb; text-shadow:0 0 6px rgba(11,17,36,.6); }
.risk-summary-tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:var(--space-md); margin:0 auto; justify-content:center; }
@media (min-width:1200px) {
  .risk-summary-tiles { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

.risk-view-toggle-row { display:flex; justify-content:center; margin-top:var(--space-md); }
.risk-view-toggle-buttons { display:flex; align-items:center; gap:12px; background:rgba(255,255,255,.04); padding:8px 14px;
  border-radius:999px; border:1px solid rgba(255,255,255,.08); }
.risk-view-mode-btn { border:none; background:none; color:#aeb3c7; font-size:13px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; cursor:pointer; padding:4px 6px; border-radius:6px; transition:color .15s ease; }
.risk-view-mode-btn[aria-pressed="true"] { color:#f5f6fb; }
.risk-view-mode-btn:focus-visible { outline:2px solid rgba(95,161,255,.8); outline-offset:2px; }
.risk-view-toggle-switch .switch { transform:scale(.9); }
.risk-grid[hidden], .risk-heatmap-view[hidden] { display:none !important; }

.risk-heatmap-view { margin-top:var(--space-lg); background:#0f1118; border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius-lg); padding:20px; display:flex; flex-direction:column; gap:16px; }
.risk-heatmap-heading { display:flex; flex-direction:column; gap:4px; }
.risk-heatmap-title { margin:0; font-size:18px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#aeb3c7; }
.risk-heatmap-text { margin:0; font-size:13px; color:#f0f4ff; }
.risk-heatmap-chart-wrap { position:relative; width:100%; min-height:320px; border-radius:var(--radius-md); overflow:hidden;
  background:#080b11; }
.risk-heatmap-chart { width:100%; height:auto; display:block; }
.risk-heatmap-chart text { fill:#f5f6fb; font-size:13px; font-weight:600; }
.risk-heatmap-empty { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-align:center;
  padding:20px; font-size:14px; color:#aeb3c7; background:rgba(8,11,17,.9); }
.risk-heatmap-empty[hidden] { display:none; }
.risk-heatmap-tooltip { position:absolute; top:0; left:0; transform:translate3d(0,0,0); pointer-events:none;
  background:#0b1124; color:#f5f6fb; border-radius:12px; border:1px solid rgba(255,255,255,.18); padding:12px 14px;
  box-shadow:0 18px 40px rgba(0,0,0,.45); min-width:200px; opacity:0; transition:opacity .12s ease; font-size:13px; }
.risk-heatmap-tooltip[data-visible="true"] { opacity:1; }
.risk-heatmap-tooltip__ticker { font-size:14px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:4px; }
.risk-heatmap-tooltip__name { margin:0 0 8px; font-size:12px; color:#aeb3c7; }
.risk-heatmap-tooltip__row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:4px; }
.risk-heatmap-tooltip__row span { font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#aeb3c7; }
.risk-heatmap-tooltip__value { font-weight:700; color:#f5f6fb; font-size:13px; }
.risk-heatmap-tooltip__bucket { margin-top:8px; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.risk-heatmap-tooltip__risks { margin-top:8px; padding-top:6px; border-top:1px solid rgba(255,255,255,.12); display:flex;
  flex-direction:column; gap:4px; }
.risk-heatmap-tooltip__risk { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:11px;
  letter-spacing:.08em; text-transform:uppercase; color:#cfd4ef; }
.risk-heatmap-tooltip__risk-level { font-weight:800; min-width:52px; text-align:left; }
.risk-heatmap-tooltip__risk-label { flex:1; text-align:right; font-weight:700; color:#f5f6fb; }

body.light .risk-view-toggle-buttons { background:rgba(0,0,0,.03); border-color:rgba(0,0,0,.08); }
body.light .risk-view-mode-btn { color:#596079; }
body.light .risk-view-mode-btn[aria-pressed="true"] { color:#1d2030; }
body.light .risk-heatmap-view { background:rgba(255,255,255,.94); border-color:rgba(0,0,0,.08); }
body.light .risk-heatmap-title { color:#404659; }
body.light .risk-heatmap-text { color:#1d2030; }
body.light .risk-heatmap-chart-wrap { background:#f7f8fb; }
body.light .risk-heatmap-chart text { fill:#1d2030; }
body.light .risk-heatmap-empty { background:rgba(255,255,255,.9); color:#404659; }
body.light .risk-heatmap-tooltip { background:#ffffff; color:#0b1124; border-color:rgba(0,0,0,.12); box-shadow:0 18px 36px rgba(0,0,0,.18); }
body.light .risk-heatmap-tooltip__name, body.light .risk-heatmap-tooltip__row span { color:#596079; }
body.light .risk-heatmap-tooltip__value { color:#0b1124; }
body.light .risk-heatmap-tooltip__risks { border-color:rgba(0,0,0,.08); }
body.light .risk-heatmap-tooltip__risk { color:#596079; }
body.light .risk-heatmap-tooltip__risk-label { color:#1d2030; }

.dv-help-modal { position:fixed; inset:0; z-index:9999; }
.dv-help-modal[hidden] { display:none !important; }
.dv-help-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.56); }
.dv-help-dialog { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:min(600px,90vw); max-height:90vh; overflow:auto; background:#0b0f12; color:#e8f0f2; border:2px solid var(--dv-cyan,#00ffff); border-radius:12px; box-shadow:0 20px 80px rgba(0,0,0,.6); padding:0; outline:none; }
.dv-help-header, .dv-help-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; }
.dv-help-header h3 { margin:0; font-size:18px; font-weight:700; }
.dv-help-close { border:0; background:transparent; color:inherit; font-size:24px; line-height:1; cursor:pointer; padding:4px; }
.dv-help-body { padding:12px 16px; line-height:1.6; white-space:pre-wrap; }
.risk-summary-tile { background:#141416; border:1px solid rgba(255,255,255,.06); border-radius:14px; padding:14px; display:flex; flex-direction:column; gap:8px; cursor:pointer; transition:transform .12s ease, box-shadow .18s ease, border-color .18s ease; }
.risk-summary-tile-note { cursor:pointer; }
.risk-summary-tile:hover { border-color:rgba(255,255,255,.14); box-shadow:0 10px 26px rgba(0,0,0,.34); transform:translateY(-1px); }
.risk-summary-tile:focus { outline:none; }
.risk-summary-tile:focus-visible { outline:2px solid rgba(95,161,255,.75); outline-offset:3px; box-shadow:0 0 0 3px rgba(95,161,255,.25); }
.risk-summary-tile-header { display:flex; align-items:flex-start; justify-content:flex-start; gap:var(--space-md); flex-wrap:wrap; width:100%; }
.risk-summary-tile-title { margin:0; font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:#aeb3c7; flex:1 1 auto; min-width:0; }
.risk-summary-title-line { display:block; }
.risk-summary-tile-text { margin:0; font-size:13px; line-height:1.5; color:#f0f4ff; }
.risk-summary-tile .risk-level-badge { margin-left:auto; }
.risk-grid { display:flex; flex-direction:column; gap:var(--space-lg); margin-top:var(--space-lg); }
.risk-card { background:#141416; border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius-lg); padding:20px; display:flex; flex-direction:column; }
.risk-card-details { display:block; }
.risk-card-details[open] .risk-card-summary { border-bottom:1px solid rgba(255,255,255,.08); padding-bottom:14px; margin-bottom:14px; }
.risk-card-summary { list-style:none; cursor:pointer; user-select:none; display:flex; align-items:center; justify-content:space-between; gap:var(--space-md); }
.risk-card-summary .risk-card-header { flex:1; }
.risk-card-summary::after { content:'+'; font-weight:700; font-size:18px; color:#aeb3c7; }
.risk-card-details[open] .risk-card-summary::after { content:'−'; }
.risk-card:not(.is-collapsed) .risk-card-summary::after { content:'−'; }
.risk-card.is-collapsed .risk-card-summary::after { content:'+'; }
body.light .risk-card-summary::after { color:#596079; }
.risk-card-summary::-webkit-details-marker { display:none; }
.risk-card-summary:focus-visible { outline:2px solid var(--color-white); outline-offset:6px; border-radius:var(--radius-md); }
.risk-card-header { display:flex; flex-direction:column; gap:8px; }
.risk-card-title-row { display:flex; align-items:flex-start; gap:8px; flex-wrap:wrap; }
.risk-card-title { margin:0; font-size:20px; font-weight:700; }
.risk-card-subtitle { margin:0; color:#aeb3c7; font-size:14px; line-height:1.6; }
.risk-card-body { display:flex; flex-direction:column; gap:16px; max-height:1600px; overflow:hidden; opacity:1; transition:max-height .18s ease, padding .18s ease, opacity .18s ease; }
.risk-card-details[open] .risk-card-body,
.risk-card:not(.is-collapsed) .risk-card-body { overflow:visible; }
.risk-card-footer { display:flex; justify-content:flex-end; margin-top:12px; max-height:200px; transition:max-height .18s ease, margin .18s ease, padding .18s ease, opacity .18s ease; }
.risk-card.is-collapsed .risk-card-body { max-height:0; padding-top:0; padding-bottom:0; opacity:0; overflow:hidden; }
.risk-card.is-collapsed .risk-card-footer { max-height:0; margin-top:0; padding-top:0; padding-bottom:0; opacity:0; overflow:hidden; }
.risk-card-link { display:inline-flex; align-items:center; gap:6px; font-size:14px; text-decoration:none; }
.risk-chart-wrap { display:flex; align-items:center; justify-content:center; margin:16px 0 20px; }
.risk-chart { width:100%; max-width:420px; overflow:visible; }
.risk-summary { display:flex; flex-direction:column; gap:10px; }
.risk-summary-level { display:flex; align-items:center; gap:10px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#aeb3c7; }
.risk-level-label { font-weight:600; }
.risk-level-badge { display:inline-flex; align-items:center; justify-content:center; padding:4px 12px; border-radius:999px; background:#4d5fe7; color:#0b1124; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; min-width:96px; }
.risk-level-badge--clear,
.risk-level-badge--chill { background:#00c48c; color:#011510; }
.risk-level-badge--nudge,
.risk-level-badge--heads-up { background:var(--risk-headsup); color:#2a1900; }
.risk-level-badge--shame,
.risk-level-badge--yikes { background:var(--risk-yikes); color:#2d1300; }
.risk-level-badge--wtf { background:var(--risk-wtf); color:#2d0100; }
.risk-level-badge--note { background:#8cd0ff; color:#082438; }
.risk-summary-text { margin:0; font-size:14px; color:#f0f4ff; }
.risk-summary-list { margin:0; padding-left:18px; list-style:disc; color:#f0f4ff; font-size:14px; text-align:left; list-style-position:outside; }
.risk-summary-list li { margin:0 0 6px; text-align:left; }
.risk-summary-list li:last-child { margin-bottom:0; }
.risk-summary-list .risk-summary-meta { font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:#aeb3c7; }
.seasoning-groups { display:flex; flex-direction:column; gap:16px; color:inherit; }
.seasoning-group { margin:0; padding:0; text-align:left; }
.seasoning-head { margin:0 0 4px; font-weight:800; font-size:18px; letter-spacing:.08em; }
.seasoning-subhead { font-size:14px; opacity:.82; margin-bottom:6px; }
.seasoning-list { margin:0; padding-left:18px; list-style:disc; font-size:14px; color:inherit; text-align:left; }
.seasoning-list li { margin:0 0 6px; }
.seasoning-list li:last-child { margin-bottom:0; }
.seasoning-list .seasoning-ticker-link,
.seasoning-missing-list .seasoning-ticker-link { color:inherit; font-weight:700; text-decoration:none; }
.seasoning-list .seasoning-ticker-link:hover,
.seasoning-list .seasoning-ticker-link:focus,
.seasoning-missing-list .seasoning-ticker-link:hover,
.seasoning-missing-list .seasoning-ticker-link:focus { text-decoration:underline; }
.seasoning-head.risk-wtf { color:var(--risk-wtf); }
.seasoning-head.risk-yikes { color:var(--risk-yikes); }
.seasoning-head.risk-headsup { color:var(--risk-headsup); }
.seasoning-missing { padding-top:10px; }
.seasoning-missing-list { margin:6px 0 0; padding-left:18px; list-style:disc; font-size:13px; color:inherit; }
.seasoning-missing-note { font-size:13px; }
.risk-donut-line { fill:none; stroke:var(--color-white); stroke-width:1; stroke-linejoin:round; stroke-linecap:round; }
.risk-donut-label { fill:var(--color-white); font-size:12px; font-weight:600; text-shadow:0 0 6px rgba(0,0,0,.35); }
.issuer-risk-share-text { font-weight:700; }
.issuer-risk-text { fill:#ffcc4d; cursor:pointer; }
.issuer-risk-text:hover { fill:#ffe27a; }
.issuer-risk-link { color:#ffd659; font-weight:600; text-decoration:none; }
.issuer-risk-link:hover, .issuer-risk-link:focus { color:#ffe27a; }
.issuer-risk-badge { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px;
  margin-left:6px; border:none; border-radius:999px; background:#ffcc4d; color:#111318; font-size:13px;
  font-weight:700; cursor:pointer; }
.issuer-risk-badge:focus-visible { outline:2px solid var(--color-white); outline-offset:2px; }
.issuer-risk-helper { position:static; width:auto; height:auto; overflow:visible; }
.issuer-risk-see-all, .issuer-risk-see-more { color:#ffd659; font-weight:600; }
.issuer-risk-see-all:hover, .issuer-risk-see-more:hover { text-decoration:underline; }

@media (min-width:840px) {
  .risk-meter { flex-direction:row; align-items:center; gap:var(--space-lg); }
  .risk-meter-header { align-items:center; gap:8px; }
  .risk-meter-visual { flex:1; }
  .risk-meter-track { width:100%; }
  .risk-card-body { flex-direction:row; align-items:flex-start; }
  .risk-chart-wrap { flex:0 0 420px; transform:translateX(-100px); }
  .risk-summary { flex:1; }
}

body.light .risk-meter { background:rgba(255,255,255,.92); border-color:rgba(0,0,0,.08); }
body.light .risk-meter-title { color:#404659; }
body.light .risk-meter-scale-label { color:#596079; }
body.light .risk-meter-track { background:rgba(0,0,0,.06); }
body.light .risk-meter-score { color:#0b1124; text-shadow:none; }
body.light .risk-meter-pointer { border-bottom-color:#0b1124; }
body.light .risk-meter-callout { background:#0b1124; }
body.light .risk-summary-tile { background:rgba(255,255,255,.92); border-color:rgba(0,0,0,.06); }
.risk-card-note { background:#141416; border-color:rgba(255,255,255,.06); }
body.light .risk-card-note { background:rgba(255,255,255,.92); border-color:rgba(0,0,0,.05); }
body.light .risk-summary-tile:hover { border-color:rgba(0,0,0,.12); box-shadow:0 10px 26px rgba(0,0,0,.16); }
body.light .risk-summary-tile:focus-visible { outline:2px solid rgba(46,102,255,.65); box-shadow:0 0 0 3px rgba(46,102,255,.2); }
body.light .risk-summary-tile-title { color:#596079; }
body.light .risk-summary-tile-text { color:#1d2030; }
body.light .risk-card { background:rgba(255,255,255,.92); border-color:rgba(0,0,0,.05); }
body.light .risk-card-subtitle { color:#404659; }
body.light .risk-summary-level { color:#596079; }
body.light .risk-summary-text, body.light .risk-summary-list { color:#1d2030; }
body.light .risk-summary-list .risk-summary-meta { color:#596079; }
body.light .seasoning-subhead { color:#596079; }
body.light .seasoning-missing-list { color:#1d2030; }
body.light .risk-donut-line { stroke:#1f2332; }
body.light .risk-donut-label { fill:#1d2030; text-shadow:none; }
.donut-slice { transition:opacity .24s ease,filter .24s ease; }
.donut-slice-inner,.donut-slice-outer { cursor:pointer; }
.donut-slice-hover { opacity:1!important; filter:brightness(1.08); }
body.light .donut-slice-hover { filter:brightness(1.05); }
body.light .issuer-risk-text { fill:#d59600; }
body.light .issuer-risk-text:hover { fill:#e7a900; }
body.light .issuer-risk-link { color:#bb7100; }
body.light .issuer-risk-link:hover, body.light .issuer-risk-link:focus { color:#d59600; }
body.light .issuer-risk-badge { background:#ffb300; color:#21242c; }
body.light .issuer-risk-see-all, body.light .issuer-risk-see-more { color:#bb7100; }

.dv-highlight-controls { display:inline-flex; align-items:center; gap:8px; }
.dv-highlight-label { margin-right:6px; }
.dv-dots { display:inline-flex; gap:8px; }
.dv-dot { position:relative; width:14px; height:14px; border-radius:50%; border:1px solid transparent; cursor:pointer; box-shadow:0 0 0 1px rgba(0,0,0,.15) inset; }
.dv-dot.active { outline:2px solid var(--dv-ring, var(--color-text-ink)); outline-offset:1px; }
.dv-dot input[type="color"] { position:absolute; inset:0; opacity:0; cursor:pointer; }
.dv-dot:hover input[type="color"] { opacity:1; }
/* Example consumer tint, driven by inline --dv-hl on elements with data-ticker */
.hlA, .hlB, .hlC {
  background:color-mix(in srgb, var(--dv-hl, #FFD400) 22%, transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--dv-hl, #FFD400) 65%, transparent);
}

.dv-clear-all { background:none; border:none; color:var(--color-text-hint); cursor:pointer; font-size:16px; line-height:1; padding:2px 6px; transition:color .2s ease; }
.dv-clear-all:hover { color:var(--color-black); }

.explore-highlight-control { align-items:flex-start; }
.explore-highlight-field { flex:1 1 0%; max-width:350px; width:100%; min-width:0; display:flex; flex-direction:column; gap:6px; }
.explore-highlight-field select { width:100%; }
#exploreHighlightSelect option.highlight-separator { font-weight:600; color:var(--color-text-hint, #9aa0b5); }
.explore-highlight-note { margin:0; font-size:12px; color:var(--color-text-hint, #9aa0b5); }
.explore-highlight-note[hidden] { display:none; }
.ticker-cell { white-space:nowrap; }

.dv-context-menu { position:absolute; background:var(--color-white); border:1px solid var(--color-text-muted); border-radius:6px; padding:4px 0; box-shadow:0 2px 6px rgba(0,0,0,.15); z-index:10000; }
.dv-context-menu button { display:block; width:100%; padding:6px 12px; text-align:left; background:none; border:none; cursor:pointer; }
.dv-context-menu button:hover { background:#f0f0f0; }

.dv-toast { position:fixed; bottom:20px; left:50%; transform:translateX(-50%) scale(.95); background:var(--color-text-ink); color:var(--color-white); padding:8px 14px; border-radius:6px; font-size:13px; opacity:0; transition:all .3s ease; z-index:10001; }
.dv-toast.show { opacity:1; transform:translateX(-50%) scale(1); }

.dv-toast.confirm { display:flex; align-items:center; gap:8px; background:var(--color-text-charcoal); }
.dv-toast.confirm button { background:none; border:none; color:var(--color-white); font-size:14px; cursor:pointer; }

#dv-tooltips-root { position:fixed; inset:0; pointer-events:none; z-index:999999; }
#dv-tooltips-root .dv-tooltip {
  position:fixed;
  max-width:min(360px, 90vw);
  background:rgba(16, 18, 24, 0.95);
  border:1px solid rgba(0, 255, 200, 0.25);
  border-radius:10px;
  box-shadow:0 6px 24px rgba(0,0,0,0.35);
  padding:8px 10px;
  pointer-events:none;
  transform:translate3d(0,0,0) scale(.96);
  backdrop-filter:blur(3px);
  color:#e9f1ff;
  font:500 12px/1.35 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  opacity:0;
  visibility:hidden;
  transition:opacity .16s ease, transform .18s ease;
}
#dv-tooltips-root .dv-tooltip[data-interactive="1"] { pointer-events:auto; }
#dv-tooltips-root .dv-tooltip[aria-hidden="false"] { opacity:1; visibility:visible; transform:translate3d(0,0,0) scale(1); }

/* Dot container and color input containment */
.dv-dots {
  position:relative;
  display:inline-flex;
  gap:8px;
  margin-right:10px;
}
.dv-dot {
  position:relative;
  width:18px;
  height:18px;
  border-radius:50%;
  overflow:hidden;
  border:2px solid transparent;
  box-shadow:0 0 0 1px rgba(0,0,0,.15) inset;
  cursor:pointer;
}
.dv-dot input[type="color"] {
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}

/* Optional: ensure the X is on top if needed */
.dv-clear-all { position:relative; z-index:10001; }

