/* Dungeons OTC brand layer: loaded before the Deriv bundles, overrides theme variables only. */
:root, .theme--light, .theme--dark {
  --dg-neon: #39ff14;
  --dg-neon-2: #a6ff00;
  --dg-neon-deep: #1f9e0a;
  --dg-ink: #050805;
  --dg-ink-2: #0d140d;
  --brand-red-coral: #2fd60f !important;
  --brand-secondary: #1f9e0a !important;
  --button-primary-default: #2fd60f !important;
  --button-primary-hover: #1f9e0a !important;
  --button-primary-light-default: rgba(57, 255, 20, 0.12) !important;
  --button-primary-light-hover: rgba(57, 255, 20, 0.2) !important;
  --button-tertiary-hover: rgba(57, 255, 20, 0.1) !important;
  --border-active: #2fd60f !important;
  --fill-active: #2fd60f !important;
}

/* Header */
.deriv-header, .app-header { background: linear-gradient(90deg, var(--dg-ink), var(--dg-ink-2)) !important; border-bottom: 2px solid var(--dg-neon) !important; box-shadow: 0 2px 18px rgba(57,255,20,.25); }
.app-header .deriv-menu-item, .app-header .deriv-text, .app-header svg path { color: #e8ffe0 !important; }
.app-header__logo svg { display: none !important; }
.app-header__logo { display:flex !important; align-items:center; gap:8px; text-decoration:none; }
.app-header__logo::before { content:""; width:38px; height:38px; background:url(/dungeons-logo.png) center/cover; border-radius:50%; box-shadow:0 0 12px rgba(57,255,20,.6); }
.app-header__logo::after { content:"DUNGEONS OTC"; font-weight:900; letter-spacing:1px; color:var(--dg-neon); text-shadow:0 0 8px rgba(57,255,20,.6); font-size:1.6rem; white-space:nowrap; }
.deriv-platform-switcher__button { display:none !important; }
.app-header .dc-btn--primary { background: var(--dg-neon) !important; color: var(--dg-ink) !important; font-weight:800; }
.app-header .dc-btn--tertiary { border-color: var(--dg-neon) !important; color: var(--dg-neon) !important; }

/* Tabs */
.dc-tabs__active--main__tabs, .dc-tabs__item--main__tabs.dc-tabs__active { color: var(--dg-neon-deep) !important; }
.dc-tabs__active-line, .dc-tabs__active--main__tabs::after { background: var(--dg-neon) !important; }
.dc-btn--primary:not(.dg-btn) { background-color: #2fd60f !important; color: #041204 !important; }

/* Splash */
#dg-splash { position:fixed; inset:0; z-index:2147483000; display:flex; flex-direction:column; align-items:center; justify-content:center; background: radial-gradient(circle at 50% 40%, #0f2a0a 0%, #050805 60%); color:#e8ffe0; font-family:'IBM Plex Sans',sans-serif; transition: opacity .6s ease, visibility .6s; }
#dg-splash.dg-hide { opacity:0; visibility:hidden; }
.dg-splash__glow { position:absolute; width:420px; height:420px; border-radius:50%; background: radial-gradient(circle, rgba(57,255,20,.35), transparent 70%); animation: dg-pulse 2.4s ease-in-out infinite; }
.dg-splash__logo { position:relative; width:180px; height:180px; border-radius:50%; animation: dg-float 3s ease-in-out infinite; filter: drop-shadow(0 0 24px rgba(57,255,20,.7)); }
.dg-splash__title { position:relative; margin-top:22px; font-size:3.4rem; font-weight:900; letter-spacing:4px; color:#39ff14; text-shadow:0 0 14px rgba(57,255,20,.8); }
.dg-splash__title span { color:#f2f2f2; text-shadow:0 0 10px rgba(255,255,255,.4); }
.dg-splash__sub { position:relative; font-style:italic; letter-spacing:3px; color:#a6ff00; font-size:1.4rem; text-transform:uppercase; }
.dg-splash__bar { position:relative; width:240px; height:6px; margin-top:26px; border-radius:6px; background:rgba(57,255,20,.15); overflow:hidden; }
.dg-splash__bar i { position:absolute; inset:0; width:40%; border-radius:6px; background:linear-gradient(90deg,transparent,#39ff14,#a6ff00); animation: dg-load 1.3s ease-in-out infinite; }
.dg-splash__msg { position:relative; margin-top:14px; font-size:1.3rem; color:#9fd99a; }
@keyframes dg-pulse { 50% { transform:scale(1.15); opacity:.6; } }
@keyframes dg-float { 50% { transform:translateY(-10px); } }
@keyframes dg-load { 0% { left:-40%; } 100% { left:100%; } }

/* Bot library */
.dg-bots-host { padding: 0 !important; background: transparent !important; overflow-y:auto; height:100%; }
.dg-lib { padding: 24px; font-family:'IBM Plex Sans',sans-serif; color:#0d140d; }
.dg-hero { display:flex; align-items:center; gap:18px; padding:20px 24px; border-radius:18px; background: linear-gradient(120deg,#050805,#10260b 70%,#1f4d0e); color:#e8ffe0; box-shadow:0 10px 30px rgba(31,158,10,.25); }
.dg-hero img { width:64px; height:64px; border-radius:50%; box-shadow:0 0 16px rgba(57,255,20,.6); }
.dg-hero h1 { margin:0; font-size:2.4rem; font-weight:900; color:#39ff14; }
.dg-hero p { margin:4px 0 0; font-size:1.3rem; color:#bfeab8; }
.dg-switch { display:flex; gap:10px; margin:20px 0 6px; }
.dg-switch button { cursor:pointer; padding:10px 22px; border-radius:999px; border:2px solid #1f9e0a; background:#fff; font-weight:800; font-size:1.4rem; color:#1f9e0a; }
.dg-switch button.on { background:#050805; color:#39ff14; border-color:#39ff14; box-shadow:0 0 12px rgba(57,255,20,.45); }
.dg-licence { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:14px 0; padding:14px 16px; border-radius:14px; background:#f3fff0; border:1px dashed #1f9e0a; font-size:1.3rem; }
.dg-licence input { flex:1; min-width:200px; padding:10px 12px; border-radius:10px; border:1px solid #9fd99a; font-size:1.4rem; font-family:monospace; }
.dg-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap:18px; margin-top:14px; }
.dg-card { position:relative; border-radius:18px; overflow:hidden; background:#fff; border:1px solid #d7eed2; box-shadow:0 6px 20px rgba(0,0,0,.06); display:flex; flex-direction:column; transition: transform .2s, box-shadow .2s; }
.dg-card:hover { transform: translateY(-4px); box-shadow:0 14px 30px rgba(31,158,10,.22); }
.dg-card__art { height:150px; position:relative; overflow:hidden; transition:filter .25s;  display:flex; align-items:center; justify-content:center; font-size:5rem; background: radial-gradient(circle at 50% 60%, rgba(57,255,20,.45), #050805 70%); }
.dg-card.premium .dg-card__art { background: radial-gradient(circle at 50% 60%, rgba(255,200,40,.55), #0c0a02 70%); }
.dg-card__tag { position:absolute; top:10px; left:10px; padding:3px 10px; border-radius:999px; font-size:1rem; font-weight:800; letter-spacing:1px; background:#050805; color:#39ff14; border:1px solid #39ff14; }
.dg-card.premium .dg-card__tag { color:#ffd23f; border-color:#ffd23f; }
.dg-card__body { padding:14px 16px 16px; display:flex; flex-direction:column; gap:8px; flex:1; }
.dg-card__body h3 { margin:0; font-size:1.6rem; font-weight:800; }
.dg-card__body p { margin:0; font-size:1.25rem; color:#4b5a4b; line-height:1.45; flex:1; }
.dg-card__meta { display:flex; flex-wrap:wrap; gap:6px; }
.dg-card__meta span { font-size:1.1rem; padding:2px 8px; border-radius:6px; background:#eefbe9; color:#1f6e10; }
.dg-btn { cursor:pointer; border:none; padding:11px 14px; border-radius:12px; font-weight:800; font-size:1.4rem; color:#041204; background:linear-gradient(90deg,#39ff14,#a6ff00); box-shadow:0 4px 14px rgba(57,255,20,.35); }
.dg-btn:disabled { opacity:.6; cursor:wait; }
.dg-btn.locked { background:#1a1a1a; color:#ffd23f; box-shadow:none; }
.dg-note { margin-top:22px; font-size:1.15rem; color:#6b7a6b; text-align:center; }
.dg-toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); z-index:100000; padding:12px 20px; border-radius:12px; background:#050805; color:#39ff14; border:1px solid #39ff14; font-size:1.4rem; font-weight:700; box-shadow:0 0 18px rgba(57,255,20,.4); }

.dg-card:hover .dg-card__art{filter:brightness(1.25) drop-shadow(0 0 12px rgba(57,255,20,.6));}
.dg-card__art svg{animation:dgPulse 3s ease-in-out infinite}
@keyframes dgPulse{50%{transform:scale(1.04)}}

/* ---- Dungeon tools: Bulk Trader, Copy Trading, Calendar ---- */
.dg-switch { flex-wrap:wrap; }
.dg-switch.small button { padding:6px 16px; font-size:1.3rem; }
.dg-tool { margin-top:16px; padding:22px; border-radius:16px; background:#050805; color:#d8ffd0; border:1px solid rgba(57,255,20,.35); box-shadow:0 0 24px rgba(57,255,20,.12); }
.dg-tool h2 { color:#39ff14; font-size:2.2rem; margin:0 0 4px; text-shadow:0 0 10px rgba(57,255,20,.5); }
.dg-sub { color:#9fc79a; font-size:1.35rem; margin:0 0 14px; }
.dg-form { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:12px; margin:14px 0; }
.dg-field { display:flex; flex-direction:column; gap:5px; font-size:1.25rem; color:#9fc79a; font-weight:700; }
.dg-field input, .dg-field select, .dg-cal input { background:#0c140b; color:#eaffe4; border:1px solid #1f9e0a; border-radius:10px; padding:9px 10px; font-size:1.4rem; }
.dg-field input:focus, .dg-field select:focus, .dg-cal input:focus { outline:none; border-color:#39ff14; box-shadow:0 0 8px rgba(57,255,20,.5); }
.dg-row { display:flex; gap:10px; flex-wrap:wrap; margin:6px 0; }
.dg-btn.ghost { background:transparent; color:#39ff14; border:1px solid #39ff14; box-shadow:none; }
.dg-total { margin:12px 0 6px; font-weight:800; font-size:1.5rem; color:#a6ff00; }
.dg-hint { margin:10px 0; padding:10px 12px; border-radius:10px; background:rgba(57,255,20,.08); border-left:3px solid #39ff14; font-size:1.3rem; }
.dg-log { margin-top:10px; font-size:1.3rem; display:flex; flex-direction:column; gap:6px; }
.dg-log__row { display:grid; grid-template-columns:50px 1fr auto; gap:10px; padding:8px 10px; border-radius:8px; background:#0c140b; }
.dg-log__row.win { border-left:3px solid #39ff14; } .dg-log__row.loss { border-left:3px solid #ff3b3b; }
.dg-cal-wrap { overflow-x:auto; margin-top:12px; }
.dg-cal { width:100%; border-collapse:collapse; font-size:1.3rem; }
.dg-cal th { text-align:left; color:#39ff14; padding:8px; border-bottom:1px solid #1f9e0a; white-space:nowrap; }
.dg-cal td { padding:6px 8px; border-bottom:1px solid rgba(57,255,20,.12); white-space:nowrap; }
.dg-cal tr.win td { background:rgba(57,255,20,.1); } .dg-cal tr.loss td { background:rgba(255,59,59,.1); }
.dg-cal input { width:120px; padding:6px 8px; }
.dg-tool .dg-note { color:#7fa07a; }
.dg-cal input::placeholder { color:#4d6b48; }
/* modern bot art */
.dg-card { background:#0a0f0a !important; border:1px solid color-mix(in srgb, #39ff14 25%, transparent) !important; }
.dg-card.premium { border-color: rgba(255,210,63,.35) !important; }
.dg-card__body h3 { color:#eaffea; }
.dg-card__body p { color:#a9b8a9 !important; }
.dg-card__art { background:#030503 !important; height:160px; }
.dg-card__art::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 60%,#0a0f0a); pointer-events:none; }
.dg-card:hover .dg-card__art { filter: brightness(1.2) saturate(1.2); }
.dg-scan { animation: dgScan 3.2s linear infinite; }
@keyframes dgScan { from { transform: translateY(0) } to { transform: translateY(130px) } }
/* mobile polish */
.app-header--mobile .mobile-menu__toggle svg, .app-header--mobile .mobile-menu__toggle svg path { fill:#e8ffe0 !important; }
.app-header--mobile .deriv-wrapper__left { display:flex; align-items:center; gap:8px; }
.app-header--mobile .deriv-wrapper__left::after { content:""; width:32px; height:32px; flex-shrink:0; background:url(/dungeons-logo.png) center/cover; border-radius:50%; box-shadow:0 0 10px rgba(57,255,20,.6); }
@media (max-width: 600px) {
  .dg-card__art { height:140px; }
  .dg-tabs, .dg-nav { gap:8px !important; }
  .dg-tabs button, .dg-nav button { padding:8px 12px !important; font-size:1.2rem !important; }
  .dg-licence { flex-wrap:wrap; }
  .dg-licence input { min-width:0; width:100%; }
  .dg-root table, .dgt table { display:block; overflow-x:auto; white-space:nowrap; }
  .dg-root input, .dg-root select, .dgt input, .dgt select { max-width:100%; font-size:16px; }
}
