:root {
  --bg: #070a0f;
  --panel: rgba(16, 22, 31, .92);
  --panel-2: rgba(21, 29, 40, .9);
  --border: rgba(255,255,255,.075);

  --text: #f5f7fa;
  --muted: #7e8998;

  --accent: #20c7ff;
  --accent-2: #5d7cff;

  --green: #20df85;
  --red: #ff4d5f;
  --yellow: #ffcc4a;

  --radius: 22px;
  --shadow: 0 18px 70px rgba(0,0,0,.34);
}

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  background: var(--bg);
}

body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background:
    radial-gradient(circle at 20% 0%, rgba(32,199,255,.08), transparent 32%),
    radial-gradient(circle at 90% 30%, rgba(93,124,255,.08), transparent 34%),
    var(--bg);

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "SF Pro Display",
    "Segoe UI",
    sans-serif;

  overflow-x: hidden;
}

button {
  font: inherit;
}

.ambient {
  position: fixed;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  filter: blur(100px);
  pointer-events: none;
  opacity: .13;
}

.ambient-one {
  background: var(--accent);
  left: -180px;
  top: 80px;
}

.ambient-two {
  background: var(--accent-2);
  right: -190px;
  top: 380px;
}

.app {
  max-width: 560px;
  margin: 0 auto;
  padding:
    max(18px, env(safe-area-inset-top))
    16px
    105px;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;

  display: flex;
  align-items: center;
  gap: 12px;

  padding: 10px 0 18px;

  background:
    linear-gradient(
      180deg,
      rgba(7,10,15,.98) 65%,
      rgba(7,10,15,0)
    );
}

.brand-mark {
  width: 47px;
  height: 47px;

  display: grid;
  place-items: center;

  border-radius: 15px;

  border: 1px solid rgba(32,199,255,.3);

  background:
    linear-gradient(
      145deg,
      rgba(32,199,255,.17),
      rgba(93,124,255,.08)
    );

  box-shadow:
    inset 0 0 24px rgba(32,199,255,.08),
    0 0 24px rgba(32,199,255,.07);
}

.brand-60 {
  font-size: 19px;
  font-weight: 900;
  letter-spacing: -1px;
}

.brand-copy {
  flex: 1;
}

.brand-name {
  font-size: 16px;
  font-weight: 800;
}

.system-line {
  margin-top: 3px;

  display: flex;
  gap: 6px;
  align-items: center;

  color: var(--muted);
  font-size: 11px;
}

.live-dot {
  width: 7px;
  height: 7px;
  background: var(--green);
  border-radius: 50%;
  box-shadow: 0 0 10px var(--green);
}

.icon-button {
  width: 39px;
  height: 39px;

  border-radius: 13px;
  border: 1px solid var(--border);

  background: rgba(255,255,255,.03);
  color: var(--green);
}

.screen {
  display: none;
  animation: screenIn .25s ease;
}

.screen.active {
  display: block;
}

@keyframes screenIn {
  from {
    opacity: 0;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero-card,
.checked-card,
.summary-card,
.details-card,
.big-stat-card,
.analysis-terminal {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background:
    linear-gradient(
      145deg,
      rgba(18,25,35,.96),
      rgba(10,14,21,.96)
    );
  box-shadow: var(--shadow);
}

.hero-card {
  padding: 25px;
}

.eyebrow {
  color: var(--accent);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.5px;
}

h1 {
  margin: 12px 0 12px;
  font-size: clamp(31px, 8vw, 43px);
  line-height: .98;
  letter-spacing: -1.7px;
}

h1 span {
  color: #9aa6b7;
}

.hero-subtitle {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
  font-size: 14px;
}

.system-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: 23px;
}

.system-item {
  display: flex;
  gap: 9px;
  align-items: center;

  min-height: 60px;
  padding: 11px;

  border: 1px solid var(--border);
  border-radius: 15px;
  background: rgba(255,255,255,.025);
}

.check {
  display: grid;
  place-items: center;

  width: 25px;
  height: 25px;

  color: var(--green);
  border-radius: 8px;
  background: rgba(32,223,133,.1);
}

.system-item small,
.entry-row small,
.summary-grid small,
.stat-box small,
.big-stat-card small {
  display: block;
  font-size: 9px;
  color: var(--muted);
  font-weight: 800;
  letter-spacing: .7px;
}

.system-item strong {
  display: block;
  margin-top: 3px;
  font-size: 12px;
}

.primary-button {
  width: 100%;

  margin-top: 22px;
  padding: 17px 18px;

  border: 0;
  border-radius: 16px;

  color: #001018;
  font-weight: 950;
  font-size: 14px;
  letter-spacing: .35px;

  background:
    linear-gradient(
      100deg,
      #2be0ff,
      #20c7ff,
      #6d79ff
    );

  box-shadow:
    0 11px 34px rgba(32,199,255,.18);

  transition:
    transform .14s ease,
    filter .14s ease;
}

.primary-button:active {
  transform: scale(.975);
  filter: brightness(.87);
}

.section-title-row {
  margin: 25px 3px 11px;
}

.section-title-row h2 {
  margin: 0;
  font-size: 15px;
}

.quick-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.quick-card {
  padding: 16px;

  text-align: left;
  color: var(--text);

  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(255,255,255,.025);
}

.quick-card:active {
  transform: scale(.98);
}

.quick-card span {
  display: block;
  margin-bottom: 17px;
  color: var(--accent);
  font-size: 21px;
}

.quick-card strong,
.quick-card small {
  display: block;
}

.quick-card strong {
  font-size: 13px;
}

.quick-card small {
  margin-top: 4px;
  font-size: 10px;
  color: var(--muted);
}

.notice {
  margin-top: 18px;
  padding: 13px 15px;

  border-left: 2px solid rgba(255,204,74,.55);

  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
}


/* Screens */

.back-button {
  margin: 4px 0 20px;
  padding: 8px 0;

  border: 0;
  background: none;
  color: var(--muted);
  font-weight: 700;
}

.screen-heading {
  margin-bottom: 18px;
}

.screen-heading h2 {
  margin: 8px 0 7px;
  font-size: 28px;
  letter-spacing: -1px;
}

.screen-heading p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.pairs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.pair-button {
  min-height: 74px;
  padding: 13px;

  border: 1px solid var(--border);
  border-radius: 18px;

  color: var(--text);
  text-align: left;

  background:
    linear-gradient(
      145deg,
      rgba(20,27,37,.9),
      rgba(12,16,23,.9)
    );

  transition: all .14s ease;
}

.pair-button:first-child {
  grid-column: 1 / -1;
  border-color: rgba(32,199,255,.25);
}

.pair-button:active {
  transform: scale(.97);
  border-color: var(--accent);
}

.pair-button strong {
  display: block;
  font-size: 14px;
}

.pair-button small {
  display: block;
  margin-top: 5px;

  color: var(--muted);
  font-size: 10px;
}


/* Analysis */

.analysis-terminal {
  margin-top: 10vh;
  padding: 28px 22px;
  overflow: hidden;
}

.analysis-pair {
  font-size: 21px;
  font-weight: 900;
}

.analysis-time {
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
}

.scanner {
  position: relative;
  height: 75px;
  margin: 24px 0;
  overflow: hidden;

  border-radius: 15px;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(32,199,255,.05) 0,
      rgba(32,199,255,.05) 1px,
      transparent 1px,
      transparent 12px
    );
}

.scanner-line {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;

  background: var(--accent);
  box-shadow: 0 0 18px var(--accent);

  animation: scan 1.2s linear infinite;
}

@keyframes scan {
  from { top: 0; }
  50% { top: 100%; }
  to { top: 0; }
}

.analysis-title {
  font-size: 15px;
  font-weight: 800;
}

.progress-track,
.confidence-track {
  height: 8px;
  border-radius: 99px;
  overflow: hidden;
  background: rgba(255,255,255,.06);
}

.progress-track {
  margin-top: 13px;
}

.progress-fill,
.confidence-fill {
  width: 0;
  height: 100%;
  border-radius: inherit;

  background:
    linear-gradient(
      90deg,
      var(--accent),
      var(--accent-2)
    );

  transition: width .35s ease;
}

.analysis-percent {
  margin-top: 7px;

  text-align: right;
  color: var(--accent);
  font-size: 10px;
  font-weight: 800;
}

.analysis-steps {
  margin-top: 23px;
}

.analysis-step {
  display: flex;
  gap: 10px;
  align-items: center;

  padding: 8px 0;

  color: #667180;
  font-size: 12px;
}

.analysis-step.active {
  color: var(--text);
}

.analysis-step.done {
  color: #b9c5d2;
}

.analysis-step.done span {
  color: var(--green);
}


/* Signal */

.signal-top {
  position: relative;
  overflow: hidden;

  padding: 21px;

  border-radius: 23px;
  border: 1px solid var(--border);

  background:
    linear-gradient(
      150deg,
      rgba(25,18,23,.98),
      rgba(11,14,20,.98)
    );

  box-shadow: var(--shadow);
}

.signal-top.sell {
  border-top: 2px solid var(--red);
}

.signal-top.buy {
  border-top: 2px solid var(--green);
}

.signal-top.wait {
  border-top: 2px solid var(--yellow);
}

.signal-meta {
  display: flex;
  justify-content: space-between;

  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}

.signal-label {
  margin-top: 27px;

  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.4px;
}

.signal-direction {
  margin-top: 2px;

  font-size: 49px;
  line-height: 1;
  font-weight: 1000;
  letter-spacing: -2px;
}

.signal-top.sell .signal-direction {
  color: var(--red);
}

.signal-top.buy .signal-direction {
  color: var(--green);
}

.signal-top.wait .signal-direction {
  color: var(--yellow);
}

.signal-confidence-row {
  display: flex;
  justify-content: space-between;

  margin-top: 22px;
  margin-bottom: 7px;

  font-size: 11px;
}

.signal-confidence-row span {
  color: var(--muted);
}

.recommendation {
  margin-top: 20px;
  padding: 15px;

  border-radius: 17px;

  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.07);
}

.recommendation-title {
  color: var(--yellow);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .7px;
}

.recommendation-main {
  margin-top: 6px;
  font-size: 18px;
  font-weight: 900;
}

.entry-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;

  margin-top: 14px;
}

.entry-row > div {
  padding: 10px;

  border-radius: 12px;
  background: rgba(0,0,0,.18);
}

.entry-row strong {
  display: block;
  margin-top: 3px;
}

.timer-box strong {
  color: var(--yellow);
}

.checked-card,
.summary-card,
.details-card {
  margin-top: 12px;
  padding: 18px;
}

.card-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.card-heading h3 {
  margin: 5px 0 0;
  font-size: 16px;
}

.verified-badge {
  padding: 7px 9px;

  border-radius: 11px;
  color: var(--green);

  background: rgba(32,223,133,.09);
  font-size: 11px;
  font-weight: 900;
}

.checks-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;

  margin-top: 15px;
}

.check-pill {
  padding: 9px 10px;

  border-radius: 11px;

  background: rgba(255,255,255,.025);
  color: #b7c1cd;

  font-size: 10px;
}

.check-pill::first-letter {
  color: var(--green);
}

.summary-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;

  margin-top: 12px;
}

.summary-grid > div {
  padding: 11px;

  border-radius: 12px;
  background: rgba(255,255,255,.025);
}

.summary-grid strong {
  display: block;
  margin-top: 4px;
  font-size: 11px;
}

.details-card {
  padding: 0;
  overflow: hidden;
}

.details-card summary {
  display: flex;
  justify-content: space-between;

  padding: 17px;

  cursor: pointer;
  list-style: none;

  font-size: 12px;
  font-weight: 800;
}

.details-card summary::-webkit-details-marker {
  display: none;
}

.details-content {
  padding: 0 17px 17px;
}

.detail-line {
  display: flex;
  justify-content: space-between;

  padding: 9px 0;

  border-bottom: 1px solid rgba(255,255,255,.045);

  color: var(--muted);
  font-size: 11px;
}

.detail-line strong {
  color: var(--text);
}

.ai-explanation {
  margin: 15px 0 0;

  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
}

.bottom-advice {
  margin-top: 15px;
  padding: 16px;

  border-radius: 17px;
  border: 1px solid rgba(255,204,74,.12);

  background: rgba(255,204,74,.035);

  color: #a8b1bd;
  font-size: 10px;
  line-height: 1.5;
}

.bottom-advice-title {
  color: var(--yellow);
  font-weight: 900;
  font-size: 11px;
}

.bottom-advice p {
  margin: 8px 0 0;
}


/* Stats */

.big-stat-card {
  padding: 23px;
}

.big-stat-card > strong {
  display: block;
  margin: 8px 0 15px;

  font-size: 42px;
  letter-spacing: -2px;
}

.static-stat {
  width: 61.5%;
}

.stats-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;

  margin-top: 10px;
}

.stat-box {
  min-height: 105px;

  padding: 16px;

  border: 1px solid var(--border);
  border-radius: 18px;

  background: var(--panel);
}

.stat-box strong {
  display: block;
  margin-top: 12px;
  font-size: 22px;
}

.stat-box.win strong {
  color: var(--green);
}

.stat-box.loss strong {
  color: var(--red);
}


/* History */

.history-list {
  display: grid;
  gap: 8px;
}

.history-item {
  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 14px;

  border: 1px solid var(--border);
  border-radius: 16px;

  background: var(--panel);
}

.history-item strong,
.history-item small {
  display: block;
}

.history-item strong {
  font-size: 12px;
}

.history-item small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 10px;
}

.history-result {
  min-width: 55px;

  padding: 7px 8px;

  border-radius: 10px;
  text-align: center;

  font-size: 10px;
  font-weight: 950;
}

.history-result.win {
  color: var(--green);
  background: rgba(32,223,133,.08);
}

.history-result.loss {
  color: var(--red);
  background: rgba(255,77,95,.08);
}


/* Bottom navigation */

.bottom-nav {
  position: fixed;
  z-index: 30;

  left: 50%;
  bottom: 0;

  width: min(560px, 100%);
  transform: translateX(-50%);

  display: grid;
  grid-template-columns: repeat(3, 1fr);

  padding:
    8px
    14px
    max(9px, env(safe-area-inset-bottom));

  background: rgba(8,11,16,.94);
  border-top: 1px solid var(--border);
  backdrop-filter: blur(20px);
}

.nav-button {
  display: grid;
  place-items: center;
  gap: 3px;

  border: 0;
  background: transparent;

  color: #626d7b;
  font-size: 9px;
  font-weight: 750;
}

.nav-button span {
  font-size: 18px;
}

.nav-button.active {
  color: var(--accent);
}

/* =========================================================
   60 SECONDS AI V2 — LIVE TERMINAL
   ========================================================= */

.terminal-shell {
  margin-bottom: 22px;
  overflow: hidden;

  border: 1px solid rgba(255,255,255,.075);
  border-radius: 20px;

  background: #070a0f;

  box-shadow:
    inset 0 0 45px rgba(32,199,255,.025),
    0 18px 55px rgba(0,0,0,.25);
}

.terminal-head {
  display: flex;
  justify-content: space-between;
  align-items: center;

  padding: 13px 14px 11px;

  border-bottom: 1px solid rgba(255,255,255,.055);
}

.terminal-head strong,
.terminal-head small {
  display: block;
}

.terminal-head strong {
  font-size: 13px;
}

.terminal-head small {
  margin-top: 3px;

  color: #697687;
  font-size: 9px;
}

.terminal-live {
  padding: 6px 8px;

  border-radius: 8px;

  color: #20c7ff;

  background: rgba(32,199,255,.08);

  font-size: 8px;
  font-weight: 900;
  letter-spacing: .8px;
}

.market-terminal {
  display: block;

  width: 100%;
  height: 390px;

  background: #070a0f;
}

.terminal-stage {
  min-height: 57px;

  padding: 11px 14px 13px;

  border-top: 1px solid rgba(255,255,255,.055);

  background:
    linear-gradient(
      90deg,
      rgba(32,199,255,.04),
      transparent
    );
}

.terminal-stage strong,
.terminal-stage span {
  display: block;
}

.terminal-stage strong {
  color: #20c7ff;

  font-size: 10px;
  font-weight: 900;
  letter-spacing: .8px;
}

.terminal-stage span {
  margin-top: 4px;

  color: #8a96a5;
  font-size: 10px;
}

@media (max-width: 430px) {
  .market-terminal {
    height: 350px;
  }
}

.analysis-duration {
  margin-top: 12px;
  padding-top: 11px;

  border-top: 1px solid rgba(255,255,255,.055);

  color: #7e8998;
  font-size: 10px;
}

.analysis-duration strong {
  color: #c6d0dc;
}

/* =========================================================
   PREMIUM TECH REPORT V4
   ========================================================= */

.technical-report {
  display: grid;
  gap: 9px;
}

.tech-header {
  font-size: 14px;
  font-weight: 900;
}

.tech-subtitle {
  margin-top: -3px;
  margin-bottom: 3px;

  color: #738092;
  font-size: 9px;
}

.tech-card {
  padding: 12px;

  border-radius: 13px;
  border: 1px solid rgba(255,255,255,.055);

  background: rgba(255,255,255,.023);
}

.tech-title {
  color: #dce5ef;
  font-size: 10px;
  font-weight: 850;
}

.tech-body {
  margin-top: 5px;

  color: #8d99a8;
  font-size: 10px;
  line-height: 1.48;
}

.tech-consensus {
  padding: 12px;

  border-radius: 13px;
  border: 1px solid rgba(255,255,255,.055);

  background: rgba(255,255,255,.02);
}

.consensus-title {
  margin-bottom: 9px;

  color: #aeb9c6;
  font-size: 9px;
  font-weight: 850;
}

.consensus-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.consensus-grid > div {
  padding: 9px 5px;

  border-radius: 10px;

  text-align: center;

  font-size: 9px;
  font-weight: 900;
}

.buy-box {
  color: #20df85;
  background: rgba(32,223,133,.07);
}

.sell-box {
  color: #ff4d5f;
  background: rgba(255,77,95,.07);
}

.wait-box {
  color: #ffcc4a;
  background: rgba(255,204,74,.06);
}

.final-ai-box {
  padding: 13px;

  border-radius: 13px;
  border: 1px solid rgba(32,199,255,.12);

  background: rgba(32,199,255,.035);
}

.final-ai-title {
  color: #8e9bab;
  font-size: 9px;
  font-weight: 850;
}

.final-ai-signal {
  margin-top: 5px;

  color: #eef5fb;
  font-size: 20px;
  font-weight: 950;
}

/* =========================================================
   FORECAST LIFECYCLE V1
   ========================================================= */

.trade-live-card,
.result-card,
.forecast-snapshot-card {
  margin-bottom: 14px;
  padding: 18px;

  border: 1px solid rgba(255,255,255,.07);
  border-radius: 20px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.035),
      rgba(255,255,255,.015)
    );
}

.trade-status-label {
  color: #8d99a8;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1px;
  text-align: center;
}

.trade-pair,
.result-pair {
  margin-top: 10px;

  color: #e9f0f7;
  font-size: 14px;
  font-weight: 900;
  text-align: center;
}

.trade-direction {
  margin-top: 8px;

  color: #ff4d5f;
  font-size: 28px;
  font-weight: 950;
  text-align: center;
}

.trade-countdown {
  margin-top: 16px;

  color: #ffffff;
  font-size: 48px;
  font-weight: 950;
  letter-spacing: -2px;
  text-align: center;
}

.trade-caption {
  margin-top: 3px;

  color: #778392;
  font-size: 10px;
  text-align: center;
}

.trade-price-grid,
.result-prices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;

  margin-top: 18px;
}

.trade-price-grid > div,
.result-prices > div {
  padding: 11px;

  border-radius: 12px;

  background: rgba(255,255,255,.035);
}

.trade-price-grid small,
.result-prices small {
  display: block;

  color: #6f7b89;
  font-size: 8px;
  font-weight: 850;
}

.trade-price-grid strong,
.result-prices strong {
  display: block;

  margin-top: 4px;

  color: #eaf2fa;
  font-size: 14px;
}

.snapshot-title {
  margin-bottom: 10px;

  color: #9da9b7;
  font-size: 9px;
  font-weight: 850;
}

.forecast-snapshot {
  display: block;

  width: 100%;
  height: auto;

  border-radius: 13px;

  background: #0b1018;
}

.result-state {
  font-size: 31px;
  font-weight: 950;
  text-align: center;
}

.result-card.win .result-state {
  color: #20df85;
}

.result-card.loss .result-state {
  color: #ff4d5f;
}

.result-direction {
  margin-top: 5px;

  color: #8b98a7;
  font-size: 10px;
  font-weight: 850;
  text-align: center;
}

.result-message {
  margin-top: 14px;

  color: #cbd5df;
  font-size: 11px;
  font-weight: 800;
  text-align: center;
}


/* PREMIUM TECH REPORT V5 */
.technical-report{display:grid;gap:10px}.tech-report-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:4px 2px 2px}.tech-header{color:#eef5fb;font-size:15px;font-weight:950}.tech-subtitle{margin:4px 0 0;color:#778495;font-size:9px}.tech-live-badge{padding:5px 8px;border:1px solid rgba(32,223,133,.22);border-radius:999px;background:rgba(32,223,133,.08);color:#20df85;font-size:8px;font-weight:950}.tech-market-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tech-market-summary>div{min-width:0;padding:10px 11px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:rgba(255,255,255,.025)}.tech-market-summary span{display:block;color:#6f7d8d;font-size:8px;font-weight:850}.tech-market-summary strong{display:block;overflow:hidden;margin-top:4px;color:#e7eef6;font-size:11px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}
.tech-card{position:relative;overflow:hidden;padding:13px;border:1px solid rgba(255,255,255,.065);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018))}.tech-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#ffcc4a}.tech-card-buy:before{background:#20df85}.tech-card-sell:before{background:#ff4d5f}.tech-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.tech-title-wrap{display:flex;align-items:flex-start;min-width:0;gap:8px}.tech-icon{font-size:14px}.tech-title{color:#e5edf5;font-size:11px;font-weight:950}.tech-value{margin-top:3px;color:#7f8c9c;font-size:9px}.tech-status{padding:4px 7px;border-radius:999px;font-size:8px;font-weight:950}.tech-status-buy{background:rgba(32,223,133,.09);color:#20df85}.tech-status-sell{background:rgba(255,77,95,.09);color:#ff5a6a}.tech-status-neutral{background:rgba(255,204,74,.07);color:#ffcc4a}.tech-analysis-block{margin-top:11px;padding-top:10px;border-top:1px solid rgba(255,255,255,.05)}.tech-mini-label{color:#657282;font-size:7px;font-weight:950;letter-spacing:.75px}.tech-body{margin-top:5px;color:#a5b0bd;font-size:10px;line-height:1.55}.tech-conclusion{display:grid;gap:4px;margin-top:9px;padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.025)}.tech-conclusion strong{color:#d8e1ea;font-size:10px}
.tech-consensus{padding:13px;border:1px solid rgba(255,255,255,.065);border-radius:14px;background:rgba(255,255,255,.022)}.consensus-title{color:#d7e0e9;font-size:10px;font-weight:950}.consensus-subtitle{margin-top:3px;color:#6f7c8c;font-size:8px}.consensus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.consensus-grid>div{display:grid;gap:3px;padding:9px 5px;border-radius:10px;text-align:center}.consensus-grid span{font-size:8px;font-weight:900}.consensus-grid strong{font-size:15px;font-weight:950}
.final-ai-box{padding:15px;border:1px solid rgba(32,199,255,.14);border-radius:16px;background:linear-gradient(180deg,rgba(32,199,255,.06),rgba(32,199,255,.018))}.final-ai-buy{border-color:rgba(32,223,133,.18);background:linear-gradient(180deg,rgba(32,223,133,.07),rgba(32,223,133,.018))}.final-ai-sell{border-color:rgba(255,77,95,.18);background:linear-gradient(180deg,rgba(255,77,95,.07),rgba(255,77,95,.018))}.final-ai-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.final-ai-title{color:#d9e4ee;font-size:10px;font-weight:950}.final-ai-caption{margin-top:3px;color:#6f7d8d;font-size:8px}.final-ai-confidence{text-align:right}.final-ai-confidence span{display:block;color:#677585;font-size:7px;font-weight:900}.final-ai-confidence strong{display:block;margin-top:2px;color:#f2f7fb;font-size:15px;font-weight:950}.final-ai-signal{margin-top:13px;color:#f3f8fc;font-size:27px;font-weight:1000}.final-ai-buy .final-ai-signal{color:#20df85}.final-ai-sell .final-ai-signal{color:#ff4d5f}.final-ai-bar{overflow:hidden;height:5px;margin-top:8px;border-radius:999px;background:rgba(255,255,255,.06)}.final-ai-bar>span{display:block;height:100%;background:#31b7ff}.final-ai-buy .final-ai-bar>span{background:#20df85}.final-ai-sell .final-ai-bar>span{background:#ff4d5f}.final-ai-reason{margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.055);color:#aab6c3;font-size:10px;line-height:1.55}.final-ai-action{display:grid;gap:4px;margin-top:11px;padding:10px 11px;border-radius:11px;background:rgba(255,255,255,.03)}.final-ai-action span{color:#657282;font-size:7px;font-weight:950}.final-ai-action strong{color:#e3ebf3;font-size:10px}


/* ==========================================================
   RESULT SCREEN — FIXED ACTION BUTTON V1
   ========================================================== */

#resultScreen {
  padding-bottom:
    calc(
      96px
      + env(safe-area-inset-bottom)
    );
}

#resultNewAnalysis {
  position: fixed;
  z-index: 40;

  left: 50%;

  bottom:
    calc(
      72px
      + env(safe-area-inset-bottom)
    );

  width:
    min(
      calc(100% - 32px),
      528px
    );

  margin: 0;

  transform:
    translateX(-50%);

  box-shadow:
    0 12px 34px rgba(32,199,255,.22);
}

#resultNewAnalysis:active {
  transform:
    translateX(-50%)
    scale(.975);
}

/* Детали анализа результата */

.result-details-button {
  width: 100%;

  margin-top: 14px;
  padding: 13px 14px;

  border:
    1px solid rgba(32,199,255,.18);

  border-radius: 14px;

  background:
    rgba(32,199,255,.055);

  color: #dceef7;

  font-size: 11px;
  font-weight: 900;
  letter-spacing: .45px;
}

.result-analysis-details {
  margin-top: 12px;
}

.result-analysis-details[hidden] {
  display: none;
}


/* ==========================================================
   PREMIUM TECHNICAL REPORT V5
   ========================================================== */


.tech-report-v5 {
  display: grid;
  gap: 12px;
}

.tech-v5-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;

  padding: 4px 2px 3px;
}

.tech-v5-eyebrow {
  color: #20c7ff;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: 1.1px;
}

.tech-v5-heading {
  margin-top: 5px;

  color: #f3f8fc;
  font-size: 18px;
  font-weight: 950;
}

.tech-v5-subtitle {
  margin-top: 4px;

  color: #748293;
  font-size: 9px;
}

.tech-v5-live {
  padding: 6px 9px;

  border: 1px solid rgba(32,223,133,.2);
  border-radius: 999px;

  background: rgba(32,223,133,.07);

  color: #20df85;
  font-size: 8px;
  font-weight: 950;
}


.tech-v5-market {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.tech-v5-market > div {
  padding: 11px;

  border: 1px solid rgba(255,255,255,.065);
  border-radius: 13px;

  background: rgba(255,255,255,.025);
}

.tech-v5-market span {
  display: block;

  color: #697789;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .7px;
}

.tech-v5-market strong {
  display: block;

  margin-top: 5px;

  overflow: hidden;

  color: #eaf1f7;
  font-size: 11px;
  font-weight: 900;

  text-overflow: ellipsis;
  white-space: nowrap;
}


.tech-v5-section-title {
  margin:
    3px
    2px
    -2px;

  color: #758394;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .9px;
}


.tech-v5-list {
  display: grid;
  gap: 9px;
}


.tech-v5-card {
  position: relative;

  overflow: hidden;

  padding: 12px 12px 11px;

  border: 1px solid rgba(255,255,255,.065);
  border-radius: 15px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.032),
      rgba(255,255,255,.016)
    );
}

.tech-v5-card::before {
  content: "";

  position: absolute;

  top: 0;
  bottom: 0;
  left: 0;

  width: 3px;
}

.tech-v5-buy::before {
  background: #20df85;
}

.tech-v5-sell::before {
  background: #ff4d5f;
}

.tech-v5-neutral::before {
  background: #ffcc4a;
}


.tech-v5-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.tech-v5-name {
  display: flex;
  align-items: flex-start;
  min-width: 0;
  gap: 9px;
}

.tech-v5-icon {
  font-size: 16px;
}

.tech-v5-title {
  color: #eef5fb;
  font-size: 12px;
  font-weight: 950;
}

.tech-v5-value {
  margin-top: 4px;

  color: #778596;
  font-size: 9px;
}


.tech-v5-badge {
  flex: 0 0 auto;

  padding: 5px 8px;

  border-radius: 999px;

  font-size: 8px;
  font-weight: 950;
}

.tech-v5-badge-buy {
  color: #20df85;
  background: rgba(32,223,133,.09);
}

.tech-v5-badge-sell {
  color: #ff6473;
  background: rgba(255,77,95,.09);
}

.tech-v5-badge-neutral {
  color: #ffcc4a;
  background: rgba(255,204,74,.08);
}


.tech-v5-verdict {
  display: grid;
  gap: 4px;

  margin-top: 11px;
  padding: 9px 10px;

  border-radius: 11px;

  background: rgba(255,255,255,.028);
}

.tech-v5-verdict span,
.tech-v5-explain span {
  color: #637182;
  font-size: 7px;
  font-weight: 950;
  letter-spacing: .8px;
}

.tech-v5-verdict strong {
  color: #dfe8f0;
  font-size: 10px;
  font-weight: 900;
}


.tech-v5-explain {
  margin-top: 10px;
  padding-top: 9px;

  border-top:
    1px solid rgba(255,255,255,.05);
}

.tech-v5-explain p {
  margin:
    5px
    0
    0;

  color: #8f9baa;
  font-size: 9px;
  line-height: 1.5;
}


.tech-v5-consensus {
  padding: 13px;

  border:
    1px solid rgba(255,255,255,.07);

  border-radius: 15px;

  background: rgba(255,255,255,.022);
}

.tech-v5-consensus-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.tech-v5-consensus-head span {
  display: block;

  color: #6f7d8d;
  font-size: 7px;
  font-weight: 950;
  letter-spacing: .8px;
}

.tech-v5-consensus-head strong {
  display: block;

  margin-top: 4px;

  color: #e5edf5;
  font-size: 10px;
}

.tech-v5-consensus-head b {
  color: #f2f7fb;
  font-size: 21px;
}


.tech-v5-consensus-grid {
  display: grid;
  grid-template-columns:
    repeat(3,1fr);

  gap: 7px;

  margin-top: 11px;
}

.tech-v5-count {
  display: grid;
  gap: 4px;

  padding: 9px 4px;

  border-radius: 11px;

  text-align: center;
}

.tech-v5-count span {
  font-size: 7px;
  font-weight: 900;
}

.tech-v5-count strong {
  font-size: 17px;
  font-weight: 950;
}

.tech-v5-count.buy {
  color: #20df85;
  background: rgba(32,223,133,.065);
}

.tech-v5-count.sell {
  color: #ff5c6c;
  background: rgba(255,77,95,.065);
}

.tech-v5-count.neutral {
  color: #ffcc4a;
  background: rgba(255,204,74,.055);
}


.tech-v5-ai {
  padding: 15px;

  border-radius: 17px;

  border:
    1px solid rgba(32,199,255,.16);

  background:
    linear-gradient(
      180deg,
      rgba(32,199,255,.06),
      rgba(32,199,255,.018)
    );
}

.tech-v5-ai-buy {
  border-color:
    rgba(32,223,133,.19);

  background:
    linear-gradient(
      180deg,
      rgba(32,223,133,.075),
      rgba(32,223,133,.018)
    );
}

.tech-v5-ai-sell {
  border-color:
    rgba(255,77,95,.19);

  background:
    linear-gradient(
      180deg,
      rgba(255,77,95,.075),
      rgba(255,77,95,.018)
    );
}


.tech-v5-ai-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.tech-v5-ai-top > div:first-child > span {
  display: block;

  color: #dce6ee;
  font-size: 9px;
  font-weight: 950;
}

.tech-v5-ai-top small {
  display: block;

  margin-top: 4px;

  color: #697787;
  font-size: 8px;
}


.tech-v5-ai-confidence {
  text-align: right;
}

.tech-v5-ai-confidence span {
  display: block;

  color: #687687;
  font-size: 7px;
  font-weight: 900;
}

.tech-v5-ai-confidence strong {
  display: block;

  margin-top: 2px;

  color: #f3f8fc;
  font-size: 17px;
  font-weight: 950;
}


.tech-v5-ai-direction {
  margin-top: 13px;

  color: #f3f8fc;
  font-size: 31px;
  font-weight: 1000;
}

.tech-v5-ai-buy
.tech-v5-ai-direction {
  color: #20df85;
}

.tech-v5-ai-sell
.tech-v5-ai-direction {
  color: #ff4d5f;
}

.tech-v5-ai-label {
  margin-top: 2px;

  color: #778596;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .7px;
}


.tech-v5-ai-track {
  overflow: hidden;

  height: 6px;

  margin-top: 11px;

  border-radius: 999px;

  background:
    rgba(255,255,255,.06);
}

.tech-v5-ai-track i {
  display: block;

  height: 100%;

  border-radius: inherit;

  background: #31b7ff;
}

.tech-v5-ai-buy
.tech-v5-ai-track i {
  background: #20df85;
}

.tech-v5-ai-sell
.tech-v5-ai-track i {
  background: #ff4d5f;
}


.tech-v5-ai-reason {
  margin-top: 12px;
  padding-top: 11px;

  border-top:
    1px solid rgba(255,255,255,.055);

  color: #a3afbc;
  font-size: 9px;
  line-height: 1.55;
}

/* ==========================================================
   REAL HISTORY V1
   ========================================================== */

.history-empty {
  padding: 22px 14px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 16px;
  background: rgba(255,255,255,.02);
  color: #748293;
  text-align: center;
  font-size: 11px;
}

.history-live-item {
  display: block;
}

.history-main {
  width: 100%;
}

.history-pair-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.history-meta {
  margin-top: 5px;
  color: #7f8c9b;
  font-size: 9px;
}

.history-prices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin-top: 9px;
}

.history-prices span {
  display: grid;
  gap: 3px;
  padding: 7px 8px;
  border-radius: 10px;
  background: rgba(255,255,255,.025);
  color: #667586;
  font-size: 7px;
  font-weight: 850;
}

.history-prices b {
  color: #dce5ed;
  font-size: 9px;
}

.history-result.draw {
  color: #ffcc4a;
  background: rgba(255,204,74,.08);
}

.history-details-button {
  width: 100%;
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(32,199,255,.16);
  border-radius: 11px;
  background: rgba(32,199,255,.05);
  color: #d9edf7;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .5px;
}

.history-analysis-details {
  margin-top: 10px;
}

.history-analysis-details[hidden] {
  display: none;
}

