:root{
  --ticker-duration: 22s;
  --bg: #030304;
  --bg2:#07080b;
  --card:#0b0d11;
  --card2:#0f1218;
  --border: rgba(212,175,55,.10);
  --border2: rgba(255,255,255,.10);

  --text:#f4f4f6;
  --muted: rgba(244,244,246,.70);
  --muted2: rgba(244,244,246,.55);

  --gold:#d4af37;
  --gold2:#e6c75a;
  --gold-soft:#e6c75a;
  /* Section headings should be less yellow (more bronze).
     Keep --gold unchanged because the global header uses it. */
  --section-gold:#c7a23a;
  --section-gold-soft: rgba(199,162,58,.92);
  --shadow-soft: 0 10px 30px rgba(0, 0, 0, 0.06);
  --radius-md: 10px;

  --good:#21c16b;
  --bad:#ff5c5c;

  --r: 18px;
  --r2: 14px;

  --shadow: 0 18px 60px rgba(0,0,0,.45);

  --max: 1100px;
  --pad: 14px;
  --gap: 14px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  /* R4X clean dark base – no gold shimmer in page background */
  background: var(--bg);
  color:var(--text);
}

a{ color:inherit; text-decoration:none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible{
  outline: 2px solid rgba(212,175,55,.6);
  outline-offset: 2px;
  border-radius: 10px;
}

.page{
  max-width: var(--max);
  margin: 0 auto;
  padding: var(--pad) var(--pad) 60px;
}

.hide-sm{ display:inline-flex; }
@media (max-width: 720px){
  .hide-sm{ display:none !important; }
}

/* Header (Ready4Nexxt Standard) */
.r4x-header {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 16px 6px 16px;
  border-bottom: 3px solid var(--gold);
}

/* Light vs Dark Variante */
.r4x-header--light {
  background: #ffffff;
}

.r4x-header--dark {
  background: #000000;
}

.r4x-logo-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.r4x-logo-wrap a{ display:inline-flex; align-items:center; }

.r4x-logo {
  width: 2cm;
  height: 2cm;
  object-fit: contain;
}

.r4x-header-main-right {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 12px;
}

.r4x-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1.5px solid var(--gold);
  background: radial-gradient(circle at 30% 30%, #444 0, #000 40%, #000 100%);
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 600;
  text-decoration: none;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.04),
    0 3px 8px rgba(0, 0, 0, 0.35);
  transition:
    transform 0.08s ease,
    box-shadow 0.12s ease,
    filter 0.12s ease;
  white-space: nowrap;
}

.nav-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.45);
  filter: brightness(1.05);
}

.nav-btn:active {
  transform: translateY(0);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.45);
  filter: brightness(0.97);
}

.r4x-header-right {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.hamburger-btn {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 6px 9px;
  border-radius: 999px;
  border: 1px solid var(--gold-soft);
  background: #ffffff;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
  transition:
    transform 0.08s ease,
    box-shadow 0.12s ease,
    background 0.12s ease;
}

.hamburger-btn span {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: #000000;
}

.hamburger-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.18);
}

.hamburger-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  background: #000000;
  border-radius: var(--radius-md);
  border: 1px solid var(--gold-soft);
  box-shadow: var(--shadow-soft);
  padding: 8px 0;
  min-width: 230px;
  max-height: 70vh;
  overflow-y: auto;
  display: none;
  z-index: 20;
}

.hamburger-menu.open {
  display: block;
}

.hamburger-menu a {
  display: block;
  padding: 6px 16px;
  font-size: 0.85rem;
  text-decoration: none;
  color: #ffffff;
  white-space: nowrap;
}

.hamburger-menu a:hover {
  background: #202020;
}

/* =========================
   Daily Check
========================= */
.card.daily{ padding-bottom: 12px; }

.daily-pulse{
  margin-top: 8px;
}

.daily-top-row{
  display:grid;
  grid-template-columns: 1fr 260px 320px;
  /* News groß, BTC/ETH Prices in der Mitte, BTC Dominance rechts */
  gap: var(--gap);
}

.btcdom-small{ min-height: 152px; }

.daily-mini-row{
  display:grid;
  /* Auto-fit so rows fill full width even if only 3 tiles are present */
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--gap);
  margin-top: var(--gap);
}

.pulse-card{
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border: 1px solid var(--border2);
  border-radius: var(--r2);
  padding: 10px 10px 8px;
  min-height: 74px;
}

.pulse-card.mini{ min-height: 66px; }

.news-card{ min-height: 152px; }
.news-meta{ margin-bottom: 8px; }
/* DE news list (preferred). Falls hidden wird TradingView Widget gezeigt. */
.news-list{ margin-top: 6px; }
.news-items{ list-style: none; padding: 0; margin: 8px 0 0; display:flex; flex-direction: column; gap: 8px; }
.news-item{ display:flex; gap: 10px; align-items: baseline; }
.news-time{ flex: 0 0 auto; font-size: 12px; color: rgba(255,255,255,.55); }
.news-links{ display:flex; flex-direction:column; gap:8px; margin-top:10px; }
.news-link{ display:inline-flex; align-items:center; gap:6px; width: fit-content; max-width: 100%; padding:8px 10px; border-radius:12px; border:1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.04); color: rgba(244,244,246,.88); text-decoration: none; font-size: 14px; font-weight: 500; line-height: 1.2; }
.news-link:hover{ text-decoration: underline; }
.news-link .ext{ font-size: 12px; opacity:.9; }

/* BTC/ETH Prices tile */
.prices-card{ min-height: 152px; }
.prices-grid{ display:flex; flex-direction: column; gap: 10px; margin-top: 8px; }
.price-row{ display:grid; grid-template-columns: 1fr auto auto; align-items:center; gap: 10px; padding: 8px 10px; border-radius: 14px; border: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.03); }
.coin-badge{ display:flex; align-items:center; gap: 8px; min-width: 0; }
.coin-ico{ width: 18px; height: 18px; border-radius: 999px; background: rgba(255,255,255,.08); flex: 0 0 auto; }
.coin-sym{ font-weight: 900; letter-spacing: .2px; }
.price-val{ font-weight: 900; white-space: nowrap; display:inline-flex; align-items: baseline; }
.price-cur{ opacity: .92; font-weight: 900; }
.price-cur.before{ margin-right: 6px; }
.price-cur.after{ margin-left: 6px; }
.price-chg{ font-weight: 900; font-size: 12px; padding: 2px 8px; border-radius: 999px; border: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.03); white-space: nowrap; }
.price-chg.up{ color: rgba(97, 232, 148, .95); border-color: rgba(97, 232, 148, .25); background: rgba(97, 232, 148, .08); }
.price-chg.down{ color: rgba(255, 107, 107, .95); border-color: rgba(255, 107, 107, .25); background: rgba(255, 107, 107, .08); }
.price-chg.neutral{ color: rgba(255,255,255,.55); }

/* RSI tile */
.rsi-card .rsi-head{ display:flex; justify-content:flex-end; margin-top: -2px; margin-bottom: 6px; }
.seg-mini{ display:inline-flex; align-items:center; gap: 6px; padding: 2px; border-radius: 999px; border: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.03); }
.seg-btn--mini{ padding: 4px 8px; font-size: 11px; line-height: 1; border-radius: 999px; }

@media (max-width: 980px){
  .daily-top-row{ grid-template-columns: 1fr; }
}

@media (max-width: 820px){
  .daily-mini-row{ grid-template-columns: repeat(2, 1fr); }
}

.pulse-row{ display:flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.pulse-delta{ font-size: 12px; line-height: 1; min-width: 58px; text-align: right; }
.pulse-delta--under{ text-align:left; min-width:auto; margin-top:6px; display:block; min-height:18px; }

.kpi-delta{ display:inline-flex; align-items:center; gap: 6px; padding: 2px 8px; border-radius: 999px; border: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.03); color: rgba(244,244,246,.85); font-weight: 700; }
.kpi-delta.up{ color: rgba(97, 232, 148, .95); border-color: rgba(97, 232, 148, .25); background: rgba(97, 232, 148, .08); }
.kpi-delta.down{ color: rgba(255, 107, 107, .95); border-color: rgba(255, 107, 107, .25); background: rgba(255, 107, 107, .08); }
.kpi-delta.neutral{ color: rgba(255,255,255,.55); border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.03); }

.pulse-label{ font-size: 0.74rem; color: var(--muted); margin-bottom: 4px; }
.pulse-value{ font-size: 1.12rem; font-weight: 800; letter-spacing: .2px; }
.pulse-sub{ margin-top: 4px; }

.tv-quote{ margin-top: 2px; }
.tv-quote .tradingview-widget-container{ width:100%; min-height: 110px; }
/* Keep TradingView quote compact but fully visible */
#btcdom-card{ text-align:left; }
#btcdom-card .tv-quote{ overflow: hidden; border-radius: 12px; }
#btcdom-card .btcdom-meta{ margin-top: 2px; }
#btcdom-card .btcdom-sym{ font-weight: 800; letter-spacing: .2px; font-size: 0.92rem; }
#btcdom-card .btcdom-desc{ color: var(--muted); font-size: 0.74rem; margin-top: 2px; }
#btcdom-card .tv-quote--compact .tradingview-widget-container{ min-height: 78px; }

.daily-fng{ margin-top: 10px; padding: 10px; border: 1px solid var(--border2); border-radius: var(--r2); background: rgba(255,255,255,.02); }
.daily-fng-head{ display:flex; align-items:center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.daily-fng-title{ font-weight: 800; letter-spacing: .2px; }

.daily-watchlist{ margin-top: 12px; }
.daily-watchlist-head{
  display:flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin: 6px 0 10px;
}
.daily-watchlist-title{ font-weight: 800; letter-spacing: .2px; color: var(--section-gold); }
.wl-subtitle{ font-weight: 400; color: var(--section-gold-soft); }


.wl-controls{ display:flex; align-items:flex-end; justify-content:flex-end; gap: 12px; margin: 0 0 10px; }
.wl-controls--grid{ display:grid; grid-template-columns: 1fr auto 1fr; align-items:end; gap: 12px; }

.wl-sort{ display:flex; flex-direction: column; gap: 6px; width: 240px; flex: 0 0 auto; }

.wl-sort-label{ font-size: 12px; font-weight: 800; color: rgba(244,244,246,.92); }

.select-wrap{ position: relative; display: inline-block; width: 100%; }
.select-wrap::after{
  content: "▼";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 11px;
  color: rgba(244,244,246,.65);
  pointer-events: none;
}
.select-wrap .select{ padding-right: 28px; }

/* Center the count + expand button as requested */
.wl-mid{ flex: 1 1 auto; display:flex; align-items:center; justify-content:center; gap: 12px; }

.narr-badge{ display:inline-flex; align-items:center; padding: 2px 8px; border-radius: 999px; border: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.03); color: rgba(244,244,246,.75); font-size: 11px; line-height: 1.4; }

.tr-group td{ padding: 10px 10px; font-weight: 800; letter-spacing: .2px; color: rgba(244,244,246,.85); background: rgba(255,255,255,.03); border-top: 1px solid rgba(255,255,255,.10); border-bottom: 1px solid rgba(255,255,255,.10); }

@media (max-width: 860px){
  .wl-controls{ align-items: stretch; flex-direction: column; }
  .wl-controls--grid{ display:flex; flex-direction: column; }
  .wl-sort{ width: 100%; }
  .wl-mid{ justify-content:center; }
}

/* Live Bar (Ticker Mode) */
.livebar{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid var(--border2);
  border-radius: var(--r2);
  background: rgba(255,255,255,.02);
  margin-top: 8px;
}
.livebar-label{
  font-weight: 800;
  font-size: 12px;
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid rgba(212,175,55,.35);
  background: rgba(212,175,55,.10);
  color: rgba(244,244,246,.92);
  flex: 0 0 auto;
}
.ticker-shell.slim{ height: 34px; overflow:hidden; border-radius: 10px; flex: 1 1 auto; padding: 0 12px; }
.ticker-shell.slim .ticker-track{ height: 34px; display:flex; align-items:center; padding: 0; gap: 18px; }
.ticker-shell.slim .ticker-item{ font-size: 12px; }
.ticker-shell.slim .ticker-item img{ width: 16px; height: 16px; }
.livebar-upd{ flex: 0 0 auto; white-space: nowrap; }

/* Mobile: make live bar more visible and move updated time to the next line */
@media (max-width: 520px){
  .livebar{
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 10px;
  }
  .ticker-shell.slim{ height: 40px; padding: 0 10px; }
  .ticker-shell.slim .ticker-track{ height: 40px; padding: 0; gap: 16px; }
  .ticker-shell.slim .ticker-item{ font-size: 13px; }
  .livebar-upd{
    flex: 1 1 100%;
    order: 10;
    text-align: right;
    font-size: 12px;
    opacity: .92;
  }
}

/* Select dropdown readability (options were white on white in some browsers) */
.select{ background: rgba(20,20,20,.92); color: rgba(244,244,246,.92); border: 1px solid rgba(255,255,255,.14); }
.select option{ background: #0f0f10; color: rgba(244,244,246,.95); }

.sym-wrap{ display:flex; align-items:center; gap: 10px; min-width: 0; }
.mini-ico{ width: 18px; height: 18px; border-radius: 999px; }
.sym-main{ font-weight: 800; }

@media (max-width: 980px){
  .daily-top-row{ grid-template-columns: 1fr; }
  .daily-mini-row{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 520px){
  .daily-mini-row{ grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .r4x-header {
    padding: 8px 10px 6px 10px;
    gap: 10px;
  }

  .r4x-nav {
    gap: 4px;
  }

  .nav-btn {
    padding: 3px 8px;
    font-size: 0.7rem;
  }

  .r4x-logo {
    width: 1.6cm;
    height: 1.6cm;
  }
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  padding: 10px 12px;
  font-size: 13px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(212,175,55,.95), rgba(212,175,55,.82));
  color: #111;
  border: 1px solid rgba(0,0,0,.30);
  box-shadow: 0 10px 24px rgba(212,175,55,.12);
  cursor:pointer;
  user-select:none;
  white-space: nowrap;
}
.btn:hover{ filter: brightness(1.03); }
.btn:active{ transform: translateY(1px); }

.btn.ghost{
  background: rgba(255,255,255,.06);
  color: var(--text);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: none;
}
.btn.ghost:hover{ border-color: rgba(212,175,55,.25); background: rgba(255,255,255,.08); }

.icon-btn{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}
.icon-btn:hover{ border-color: rgba(212,175,55,.25); background: rgba(255,255,255,.08); }
.icon-lines{
  width: 18px;
  height: 12px;
  display:block;
  position:relative;
  background: rgba(244,244,246,.92);
  border-radius: 2px;
  top: 0;
  box-shadow: 0 5px 0 rgba(244,244,246,.92), 0 10px 0 rgba(244,244,246,.92);
}
.icon-x{
  width: 18px;
  height: 18px;
  position:relative;
  display:block;
}
.icon-x::before,.icon-x::after{
  content:"";
  position:absolute;
  left:50%; top:50%;
  width:18px; height:2px;
  background: rgba(244,244,246,.92);
  border-radius:2px;
  transform-origin:center;
}
.icon-x::before{ transform: translate(-50%,-50%) rotate(45deg); }
.icon-x::after{ transform: translate(-50%,-50%) rotate(-45deg); }

/* Drawer */
.drawer-backdrop{
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.55);
  z-index: 60;
  opacity: 0;
  transition: opacity .18s ease;
}
.drawer-backdrop.show{ opacity: 1; }
.drawer{
  position:fixed;
  top: 0;
  right: 0;
  width: min(380px, 92vw);
  height: 100%;
  background: rgba(10,10,12,.96);
  border-left: 1px solid var(--border);
  box-shadow: var(--shadow);
  z-index: 70;
  display:flex;
  flex-direction:column;
  transform: translateX(100%);
  transition: transform .18s ease;
}
.drawer.open{ transform: translateX(0); }
.drawer-head{
  padding: 14px 14px 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.drawer-title{ font-weight: 700; letter-spacing: .2px; }
.drawer-nav{
  padding: 10px 14px;
  display:flex;
  flex-direction:column;
  gap: 8px;
}
.drawer-nav a{
  padding: 10px 10px;
  border-radius: 12px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  color: rgba(244,244,246,.92);
}
.drawer-nav a:hover{ border-color: rgba(212,175,55,.22); background: rgba(255,255,255,.06); }
.drawer-divider{
  height: 1px;
  background: rgba(255,255,255,.08);
  margin: 6px 14px;
}
.drawer-foot{
  margin-top: auto;
  padding: 12px 14px 16px;
  border-top: 1px solid rgba(255,255,255,.08);
}

/* Cards */
.card{
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--r);
  padding: 14px 14px;
  box-shadow: 0 18px 60px rgba(0,0,0,.22);
}

/* Clear section separation */
.page > section.card{
  margin: 18px 0;
  position: relative;
}
.page > section.card::before{
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg,
    rgba(212,175,55,0),
    rgba(212,175,55,.55),
    rgba(212,175,55,0)
  );
  pointer-events: none;
}
.page > section.card::after{
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 2px;
  border-radius: 2px;
  background: rgba(212,175,55,.22);
  pointer-events: none;
}
.card-inner{
  padding: 12px 12px;
}
.section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  margin-bottom: 12px;
}
.section-title{
  margin:0;
  font-size: 15px;
  letter-spacing: .2px;
  font-weight: 800;
  color: var(--section-gold);
}
.section-actions{
  display:flex;
  align-items:center;
  gap: 8px;
}
.lead{
  margin:0;
  color: rgba(244,244,246,.78);
  line-height: 1.5;
  font-size: 13.5px;
}
.intro{ padding-bottom: 16px; }

/* Quick nav */
.quick-nav{
  display:flex;
  align-items:center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 6px 0 14px;
}

.right-controls{
  margin-left: auto;
  display:flex;
  align-items:center;
  gap: 8px;
  flex-wrap: wrap;
}

.currency-toggle{
  display:inline-flex;
  align-items:center;
  gap: 3px;
  padding: 3px;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
}

.seg-btn{
  appearance: none;
  border: 1px solid transparent;
  background: transparent;
  color: rgba(244,244,246,.90);
  font-size: 12px;
  font-weight: 700;
  padding: 7px 10px;
  border-radius: 999px;
  cursor: pointer;
  transition: background .12s ease, border-color .12s ease, transform .08s ease;
}

.seg-btn:hover{ background: rgba(255,255,255,.06); }
.seg-btn:active{ transform: translateY(0); }

.seg-btn.active{
  background: rgba(212,175,55,.18);
  border-color: rgba(212,175,55,.30);
  color: rgba(230,199,90,1);
}
.pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 8px 10px;
  border-radius: 999px;
  font-size: 12px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(244,244,246,.92);
}
.pill:hover{ border-color: rgba(212,175,55,.25); background: rgba(255,255,255,.07); }
.status{
  display:flex;
  align-items:center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
}
.dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(244,244,246,.35);
  box-shadow: 0 0 0 3px rgba(244,244,246,.06);
}
.dot.ok{ background: var(--good); box-shadow: 0 0 0 3px rgba(33,193,107,.18); }
.dot.bad{ background: var(--bad); box-shadow: 0 0 0 3px rgba(255,92,92,.16); }

.tiny{ font-size: 11px; }
.muted{ color: var(--muted); }
.dot-sep{ color: rgba(244,244,246,.45); padding: 0 8px; }

/* Chips */
.chip{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(244,244,246,.92);
  border-radius: 999px;
  padding: 8px 10px;
  font-size: 12px;
  cursor:pointer;
}
.chip:hover{ border-color: rgba(212,175,55,.25); background: rgba(255,255,255,.08); }
.chip:disabled{ opacity:.55; cursor:not-allowed; }

/* Info button */
.info-btn{
  width: 28px;
  height: 28px;
  border-radius: 10px;
  background: rgba(212,175,55,.10);
  border: 1px solid rgba(212,175,55,.22);
  color: rgba(230,199,90,.95);
  font-weight: 700;
  font-size: 13px;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.info-btn:hover{ background: rgba(212,175,55,.14); border-color: rgba(212,175,55,.35); }
.kpi-info{ width: 24px; height: 24px; border-radius: 9px; font-size: 12px; }

/* Ticker */
.ticker-shell{
  /* IMPORTANT: padding must live on the shell (viewport), not on the track.
     Otherwise the -50% translate midpoint won't align with the start of the
     duplicated list and the animation will visibly "reset" every few seconds,
     especially on mobile. */
  overflow:hidden;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
  padding: 0 14px;
}
.ticker-track{
  display:inline-flex;
  align-items:center;
  gap: 26px;
  padding: 12px 0;
  white-space: nowrap;
  will-change: transform;
  animation: ticker-move var(--ticker-duration, 36s) linear infinite;
}
.ticker-item{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  font-size: 13px;
  color: rgba(244,244,246,.92);
}
.ticker-item img{
  width: 18px; height: 18px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.10);
}
.ticker-dot{
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 11px;
  font-weight: 800;
  color: rgba(244,244,246,.92);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
}
.badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 3px 7px;
  border-radius: 999px;
  font-size: 11px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
}
.badge.up{ border-color: rgba(33,193,107,.25); color: rgba(33,193,107,.98); background: rgba(33,193,107,.08); }
.badge.down{ border-color: rgba(255,92,92,.25); color: rgba(255,92,92,.98); background: rgba(255,92,92,.08); }

@keyframes ticker-move{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){
  .ticker-track{ animation: none; }
}

/* Overview layout */
.overview{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: var(--gap);
  margin-top: var(--gap);
}
@media (max-width: 920px){
  .overview{ grid-template-columns: 1fr; }
}

.tiles{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
@media (max-width: 560px){
  .tiles{ grid-template-columns: repeat(2, 1fr); }
}
.tile{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  padding: 12px 12px;
}
.tile-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
}
.tile-img{
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}
.tile-sym{
  font-weight: 800;
  letter-spacing: .4px;
  font-size: 12px;
  color: rgba(244,244,246,.92);
}
.tile-price{
  margin-top: 10px;
  font-size: 15px;
  font-weight: 800;
}
.tile-chg{
  margin-top: 6px;
  font-size: 12px;
}
.tile-chg.up{ color: rgba(33,193,107,.98); }
.tile-chg.down{ color: rgba(255,92,92,.98); }

.cmc-wrap{
  margin-top: 12px;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 12px;
}
.cmc-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.cmc-title{ font-size: 12px; color: rgba(244,244,246,.78); }
.cmc-placeholder{
  border-radius: 14px;
  border: 1px dashed rgba(255,255,255,.14);
  background: rgba(0,0,0,.18);
  padding: 14px;
  min-height: 110px;
  display:flex;
  align-items:center;
  justify-content:center;
}
@media (max-width: 860px){
  .cmc-wrap{ display:none; }
}

.kpis{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.kpi{ padding: 14px 14px; }
.kpi-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.kpi-label{
  font-size: 12px;
  color: rgba(244,244,246,.82);
  display:flex;
  align-items:center;
  gap: 8px;
}
.kpi-value{
  font-size: 22px;
  font-weight: 900;
  letter-spacing: .2px;
}
.kpi-sub{ margin-top: 6px; }
.kpi-note{ background: rgba(212,175,55,.06); border-color: rgba(212,175,55,.20); }

/* Tools */
.search{ min-width: 210px; }
@media (max-width: 560px){
  .search{ min-width: 100%; }
  .section-actions{ flex-wrap: wrap; justify-content:flex-end; }
}
.tools-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media (max-width: 720px){
  .tools-grid{ grid-template-columns: 1fr; }
}
.tool-item{
  display:flex;
  gap: 10px;
  align-items:stretch;
}
.tool-btn{
  flex: 1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
}
.tool-btn:hover{ border-color: rgba(212,175,55,.22); background: rgba(255,255,255,.05); }
.tool-name{ font-weight: 700; font-size: 13px; }
.ext{ color: rgba(244,244,246,.55); }
#toolsCount{ margin-top: 10px; }

/* Inputs */
.input, .select{
  width: 100%;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
  color: rgba(244,244,246,.92);
  font-size: 13px;
}
.select{ appearance:none; }
.label{
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 6px;
  display:block;
}
.field{ min-width: 0; }
.converter{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr auto;
  gap: 10px;
  align-items:end;
}
@media (max-width: 860px){
  .converter{ grid-template-columns: 1fr 1fr; }
}
.result{
  margin-top: 12px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  font-weight: 800;
  letter-spacing: .2px;
}
.table-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.table-actions--split{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  gap: 10px;
}
.table-actions--split .spacer{height:1px;}
.table-actions--split .center{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  flex-wrap: wrap;
}
.table-actions--split #topUpdated{
  justify-self:end;
}


@media (max-width: 520px){
  .table-actions--split{
    align-items:flex-start;
  }
  }

/* Fear Greed */
.fng{
  padding-top: 4px;
}
.fng-bar{
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255,92,92,.95), rgba(230,199,90,.95), rgba(33,193,107,.95));
  border: 1px solid rgba(255,255,255,.12);
}
.fng-pointer{
  width: 2px;
  height: 18px;
  background: rgba(244,244,246,.92);
  border-radius: 2px;
  margin-top: 8px;
  margin-left: 0%;
  box-shadow: 0 0 0 3px rgba(244,244,246,.08);
}
.fng-meta{
  margin-top: 10px;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap: 10px;
}
.fng-val{ font-weight: 900; font-size: 16px; }

/* Collapsible */
.collapsible{ padding: 0; overflow:hidden; }
.collapsible-toggle{
  width: 100%;
  padding: 14px 14px;
  background: transparent;
  border: none;
  color: inherit;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  cursor:pointer;
}
.toggle-left{ display:flex; flex-direction:column; gap: 4px; }
.toggle-title{ font-weight: 800; font-size: 13.5px; }
.toggle-right{ display:flex; align-items:center; gap: 10px; }
.chev{
  width: 10px;
  height: 10px;
  border-right: 2px solid rgba(244,244,246,.80);
  border-bottom: 2px solid rgba(244,244,246,.80);
  transform: rotate(45deg);
  transition: transform .18s ease;
  margin-right: 2px;
}
.collapsible.open .chev{ transform: rotate(-135deg); }

.collapsible-body{
  padding: 0 14px 14px;
  border-top: 1px solid rgba(255,255,255,.08);
}

/* Table */
.table-wrap{
  overflow:auto;
  -webkit-overflow-scrolling: touch;
  max-height: 560px; /* keep the page compact; table scrolls internally */
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
}
.table{
  width: 100%;
  border-collapse: collapse;
  min-width: 860px;
}
.table th, .table td{
  padding: 10px 10px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  font-size: 12px;
}
.table th{
  text-align:left;
  color: rgba(244,244,246,.78);
  font-weight: 700;
  position: sticky;
  top: 0;
  background: rgba(8,8,10,.92);
  backdrop-filter: blur(10px);
}
.table td.num, .table th.num{ text-align:right; }

@media (max-width: 860px){
  /* tighter table on mobile */
  .table{ min-width: 760px; }
  .table th, .table td{ padding: 8px 8px; font-size: 11px; }
}

@media (max-width: 520px){
  /* Make the watchlist table much denser on mobile */
  /* Keep horizontal scroll available on mobile */
  .table{ width: max-content; min-width: 520px; }
  .table th, .table td{ padding: 4px 5px; font-size: 9.5px; }
  .sym-wrap{ gap: 6px; }
  .mini-ico{ width: 14px; height: 14px; }
  .sym-main{ font-size: 10.5px; }
  .sym .tiny.muted{ display:none; } /* hide coin name to reduce width */
  .narr-badge{ padding: 1px 6px; font-size: 9.5px; }
  .badge{ padding: 2px 6px; font-size: 9.5px; }

  /* Keep 7d + Marktkap visible; swipe right to see all columns */

  /* Ensure the table area remains scrollable even when dense */
  .table-wrap{ max-height: 62vh; }
}
.row-name{
  display:flex;
  align-items:center;
  gap: 8px;
}
.row-name img{
  width: 18px; height:18px; border-radius:50%;
  border: 1px solid rgba(255,255,255,.10);
}
.pct.up{ color: rgba(33,193,107,.98); font-weight: 700; }
.pct.down{ color: rgba(255,92,92,.98); font-weight: 700; }

.spark{
  width: 100px;
  height: 32px;
}

/* Widgets */
.widgets{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.widget-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 10px;
}

/* TradingView controls */
.tv-controls{
  display:flex;
  align-items:center;
  gap: 10px;
}
.tv-interval{
  display:flex;
  align-items:center;
  gap: 8px;
}
.tv-int[aria-pressed="true"]{
  border-color: rgba(212,175,55,.35);
  box-shadow: 0 0 0 2px rgba(212,175,55,.12) inset;
}

/* Simple modal */
.modal{ display:none; }
.modal.open{
  display:block;
  position: fixed;
  inset: 0;
  z-index: 300;
}
.modal-backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.65);
}
.modal-card{
  position: absolute;
  inset: 28px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(18,18,18,.92);
  box-shadow: 0 20px 60px rgba(0,0,0,.55);
  display:flex;
  flex-direction: column;
  overflow: hidden;
}
.modal-head{
  display:flex;
  align-items:center;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.modal-title{ font-weight: 800; font-size: 13px; }
.modal-body{ padding: 0; flex:1; }
.modal-body .tv-slot{ min-height: 100%; height: 100%; }

@media (max-width: 520px){
  .tv-controls{ gap: 8px; }
  .tv-interval{ gap: 6px; }
  .modal-card{ inset: 12px; }
}
.widget-title{
  font-weight: 800;
  font-size: 13px;
}
.widget-slot{
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  padding: 12px;
  min-height: 120px;
}


/* TradingView chart slot */
.tv-slot{
  padding: 0;
  min-height: 560px;
}
@media (max-width: 520px){
  .tv-slot{ min-height: 420px; }
}

/* Footer */
.footer{
  margin-top: 16px;
  padding: 12px 0 0;
  color: rgba(244,244,246,.55);
}
.footer a{ color: rgba(230,199,90,.92); }
.footer a:hover{ color: rgba(230,199,90,1); }

/* Back to top */
.back-to-top{
  position: fixed;
  right: 16px;
  bottom: 16px;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(199,162,58,.35);
  background: rgba(0,0,0,.55);
  color: var(--section-gold);
  cursor:pointer;
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
  z-index: 45;
}
.back-to-top.show{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.back-to-top:hover{ border-color: rgba(199,162,58,.55); background: rgba(0,0,0,.68); }

/* Tooltip */
.tooltip{
  position: fixed;
  z-index: 200;
  max-width: 320px;
  border-radius: 14px;
  padding: 10px 10px;
  background: rgba(10,10,12,.98);
  border: 1px solid rgba(212,175,55,.22);
  box-shadow: 0 18px 60px rgba(0,0,0,.55);
  transform: translateY(6px);
  opacity: 0;
  pointer-events:none;
  transition: opacity .12s ease, transform .12s ease;
}
.tooltip.show{
  opacity: 1;
  transform: translateY(0);
  pointer-events:auto;
}
.tooltip-title{
  font-weight: 900;
  font-size: 12px;
  color: rgba(230,199,90,.98);
  margin-bottom: 4px;
}
.tooltip-body{
  font-size: 12px;
  line-height: 1.35;
  color: rgba(244,244,246,.86);
}

/* Inline info button for KPI labels */
.info-btn--inline{
  margin-left: 6px;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border-radius: 999px;
  font-size: 12px;
  line-height: 18px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Ensure select/dropdown is readable (options) */
select, option{
  color: var(--text);
  background: #0b0b0f;
}


.tiny-link{ margin-left: 10px; font-size: 11px; color: rgba(212,175,55,.95); text-decoration: none; }
.tiny-link:hover{ text-decoration: underline; }
