@font-face {
  font-family: "Vazirmatn";
  src: url("/fonts/Vazirmatn.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  color-scheme: dark;
  --bg: #07111f;
  --bg-soft: #0a1728;
  --panel: rgba(13, 29, 49, 0.78);
  --panel-strong: #10233a;
  --line: rgba(157, 185, 219, 0.13);
  --text: #f0f6ff;
  --muted: #8da3bd;
  --dim: #5d7490;
  --cyan: #55d6ef;
  --blue: #6288ff;
  --green: #52d6a3;
  --red: #ff7c9d;
  --amber: #ffc56a;
  --shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
  --radius: 24px;
}

* { box-sizing: border-box; }

html { min-width: 320px; background: var(--bg); }

body {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 86% 8%, rgba(55, 145, 255, 0.12), transparent 25rem),
    radial-gradient(circle at 15% 45%, rgba(31, 215, 202, 0.06), transparent 28rem),
    var(--bg);
  color: var(--text);
  font-family: "Vazirmatn", Tahoma, "Segoe UI", sans-serif;
  line-height: 1.75;
}

button { font: inherit; }

.ambient {
  position: fixed;
  z-index: -1;
  width: 24rem;
  height: 24rem;
  border-radius: 50%;
  filter: blur(90px);
  opacity: 0.18;
  pointer-events: none;
}

.ambient--one { top: 12rem; left: -12rem; background: #317dff; }
.ambient--two { right: -14rem; bottom: 8rem; background: #1bcbb5; }

.app-shell { width: min(1440px, calc(100% - 48px)); margin: 0 auto; }

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 94px;
  border-bottom: 1px solid var(--line);
}

.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--text); text-decoration: none; }
.brand-mark, .footer-mark {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--cyan), var(--blue));
  box-shadow: 0 10px 30px rgba(85, 214, 239, 0.24);
  color: #03101d;
  font-size: 1.25rem;
  font-weight: 900;
}

.brand strong { display: block; font-size: 1.03rem; font-weight: 800; letter-spacing: -0.015em; }
.brand small { display: block; color: var(--dim); font-size: 0.7rem; font-weight: 500; letter-spacing: 0; }
.topbar__actions { display: flex; align-items: center; gap: 12px; }
.pro-nav-link { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border: 1px solid rgba(85, 214, 239, 0.3); border-radius: 12px; background: linear-gradient(135deg, rgba(85, 214, 239, 0.12), rgba(98, 136, 255, 0.09)); color: #d9f8ff; text-decoration: none; font-size: 0.72rem; font-weight: 800; transition: 180ms ease; }
.pro-nav-link span { color: var(--cyan); text-shadow: 0 0 14px rgba(85, 214, 239, 0.8); }
.pro-nav-link:hover { border-color: rgba(85, 214, 239, 0.62); transform: translateY(-1px); box-shadow: 0 10px 30px rgba(85, 214, 239, 0.1); }

.live-pill, .status-badge, .section-note, .last-sync {
  color: var(--muted);
  font-size: 0.72rem;
}

.plan-pill { padding: 7px 11px; border: 1px solid rgba(98, 136, 255, 0.28); border-radius: 999px; background: rgba(98, 136, 255, 0.1); color: #b9c7ff; font-size: 0.68rem; font-weight: 700; }
.live-pill { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid rgba(82, 214, 163, 0.18); border-radius: 999px; background: rgba(82, 214, 163, 0.06); color: #a1e5c8; }
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(82, 214, 163, 0.12); }
.icon-button { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255, 255, 255, 0.03); color: var(--muted); cursor: pointer; transition: 180ms ease; }
.icon-button:hover { border-color: rgba(85, 214, 239, 0.44); color: var(--cyan); transform: translateY(-1px); }
.icon-button.is-loading span { animation: spin 0.8s linear infinite; }

main { padding: 64px 0 42px; }
.hero-section { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 64px; }
.eyebrow { margin: 0 0 10px; color: var(--cyan); font-size: 0.76rem; font-weight: 700; letter-spacing: 0; }
h1, h2, p { margin-top: 0; }
.hero-section h1 { max-width: 760px; margin-bottom: 20px; font-size: clamp(2.2rem, 4.15vw, 3.95rem); font-weight: 850; line-height: 1.3; letter-spacing: -0.04em; text-wrap: balance; }
.hero-section h1 span { color: transparent; background: linear-gradient(100deg, var(--cyan), #9baaff); background-clip: text; -webkit-background-clip: text; }
.hero-copy { max-width: 620px; margin-bottom: 0; color: var(--muted); font-size: 1.02rem; line-height: 1.95; }
.hero-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 16px; padding-bottom: 7px; }
.data-source { display: flex; align-items: center; gap: 11px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255, 255, 255, 0.025); }
.source-icon { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 10px; background: rgba(85, 214, 239, 0.12); color: var(--cyan); }
.data-source small, .data-source strong { display: block; }
.data-source small { color: var(--dim); font-size: 0.63rem; }
.data-source strong { color: #c9d8ec; font-size: 0.77rem; }
.free-note { display: flex; align-items: flex-start; gap: 9px; max-width: 250px; padding: 10px 12px; border: 1px solid rgba(82, 214, 163, 0.16); border-radius: 14px; background: rgba(82, 214, 163, 0.05); color: #bdebd6; font-size: 0.68rem; }
.free-note__icon { display: grid; place-items: center; flex: 0 0 auto; width: 20px; height: 20px; border-radius: 7px; background: rgba(82, 214, 163, 0.14); color: var(--green); font-weight: 800; }
.free-note strong, .free-note small { display: block; }
.free-note strong { font-size: 0.7rem; }
.free-note small { margin-top: 2px; color: var(--muted); font-size: 0.61rem; line-height: 1.55; }
.last-sync { color: var(--dim); }

.section-block { margin-top: 52px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.section-heading__actions { display: flex; align-items: center; gap: 12px; }
h2 { margin-bottom: 0; font-size: 1.22rem; letter-spacing: -0.02em; }
.market-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.market-card { position: relative; overflow: hidden; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg, rgba(17, 38, 63, 0.92), rgba(9, 22, 39, 0.86)); color: var(--text); text-align: right; cursor: pointer; transition: 220ms ease; }
.market-card::after { position: absolute; top: -80px; left: -20px; width: 170px; height: 170px; border-radius: 50%; background: rgba(85, 214, 239, 0.08); content: ""; filter: blur(4px); }
.market-card:hover { border-color: rgba(85, 214, 239, 0.35); transform: translateY(-3px); box-shadow: var(--shadow); }
.market-card.active { border-color: rgba(85, 214, 239, 0.52); box-shadow: 0 0 0 1px rgba(85, 214, 239, 0.08), var(--shadow); }
.market-card__top, .market-card__bottom { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.market-card__top { color: #d9e7f8; font-size: 0.86rem; font-weight: 700; }
.market-symbol { display: flex; align-items: center; gap: 10px; }
.token-badge { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 12px; background: rgba(85, 214, 239, 0.13); color: var(--cyan); font-size: 1.2rem; }
.token-badge.eth { color: #b7bfff; background: rgba(112, 137, 255, 0.14); }
.trend-chip { padding: 4px 9px; border-radius: 999px; background: rgba(82, 214, 163, 0.1); color: var(--green); font-size: 0.65rem; }
.trend-chip.bearish { background: rgba(255, 124, 157, 0.1); color: var(--red); }
.trend-chip.neutral { background: rgba(255, 197, 106, 0.1); color: var(--amber); }
.market-card__price { margin: 20px 0 6px; font-size: clamp(1.45rem, 3vw, 2.12rem); font-weight: 800; letter-spacing: -0.04em; direction: ltr; text-align: right; }
.market-card__bottom { color: var(--muted); font-size: 0.72rem; }
.change-positive { color: var(--green) !important; }
.change-negative { color: var(--red) !important; }
.change-neutral { color: var(--amber) !important; }
.signal-mini { color: #b6c9df; }

.market-context-panel { padding: 25px; overflow: hidden; }
.context-status { padding: 5px 9px; border: 1px solid rgba(82, 214, 163, 0.2); border-radius: 999px; background: rgba(82, 214, 163, 0.07); color: var(--green); font-size: 0.65rem; }
.context-status.is-stale { border-color: rgba(255, 197, 106, 0.2); background: rgba(255, 197, 106, 0.07); color: var(--amber); }
.context-intro { margin: 12px 0 0; color: var(--muted); font-size: 0.72rem; }
.context-stat-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 9px; margin-top: 18px; }
.context-stat { min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255, 255, 255, 0.025); }
.context-stat--fear { background: linear-gradient(145deg, rgba(255, 197, 106, 0.08), rgba(98, 136, 255, 0.05)); }
.context-stat span, .context-stat small { display: block; color: var(--dim); font-size: 0.61rem; }
.context-stat strong { display: block; overflow: hidden; margin: 8px 0 2px; color: #e3eefb; direction: ltr; text-align: right; text-overflow: ellipsis; white-space: nowrap; font-size: 0.96rem; }
.context-stat small { min-height: 19px; font-size: 0.59rem; }
.fear-meter { height: 4px; margin-top: 8px; overflow: hidden; border-radius: 99px; background: rgba(255, 255, 255, 0.09); }
.fear-meter span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--red), var(--amber), var(--green)); transition: width 260ms ease; }
.fear-meter span.fear-extreme { background: var(--red); }
.fear-meter span.fear { background: #ff9a87; }
.fear-meter span.fear-neutral { background: var(--amber); }
.fear-meter span.greed { background: #78d7a6; }
.fear-meter span.greed-extreme { background: var(--green); }
.context-lists { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 12px; margin-top: 14px; }
.context-list-block { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255, 255, 255, 0.018); }
.context-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.context-list-heading strong { color: #dce9f8; font-size: 0.72rem; }
.context-list-heading small { color: var(--dim); font-size: 0.59rem; }
.context-list { display: grid; gap: 6px; }
.context-list-row { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto auto; align-items: center; gap: 8px; min-height: 37px; padding: 6px 7px; border: 1px solid rgba(157, 185, 219, 0.08); border-radius: 10px; background: rgba(255, 255, 255, 0.018); font-size: 0.64rem; }
.context-list-row.context-mover-row { grid-template-columns: minmax(0, 1fr) auto; }
.context-rank { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 7px; background: rgba(85, 214, 239, 0.1); color: var(--cyan); font-size: 0.6rem; }
.context-coin { min-width: 0; }
.context-coin strong, .context-coin small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.context-coin strong { color: #d7e7f8; font-size: 0.66rem; }
.context-coin small { color: var(--dim); font-size: 0.57rem; }
.context-coin-value, .context-list-row > .change-positive, .context-list-row > .change-negative, .context-list-row > .change-neutral { direction: ltr; text-align: right; font-size: 0.62rem; white-space: nowrap; }
.context-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; color: var(--dim); font-size: 0.59rem; }
.context-empty { margin: 0; padding: 10px; color: var(--dim); font-size: 0.62rem; text-align: center; }

.options-panel { padding: 25px; overflow: hidden; }
.options-status { padding: 5px 9px; border: 1px solid rgba(82, 214, 163, 0.2); border-radius: 999px; background: rgba(82, 214, 163, 0.07); color: var(--green); font-size: 0.65rem; }
.options-status.is-stale { border-color: rgba(255, 197, 106, 0.2); background: rgba(255, 197, 106, 0.07); color: var(--amber); }
.options-status.is-unavailable { border-color: rgba(255, 124, 157, 0.2); background: rgba(255, 124, 157, 0.07); color: var(--red); }
.options-intro { margin: 12px 0 0; color: var(--muted); font-size: 0.72rem; }
.options-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.option-card { min-width: 0; padding: 14px; border: 1px solid rgba(98, 136, 255, 0.2); border-radius: 16px; background: linear-gradient(145deg, rgba(98, 136, 255, 0.08), rgba(255, 255, 255, 0.018)); }
.option-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 9px; }
.option-card__top strong, .option-card__top small { display: block; }
.option-card__top strong { color: #dce9f8; font-size: 0.72rem; }
.option-card__top small { margin-top: 3px; color: var(--dim); font-size: 0.58rem; }
.option-term-badge { flex: 0 0 auto; padding: 4px 7px; border: 1px solid rgba(85, 214, 239, 0.22); border-radius: 8px; color: var(--cyan); font-size: 0.58rem; }
.option-metric-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 13px; }
.option-metric-grid div { min-width: 0; padding: 8px; border: 1px solid rgba(157, 185, 219, 0.09); border-radius: 10px; background: rgba(255, 255, 255, 0.02); }
.option-metric-grid span { display: block; color: var(--dim); font-size: 0.55rem; }
.option-metric-grid strong { display: block; overflow: hidden; margin-top: 4px; color: #dce9f8; direction: ltr; text-align: right; text-overflow: ellipsis; white-space: nowrap; font-size: 0.67rem; }
.option-card__hint { margin: 10px 0 0; color: var(--dim); direction: ltr; text-align: right; font-size: 0.57rem; }
.options-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; color: var(--dim); font-size: 0.59rem; }
.options-empty { grid-column: 1 / -1; margin: 0; padding: 15px; border: 1px dashed var(--line); border-radius: 13px; color: var(--dim); font-size: 0.65rem; text-align: center; }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(310px, 0.8fr); gap: 18px; }
.panel { border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); box-shadow: var(--shadow); backdrop-filter: blur(18px); }
.chart-panel, .signal-panel, .indicators-panel, .candles-panel { padding: 25px; }
.trade-plan-panel { padding: 25px; overflow: hidden; }
.trade-plan-badge { padding: 5px 10px; border: 1px solid rgba(255, 197, 106, 0.2); border-radius: 999px; background: rgba(255, 197, 106, 0.08); color: var(--amber); font-size: 0.68rem; }
.trade-plan-badge.is-active { border-color: rgba(82, 214, 163, 0.24); background: rgba(82, 214, 163, 0.1); color: var(--green); }
.trade-plan-badge.is-sell { border-color: rgba(255, 124, 157, 0.24); background: rgba(255, 124, 157, 0.1); color: var(--red); }
.trade-plan-note { max-width: 820px; margin: 18px 0 0; color: var(--muted); font-size: 0.74rem; }
.trade-plan-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.trade-plan-cell { padding: 15px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255, 255, 255, 0.025); }
.trade-plan-cell span { display: block; color: var(--muted); font-size: 0.67rem; }
.trade-plan-cell strong { display: block; margin-top: 8px; color: #e3eefb; direction: ltr; text-align: right; font-size: 1.05rem; }
.trade-plan-cell--stop strong { color: var(--red); }
.trade-plan-cell--target strong { color: var(--green); }
.trade-plan-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; color: var(--muted); font-size: 0.7rem; }
.copy-button { padding: 8px 13px; border: 1px solid rgba(85, 214, 239, 0.3); border-radius: 11px; background: rgba(85, 214, 239, 0.1); color: var(--cyan); font-size: 0.7rem; cursor: pointer; transition: 180ms ease; }
.copy-button:hover:not(:disabled) { border-color: rgba(85, 214, 239, 0.65); background: rgba(85, 214, 239, 0.17); transform: translateY(-1px); }
.copy-button:disabled { cursor: not-allowed; opacity: 0.45; }
.position-sizing { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); }
.position-sizing__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.position-sizing__header .eyebrow { margin-bottom: 4px; }
.position-sizing__header h3 { margin: 0; color: #dce9f8; font-size: 0.94rem; }
.position-sizing__inputs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.position-sizing__inputs label { color: var(--muted); font-size: 0.67rem; }
.position-sizing__inputs input { display: block; width: 100%; margin-top: 6px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 11px; outline: 0; background: rgba(255, 255, 255, 0.035); color: var(--text); direction: ltr; font: inherit; font-size: 0.76rem; }
.position-sizing__inputs input:focus { border-color: rgba(85, 214, 239, 0.55); box-shadow: 0 0 0 3px rgba(85, 214, 239, 0.08); }
.position-sizing__results { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.position-sizing__results div { padding: 11px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255, 255, 255, 0.02); }
.position-sizing__results span { display: block; color: var(--dim); font-size: 0.62rem; }
.position-sizing__results strong { display: block; margin-top: 4px; color: #dce9f8; direction: ltr; text-align: right; font-size: 0.78rem; }
.position-sizing__hint { margin: 10px 0 0; color: var(--dim); font-size: 0.62rem; }
.tools-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.tool-panel { padding: 25px; }
.tool-badge { padding: 5px 9px; border: 1px solid rgba(98, 136, 255, 0.24); border-radius: 999px; background: rgba(98, 136, 255, 0.1); color: #b9c7ff; font-size: 0.65rem; }
.tool-badge--green { border-color: rgba(82, 214, 163, 0.24); background: rgba(82, 214, 163, 0.08); color: var(--green); }
.tool-copy { margin: 13px 0 0; color: var(--muted); font-size: 0.7rem; line-height: 1.8; }
.tool-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.tool-form-grid label, .paper-open-form label { color: var(--muted); font-size: 0.66rem; }
.tool-form-grid input, .tool-form-grid select, .paper-open-form input, .paper-open-form select { display: block; width: 100%; margin-top: 6px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 11px; outline: 0; background: rgba(255, 255, 255, 0.035); color: var(--text); direction: ltr; font: inherit; font-size: 0.75rem; }
.tool-form-grid select, .paper-open-form select { direction: rtl; }
.tool-form-grid select, .paper-open-form select, .pro-lab-controls select { color-scheme: dark; }
.tool-form-grid select option, .paper-open-form select option, .pro-lab-controls select option {
  background-color: #10233a;
  color: #f0f6ff;
}
.tool-form-grid select option:checked, .paper-open-form select option:checked, .pro-lab-controls select option:checked {
  background-color: #1f5f89;
  color: #ffffff;
}
.tool-form-grid input:focus, .tool-form-grid select:focus, .paper-open-form input:focus, .paper-open-form select:focus { border-color: rgba(85, 214, 239, 0.55); box-shadow: 0 0 0 3px rgba(85, 214, 239, 0.08); }
.tool-results { display: grid; gap: 8px; margin-top: 14px; }
.tool-results--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tool-results div { padding: 11px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255, 255, 255, 0.025); }
.tool-results span { display: block; color: var(--dim); font-size: 0.61rem; }
.tool-results strong { display: block; margin-top: 5px; color: #dce9f8; direction: ltr; text-align: right; font-size: 0.82rem; }
.tool-results strong.value-positive { color: var(--green); }
.tool-results strong.value-negative { color: var(--red); }
.tool-hint { margin: 11px 0 0; color: var(--dim); font-size: 0.62rem; line-height: 1.7; }
.paper-open-form { display: grid; grid-template-columns: 0.8fr 1fr auto; align-items: end; gap: 9px; margin-top: 17px; }
.primary-button { min-height: 38px; padding: 8px 13px; border: 1px solid rgba(85, 214, 239, 0.32); border-radius: 11px; background: linear-gradient(135deg, rgba(85, 214, 239, 0.22), rgba(98, 136, 255, 0.2)); color: #d9f8ff; font-size: 0.68rem; cursor: pointer; transition: 180ms ease; white-space: nowrap; }
.primary-button:hover { border-color: rgba(85, 214, 239, 0.65); transform: translateY(-1px); }
.paper-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 19px; color: #dce9f8; font-size: 0.72rem; font-weight: 700; }
.paper-section-heading small { color: var(--dim); font-size: 0.62rem; font-weight: 500; }
.paper-list { display: grid; gap: 7px; margin-top: 9px; }
.paper-position, .paper-history-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255, 255, 255, 0.025); }
.paper-position__main, .paper-history-row__main { min-width: 0; }
.paper-position strong, .paper-history-row strong { display: block; color: #dce9f8; font-size: 0.7rem; }
.paper-position small, .paper-history-row small { display: block; margin-top: 2px; color: var(--dim); font-size: 0.6rem; }
.paper-position__pnl { direction: ltr; text-align: left; }
.paper-position__pnl strong { font-size: 0.76rem; }
.paper-position__pnl strong.value-positive, .paper-history-row strong.value-positive { color: var(--green); }
.paper-position__pnl strong.value-negative, .paper-history-row strong.value-negative { color: var(--red); }
.paper-close-button { padding: 5px 8px; border: 1px solid rgba(255, 124, 157, 0.25); border-radius: 8px; background: rgba(255, 124, 157, 0.07); color: var(--red); font-size: 0.6rem; cursor: pointer; }
.paper-empty { margin: 0; padding: 12px; border: 1px dashed var(--line); border-radius: 12px; color: var(--dim); font-size: 0.64rem; text-align: center; }
.history-panel { padding: 25px; }
.ghost-button { padding: 6px 10px; border: 1px solid var(--line); border-radius: 9px; background: transparent; color: var(--muted); font-size: 0.66rem; cursor: pointer; transition: 180ms ease; }
.ghost-button:hover { border-color: rgba(255, 124, 157, 0.35); color: var(--red); }
.history-list { display: grid; gap: 8px; margin-top: 18px; }
.history-empty { margin: 0; padding: 15px; border: 1px dashed var(--line); border-radius: 13px; color: var(--dim); font-size: 0.68rem; text-align: center; }
.history-row { display: grid; grid-template-columns: minmax(120px, 0.8fr) repeat(4, minmax(80px, 1fr)); align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255, 255, 255, 0.02); }
.history-row__time { color: var(--muted); font-size: 0.66rem; }
.history-row__signal { color: var(--amber); font-size: 0.75rem; font-weight: 700; }
.history-row__score, .history-row__price { color: #dce9f8; direction: ltr; text-align: right; font-size: 0.72rem; }
.history-row__confidence { color: var(--muted); direction: ltr; text-align: right; font-size: 0.68rem; }
.history-row__signal.signal-buy { color: var(--green); }
.history-row__signal.signal-sell { color: var(--red); }
.panel-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.panel-header--compact { align-items: start; }
.asset-heading { display: flex; align-items: center; gap: 12px; }
.asset-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; background: linear-gradient(145deg, rgba(85, 214, 239, 0.15), rgba(98, 136, 255, 0.15)); color: var(--cyan); font-size: 1.3rem; }
.muted { color: var(--muted); font-size: 0.72rem; }
.chart-price-block { text-align: left; direction: ltr; }
.chart-price-block strong { display: block; font-size: 1.6rem; letter-spacing: -0.04em; }
.chart-price-block span { display: block; margin-top: 3px; font-size: 0.75rem; }
.watch-button { padding: 8px 11px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255, 255, 255, 0.03); color: var(--muted); font-size: 0.68rem; cursor: pointer; transition: 180ms ease; }
.watch-button:hover, .watch-button.is-watched { border-color: rgba(255, 197, 106, 0.35); background: rgba(255, 197, 106, 0.1); color: var(--amber); }
.notification-button { padding: 8px 11px; border: 1px solid rgba(85, 214, 239, 0.28); border-radius: 11px; background: rgba(85, 214, 239, 0.08); color: var(--cyan); font-size: 0.68rem; cursor: pointer; transition: 180ms ease; }
.notification-button:hover:not(:disabled), .notification-button.is-enabled { border-color: rgba(82, 214, 163, 0.35); background: rgba(82, 214, 163, 0.1); color: var(--green); }
.notification-button:disabled { cursor: not-allowed; opacity: 0.55; }
.chart-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 26px; }
.timeframe-tabs { display: flex; gap: 4px; padding: 4px; border-radius: 10px; background: rgba(255, 255, 255, 0.035); }
.timeframe { padding: 4px 9px; border: 0; border-radius: 7px; background: transparent; color: var(--dim); font-size: 0.68rem; cursor: pointer; }
.timeframe.active { background: rgba(85, 214, 239, 0.13); color: var(--cyan); }
.timeframe:disabled { cursor: not-allowed; opacity: 0.48; }
.chart-legend { display: flex; gap: 12px; color: var(--muted); font-size: 0.65rem; }
.chart-legend span { display: inline-flex; align-items: center; gap: 5px; }
.legend-line { display: inline-block; width: 15px; height: 2px; border-radius: 4px; }
.legend-line--price { background: var(--cyan); }
.legend-line--ema9 { background: var(--amber); }
.legend-line--ema21 { background: #9b9ff8; }
.chart-wrap { position: relative; height: 320px; margin-top: 16px; }
#priceChart { display: block; width: 100%; height: 100%; }
.chart-loading { position: absolute; inset: 0; display: grid; place-items: center; color: var(--dim); font-size: 0.8rem; pointer-events: none; }
.chart-loading.hidden { display: none; }
.chart-footer { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; color: var(--dim); font-size: 0.65rem; }
.chart-footer strong { color: var(--muted); font-weight: 500; }
.chart-disclaimer { color: #6e6c74; }
.status-badge { padding: 5px 9px; border: 1px solid rgba(255, 197, 106, 0.18); border-radius: 999px; background: rgba(255, 197, 106, 0.08); color: var(--amber); }

.signal-panel { display: flex; flex-direction: column; }
.signal-orbit { display: grid; place-items: center; width: 186px; height: 186px; margin: 32px auto 24px; border-radius: 50%; background: conic-gradient(var(--cyan) var(--confidence), rgba(85, 214, 239, 0.08) 0); position: relative; }
.signal-orbit::before { position: absolute; inset: 7px; border-radius: 50%; background: var(--bg-soft); content: ""; }
.signal-orbit::after { position: absolute; inset: -10px; border: 1px solid rgba(85, 214, 239, 0.06); border-radius: 50%; content: ""; }
.signal-orbit__inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; }
.signal-label { color: var(--dim); font-size: 0.65rem; }
.signal-orbit strong { margin: 5px 0; color: var(--cyan); font-size: 1.75rem; letter-spacing: 0.04em; }
.signal-orbit strong.signal-buy { color: var(--green); }
.signal-orbit strong.signal-sell { color: var(--red); }
.signal-orbit strong.signal-hold { color: var(--amber); }
.signal-orbit small { color: var(--muted); font-size: 0.7rem; }
.signal-summary { display: flex; align-items: flex-start; gap: 11px; min-height: 72px; padding: 13px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255, 255, 255, 0.025); }
.summary-icon { display: grid; place-items: center; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 10px; background: rgba(82, 214, 163, 0.12); color: var(--green); font-size: 1.05rem; }
.summary-icon.summary-sell { background: rgba(255, 124, 157, 0.12); color: var(--red); }
.summary-icon.summary-hold { background: rgba(255, 197, 106, 0.12); color: var(--amber); }
.signal-summary strong { display: block; margin-bottom: 2px; color: #dce9f8; font-size: 0.78rem; }
.signal-summary p { margin: 0; color: var(--muted); font-size: 0.67rem; line-height: 1.7; }
.market-mood { margin-top: 14px; padding: 13px; border: 1px solid rgba(98, 136, 255, 0.2); border-radius: 16px; background: linear-gradient(145deg, rgba(98, 136, 255, 0.09), rgba(85, 214, 239, 0.035)); }
.market-mood__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.market-mood__label { display: block; margin-bottom: 5px; color: var(--dim); font-size: 0.62rem; }
.mood-badge { display: inline-block; color: var(--amber); font-size: 0.8rem; font-weight: 800; }
.mood-badge.mood-positive { color: var(--green); }
.mood-badge.mood-negative { color: var(--red); }
.mood-badge.mood-warning { color: var(--amber); }
.market-mood__score { color: #dce9f8; direction: ltr; font-size: 0.77rem; }
.mood-meter { height: 5px; margin-top: 10px; overflow: hidden; border-radius: 999px; background: rgba(255, 255, 255, 0.08); }
.mood-meter span { display: block; width: 20%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--amber), var(--cyan)); transition: width 260ms ease, background 260ms ease; }
.market-mood p { margin: 8px 0 0; color: var(--muted); font-size: 0.65rem; line-height: 1.7; }
.metric-list { display: grid; gap: 0; margin-top: 18px; }
.metric-row { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 0.73rem; }
.metric-row:last-child { border-bottom: 0; }
.metric-row strong { color: #d6e5f7; font-size: 0.8rem; }

.lower-grid { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: 18px; }
.indicator-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 24px; }
.indicator-card { min-height: 124px; padding: 17px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255, 255, 255, 0.025); }
.indicator-card__label, .indicator-card__hint { display: block; color: var(--muted); font-size: 0.67rem; }
.indicator-card strong { display: block; margin: 13px 0 3px; color: #e3eefb; direction: ltr; text-align: right; font-size: 1.08rem; }
.indicator-card__hint { color: var(--dim); font-size: 0.61rem; }
.indicator-card--accent strong { color: var(--green); }
.table-wrap { overflow-x: auto; margin-top: 18px; }
table { width: 100%; border-collapse: collapse; min-width: 360px; }
th, td { padding: 10px 8px; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; font-size: 0.67rem; }
th { color: var(--dim); font-weight: 500; }
td { color: #cbd9ea; }
td:first-child { color: var(--muted); }
td:last-child { direction: ltr; text-align: right; }
.candle-up { color: var(--green) !important; }
.candle-down { color: var(--red) !important; }

.footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 26px 0 34px; color: var(--dim); font-size: 0.65rem; }
.footer-mark { display: inline-grid; width: 20px; height: 20px; margin-left: 5px; border-radius: 7px; font-size: 0.65rem; vertical-align: middle; }
.toast { position: fixed; right: 24px; bottom: 24px; z-index: 5; max-width: 340px; padding: 12px 16px; border: 1px solid rgba(255, 124, 157, 0.25); border-radius: 12px; background: #201727; color: #ffd3df; font-size: 0.74rem; opacity: 0; transform: translateY(12px); pointer-events: none; transition: 200ms ease; }
.toast.visible { opacity: 1; transform: translateY(0); }

.pro-lab-panel { padding: 25px; overflow: hidden; }
.pro-lab-intro { max-width: 920px; margin: 14px 0 0; color: var(--muted); font-size: 0.73rem; }
.pro-lab-controls { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)) auto; align-items: end; gap: 10px; margin-top: 20px; padding: 14px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255, 255, 255, 0.018); }
.pro-lab-controls label { color: var(--muted); font-size: 0.64rem; }
.pro-lab-controls input, .pro-lab-controls select { display: block; width: 100%; margin-top: 6px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 10px; outline: 0; background: rgba(255, 255, 255, 0.035); color: var(--text); direction: ltr; font: inherit; font-size: 0.7rem; }
.pro-lab-controls select { direction: rtl; }
.pro-lab-controls input:focus, .pro-lab-controls select:focus { border-color: rgba(85, 214, 239, 0.55); box-shadow: 0 0 0 3px rgba(85, 214, 239, 0.08); }
.pro-lab-run { min-height: 36px; }
.pro-lab-current { display: grid; grid-template-columns: minmax(170px, 0.7fr) minmax(360px, 1.3fr) minmax(260px, 1.2fr); gap: 16px; align-items: center; margin-top: 16px; padding: 16px; border: 1px solid rgba(85, 214, 239, 0.18); border-radius: 18px; background: linear-gradient(135deg, rgba(85, 214, 239, 0.07), rgba(98, 136, 255, 0.04)); }
.pro-lab-kicker { display: block; color: var(--dim); font-size: 0.61rem; }
.pro-lab-current > div:first-child strong { display: block; margin-top: 5px; color: var(--amber); font-size: 1.25rem; }
.pro-lab-current > div:first-child strong.pro-buy { color: var(--green); }
.pro-lab-current > div:first-child strong.pro-sell { color: var(--red); }
.pro-lab-current > div:first-child small { display: block; margin-top: 2px; color: var(--muted); font-size: 0.62rem; }
.pro-setup-levels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.pro-setup-levels span { padding: 9px; border: 1px solid var(--line); border-radius: 11px; color: var(--dim); font-size: 0.58rem; }
.pro-setup-levels strong { display: block; margin-top: 4px; color: #dce9f8; direction: ltr; text-align: right; font-size: 0.7rem; }
.pro-setup-levels span:nth-child(2) strong { color: var(--red); }
.pro-setup-levels span:nth-child(3) strong { color: var(--green); }
.pro-lab-reasons { color: var(--muted); font-size: 0.66rem; line-height: 1.9; }
.pro-lab-reasons span { display: block; }
.pro-metric-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 9px; margin-top: 16px; }
.pro-metric { padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255, 255, 255, 0.025); }
.pro-metric span { display: block; color: var(--dim); font-size: 0.58rem; }
.pro-metric strong { display: block; margin-top: 5px; color: #dce9f8; direction: ltr; text-align: right; font-size: 0.82rem; }
.pro-metric strong.pro-positive { color: var(--green); }
.pro-metric strong.pro-negative { color: var(--red); }
.pro-lab-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 16px; margin-top: 16px; }
.pro-subpanel { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255, 255, 255, 0.018); }
.pro-subpanel__heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pro-subpanel__heading strong { color: #dce9f8; font-size: 0.76rem; }
.pro-subpanel__heading small { color: var(--dim); font-size: 0.58rem; }
.pro-indicator-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.pro-indicator-grid div { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255, 255, 255, 0.02); }
.pro-indicator-grid span { display: block; color: var(--dim); font-size: 0.57rem; }
.pro-indicator-grid strong { display: block; overflow: hidden; margin-top: 4px; color: #dce9f8; direction: ltr; text-align: right; text-overflow: ellipsis; white-space: nowrap; font-size: 0.68rem; }
.pro-equity-wrap { height: 220px; margin-top: 12px; }
#strategyEquityChart { display: block; width: 100%; height: 100%; }
.pro-lab-foot { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; color: var(--dim); font-size: 0.59rem; }
.pro-trades { margin-top: 16px; padding: 16px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255, 255, 255, 0.018); }
.pro-trades .table-wrap { margin-top: 10px; }
.pro-trades td { font-size: 0.62rem; }
.pro-trades td:nth-child(3), .pro-trades td:nth-child(4), .pro-trades td:nth-child(5) { direction: ltr; text-align: right; }
.pro-trades .pro-long { color: var(--green); }
.pro-trades .pro-short { color: var(--red); }
.pro-trades .pro-positive { color: var(--green); }
.pro-trades .pro-negative { color: var(--red); }

@keyframes spin { to { transform: rotate(360deg); } }

@media (max-width: 960px) {
  .hero-section { align-items: flex-start; flex-direction: column; }
  .hero-meta { align-items: flex-start; }
  .dashboard-grid, .lower-grid, .tools-grid { grid-template-columns: 1fr; }
  .context-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .context-lists { grid-template-columns: 1fr; }
  .signal-panel { min-height: auto; }
  .pro-lab-controls { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pro-lab-run { grid-column: span 3; }
  .pro-lab-current { grid-template-columns: 1fr; }
  .pro-metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pro-lab-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .pro-nav-link { width: 100%; justify-content: center; order: -1; }
  .app-shell { width: min(100% - 28px, 1440px); }
  .topbar { align-items: stretch; flex-direction: column; gap: 13px; min-height: 76px; padding: 16px 0; }
  .topbar__actions { flex-wrap: wrap; width: 100%; }
  main { padding-top: 42px; }
  .hero-section { margin-bottom: 44px; }
  .hero-section h1 { font-size: clamp(2rem, 10vw, 2.65rem); line-height: 1.35; letter-spacing: -0.035em; }
  .section-heading, .panel-header, .chart-toolbar, .footer { align-items: flex-start; flex-direction: column; }
  .section-heading { gap: 5px; }
  .section-heading__actions { align-items: flex-start; flex-direction: column; gap: 9px; }
  .section-note { align-self: flex-start; }
  .market-cards { grid-template-columns: 1fr; }
  .chart-panel, .signal-panel, .indicators-panel, .candles-panel, .trade-plan-panel, .history-panel, .tool-panel, .market-context-panel, .options-panel { padding: 18px; }
  .chart-wrap { height: 250px; }
  .chart-legend { width: 100%; justify-content: space-between; }
  .indicator-grid { grid-template-columns: 1fr; }
  .indicator-card { min-height: auto; }
  .trade-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trade-plan-footer { align-items: flex-start; flex-direction: column; }
  .tool-form-grid, .tool-results--three { grid-template-columns: 1fr; }
  .context-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .context-footer { align-items: flex-start; flex-direction: column; }
  .options-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .options-footer { align-items: flex-start; flex-direction: column; }
  .paper-open-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .paper-open-form .primary-button { grid-column: 1 / -1; }
  .history-row { grid-template-columns: 1fr repeat(3, minmax(60px, 1fr)); gap: 8px; padding: 10px; }
  .history-row__time { grid-column: 1 / -1; }
  .footer { gap: 8px; }
  .pro-lab-panel { padding: 18px; }
  .pro-lab-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pro-lab-run { grid-column: 1 / -1; }
  .pro-setup-levels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pro-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pro-lab-foot { align-items: flex-start; flex-direction: column; }
}
