:root {
  --ink: #171719;
  --muted: #6f7077;
  --soft: #f4f4f5;
  --line: #e5e5e7;
  --panel: #ffffff;
  --page-bg: #ffffff;
  --landing-bg: #ffffff;
  --panel-elevated: #ffffff;
  --surface-muted: #f7f7f8;
  --app-bg: #f7f7f5;
  --app-panel: rgba(224,226,230,.82);
  --app-panel-line: rgba(178,181,188,.76);
  --button-primary-bg: #171719;
  --button-primary-text: #ffffff;
  --button-muted-bg: #eeeeef;
  --button-muted-hover-bg: #e8e8eb;
  --button-muted-text: #171719;
  --focus-ring: rgba(18,183,106,.16);
  --overlay-bg: rgba(245,245,243,.72);
  --accent-green: #12b76a;
  --accent-green-dark: #078c4f;
  --accent-green-soft: #ecfdf3;
  --accent-green-line: rgba(18, 183, 106, 0.24);
  --shadow: 0 12px 36px rgba(18, 18, 20, 0.08);
  color-scheme: light;
}

html[data-theme="dark"] {
  --ink: #f5f7f8;
  --muted: #a6adb7;
  --soft: #24272c;
  --line: rgba(228,232,238,.14);
  --panel: #181a1d;
  --page-bg: #111214;
  --landing-bg: #111214;
  --panel-elevated: #202328;
  --surface-muted: #15171a;
  --app-bg: #111214;
  --app-panel: rgba(29,32,36,.86);
  --app-panel-line: rgba(228,232,238,.16);
  --button-primary-bg: #f5f7f8;
  --button-primary-text: #111214;
  --button-muted-bg: #24272c;
  --button-muted-hover-bg: #30343a;
  --button-muted-text: #f5f7f8;
  --focus-ring: rgba(18,183,106,.28);
  --overlay-bg: rgba(7,8,10,.72);
  --accent-green-dark: #32d583;
  --accent-green-soft: rgba(18,183,106,.14);
  --accent-green-line: rgba(18,183,106,.34);
  --shadow: 0 18px 48px rgba(0,0,0,.34);
  color-scheme: dark;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--page-bg);
  color: var(--ink);
  font-family: 'Inter', Arial, sans-serif;
  letter-spacing: 0;
}
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }

.landing-shell {
  background:
    radial-gradient(circle at 15% 8%, rgba(18, 183, 106, .08), transparent 26%),
    radial-gradient(circle at 82% 18%, rgba(18, 183, 106, .05), transparent 24%),
    linear-gradient(#fff, #fff);
  overflow: hidden;
  position: relative;
}
.landing-shell::before {
  background-image:
    linear-gradient(rgba(23,23,25,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23,23,25,.035) 1px, transparent 1px);
  background-size: 72px 72px;
  content: "";
  inset: 0;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), transparent 58%);
  pointer-events: none;
  position: absolute;
}
.landing-shell > section {
  position: relative;
  z-index: 1;
}
.public-page-shell {
  min-height: calc(100dvh - 129px);
}
.public-page-layout {
  margin: 0 auto;
  padding: 88px 24px 110px;
  width: min(1120px, 100%);
}

.site-header {
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--line);
  align-items: center;
  box-shadow: 0 10px 30px rgba(18,18,20,.04);
  display: flex;
  gap: 26px;
  height: 64px;
  justify-content: space-between;
  padding: 0 56px;
  position: sticky;
  top: 0;
  z-index: 40;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 21px;
}
.brand-mark {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  height: 28px;
  justify-content: center;
  width: 22px;
}
.brand-mark img {
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}
.brand-mark + span { transform: translateY(1px); }
.site-nav {
  display: flex;
  gap: 30px;
  color: #202124;
  font-weight: 500;
  font-size: 13px;
}
.site-nav a[aria-current="page"] {
  color: var(--accent-green-dark);
}
.header-actions, .hero-actions { display: flex; gap: 12px; align-items: center; }
.btn {
  --button-y: 0px;
  border: 0;
  border-radius: 8px;
  padding: 11px 20px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(var(--button-y));
  transition: background-color .18s ease, box-shadow .18s ease, color .18s ease, opacity .18s ease, transform .18s ease;
}
.btn:hover,
.btn:focus-visible {
  --button-y: -2px;
}
.btn:active {
  --button-y: 0px;
  transition-duration: .08s;
}
.btn-dark { background: var(--button-primary-bg); color: var(--button-primary-text); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.btn-muted { background: var(--button-muted-bg); color: var(--button-muted-text); }
.btn-large { min-width: 154px; height: 52px; font-size: 17px; }
.btn-dark:hover,
.btn-dark:focus-visible {
  box-shadow: 0 14px 34px rgba(18,18,20,.16), inset 0 0 0 1px rgba(255,255,255,.12);
}
.btn-muted:hover,
.btn-muted:focus-visible {
  background: var(--button-muted-hover-bg);
}

.theme-toggle {
  align-items: center;
  background: var(--button-muted-bg);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  cursor: pointer;
  display: inline-grid;
  flex: 0 0 auto;
  height: 38px;
  justify-content: center;
  padding: 0;
  position: relative;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
  width: 38px;
}
.theme-toggle:hover,
.theme-toggle:focus-visible {
  background: var(--button-muted-hover-bg);
  box-shadow: 0 10px 24px rgba(18,18,20,.08);
  outline: 0;
  transform: translateY(-1px);
}
.theme-toggle svg {
  grid-area: 1 / 1;
  fill: none;
  height: 18px;
  opacity: 0;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  transform: scale(.72) rotate(-20deg);
  transition: opacity .18s ease, transform .18s ease;
  width: 18px;
}
html[data-theme="light"] .theme-toggle [data-theme-toggle-icon="sun"],
html[data-theme="dark"] .theme-toggle [data-theme-toggle-icon="moon"] {
  opacity: 1;
  transform: scale(1) rotate(0deg);
}

.hero {
  padding: 78px 32px 68px;
  text-align: center;
  overflow: hidden;
}
.hero-kicker,
.section-kicker {
  align-items: center;
  color: var(--accent-green-dark);
  display: inline-flex;
  font-size: 11px;
  font-weight: 700;
  gap: 8px;
  letter-spacing: 0;
  line-height: 1;
  margin-bottom: 16px;
  text-transform: uppercase;
}
.hero-kicker::before,
.section-kicker::before {
  background: var(--accent-green);
  border-radius: 999px;
  box-shadow: 0 0 0 6px rgba(18,183,106,.1);
  content: "";
  height: 7px;
  width: 7px;
}
.hero h1 {
  margin: 0 auto;
  max-width: 900px;
  font-size: clamp(44px, 5.2vw, 78px);
  line-height: .98;
  letter-spacing: 0;
  font-weight: 600;
}
.hero p {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.45;
  margin: 24px auto 30px;
  max-width: 680px;
}
.hero-actions { justify-content: center; margin-bottom: 24px; }
.hero-proof-line {
  align-items: center;
  color: #3d3e43;
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  font-weight: 650;
  gap: 8px;
  justify-content: center;
  margin: 0 auto 52px;
}
.hero-proof-line span {
  align-items: center;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(23,23,25,.1);
  border-radius: 999px;
  box-shadow: none;
  display: inline-flex;
  gap: 7px;
  padding: 6px 10px;
}
.hero-proof-line span::before {
  background: var(--accent-green);
  border-radius: 999px;
  content: "";
  height: 5px;
  width: 5px;
}
.hero-product {
  width: min(1180px, 92vw);
  margin: 0 auto;
  border-radius: 16px 16px 0 0;
  overflow: hidden;
  box-shadow: 0 22px 60px rgba(18,18,20,.07);
  border: 1px solid var(--line);
  text-align: left;
  animation: landing-panel-in .7s cubic-bezier(.22, 1, .36, 1) both;
  position: relative;
}
.frame-corner {
  background: var(--accent-green);
  border-radius: 999px;
  box-shadow: 0 0 0 7px rgba(18,183,106,.12);
  height: 7px;
  position: absolute;
  width: 7px;
  z-index: 3;
}
.corner-a { left: -4px; top: -4px; }
.corner-b { right: -4px; top: -4px; }
.corner-c { bottom: -4px; left: -4px; }
.corner-d { bottom: -4px; right: -4px; }
.browser-bar {
  height: 46px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 20px;
  background: #fafafa;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
}
.browser-bar span { width: 11px; height: 11px; border-radius: 50%; background: #dcdcdf; }
.browser-bar span { width: 8px; height: 8px; }
.browser-bar strong { margin-left: 10px; color: var(--ink); font-size: 13px; font-weight: 600; }
.product-canvas {
  min-height: 410px;
  background:
    linear-gradient(135deg, rgba(18,183,106,.055), transparent 42%),
    linear-gradient(to bottom, rgba(255,255,255,.72), rgba(255,255,255,.96)),
    radial-gradient(#d9d9dd 1px, transparent 1px);
  background-size: auto, auto, 22px 22px;
  display: grid;
  grid-template-columns: 250px minmax(250px, 1fr) 300px;
  gap: 34px;
  padding: 52px;
  overflow: hidden;
  position: relative;
}
.product-canvas aside, .result-panel {
  background: transparent;
  border-left: 1px solid rgba(23,23,25,.12);
  padding: 8px 0 8px 24px;
  align-self: start;
  position: relative;
  z-index: 1;
}
.product-canvas aside b { font-size: 13px; }
.product-canvas aside p { margin: 10px 0; color: var(--muted); font-size: 18px; }
.product-canvas aside button {
  width: 100%;
  max-width: 190px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--soft);
  padding: 9px;
  font-size: 13px;
}
.chart-preview {
  align-self: center;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(23,23,25,.08);
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(18,18,20,.045);
  overflow: hidden;
  padding: 0;
  position: relative;
  z-index: 1;
}
.chart-toolbar {
  align-items: center;
  background: rgba(250,250,251,.92);
  border-bottom: 1px solid rgba(23,23,25,.08);
  color: #52545b;
  display: flex;
  font-size: 11px;
  font-weight: 800;
  gap: 8px;
  padding: 10px 12px;
  text-transform: uppercase;
}
.chart-toolbar span {
  border: 1px solid rgba(23,23,25,.09);
  border-radius: 999px;
  padding: 4px 8px;
}
.chart-preview svg {
  display: block;
  height: auto;
  width: 100%;
}
.chart-signal-line {
  animation: chart-line-draw 1.3s .35s cubic-bezier(.22, 1, .36, 1) both;
  stroke-dasharray: 820;
  stroke-dashoffset: 820;
}
.chart-grid path {
  fill: none;
  stroke: rgba(23,23,25,.08);
  stroke-width: 1;
}
.chart-level {
  fill: none;
  stroke-width: 1.4;
  stroke-dasharray: 7 7;
}
.chart-level.entry {
  stroke: rgba(18,183,106,.55);
}
.chart-level.stop {
  stroke: rgba(220,38,38,.32);
}
.chart-candle path {
  stroke-width: 2;
  stroke-linecap: round;
}
.chart-candle rect {
  stroke-width: 1.4;
}
.chart-candle.bullish path,
.chart-candle.bullish rect {
  fill: rgba(18,183,106,.72);
  stroke: #0c9b58;
}
.chart-candle.bearish path,
.chart-candle.bearish rect {
  fill: rgba(239,68,68,.62);
  stroke: #c2413d;
}
.chart-candle.highlight rect {
  filter: drop-shadow(0 5px 10px rgba(18,183,106,.22));
}
.chart-volume rect {
  fill: rgba(18,183,106,.18);
}
.price-axis-label {
  fill: #787a82;
  font-size: 13px;
  font-weight: 700;
}
.chart-callouts circle {
  fill: var(--accent-green);
  stroke: #fff;
  stroke-width: 4;
}
.chart-callouts text {
  fill: var(--accent-green-dark);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}
.result-panel h3 { margin: 16px 0 12px; font-size: 22px; line-height: 1.08; }
.result-panel p { color: var(--muted); font-size: 17px; line-height: 1.5; }
.badge {
  display: inline-flex;
  align-items: center;
  border: 1px solid #cfcfd3;
  background: #f7f7f8;
  border-radius: 999px;
  padding: 6px 12px;
  font-weight: 600;
  color: #3a3a3d;
  font-size: 14px;
}
.badge.blue { background: #e9f1ff; border-color: #9fc3ff; color: #2d5a95; }
.badge.purple { background: #f4e9ff; border-color: #d7adff; color: #6c309a; }
.badge.green {
  background: var(--accent-green-soft);
  border-color: rgba(18,183,106,.38);
  color: var(--accent-green-dark);
}
.signal-marker {
  animation: signal-drift 7s ease-in-out infinite;
  background: var(--accent-green);
  border-radius: 999px;
  box-shadow: 0 0 0 9px rgba(18,183,106,.09), 0 18px 34px rgba(18,183,106,.2);
  height: 10px;
  position: absolute;
  width: 10px;
}
.marker-one {
  left: 37%;
  top: 31%;
}
.marker-two {
  animation-delay: -2s;
  right: 25%;
  top: 21%;
}
.marker-three {
  animation-delay: -4s;
  bottom: 23%;
  left: 54%;
}
.section-heading {
  margin: 0 auto 34px;
  max-width: 700px;
  text-align: center;
}
.section-heading h2,
.landing-proof-strip h2,
.final-cta h2 {
  font-size: clamp(30px, 3vw, 48px);
  line-height: 1.04;
  margin: 0;
}
.section-heading p,
.landing-proof-strip p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.55;
  margin: 16px auto 0;
}
.section-heading.split {
  align-items: end;
  display: grid;
  gap: 48px;
  grid-template-columns: minmax(0, .95fr) minmax(280px, 430px);
  max-width: 1180px;
  text-align: left;
}
.section-heading.split p {
  margin: 0;
}
.workflow-section,
.analysis-section,
.product-proof,
.reviews-section,
.pricing-section,
.faq-section,
.final-cta {
  margin: 0 auto;
  padding: 74px 32px;
  width: min(1260px, 100%);
}
.product-proof {
  padding-top: 46px;
}
.proof-stage {
  align-items: center;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 68px minmax(340px, .76fr);
  margin: 38px auto 0;
  max-width: 1180px;
  padding: 0;
  position: relative;
}
.proof-stage::before {
  background:
    radial-gradient(circle, rgba(18,183,106,.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18,183,106,.12), transparent 58%);
  background-size: 18px 18px, auto;
  content: "";
  inset: -34px -26px;
  pointer-events: none;
  position: absolute;
  z-index: -1;
}
.proof-chart-panel,
.proof-output-panel {
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(23,23,25,.1);
  box-shadow: 0 22px 70px rgba(18,183,106,.08), 0 10px 34px rgba(23,23,25,.05);
}
.proof-chart-panel {
  border-radius: 20px;
  display: grid;
  gap: 16px;
  padding: 18px;
}
.proof-panel-topline,
.proof-chart-summary,
.proof-output-meta {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}
.proof-panel-topline span,
.proof-chart-summary span,
.proof-output-meta span,
.proof-plan-lanes span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.proof-panel-topline strong,
.proof-chart-summary strong,
.proof-output-meta strong {
  color: var(--ink);
  font-size: 13px;
}
.proof-chart {
  border: 1px solid rgba(23,23,25,.08);
  border-radius: 18px;
  display: block;
  width: 100%;
}
.proof-grid-line {
  stroke: rgba(23,23,25,.075);
  stroke-width: 1;
}
.proof-level {
  stroke-dasharray: 6 8;
  stroke-width: 1.5;
}
.proof-level-entry {
  stroke: rgba(18,183,106,.62);
}
.proof-level-stop {
  stroke: rgba(239,68,68,.48);
}
.proof-candles line {
  stroke: rgba(23,23,25,.55);
  stroke-width: 2;
}
.proof-candles rect {
  stroke-width: 1.5;
}
.proof-candles .up {
  fill: rgba(18,183,106,.12);
  stroke: var(--accent-green);
}
.proof-candles .down {
  fill: rgba(23,23,25,.06);
  stroke: rgba(23,23,25,.76);
}
.proof-chart-labels text {
  fill: rgba(23,23,25,.58);
  font-size: 12px;
  font-weight: 700;
}
.proof-chart-labels rect {
  fill: rgba(255,255,255,.9);
  stroke: rgba(23,23,25,.08);
}
.proof-chart-summary {
  border-top: 1px solid rgba(23,23,25,.08);
  padding-top: 14px;
}
.proof-routing-spine {
  align-items: center;
  display: grid;
  gap: 18px;
  justify-items: center;
  position: relative;
}
.proof-routing-spine::before {
  background: linear-gradient(180deg, transparent, rgba(18,183,106,.42), transparent);
  content: "";
  height: 184px;
  position: absolute;
  width: 1px;
}
.proof-routing-spine span {
  background: #fff;
  border: 1px solid rgba(18,183,106,.32);
  border-radius: 999px;
  box-shadow: 0 0 0 7px rgba(18,183,106,.07);
  height: 10px;
  position: relative;
  width: 10px;
}
.proof-output-panel {
  border-radius: 20px;
  display: grid;
  gap: 20px;
  padding: 26px;
}
.proof-output-meta {
  border-bottom: 1px solid rgba(23,23,25,.08);
  padding-bottom: 14px;
}
.proof-output-meta strong {
  background: rgba(18,183,106,.1);
  border: 1px solid rgba(18,183,106,.22);
  border-radius: 999px;
  color: #087443;
  padding: 7px 12px;
}
.proof-output-panel h3 {
  font-size: 30px;
  line-height: 1.08;
  margin: 0;
}
.proof-plan-lanes {
  border-block: 1px solid rgba(23,23,25,.09);
  display: grid;
}
.proof-plan-lanes div {
  display: grid;
  column-gap: 18px;
  row-gap: 5px;
  grid-template-columns: 104px minmax(0, 1fr);
  padding: 14px 0;
}
.proof-plan-lanes div + div {
  border-top: 1px solid rgba(23,23,25,.08);
}
.proof-plan-lanes p {
  color: var(--muted);
  font-size: 14px;
  grid-column: 2;
  line-height: 1.45;
  margin: 0;
}
.proof-plan-lanes strong {
  color: var(--ink);
  font-size: 17px;
}
.workflow-rail {
  border-block: 1px solid rgba(23,23,25,.12);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0 auto;
  max-width: 1180px;
  position: relative;
}
.workflow-rail::before {
  background: linear-gradient(90deg, transparent, rgba(18,183,106,.45), transparent);
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  top: -1px;
  width: 100%;
}
.workflow-rail > div {
  border-left: 1px solid rgba(23,23,25,.1);
  min-height: 230px;
  padding: 24px 24px 28px;
  transition: background-color .18s ease;
}
.workflow-rail > div:last-child {
  border-right: 1px solid rgba(23,23,25,.1);
}
.workflow-rail > div:hover {
  background: rgba(236,253,243,.34);
}
.workflow-rail span {
  color: var(--accent-green-dark);
  display: block;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 58px;
}
.workflow-rail h3 {
  font-size: 19px;
  line-height: 1.08;
  margin: 0 0 10px;
}
.workflow-rail p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
}
.analysis-section {
  border-top: 1px solid rgba(229,229,231,.8);
}
.plan-anatomy {
  align-items: stretch;
  display: grid;
  gap: 34px;
  grid-template-columns: minmax(0, 1fr) 340px;
  margin: 0 auto;
  max-width: 1180px;
}
.plan-sheet {
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,255,252,.94)),
    radial-gradient(circle at 16% 10%, rgba(18,183,106,.12), transparent 36%);
  border: 1px solid rgba(23,23,25,.1);
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(18,183,106,.09), 0 10px 28px rgba(23,23,25,.05);
  overflow: hidden;
}
.plan-sheet-top,
.plan-sheet-hero,
.plan-metrics,
.plan-detail-list {
  padding-left: 28px;
  padding-right: 28px;
}
.plan-sheet-top {
  align-items: center;
  border-bottom: 1px solid rgba(23,23,25,.08);
  color: var(--muted);
  display: flex;
  font-size: 12px;
  font-weight: 800;
  justify-content: space-between;
  letter-spacing: .02em;
  padding-bottom: 16px;
  padding-top: 16px;
  text-transform: uppercase;
}
.plan-sheet-top strong {
  color: var(--ink);
  font-size: 13px;
}
.plan-sheet-hero {
  padding-bottom: 26px;
  padding-top: 28px;
}
.plan-sheet-hero h3 {
  font-size: 34px;
  line-height: 1.05;
  margin: 18px 0 12px;
  max-width: 680px;
}
.plan-sheet-hero p,
.plan-detail-list p,
.plan-callout-rail p,
.mode-strip p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
  margin: 0;
}
.plan-metrics {
  border-block: 1px solid rgba(23,23,25,.09);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-bottom: 0;
  padding-top: 0;
}
.plan-metrics div {
  display: grid;
  gap: 8px;
  min-height: 108px;
  padding: 22px 18px 22px 0;
}
.plan-metrics div + div {
  border-left: 1px solid rgba(23,23,25,.08);
  padding-left: 22px;
}
.plan-metrics span,
.plan-detail-list span,
.plan-callout-rail span,
.mode-strip span {
  color: var(--accent-green-dark);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.plan-metrics strong {
  color: var(--ink);
  font-size: 22px;
  line-height: 1.05;
}
.plan-detail-list {
  display: grid;
  padding-bottom: 26px;
  padding-top: 8px;
}
.plan-detail-list div {
  display: grid;
  gap: 18px;
  grid-template-columns: 150px minmax(0, 1fr);
  padding: 18px 0;
}
.plan-detail-list div + div {
  border-top: 1px solid rgba(23,23,25,.08);
}
.plan-callout-rail {
  align-content: center;
  display: grid;
  gap: 0;
  position: relative;
}
.plan-callout-rail::before {
  background: linear-gradient(180deg, rgba(18,183,106,.08), rgba(18,183,106,.5), rgba(18,183,106,.08));
  content: "";
  inset: 22px auto 22px 17px;
  position: absolute;
  width: 1px;
}
.plan-callout-rail div {
  display: grid;
  gap: 8px;
  grid-template-columns: 46px minmax(0, 1fr);
  padding: 24px 0;
  position: relative;
}
.plan-callout-rail div + div {
  border-top: 1px solid rgba(23,23,25,.08);
}
.plan-callout-rail span {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(18,183,106,.22);
  border-radius: 999px;
  box-shadow: 0 0 0 8px rgba(18,183,106,.07);
  display: inline-flex;
  height: 34px;
  justify-content: center;
  position: relative;
  width: 34px;
  z-index: 1;
}
.plan-callout-rail strong {
  color: var(--ink);
  font-size: 20px;
  line-height: 1.1;
}
.plan-callout-rail p {
  grid-column: 2;
}
.mode-strip {
  border-block: 1px solid rgba(23,23,25,.1);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 42px auto 0;
  max-width: 1180px;
}
.mode-strip div {
  display: grid;
  gap: 8px;
  padding: 22px 28px 24px 0;
}
.mode-strip div + div {
  border-left: 1px solid rgba(23,23,25,.08);
  padding-left: 28px;
}
.mode-strip strong {
  color: var(--ink);
  font-size: 22px;
  line-height: 1.08;
}
.section-grid {
  width: min(1180px, 92vw);
  margin: 0 auto 96px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.section-grid article, .pricing-grid article {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 30px;
  box-shadow: 0 4px 18px rgba(18,18,20,.04);
}
.section-grid h2 { font-size: 28px; margin: 18px 0 10px; }
.section-grid p, .simple-page p { color: var(--muted); line-height: 1.55; }
.pricing-section {
  padding-top: 58px;
}
.pricing-plan-options {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(2, 1fr);
  margin: -6px auto 0;
  max-width: 980px;
}
.pricing-card {
  background:
    linear-gradient(135deg, rgba(236,253,243,.82), rgba(255,255,255,.98) 42%),
    #fff;
  border: 1px solid rgba(18,183,106,.28);
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(18,183,106,.12), 0 12px 34px rgba(18,18,20,.055);
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr;
  margin: 0 auto;
  max-width: none;
  overflow: hidden;
  padding: 0;
  text-align: left;
}
.pricing-card.highlighted {
  border-color: rgba(18,183,106,.5);
  box-shadow: 0 28px 72px rgba(18,183,106,.16), 0 12px 34px rgba(18,18,20,.06);
}
.pricing-card-price {
  background:
    radial-gradient(circle at 85% 18%, rgba(18,183,106,.16), transparent 34%),
    linear-gradient(135deg, rgba(236,253,243,.92), rgba(255,255,255,.96));
  border-bottom: 1px solid rgba(18,183,106,.18);
  display: grid;
  gap: 10px;
  padding: 30px 34px 26px;
}
.pricing-card-price .badge {
  justify-self: start;
}
.pricing-card-copy h3 {
  font-size: 28px;
  line-height: 1.05;
  margin: 0 0 12px;
}
.pricing-card-copy p,
.pricing-card-copy li,
.billing-note {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}
.pricing-card-copy p {
  margin: 0;
}
.pricing-card-copy {
  padding: 0 34px;
}
.pricing-card-copy ul {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 22px 0 0;
  padding: 0;
}
.pricing-card-copy li {
  display: grid;
  gap: 10px;
  grid-template-columns: 12px 1fr;
}
.pricing-card-copy li::before {
  background: var(--accent-green);
  border-radius: 999px;
  content: "";
  height: 6px;
  margin-top: 8px;
  width: 6px;
}
.pricing-card-action {
  align-content: start;
  display: grid;
  justify-items: stretch;
  padding: 0 34px 34px;
}
.price-line {
  align-items: baseline;
  display: flex;
  gap: 8px;
  margin: 0 !important;
}
.price-line strong {
  color: var(--ink);
  font-size: 64px;
  letter-spacing: 0;
  line-height: 1;
}
.price-line span {
  color: var(--muted);
  font-size: 18px;
}
.billing-note {
  margin: 0;
}
.pricing-card .btn {
  width: 100%;
}
.reviews-section {
  padding-top: 62px;
}
.review-signal-strip {
  align-items: center;
  border-block: 1px solid rgba(23,23,25,.1);
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  font-weight: 700;
  gap: 14px;
  justify-content: center;
  margin: 0 auto 34px;
  max-width: 980px;
  padding: 13px 0;
}
.review-signal-strip span {
  align-items: center;
  display: inline-flex;
  gap: 8px;
}
.review-signal-strip span::before {
  background: var(--accent-green);
  border-radius: 999px;
  content: "";
  height: 5px;
  width: 5px;
}
.review-feed {
  border-block: 1px solid rgba(23,23,25,.07);
  margin: 0 auto 30px;
  max-width: 1120px;
  overflow: hidden;
  padding: 11px 0;
  position: relative;
}
.review-feed::before,
.review-feed::after {
  display: none;
}
.review-track {
  animation: review-marquee 56s linear infinite;
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  width: max-content;
}
.review-track span {
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(18,183,106,.18);
  border-radius: 999px;
  color: #4f525a;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 13px;
  white-space: nowrap;
}
.review-carousel {
  margin: 0 calc(50% - 50vw);
  overflow: hidden;
  padding: 6px 0 20px;
  position: relative;
}
.review-carousel::before,
.review-carousel::after {
  display: none;
}
.review-lane {
  overflow: hidden;
  padding: 10px 0;
}
.review-lane + .review-lane {
  margin-top: 16px;
}
.review-card-track {
  animation: review-carousel-scroll 96s linear infinite;
  display: flex;
  gap: 18px;
  width: max-content;
}
.review-carousel:hover .review-card-track {
  animation-play-state: paused;
}
.review-note {
  background: #fff;
  border: 1px solid rgba(23,23,25,.1);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(18,18,20,.035);
  display: grid;
  flex: 0 0 clamp(280px, 24vw, 340px);
  gap: 18px;
  min-height: 220px;
  overflow: hidden;
  padding: 22px;
  position: relative;
}
.review-note::after {
  content: none;
}
.review-note:nth-child(3n + 1) {
  background: #f8fffb;
}
.review-note:hover {
  border-color: rgba(18,183,106,.3);
  box-shadow: 0 12px 28px rgba(18,18,20,.045);
}
.review-person {
  align-items: center;
  display: flex;
  gap: 12px;
}
.review-avatar {
  align-items: center;
  background: #171719;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  height: 40px;
  justify-content: center;
  width: 40px;
}
.review-person strong {
  color: var(--ink);
  display: block;
  font-size: 16px;
  line-height: 1.1;
}
.review-person span:not(.review-avatar) {
  color: var(--muted);
  display: block;
  font-size: 13px;
  font-weight: 700;
  margin-top: 3px;
}
.review-note p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.42;
  margin: 0;
}
.review-outcome {
  align-self: end;
  border-top: 1px solid rgba(23,23,25,.08);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 16px;
}
.review-outcome span {
  background: rgba(18,183,106,.08);
  border: 1px solid rgba(18,183,106,.16);
  border-radius: 999px;
  color: #087443;
  font-size: 12px;
  font-weight: 800;
  padding: 7px 10px;
}
.review-note[aria-hidden="true"] {
  pointer-events: none;
}
@keyframes review-carousel-scroll {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(calc(-50% - 9px), 0, 0);
  }
}
@keyframes review-marquee {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}
.landing-proof-strip {
  align-items: start;
  background:
    linear-gradient(90deg, rgba(236,253,243,.72), rgba(255,255,255,.92)),
    linear-gradient(rgba(23,23,25,.05) 1px, transparent 1px);
  background-size: auto, 28px 28px;
  border-block: 1px solid rgba(23,23,25,.12);
  display: grid;
  gap: 40px;
  grid-template-columns: minmax(0, .82fr) minmax(320px, 1fr);
  margin: 54px calc(50% - 50vw) 38px;
  padding: 44px max(32px, calc((100vw - 1180px) / 2));
  width: 100vw;
}
.landing-proof-strip .section-kicker {
  margin-bottom: 16px;
}
.landing-proof-strip p {
  font-size: 18px;
  margin: 0;
}
.faq-section {
  padding-top: 72px;
}
.faq-list {
  display: grid;
  gap: 0;
  margin: 0 auto;
  max-width: 900px;
}
.faq-list details {
  border: 0;
  border-bottom: 1px solid rgba(23,23,25,.1);
  padding: 0;
}
.faq-list details:first-child {
  border-top: 1px solid rgba(23,23,25,.1);
}
.faq-list summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  font-size: 20px;
  font-weight: 800;
  gap: 20px;
  grid-template-columns: minmax(0, 1fr) 34px;
  list-style: none;
  padding: 24px 0;
}
.faq-list summary::-webkit-details-marker {
  display: none;
}
.faq-list summary::after {
  align-items: center;
  background: rgba(18,183,106,.08);
  border: 1px solid rgba(18,183,106,.16);
  border-radius: 999px;
  color: var(--accent-green-dark);
  content: "+";
  display: inline-flex;
  font-size: 22px;
  height: 34px;
  justify-content: center;
  line-height: 1;
  transition: transform .18s ease, background-color .18s ease;
  width: 34px;
}
.faq-list details[open] summary::after {
  background: rgba(18,183,106,.14);
  content: "-";
  transform: rotate(180deg);
}
.faq-list p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.55;
  margin: -8px 70px 24px 0;
}
.final-cta {
  margin-bottom: 52px;
  padding-bottom: 90px;
  text-align: center;
}
.final-cta h2 {
  margin: 0 auto 34px;
  max-width: 820px;
}
.final-cta p {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.5;
  margin: -18px auto 34px;
  max-width: 660px;
}
.final-cta .hero-actions {
  margin-bottom: 0;
}

.landing-footer {
  align-items: center;
  background: #fff;
  border-top: 1px solid rgba(23,23,25,.1);
  color: var(--muted);
  display: flex;
  gap: 24px;
  justify-content: space-between;
  min-height: 64px;
  padding: 14px max(32px, calc((100vw - 1180px) / 2));
}
.landing-footer-brand {
  align-items: center;
  color: var(--ink);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 15px;
  font-weight: 800;
  gap: 8px;
}
.landing-footer-brand .brand-mark {
  height: 24px;
  width: 19px;
}
.landing-footer-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  font-size: 13px;
  font-weight: 600;
  justify-content: flex-end;
}
.landing-footer-links a {
  color: var(--muted);
  transition: color .16s ease;
}
.landing-footer-links a:hover,
.landing-footer-links a:focus-visible {
  color: var(--ink);
}

@keyframes landing-panel-in {
  0% {
    opacity: 0;
    transform: translateY(24px) scale(.985);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes signal-drift {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(10px, -12px, 0);
  }
}

@keyframes chart-line-draw {
  to {
    stroke-dashoffset: 0;
  }
}

.workspace {
  min-height: 100dvh;
  display: grid;
  grid-template-columns: 60px 304px 1fr;
  background: #fbfbfc;
}
.chat-workspace {
  align-items: start;
  grid-template-columns: 280px minmax(0, 1fr);
}
.chat-sidebar {
  background:
    linear-gradient(180deg, rgba(250,250,251,.96), #fff 34%),
    #fff;
  border-right: 1px solid var(--line);
  box-shadow: inset -1px 0 0 rgba(255,255,255,.85);
  display: flex;
  flex-direction: column;
  height: 100dvh;
  max-height: 100dvh;
  min-height: 100dvh;
  overflow-y: auto;
  padding: 20px 14px 16px;
  position: sticky;
  top: 0;
  z-index: 20;
}
.chat-sidebar .brand {
  font-size: 20px;
  margin-bottom: 18px;
  padding: 0 4px;
}
.chat-sidebar .brand-mark {
  height: 31px;
  width: 23px;
}
.chat-new-action {
  align-items: center;
  display: flex;
  font-weight: 400;
  gap: 10px;
  justify-content: center;
  padding: 0 14px;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.chat-new-action svg {
  color: var(--accent-green-dark);
  display: block;
  fill: none;
  flex: 0 0 auto;
  height: 18px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.4;
  width: 18px;
}
.chat-new-action span {
  line-height: 1;
}
.chat-new-action:hover,
.chat-new-action:focus-visible {
  border-color: rgba(18,183,106,.38);
  box-shadow: 0 10px 24px rgba(18,18,20,.08);
  transform: translateY(-1px);
}
.chat-nav {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}
.chat-nav a {
  border-radius: 8px;
  font-weight: 600;
  padding: 10px 12px;
}
.chat-nav .active,
.chat-history-item.active {
  background: #ededf0;
}
.chat-history-list {
  border-top: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: 8px;
  margin-top: 22px;
  min-height: 0;
  padding-top: 18px;
}
.chat-history-list .panel-label {
  color: #8c8d94;
  font-size: 11px;
  letter-spacing: .02em;
  margin: 0 0 4px;
  padding: 0 10px;
}
.chat-history-item {
  border-radius: 8px;
  color: var(--ink);
  display: grid;
  gap: 4px;
  padding: 11px 12px;
  position: relative;
  transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.chat-history-item:hover,
.chat-history-item:focus-visible {
  background: #f4f4f6;
}
.chat-history-item.active {
  box-shadow: none;
}
.chat-history-item strong {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.25;
}
.chat-history-item span {
  color: var(--muted);
  font-size: 13px;
}
.analysis-history-items {
  align-content: start;
  display: grid;
  flex: 0 0 auto;
  gap: 8px;
}
.analysis-history-empty {
  color: var(--muted);
  font-size: 13px;
  margin: 0;
  padding: 2px;
}
.analysis-history-item {
  align-items: center;
  gap: 10px;
  grid-template-columns: 28px minmax(0, 1fr);
}
.analysis-history-mark {
  align-items: center;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(23,23,25,.08);
  border-radius: 9px;
  color: var(--ink);
  display: grid;
  font-size: 12px;
  font-weight: 650;
  height: 28px;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  place-items: center;
  width: 28px;
}
.analysis-history-mark[data-asset-code="bitcoin"] {
  background: linear-gradient(145deg, #fbbf24, #f7931a);
  border-color: rgba(180, 83, 9, .26);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.34), 0 8px 18px rgba(247,147,26,.18);
  color: #fff;
  font-size: 17px;
  font-weight: 800;
}
.analysis-history-mark[data-asset-code="ethereum"] {
  background: linear-gradient(145deg, #627eea, #8a92b2);
  border-color: rgba(68, 89, 184, .24);
  color: #fff;
}
.analysis-history-mark[data-asset-code="gold"] {
  background: linear-gradient(145deg, #facc15, #d97706);
  border-color: rgba(180, 83, 9, .24);
  color: #fff;
}
.analysis-history-mark[data-asset-code="silver"] {
  background: linear-gradient(145deg, #f8fafc, #94a3b8);
  color: #1f2937;
}
.analysis-history-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.analysis-history-copy strong,
.analysis-history-copy span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar-account {
  border-top: 1px solid var(--line);
  margin-top: auto;
  padding-top: 14px;
  position: relative;
}
.sidebar-account-menu {
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(23,23,25,.1);
  border-radius: 12px;
  bottom: calc(100% + 10px);
  box-shadow: 0 18px 44px rgba(18,18,20,.14);
  display: grid;
  gap: 4px;
  left: 0;
  padding: 6px;
  position: absolute;
  right: 0;
  z-index: 10;
}
.sidebar-account-menu:not([hidden]):not([data-menu-closing="true"]) {
  animation: sidebar-menu-in .18s cubic-bezier(.16, 1, .3, 1) both;
  transform-origin: bottom center;
  will-change: opacity, transform;
}
.sidebar-account-menu[data-menu-closing="true"] {
  animation: sidebar-menu-out .18s cubic-bezier(.4, 0, 1, 1) both;
  pointer-events: none;
  transform-origin: bottom center;
  will-change: opacity, transform;
}
.sidebar-account-menu a,
.sidebar-account-menu button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 8px;
  color: var(--ink);
  cursor: pointer;
  display: flex;
  gap: 12px;
  min-height: 40px;
  padding: 9px 10px;
  text-align: left;
  width: 100%;
}
.sidebar-account-menu a:hover,
.sidebar-account-menu a:focus-visible,
.sidebar-account-menu button:hover,
.sidebar-account-menu button:focus-visible {
  background: #f3f3f5;
  outline: 0;
}
.sidebar-account-menu strong {
  display: block;
}
.sidebar-account-menu strong {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
}
.sidebar-account-menu button[data-sidebar-logout] {
  color: #d92d20;
}
.sidebar-account-menu button[data-sidebar-logout]:hover,
.sidebar-account-menu button[data-sidebar-logout]:focus-visible {
  background: #fff1f0;
}
@keyframes sidebar-menu-in {
  0% {
    opacity: 0;
    transform: translateY(8px) scale(.985);
  }
  70% {
    opacity: 1;
    transform: translateY(-1px) scale(1.002);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes sidebar-menu-out {
  0% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  100% {
    opacity: 0;
    transform: translateY(8px) scale(.985);
  }
}
.sidebar-menu-icon {
  align-items: center;
  color: #67686f;
  display: inline-flex;
  flex: 0 0 auto;
  height: 20px;
  justify-content: center;
  width: 20px;
}
.sidebar-menu-icon svg {
  display: block;
  fill: none;
  height: 18px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 18px;
}
.sidebar-account-menu button[data-sidebar-logout] .sidebar-menu-icon {
  color: #d92d20;
}
.sidebar-profile {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 12px;
  color: var(--ink);
  cursor: pointer;
  display: flex;
  gap: 12px;
  min-width: 0;
  padding: 8px;
  text-align: left;
  transition: background-color .18s ease, box-shadow .18s ease;
  width: 100%;
}
.sidebar-profile:hover,
.sidebar-profile:focus-visible,
.sidebar-account[data-menu-open="true"] .sidebar-profile {
  background: #f3f3f5;
  box-shadow: inset 0 0 0 1px rgba(23,23,25,.04);
  outline: 0;
}
.profile-avatar {
  background: #fff;
  border-radius: 50%;
  border: 1px solid var(--line);
  box-shadow: 0 6px 16px rgba(18,18,20,.06);
  color: var(--ink);
  display: grid;
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 700;
  height: 38px;
  place-items: center;
  width: 38px;
}
.profile-avatar[data-user-initials-avatar],
.profile-dialog-avatar[data-user-initials-avatar] {
  background: var(--ink);
  border-color: rgba(23,23,25,.18);
  color: #fff;
  letter-spacing: 0;
  text-transform: uppercase;
}
.profile-avatar[data-user-initials-avatar] span,
.profile-dialog-avatar[data-user-initials-avatar] span {
  display: block;
  font-weight: 650;
  line-height: 1;
}
.profile-avatar[data-user-initials-avatar] span {
  font-size: 13px;
}
.profile-dialog-avatar[data-user-initials-avatar] span {
  font-size: 18px;
}
.profile-avatar img {
  display: block;
  height: 26px;
  object-fit: contain;
  width: 20px;
}
.sidebar-profile-copy {
  min-width: 0;
}
.sidebar-profile strong {
  display: block;
  font-size: 14px;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar-profile small {
  color: var(--muted);
  display: block;
  font-size: 12px;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar-profile-caret {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  height: 26px;
  justify-content: center;
  margin-left: auto;
  width: 26px;
}
.sidebar-profile-caret::before {
  border-bottom: 1.8px solid #8d8e95;
  border-right: 1.8px solid #8d8e95;
  content: "";
  height: 7px;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .18s ease;
  width: 7px;
}
.sidebar-account[data-menu-open="true"] .sidebar-profile-caret::before {
  transform: translateY(2px) rotate(225deg);
}
.logout-confirm-dialog {
  align-items: center;
  background: rgba(245,245,243,.72);
  backdrop-filter: blur(16px);
  display: grid;
  inset: 0;
  justify-items: center;
  padding: 24px;
  position: fixed;
  z-index: 60;
}
.logout-confirm-dialog:not([hidden]) {
  animation: modal-backdrop-in .18s ease-out both;
}
.logout-confirm-card {
  background: #fff;
  border: 1px solid rgba(23,23,25,.08);
  border-radius: 18px;
  box-shadow: 0 28px 80px rgba(18,18,20,.18), 0 1px 0 rgba(255,255,255,.9) inset;
  display: grid;
  gap: 20px;
  padding: 22px;
  position: relative;
  width: min(420px, 100%);
}
.logout-confirm-dialog:not([hidden]) .logout-confirm-card {
  animation: modal-panel-in .24s cubic-bezier(.16, 1, .3, 1) both;
  transform-origin: center;
  will-change: opacity, transform;
}
.logout-confirm-shell {
  gap: 18px;
}
.logout-confirm-close {
  align-items: center;
  background: #f5f5f6;
  border: 1px solid rgba(23,23,25,.08);
  border-radius: 999px;
  color: #62646b;
  cursor: pointer;
  display: inline-flex;
  height: 34px;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: 14px;
  top: 14px;
  transition: background .16s ease, color .16s ease, transform .16s ease;
  width: 34px;
}
.logout-confirm-close svg {
  fill: none;
  height: 17px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 17px;
}
.logout-confirm-header {
  align-items: center;
  display: flex;
  gap: 14px;
  padding-right: 38px;
}
.logout-confirm-icon {
  align-items: center;
  background: #fef3f2;
  border: 1px solid #fee4e2;
  border-radius: 14px;
  color: #b42318;
  display: inline-flex;
  flex: 0 0 48px;
  height: 48px;
  justify-content: center;
  width: 48px;
}
.logout-confirm-icon svg {
  fill: none;
  height: 23px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 23px;
}
.logout-confirm-card .logout-confirm-eyebrow {
  color: #8d8e95;
  font-size: 12px;
  font-weight: 760;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 5px;
  text-transform: uppercase;
}
.logout-confirm-card h2 {
  color: #171719;
  font-size: 22px;
  line-height: 1.2;
  margin: 0;
}
.logout-confirm-card p {
  color: #62646b;
  font-size: 15px;
  line-height: 1.55;
  margin: 0;
}
.logout-confirm-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  padding-top: 2px;
}
.logout-confirm-actions button {
  border: 1px solid transparent;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 650;
  min-height: 44px;
  padding: 10px 17px;
  transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease, transform .16s ease;
}
.logout-confirm-cancel {
  background: #fff;
  border-color: rgba(23,23,25,.12) !important;
  color: #171719;
}
.logout-confirm-accept {
  background: #b42318;
  border-color: #b42318 !important;
  color: #fff;
}
.logout-confirm-close:hover,
.logout-confirm-close:focus-visible {
  background: #eeeeef;
  color: var(--ink);
  outline: 0;
  transform: translateY(-1px);
}
.logout-confirm-cancel:hover,
.logout-confirm-cancel:focus-visible {
  background: #f6f6f7;
  border-color: rgba(23,23,25,.18) !important;
  box-shadow: 0 8px 20px rgba(18,18,20,.08);
  outline: 0;
  transform: translateY(-1px);
}
.logout-confirm-accept:hover,
.logout-confirm-accept:focus-visible {
  background: #912018;
  border-color: #912018 !important;
  box-shadow: 0 10px 24px rgba(180,35,24,.24);
  outline: 0;
  transform: translateY(-1px);
}
.chat-panel {
  background: #fbfbfc;
  min-width: 0;
}
.chat-home,
.chat-history-page {
  align-items: center;
  align-content: center;
  display: grid;
  gap: 24px;
  justify-items: center;
  min-height: calc(100dvh - 60px);
  padding: 34px 28px 46px;
}
.chat-hero {
  margin: 0 auto;
  text-align: center;
  width: min(680px, 100%);
}
.chat-hero h1 {
  font-size: clamp(38px, 4.2vw, 64px);
  line-height: 1;
  margin: 0;
}
.chat-hero p {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.45;
  margin: 14px auto 0;
  max-width: 580px;
}
.profile-page {
  display: grid;
  gap: 18px;
  margin: 0 auto;
  max-width: 920px;
  min-height: calc(100dvh - 60px);
  padding: 34px 28px 54px;
  width: 100%;
}
.profile-hero {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 14px 38px rgba(18,18,20,.06);
  display: flex;
  gap: 18px;
  padding: 24px;
}
.profile-hero-avatar,
.profile-picture-preview {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(18,18,20,.07);
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: center;
}
.profile-hero-avatar {
  height: 64px;
  width: 64px;
}
.profile-hero-avatar img,
.profile-picture-preview img {
  display: block;
  object-fit: contain;
}
.profile-hero-avatar img {
  height: 42px;
  width: 32px;
}
.profile-hero .panel-label,
.profile-section .panel-label {
  margin: 0 0 8px;
}
.profile-hero h1 {
  font-size: 28px;
  font-weight: 600;
  line-height: 1.1;
  margin: 0;
}
.profile-hero p:not(.panel-label) {
  color: var(--muted);
  font-size: 15px;
  margin: 8px 0 0;
}
.profile-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.profile-section {
  align-items: start;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(18,18,20,.045);
  display: grid;
  gap: 18px;
  min-height: 170px;
  padding: 22px;
}
.profile-section h2 {
  font-size: 18px;
  font-weight: 550;
  line-height: 1.25;
  margin: 0;
}
.profile-picture-preview {
  height: 76px;
  width: 76px;
}
.profile-picture-preview img {
  height: 50px;
  width: 38px;
}
.profile-detail-list {
  display: grid;
  gap: 12px;
  margin: 0;
}
.profile-detail-list div {
  display: grid;
  gap: 3px;
}
.profile-detail-list dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
}
.profile-detail-list dd {
  font-size: 14px;
  margin: 0;
  overflow-wrap: anywhere;
}
.profile-secondary-action {
  align-items: center;
  background: #171719;
  border: 0;
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-size: 14px;
  font-weight: 550;
  height: 40px;
  justify-content: center;
  padding: 0 14px;
  width: max-content;
}
.profile-outline-action {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  display: inline-flex;
  font-size: 14px;
  font-weight: 550;
  height: 40px;
  justify-content: center;
  padding: 0 14px;
  width: max-content;
}
.profile-danger-action {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(198, 70, 62, .42);
  border-radius: 8px;
  color: #b83730;
  cursor: pointer;
  display: inline-flex;
  font-size: 14px;
  font-weight: 550;
  height: 40px;
  justify-content: center;
  padding: 0 14px;
  width: max-content;
}
.billing-status-card {
  grid-column: span 2;
}
.billing-status-grid {
  border-block: 1px solid var(--line);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 14px 0;
}
.billing-status-grid div {
  display: grid;
  gap: 5px;
  padding: 0 14px;
}
.billing-status-grid div + div {
  border-left: 1px solid var(--line);
}
.billing-status-grid dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}
.billing-status-grid dd {
  font-size: 14px;
  font-weight: 550;
  margin: 0;
}
.billing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.chat-composer {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: 0 18px 48px rgba(18,18,20,.07);
  display: grid;
  gap: 14px;
  margin: 0 auto;
  padding: 18px;
  width: min(820px, 100%);
}
.upload-form.chat-composer {
  grid-template-columns: 1fr;
  overflow: hidden;
  position: relative;
}
.chat-composer .chat-dropzone {
  grid-column: 1;
  min-height: 285px;
}
.chat-composer-actions {
  align-items: center;
  display: grid;
  gap: 20px;
  justify-content: center;
  justify-items: center;
  grid-column: 1;
  padding: 4px 0 0;
  text-align: center;
  width: 100%;
}
.chat-composer-actions:not([hidden]) {
  animation: controls-in .42s cubic-bezier(.22, 1, .36, 1);
}
.chat-composer .analysis-result {
  grid-column: 1;
}
.history-card-list {
  display: grid;
  gap: 14px;
  width: min(760px, 100%);
}
.history-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 8px 26px rgba(18,18,20,.05);
  display: grid;
  gap: 8px;
  padding: 22px;
}
.history-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}
.history-card strong {
  font-size: 22px;
}
.history-card p {
  color: var(--muted);
  line-height: 1.45;
  margin: 0;
}
.icon-rail, .folders-panel { background: #fff; border-right: 1px solid var(--line); }
.icon-rail {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16px 10px;
  gap: 18px;
}
.rail-logo, .icon-rail button, .icon-rail a:not(.rail-logo) {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  border: 0;
  background: transparent;
  color: var(--ink);
  display: grid;
  place-items: center;
}
.rail-logo, .icon-rail button:hover, .icon-rail a:not(.rail-logo):hover { background: var(--soft); }
.folders-panel {
  padding: 20px 16px;
  position: relative;
}
.folders-panel h1 { font-size: 24px; margin: 0 0 28px; }
.wide-action, .search-field, .select-button, .icon-button {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 9px;
  box-shadow: 0 2px 8px rgba(18,18,20,.04);
}
.wide-action {
  width: 100%;
  height: 44px;
  font-weight: 400;
  margin-bottom: 12px;
}
.search-field {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  height: 44px;
  color: var(--muted);
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.search-field svg {
  color: #73747b;
  display: block;
  fill: none;
  flex: 0 0 auto;
  height: 17px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 17px;
}
.search-field:focus-within {
  background: #fff;
  border-color: rgba(18,183,106,.38);
  box-shadow: 0 0 0 3px rgba(18,183,106,.1);
}
.search-field input {
  border: 0;
  outline: none;
  width: 100%;
  background: transparent;
  font-weight: 400;
}
.folders-panel nav { margin-top: 16px; display: grid; gap: 8px; }
.folders-panel nav a {
  padding: 10px 12px;
  border-radius: 8px;
  font-weight: 600;
}
.folders-panel nav .active { background: #e8e8eb; }
.archives { position: absolute; left: 20px; bottom: 24px; font-weight: 600; }
.project-panel { background: #fbfbfc; }
.workspace-header {
  height: 60px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 22px;
  background: #fff;
}
.workspace-header h2 { font-size: 19px; margin: 0; font-weight: 500; }
.toolbar {
  display: flex;
  gap: 10px;
  padding: 16px 22px;
}
.main-search { flex: 1; }
.icon-button { width: 42px; }
.select-button { padding: 0 18px; font-weight: 600; }
.get-started { text-align: center; padding: 60px 32px; }
.get-started h1 { font-size: 34px; margin: 0 0 44px; }
.start-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(320px, 490px));
  gap: 30px;
  justify-content: center;
}
.start-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 28px;
  box-shadow: 0 8px 24px rgba(18,18,20,.05);
  text-align: left;
  padding: 18px 36px 34px;
}
.card-visual {
  height: 280px;
  border-radius: 12px;
  margin-bottom: 20px;
  background-image: linear-gradient(to bottom, rgba(255,255,255,.2), white), radial-gradient(#dfe0e5 1px, transparent 1px);
  background-size: auto, 24px 24px;
  display: grid;
  place-items: center;
}
.card-visual span {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 20px 32px;
  box-shadow: var(--shadow);
  color: var(--muted);
}
.workflow-visual {
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  padding: 50px;
}
.start-card h2 { font-size: 28px; margin: 24px 0 12px; }
.start-card p { color: var(--muted); font-size: 18px; line-height: 1.45; }
.upload-form { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.chart-dropzone {
  grid-column: 1 / span 3;
  min-height: 285px;
  border: 1px dashed #d1d2d7;
  border-radius: 18px;
  background:
    linear-gradient(to bottom, rgba(255,255,255,.2), rgba(255,255,255,.88)),
    radial-gradient(#d9d9dd 1px, transparent 1px);
  background-size: auto, 20px 20px;
  display: grid;
  align-content: center;
  place-items: center;
  gap: 8px;
  padding: 34px;
  color: var(--ink);
  cursor: pointer;
  overflow: hidden;
  position: relative;
  text-align: center;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
@keyframes chart-preview-in {
  0% {
    opacity: 0;
    transform: translateY(14px) scale(.96);
  }
  65% {
    opacity: 1;
    transform: translateY(-2px) scale(1.012);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes upload-pulse {
  0% {
    box-shadow: 0 18px 45px rgba(18,18,20,.04);
  }
  45% {
    box-shadow: 0 22px 54px rgba(18,18,20,.1), inset 0 0 0 1px rgba(18,18,20,.08);
  }
  100% {
    box-shadow: 0 18px 45px rgba(18,18,20,.04);
  }
}
@keyframes controls-in {
  0% {
    opacity: 0;
    transform: translateY(16px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes surface-in {
  0% {
    opacity: 0;
    transform: translateY(10px) scale(.99);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes error-banner-in {
  0% {
    opacity: 0;
    transform: translateY(-12px) scale(.985);
  }
  70% {
    opacity: 1;
    transform: translateY(2px) scale(1);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes loader-panel-in {
  0% {
    opacity: 0;
    transform: translateY(18px) scale(.985);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes loader-orbit-spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes loader-active-pulse {
  0%, 100% {
    opacity: .35;
    transform: scale(.72);
  }
  50% {
    opacity: 1;
    transform: scale(1);
  }
}
.analysis-loader {
  align-items: center;
  background:
    linear-gradient(to bottom, rgba(255,255,255,.92), rgba(255,255,255,.98)),
    radial-gradient(#d9d9dd 1px, transparent 1px);
  background-size: auto, 20px 20px;
  border-radius: 22px;
  display: grid;
  justify-items: center;
  min-height: 100%;
  padding: clamp(28px, 5vw, 54px);
  position: relative;
  z-index: 20;
}
.analysis-loader[hidden] {
  display: none;
}
.analysis-loader-panel {
  animation: loader-panel-in .42s cubic-bezier(.22, 1, .36, 1);
  display: grid;
  gap: 26px;
  width: min(540px, 100%);
}
.analysis-loader-heading {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: flex-start;
}
.analysis-loader-heading strong {
  display: block;
  font-size: 22px;
  line-height: 1.15;
}
.analysis-loader-heading small {
  color: var(--muted);
  display: block;
  font-size: 14px;
  line-height: 1.35;
  margin-top: 6px;
}
.loader-orbit {
  border: 2px solid #e5e5e8;
  border-radius: 999px;
  border-top-color: var(--ink);
  display: block;
  flex: 0 0 auto;
  height: 36px;
  position: relative;
  width: 36px;
  animation: loader-orbit-spin 1s linear infinite;
}
.analysis-loader-steps {
  display: grid;
  gap: 13px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.analysis-loader-steps li {
  align-items: center;
  color: #77787f;
  display: grid;
  font-size: 17px;
  font-weight: 500;
  grid-template-columns: 1fr 28px;
  line-height: 1.25;
}
.analysis-loader-steps em {
  align-items: center;
  border: 1px solid #dedfe4;
  border-radius: 999px;
  display: inline-flex;
  height: 22px;
  justify-content: center;
  justify-self: end;
  position: relative;
  width: 22px;
}
.analysis-loader-steps li[data-step-state="active"] {
  color: var(--ink);
}
.analysis-loader-steps li[data-step-state="active"] em::after {
  animation: loader-active-pulse .9s ease-in-out infinite;
  background: var(--ink);
  border-radius: 999px;
  content: "";
  height: 8px;
  width: 8px;
}
.analysis-loader-steps li[data-step-state="complete"] {
  color: var(--ink);
}
.analysis-loader-steps li[data-step-state="complete"] em {
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
}
.analysis-loader-steps li[data-step-state="complete"] em::before {
  content: "✓";
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
}
.billing-alert,
.auth-gate-error,
.upload-error-banner {
  position: relative;
}
.alert-close-button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: currentColor;
  cursor: pointer;
  display: inline-flex;
  font-size: 0;
  height: 30px;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  transition: background-color .16s ease;
  width: 30px;
}
.alert-close-button::before,
.alert-close-button::after {
  background: currentColor;
  border-radius: 999px;
  content: "";
  height: 1.5px;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 12px;
}
.alert-close-button::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.alert-close-button::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.alert-close-button:hover,
.alert-close-button:focus-visible {
  background: #fff1f1;
  outline: 0;
}
.upload-error-banner {
  align-items: center;
  animation: error-banner-in .36s cubic-bezier(.22, 1, .36, 1);
  background: transparent;
  border: 1px solid rgba(180,35,24,.42);
  border-radius: 16px;
  color: #b42318;
  display: flex;
  font-size: 16px;
  font-weight: 400;
  gap: 10px;
  justify-content: center;
  line-height: 1.4;
  margin: -4px auto -8px;
  max-width: 820px;
  padding: 13px 52px 13px 18px;
  text-align: center;
  width: 100%;
}
.upload-error-banner[hidden] {
  display: none;
}

.auth-gate-error {
  align-items: center;
  animation: error-banner-in .36s cubic-bezier(.22, 1, .36, 1);
  border: 1px solid rgba(180,35,24,.5);
  border-radius: 16px;
  color: #b42318;
  display: flex;
  font-size: 15px;
  font-weight: 400;
  gap: 12px;
  justify-content: center;
  line-height: 1.4;
  margin: 18px auto 0;
  max-width: min(920px, calc(100% - 40px));
  padding: 12px 52px 12px 16px;
  text-align: center;
}

.auth-gate-error[hidden] {
  display: none;
}

.chart-dropzone::before {
  content: "";
  border: 1px solid rgba(23,23,25,.1);
  border-radius: 50%;
  height: 205px;
  left: 50%;
  pointer-events: none;
  position: absolute;
  top: 48%;
  transform: translate(-50%, -50%);
  width: min(500px, 74%);
}
.chart-dropzone::after {
  content: "";
  border: 1px solid rgba(23,23,25,.05);
  border-radius: 14px;
  inset: 14px;
  pointer-events: none;
  position: absolute;
}
.chart-dropzone:hover,
.chart-dropzone:focus-visible {
  border-color: #a9aab0;
  box-shadow: 0 18px 45px rgba(18,18,20,.06);
}
.chart-dropzone[data-dragging="true"] {
  border-color: var(--ink);
  background-color: #f1f1f2;
  transform: translateY(-1px);
}
.chart-dropzone[data-error="true"] {
  border-color: #a83b3b;
}
.chart-dropzone[data-has-file="true"] {
  animation: upload-pulse .48s ease;
  border-style: solid;
  min-height: 260px;
}
.chart-dropzone img {
  width: min(390px, 100%);
  max-height: 190px;
  object-fit: contain;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 16px 38px rgba(18,18,20,.08);
  position: relative;
  z-index: 1;
}
.chart-dropzone img[data-animate="true"] {
  animation: chart-preview-in .5s cubic-bezier(.22, 1, .36, 1);
  transform-origin: center;
}
.remove-chart-button {
  align-items: center;
  background: var(--ink);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  box-shadow: 0 12px 28px rgba(18,18,20,.16);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-size: 22px;
  font-weight: 700;
  height: 38px;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 22px;
  top: 22px;
  width: 38px;
  z-index: 3;
}
.remove-chart-button:hover,
.remove-chart-button:focus-visible {
  transform: translateY(-1px);
}
.chart-dropzone strong,
.chart-dropzone small,
.chart-dropzone .upload-action-row,
.chart-dropzone .upload-visual {
  position: relative;
  z-index: 1;
}
.chart-dropzone strong {
  font-size: 18px;
  font-weight: 700;
}
.chart-dropzone small {
  color: var(--muted);
  font-weight: 600;
}
.upload-visual {
  display: grid;
  min-height: 96px;
  place-items: center;
  width: 100%;
}
.chart-dropzone[data-has-file="true"] .upload-visual {
  display: none;
}
.chart-dropzone[data-has-file="true"] .upload-card-fan,
.chart-dropzone[data-has-file="true"] .studio-composer-toolbar {
  display: none;
}
.upload-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 4px;
}
.upload-action-row .btn {
  min-height: 42px;
  width: auto;
}
.paste-action {
  background: transparent;
  border: 0;
  color: #6f7077;
  cursor: pointer;
  font-weight: 600;
  padding: 6px 8px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.paste-action:hover,
.paste-action:focus-visible {
  color: var(--ink);
}
.chart-instructions {
  animation: surface-in .32s cubic-bezier(.22, 1, .36, 1);
  background: #fbfbfc;
  border: 1px solid var(--line);
  border-radius: 16px;
  color: var(--muted);
  display: grid;
  gap: 10px;
  justify-items: center;
  line-height: 1.45;
  padding: 18px 20px;
  text-align: center;
}
.chart-instructions p {
  color: var(--ink);
  font-weight: 700;
  margin: 0;
}
.chart-instructions ul {
  display: grid;
  gap: 7px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.chart-instructions li {
  color: var(--muted);
  font-size: 14px;
  font-weight: 600;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.upload-form input, .upload-form select {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
}
.upload-form > .btn {
  grid-column: 1 / span 3;
  width: max-content;
}
.upload-form .btn:disabled {
  cursor: wait;
  opacity: .65;
}
.mode-radio-group {
  border: 0;
  display: grid;
  gap: 10px;
  justify-items: center;
  margin: 0;
  min-width: 0;
  padding: 0;
  width: 100%;
}
.mode-radio-options {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(142px, 1fr));
  justify-content: center;
  width: min(600px, 100%);
}
.mode-radio-group legend {
  color: var(--muted);
  display: block;
  font-size: 12px;
  font-weight: 700;
  margin: 0 auto 10px;
  padding: 0;
  text-align: center;
  text-transform: uppercase;
  width: 100%;
}
.mode-radio-group label {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(18,18,20,.04);
  cursor: pointer;
  display: inline-flex;
  font-size: 16px;
  justify-content: center;
  min-height: 50px;
  padding: 0 18px;
  position: relative;
  transform: translateY(0) scale(1);
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease;
  width: 100%;
}
.mode-radio-group input {
  height: 1px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  width: 1px;
}
.mode-radio-group span {
  font-weight: 700;
  white-space: nowrap;
}
.mode-radio-group label:has(input:focus-visible) {
  outline: 2px solid #1d1d20;
  outline-offset: 3px;
}
.mode-radio-group label:hover {
  border-color: #c8c9ce;
  box-shadow: 0 16px 34px rgba(18,18,20,.08);
  transform: translateY(-3px) scale(1.01);
}
.mode-radio-group label:has(input:checked) {
  background: #f4f4f5;
  border-color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--ink), 0 16px 34px rgba(18,18,20,.07);
  color: var(--ink);
  transform: translateY(-1px);
}
.mode-radio-group label:has(input:checked)::after {
  background: var(--ink);
  border-radius: 999px;
  bottom: 8px;
  content: "";
  height: 3px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 38px;
}
.mode-radio-group label:active {
  transform: translateY(0) scale(.99);
}
.chat-composer-actions .btn {
  border-radius: 16px;
  box-shadow: 0 18px 34px rgba(18,18,20,.16);
  font-size: 18px;
  min-height: 56px;
  min-width: min(320px, 100%);
}
.chat-composer-actions .btn:hover,
.chat-composer-actions .btn:focus-visible {
  box-shadow: 0 24px 48px rgba(18,18,20,.2);
}
.chat-composer-actions .btn:active {
  box-shadow: 0 14px 28px rgba(18,18,20,.16);
}

.dashboard-studio {
  align-items: stretch;
  background: #f7f7f5;
  gap: 16px;
  grid-template-columns: minmax(292px, 312px) minmax(0, 1fr);
  isolation: isolate;
  overflow-x: hidden;
  padding: 16px;
  position: relative;
}
.dashboard-studio::before {
  background-image: radial-gradient(rgba(23,23,25,.18) 1px, transparent 1px);
  background-size: 13px 13px;
  content: "";
  inset: 0;
  opacity: .42;
  pointer-events: none;
  position: fixed;
  z-index: 0;
}
.dashboard-studio > * {
  position: relative;
  z-index: 1;
}
.dashboard-studio > .logout-confirm-dialog {
  position: fixed;
  z-index: 70;
}
.dashboard-studio .chat-sidebar {
  align-self: start;
  backdrop-filter: blur(18px);
  background: rgba(224,226,230,.82);
  border: 1px solid rgba(178,181,188,.76);
  border-radius: 22px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 22px 58px rgba(18,18,20,.1);
  height: calc(100dvh - 32px);
  max-height: calc(100dvh - 32px);
  min-height: calc(100dvh - 32px);
  padding: 16px;
  position: sticky;
  top: 16px;
}
.dashboard-studio .chat-sidebar .brand {
  font-size: 22px;
  margin-bottom: 18px;
  padding: 0 2px;
}
.dashboard-studio .chat-sidebar .brand-mark {
  height: 34px;
  width: 26px;
}
.public-dashboard-shell {
  align-items: stretch;
  background: #f7f7f5;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(268px, 292px) minmax(0, 1fr);
  isolation: isolate;
  min-height: 100dvh;
  overflow-x: hidden;
  padding: 16px;
  position: relative;
}
.public-dashboard-shell::before {
  background-image: radial-gradient(rgba(23,23,25,.18) 1px, transparent 1px);
  background-size: 13px 13px;
  content: "";
  inset: 0;
  opacity: .42;
  pointer-events: none;
  position: fixed;
  z-index: 0;
}
.public-dashboard-auth-shell::before {
  content: "";
  display: none;
}
.public-dashboard-shell > *,
.public-dashboard-auth-shell > * {
  position: relative;
  z-index: 1;
}
.public-dashboard-sidebar {
  align-self: start;
  backdrop-filter: blur(18px);
  background: rgba(224,226,230,.82);
  border: 1px solid rgba(178,181,188,.76);
  border-radius: 22px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 22px 58px rgba(18,18,20,.1);
  display: flex;
  flex-direction: column;
  height: calc(100dvh - 32px);
  max-height: calc(100dvh - 32px);
  min-height: calc(100dvh - 32px);
  padding: 16px;
  position: sticky;
  top: 16px;
  min-width: 0;
}
.public-dashboard-sidebar .brand {
  font-size: 22px;
  margin-bottom: 24px;
  padding: 0 2px;
}
.public-dashboard-sidebar .brand-mark {
  height: 34px;
  width: 26px;
}
.public-dashboard-nav {
  display: grid;
  gap: 8px;
}
.public-dashboard-nav a {
  align-items: center;
  background: rgba(255,255,255,.38);
  border: 1px solid transparent;
  border-radius: 16px;
  color: #55565d;
  display: flex;
  font-size: 14px;
  font-weight: 650;
  min-height: 44px;
  padding: 0 14px;
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease, transform .16s ease;
}
.public-dashboard-nav a:hover,
.public-dashboard-nav a:focus-visible,
.public-dashboard-nav a[aria-current="page"] {
  background: #fff;
  border-color: rgba(199,201,207,.76);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 10px 24px rgba(18,18,20,.07);
  color: var(--ink);
  outline: 0;
  transform: translateY(-1px);
}
.public-dashboard-sidebar-note {
  border-top: 1px solid rgba(23,23,25,.12);
  color: #66676f;
  display: grid;
  gap: 7px;
  margin-top: auto;
  padding-top: 16px;
}
.public-dashboard-sidebar-note span {
  color: #8d8e95;
  font-size: 11px;
  font-weight: 780;
  letter-spacing: 0;
  text-transform: uppercase;
}
.public-dashboard-sidebar-note strong {
  color: #303137;
  font-size: 13px;
  line-height: 1.35;
}
.public-dashboard-main {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: calc(100dvh - 32px);
  min-width: 0;
}
.public-dashboard-topbar {
  align-items: center;
  background: transparent;
  display: flex;
  gap: 18px;
  height: 44px;
  justify-content: space-between;
  padding: 0 8px 0 2px;
}
.public-dashboard-topbar h2 {
  color: #202126;
  font-size: 16px;
  font-weight: 520;
  margin: 0;
}
.public-dashboard-actions {
  align-items: center;
  display: flex;
  gap: 8px;
}
.public-dashboard-actions a {
  align-items: center;
  border-radius: 999px;
  color: #2f3035;
  display: inline-flex;
  font-size: 13px;
  font-weight: 560;
  min-height: 34px;
  padding: 0 11px;
  transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.public-dashboard-actions a:hover,
.public-dashboard-actions a:focus-visible {
  background: rgba(255,255,255,.72);
  box-shadow: 0 8px 22px rgba(18,18,20,.06);
  outline: 0;
  transform: translateY(-1px);
}
.public-dashboard-content {
  align-content: start;
  display: grid;
  gap: 22px;
  min-width: 0;
  padding: 54px clamp(18px, 4vw, 64px) 72px;
}
.public-dashboard-content > *,
.public-dashboard-content .pricing-page,
.public-dashboard-content .pricing-grid,
.public-dashboard-content .pricing-plan-card,
.public-dashboard-content .legal-page,
.public-dashboard-content .billing-result-page {
  max-width: 100%;
  min-width: 0;
}
.public-page-hero {
  align-content: start;
  display: grid;
  gap: 12px;
  max-width: 900px;
}
.public-page-hero h1 {
  color: var(--ink);
  font-size: clamp(44px, 6.5vw, 84px);
  font-weight: 540;
  letter-spacing: 0;
  line-height: .98;
  margin: 0;
}
.public-page-hero p:not(.panel-label) {
  color: #56575f;
  font-size: clamp(16px, 1.5vw, 20px);
  line-height: 1.48;
  margin: 0;
  max-width: 760px;
}
.public-dashboard-auth-shell {
  background: #f7f7f5;
  isolation: isolate;
  overflow: hidden;
  padding: 16px;
  position: relative;
  min-width: 0;
}
.public-dashboard-auth-shell .auth-form-panel,
.public-dashboard-auth-shell .auth-art {
  background: #f2f3f4;
  border: 1px solid rgba(190,193,199,.76);
  box-shadow: none;
}
.public-dashboard-auth-shell .auth-form-panel {
  border-radius: 22px;
}
.public-dashboard-auth-shell .auth-art {
  border-radius: 22px;
  display: grid;
  place-items: center;
}
.dashboard-studio .chat-new-action,
.dashboard-studio .search-field {
  background: rgba(255,255,255,.66);
  border-color: rgba(193,195,200,.74);
  border-radius: 18px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 8px 22px rgba(18,18,20,.055);
  height: 48px;
}
.dashboard-studio .chat-new-action {
  justify-content: flex-start;
  margin-bottom: 12px;
  padding: 0 18px;
}
.dashboard-studio .chat-new-action:hover,
.dashboard-studio .chat-new-action:focus-visible,
.dashboard-studio .search-field:focus-within {
  border-color: rgba(134,137,145,.64);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82), 0 12px 28px rgba(18,18,20,.075);
}
.dashboard-studio .search-field {
  color: #7b7c83;
  margin-bottom: 8px;
}
.dashboard-studio .search-field input::placeholder {
  color: #85868d;
}
.dashboard-studio .chat-history-list {
  border-top: 0;
  gap: 10px;
  margin-top: 22px;
  padding-top: 0;
}
.dashboard-studio .chat-history-list .panel-label {
  font-size: 12px;
  margin: 0;
  padding: 0 2px;
}
.dashboard-studio .sidebar-account {
  border-top-color: rgba(23,23,25,.12);
  padding-top: 14px;
}
.dashboard-studio .sidebar-profile {
  background: #fff;
  border: 1px solid rgba(199,201,207,.72);
  border-radius: 18px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.68);
  padding: 10px;
}
.dashboard-studio .sidebar-profile:hover,
.dashboard-studio .sidebar-profile:focus-visible,
.dashboard-studio .sidebar-account[data-menu-open="true"] .sidebar-profile {
  background: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 10px 24px rgba(18,18,20,.08);
}
.dashboard-studio .sidebar-account-menu {
  background: rgba(255,255,255,.92);
  border-color: rgba(180,182,188,.76);
  border-radius: 18px;
  box-shadow: 0 24px 58px rgba(18,18,20,.16);
  padding: 8px;
}
.dashboard-studio .chat-panel {
  background: transparent;
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: calc(100dvh - 32px);
  overflow: hidden;
  position: relative;
}
.dashboard-studio > .analysis-loader {
  align-self: stretch;
  grid-column: 2;
  grid-row: 1;
  justify-self: stretch;
  min-height: calc(100dvh - 32px);
  position: sticky;
  top: 16px;
  z-index: 30;
}
.dashboard-topbar {
  background: transparent;
  border-bottom: 0;
  height: 44px;
  padding: 0 8px 0 2px;
}
.dashboard-topbar h2 {
  font-size: 16px;
  font-weight: 500;
}
.dashboard-topbar-heading {
  align-items: center;
  display: flex;
  gap: 10px;
  min-width: 0;
}
.dashboard-sidebar-toggle,
.dashboard-sidebar-close,
.dashboard-sidebar-backdrop {
  display: none;
}
.dashboard-sidebar-toggle,
.dashboard-sidebar-close {
  align-items: center;
  background: rgba(255,255,255,.68);
  border: 1px solid rgba(193,195,200,.78);
  border-radius: 12px;
  color: #303137;
  cursor: pointer;
  height: 36px;
  justify-content: center;
  padding: 0;
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
  width: 36px;
}
.dashboard-sidebar-toggle svg,
.dashboard-sidebar-close svg {
  display: block;
  fill: none;
  height: 18px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
  width: 18px;
}
.dashboard-sidebar-toggle:hover,
.dashboard-sidebar-toggle:focus-visible,
.dashboard-sidebar-close:hover,
.dashboard-sidebar-close:focus-visible {
  background: #fff;
  border-color: rgba(154,157,164,.88);
  box-shadow: 0 9px 22px rgba(18,18,20,.09);
  outline: 0;
  transform: translateY(-1px);
}
.dashboard-sidebar-close {
  position: absolute;
  right: 16px;
  top: 16px;
  z-index: 2;
}
.dashboard-topbar-actions {
  align-items: center;
  display: flex;
  gap: 8px;
}
.topbar-link {
  align-items: center;
  border-radius: 999px;
  color: #2f3035;
  display: inline-flex;
  font-size: 13px;
  font-weight: 500;
  gap: 7px;
  min-height: 34px;
  padding: 0 11px;
  transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.topbar-link svg,
.studio-toolbar-button svg {
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.topbar-link svg {
  height: 17px;
  stroke-width: 2;
  width: 17px;
}
.topbar-link:hover,
.topbar-link:focus-visible {
  background: rgba(255,255,255,.72);
  box-shadow: 0 8px 22px rgba(18,18,20,.06);
  outline: 0;
  transform: translateY(-1px);
}
.dashboard-studio .chat-home {
  align-content: center;
  gap: 22px;
  min-height: auto;
  padding: 84px 28px 70px;
}
.dashboard-studio .chat-hero {
  width: min(1020px, 100%);
}
.dashboard-studio .chat-hero h1 {
  font-size: clamp(58px, 7vw, 96px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: .98;
}
.dashboard-studio .chat-hero p {
  color: #4f5057;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.45;
  max-width: 620px;
}
.dashboard-studio .upload-error-banner {
  background: rgba(255,255,255,.82);
  max-width: 760px;
}
.dashboard-studio .chat-composer {
  background: rgba(222,224,228,.86);
  border: 1px solid rgba(184,187,193,.82);
  border-radius: 24px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 18px 42px rgba(18,18,20,.09);
  gap: 12px;
  padding: 18px;
  width: min(760px, 100%);
}
.dashboard-studio .chat-composer .chat-dropzone {
  align-content: start;
  background: transparent;
  border: 0;
  border-radius: 18px;
  box-shadow: none;
  cursor: pointer;
  display: grid;
  gap: 14px;
  justify-items: stretch;
  min-height: 0;
  padding: 10px 2px 0;
  text-align: left;
}
.dashboard-studio .chart-dropzone::before,
.dashboard-studio .chart-dropzone::after {
  display: none;
}
.dashboard-studio .chart-dropzone:hover,
.dashboard-studio .chart-dropzone:focus-visible {
  box-shadow: none;
}
.dashboard-studio .chart-dropzone[data-dragging="true"] {
  background: rgba(255,255,255,.42);
  outline: 1px dashed rgba(23,23,25,.28);
  outline-offset: 6px;
  transform: none;
}
.dashboard-studio .chart-dropzone[data-has-file="true"] {
  animation: upload-pulse .48s ease;
  min-height: 260px;
  outline: 1px solid rgba(23,23,25,.1);
  outline-offset: 0;
  padding: 14px;
}
.dashboard-studio .chart-dropzone img {
  border-radius: 16px;
  justify-self: center;
  max-height: 220px;
  width: min(520px, 100%);
}
.studio-upload-copy {
  display: grid;
  gap: 8px;
  justify-items: center;
  margin: 0 auto;
  max-width: 560px;
  min-height: 70px;
  place-content: center;
  text-align: center;
}
.dashboard-studio .studio-upload-copy strong {
  color: #242529;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.35;
}
.dashboard-studio .studio-upload-copy small {
  color: #62636a;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.45;
}
.studio-composer-toolbar {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: center;
  min-width: 0;
  width: 100%;
}
.studio-toolbar-button {
  align-items: center;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(196,198,204,.78);
  border-radius: 999px;
  color: #303137;
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 14px;
  font-weight: 500;
  gap: 8px;
  min-height: 38px;
  padding: 0 13px;
  text-decoration: none;
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease, transform .16s ease;
}
.studio-toolbar-button svg {
  height: 17px;
  stroke-width: 1.9;
  width: 17px;
}
.dashboard-studio .paste-action {
  color: #303137;
  text-decoration: none;
  text-underline-offset: 0;
}
.studio-toolbar-button:hover,
.studio-toolbar-button:focus-visible {
  background: #fff;
  border-color: rgba(168,170,176,.92);
  box-shadow: 0 10px 24px rgba(18,18,20,.08);
  outline: 0;
  transform: translateY(-1px);
}
.studio-toolbar-button:active {
  box-shadow: 0 5px 14px rgba(18,18,20,.06);
  transform: translateY(0) scale(.985);
}
.upload-card-fan {
  height: 98px;
  margin: 0 auto;
  position: relative;
  width: min(210px, 100%);
}
.upload-fan-card {
  align-items: center;
  background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(246,247,248,.9));
  border: 1px solid rgba(196,198,204,.82);
  border-radius: 18px;
  bottom: 0;
  box-shadow: 0 18px 34px rgba(18,18,20,.08);
  display: flex;
  height: 90px;
  justify-content: center;
  left: 50%;
  position: absolute;
  transform-origin: 50% 108%;
  width: 72px;
}
.upload-fan-card.center {
  z-index: 3;
  transform: translateX(-50%) rotate(0deg);
}
.upload-fan-card.left {
  z-index: 1;
  transform: translateX(-56%) rotate(-9deg);
}
.upload-fan-card.right {
  z-index: 1;
  transform: translateX(-44%) rotate(9deg);
}
.upload-fan-card.center svg {
  color: #303137;
  display: block;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
  width: 28px;
}
.dashboard-studio .chart-instructions {
  background: rgba(255,255,255,.58);
  border-color: rgba(196,198,204,.74);
  border-radius: 18px;
  gap: 12px;
  justify-items: start;
  padding: 16px 18px;
  text-align: left;
}
.dashboard-studio .chart-instructions p {
  font-size: 14px;
  font-weight: 500;
}
.dashboard-studio .chart-instructions ul {
  gap: 8px;
  width: 100%;
}
.dashboard-studio .chart-instructions li {
  align-items: center;
  display: grid;
  font-size: 13px;
  font-weight: 400;
  gap: 9px;
  grid-template-columns: 7px 1fr;
}
.dashboard-studio .chart-instructions li::before {
  background: rgba(23,23,25,.42);
  border-radius: 999px;
  content: "";
  height: 4px;
  width: 4px;
}
.dashboard-studio .chat-composer-actions {
  background: rgba(255,255,255,.52);
  border: 1px solid rgba(198,200,206,.68);
  border-radius: 18px;
  padding: 14px;
}
.dashboard-studio .mode-radio-group {
  gap: 8px;
}
.dashboard-studio .mode-radio-group legend {
  margin-bottom: 6px;
}
.dashboard-studio .mode-radio-options {
  background: rgba(210,212,217,.56);
  border-radius: 999px;
  gap: 8px;
  padding: 4px;
}
.dashboard-studio .mode-radio-group label {
  border: 0;
  border-radius: 999px;
  box-shadow: none;
  font-size: 13px;
  min-height: 34px;
  padding: 0 12px;
}
.dashboard-studio .mode-radio-group span {
  font-weight: 500;
}
.dashboard-studio .mode-radio-group label:hover {
  box-shadow: none;
  transform: none;
}
.dashboard-studio .mode-radio-group label:has(input:checked) {
  background: var(--ink);
  box-shadow: 0 9px 18px rgba(18,18,20,.14);
  color: #fff;
  transform: none;
}
.dashboard-studio .mode-radio-group label:has(input:checked)::after {
  display: none;
}
.dashboard-studio .chat-composer-actions .btn {
  border-radius: 999px;
  font-size: 15px;
  min-height: 44px;
  min-width: min(260px, 100%);
}

.profile-modal,
.upgrade-modal,
.billing-result-modal {
  align-items: center;
  background: rgba(245,245,243,.72);
  backdrop-filter: blur(16px);
  display: grid;
  inset: 0;
  justify-items: center;
  padding: 24px;
  position: fixed;
  z-index: 70;
}
.profile-modal[hidden],
.upgrade-modal[hidden],
.billing-result-modal[hidden] {
  display: none;
}
.profile-modal:not(.profile-modal-standalone):not([hidden]),
.upgrade-modal:not([hidden]),
.billing-result-modal:not([hidden]) {
  animation: modal-backdrop-in .18s ease-out both;
}
.profile-modal:not(.profile-modal-standalone):not([hidden]) .profile-dialog,
.uploaded-screenshot-modal:not([hidden]) .uploaded-screenshot-dialog,
.upgrade-modal:not([hidden]) .upgrade-dialog,
.billing-result-modal:not([hidden]) .billing-result-dialog {
  animation: modal-panel-in .24s cubic-bezier(.16, 1, .3, 1) both;
  transform-origin: center;
  will-change: opacity, transform;
}
.profile-modal[data-closing="true"],
.upgrade-modal[data-closing="true"],
.billing-result-modal[data-closing="true"] {
  animation: modal-backdrop-out .16s ease-in both;
  pointer-events: none;
}
.profile-modal[data-closing="true"] .profile-dialog,
.uploaded-screenshot-modal[data-closing="true"] .uploaded-screenshot-dialog,
.upgrade-modal[data-closing="true"] .upgrade-dialog,
.billing-result-modal[data-closing="true"] .billing-result-dialog {
  animation: modal-panel-out .18s cubic-bezier(.4, 0, 1, 1) both;
  transform-origin: center;
}
@keyframes modal-backdrop-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes modal-backdrop-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes modal-panel-in {
  0% {
    opacity: 0;
    transform: translateY(12px) scale(.985);
  }
  70% {
    opacity: 1;
    transform: translateY(-1px) scale(1.002);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes modal-panel-out {
  0% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  100% {
    opacity: 0;
    transform: translateY(10px) scale(.985);
  }
}
body[data-profile-dialog-open="true"],
body[data-uploaded-screenshot-dialog-open="true"],
body[data-upgrade-dialog-open="true"],
body[data-billing-result-dialog-open="true"] {
  overflow: hidden;
}
.profile-dialog,
.upgrade-dialog,
.billing-result-dialog {
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(198,200,206,.78);
  box-shadow: 0 34px 90px rgba(18,18,20,.18);
  color: var(--ink);
}
.profile-dialog.profile-settings-dialog {
  border-radius: 18px;
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  max-height: min(780px, calc(100dvh - 48px));
  min-height: min(620px, calc(100dvh - 48px));
  overflow: hidden;
  width: min(860px, calc(100vw - 48px));
}
.uploaded-screenshot-dialog {
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(198,200,206,.78);
  border-radius: 18px;
  box-shadow: 0 34px 90px rgba(18,18,20,.18);
  color: var(--ink);
  display: grid;
  gap: 18px;
  max-height: calc(100dvh - 48px);
  overflow: hidden;
  padding: 18px;
  width: min(980px, calc(100vw - 48px));
}
.uploaded-screenshot-dialog header {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}
.uploaded-screenshot-dialog h2 {
  font-size: 24px;
  margin: 0;
}
.uploaded-screenshot-dialog .panel-label {
  color: #7a7b82;
  margin: 0 0 5px;
}
.uploaded-screenshot-dialog button {
  align-items: center;
  background: #f1f2f3;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  cursor: pointer;
  display: inline-flex;
  font-size: 24px;
  height: 38px;
  justify-content: center;
  line-height: 1;
  padding: 0 0 2px;
  width: 38px;
}
.uploaded-screenshot-dialog button:hover,
.uploaded-screenshot-dialog button:focus-visible {
  background: #e7e8ea;
  outline: 0;
}
.uploaded-screenshot-dialog img {
  background: #111;
  border: 1px solid rgba(18,18,20,.12);
  border-radius: 12px;
  display: block;
  max-height: calc(100dvh - 170px);
  object-fit: contain;
  width: 100%;
}
.uploaded-screenshot-dialog img[hidden] {
  display: none;
}
.uploaded-screenshot-empty {
  background: #f7f7f8;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--muted);
  margin: 0;
  padding: 22px;
}
.profile-settings-rail {
  background: rgba(239,240,242,.82);
  border-right: 1px solid rgba(218,219,223,.86);
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
  padding: 22px 14px;
}
.profile-dialog-close {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 10px;
  color: #25262a;
  cursor: pointer;
  display: inline-flex;
  height: 34px;
  justify-content: center;
  padding: 0;
  transition: background-color .18s ease;
  width: 34px;
}
.profile-dialog-close svg,
.upgrade-dialog-close svg,
.profile-settings-nav svg,
.profile-verification-note svg {
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}
.profile-dialog-close svg,
.upgrade-dialog-close svg {
  height: 18px;
  width: 18px;
}
.profile-dialog-close:hover,
.profile-dialog-close:focus-visible {
  background: rgba(255,255,255,.76);
  outline: 0;
}
.profile-settings-nav {
  display: grid;
  gap: 4px;
}
.profile-settings-nav button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 10px;
  color: #27282c;
  cursor: pointer;
  display: grid;
  font: inherit;
  font-size: 15px;
  font-weight: 450;
  gap: 11px;
  grid-template-columns: 22px minmax(0, 1fr);
  min-height: 38px;
  padding: 0 10px;
  text-align: left;
}
.profile-settings-nav button[data-active="true"] {
  background: rgba(255,255,255,.86);
  box-shadow: 0 1px 1px rgba(18,18,20,.04);
}
.profile-settings-nav button:hover,
.profile-settings-nav button:focus-visible {
  background: rgba(255,255,255,.72);
  outline: 0;
}
.profile-settings-nav svg {
  height: 19px;
  width: 19px;
}
.profile-settings-pane {
  display: grid;
  align-content: start;
  max-height: min(780px, calc(100dvh - 48px));
  overflow: auto;
  padding: 34px 36px 38px;
}
.profile-settings-panel {
  align-content: start;
  animation: profile-panel-in .18s ease both;
  display: grid;
  gap: 24px;
  min-width: 0;
}
.profile-settings-panel[hidden] {
  display: none;
}
@keyframes profile-panel-in {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.profile-settings-nav button[data-active="false"] {
  background: transparent;
}
.profile-settings-header,
.profile-account-banner,
.profile-danger-row {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  min-width: 0;
}
.profile-dialog .panel-label {
  margin: 0 0 7px;
}
.profile-dialog h1 {
  font-size: 22px;
  font-weight: 550;
  letter-spacing: 0;
  line-height: 1.15;
  margin: 0;
}
.profile-settings-status {
  background: #f4f4f5;
  border: 1px solid rgba(218,219,223,.86);
  border-radius: 999px;
  color: #585a60;
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 500;
  max-width: 190px;
  overflow: hidden;
  padding: 8px 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-account-banner {
  background: #f7f7f8;
  border: 1px solid rgba(224,225,229,.9);
  border-radius: 18px;
  justify-content: flex-start;
  padding: 18px;
}
.profile-account-overview {
  background: linear-gradient(180deg, #f8f8f9, #fff);
  border: 1px solid rgba(224,225,229,.92);
  border-radius: 22px;
  display: grid;
  gap: 18px;
  padding: 18px;
}
.profile-account-overview .profile-account-banner {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}
.profile-account-kicker {
  color: #85878d;
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 5px;
  text-transform: uppercase;
}
.profile-account-plan-pill {
  background: #fff;
  border: 1px solid rgba(218,219,223,.9);
  border-radius: 999px;
  color: #4e5056;
  font-size: 12px;
  font-weight: 650;
  margin-left: auto;
  max-width: 190px;
  overflow: hidden;
  padding: 8px 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-dialog-avatar {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(214,216,220,.9);
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(18,18,20,.06);
  display: inline-flex;
  flex: 0 0 auto;
  height: 58px;
  justify-content: center;
  width: 58px;
}
.profile-dialog-avatar.small {
  border-radius: 14px;
  height: 44px;
  width: 44px;
}
.profile-dialog-avatar img {
  display: block;
  height: 38px;
  object-fit: contain;
  width: 30px;
}
.profile-dialog-avatar.small img {
  height: 28px;
  width: 22px;
}
.profile-account-banner h2,
.profile-settings-section h2 {
  font-size: 18px;
  font-weight: 550;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0;
}
.profile-name-editor {
  display: grid;
  gap: 7px;
  margin: 0;
  max-width: min(100%, 460px);
}
.profile-name-inline {
  align-items: center;
  display: inline-grid;
  gap: 8px;
  grid-template-columns: minmax(0, auto) auto;
  justify-content: start;
  max-width: 100%;
}
.profile-name-inline h2 {
  overflow-wrap: anywhere;
}
.profile-name-input {
  background: #fff;
  border: 1px solid rgba(190,193,199,.9);
  border-radius: 12px;
  color: var(--ink);
  font: inherit;
  font-size: 18px;
  font-weight: 550;
  height: 38px;
  min-width: 0;
  padding: 0 12px;
  width: min(320px, 58vw);
}
.profile-name-input:focus {
  border-color: rgba(23,23,25,.42);
  box-shadow: 0 0 0 3px rgba(18,183,106,.14);
  outline: 0;
}
.profile-name-action {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(214,216,220,.95);
  border-radius: 999px;
  color: #34353a;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  height: 34px;
  justify-content: center;
  min-width: 34px;
  padding: 0 11px;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}
.profile-name-action:hover,
.profile-name-action:focus-visible {
  background: #f7f8f9;
  border-color: rgba(137,140,148,.7);
  outline: 0;
}
.profile-name-action:active {
  transform: translateY(1px);
}
.profile-name-action svg {
  height: 17px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 17px;
}
.profile-name-editor[data-editing="true"] .profile-name-action {
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
  min-width: 58px;
}
.profile-name-editor[data-editing="true"] [data-profile-name-action-label] {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: nowrap;
  width: auto;
}
.profile-name-status {
  color: #62646b;
  font-size: 12px;
  font-weight: 550;
  line-height: 1.35;
  margin: 0;
}
.profile-name-status[data-status="error"] {
  color: #b42318;
}
.profile-account-details {
  border-top: 1px solid rgba(226,227,230,.9);
  display: grid;
  gap: 14px;
  padding-top: 18px;
}
.profile-account-details-heading h2 {
  font-size: 16px;
  font-weight: 650;
  margin: 0;
}
.profile-account-detail-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}
.profile-account-detail-grid div {
  min-width: 0;
}
.profile-account-detail-grid dt {
  color: #85878d;
  font-size: 12px;
  font-weight: 650;
  margin-bottom: 4px;
}
.profile-account-detail-grid dd {
  color: var(--ink);
  font-size: 14px;
  font-weight: 550;
  margin: 0;
  overflow-wrap: anywhere;
}
.profile-account-banner p,
.profile-builder-profile p,
.profile-preview-card small,
.profile-verification-note p,
.profile-section-heading p {
  color: #62646b;
  font-size: 14px;
  line-height: 1.35;
  margin: 3px 0 0;
}
.profile-settings-section {
  border-top: 1px solid rgba(226,227,230,.9);
  display: grid;
  gap: 18px;
  min-width: 0;
  padding-top: 24px;
}
.profile-section-heading {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  min-width: 0;
  width: 100%;
}
.profile-section-heading > div:first-child {
  min-width: 0;
}
.profile-section-actions {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}
.profile-section-actions .profile-secondary-action,
.profile-section-actions .profile-outline-action,
.profile-section-actions .profile-danger-action {
  border-radius: 999px;
  margin-top: 0;
  min-width: 128px;
  padding-inline: 16px;
}
.profile-section-actions [hidden] {
  display: none;
}
.profile-section-actions .profile-secondary-action {
  color: #fff;
}
.profile-billing-section .profile-section-heading {
  display: grid;
  gap: 16px;
  justify-content: stretch;
}
.profile-billing-section .profile-section-heading > div:first-child {
  width: 100%;
}
.profile-billing-section .profile-section-heading p {
  width: 100%;
}
.profile-billing-section .profile-section-actions {
  justify-content: flex-start;
  width: 100%;
}
.profile-billing-cancel-notice {
  align-items: center;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 12px;
  color: #8a5a0a;
  display: flex;
  gap: 10px;
  padding: 10px 12px;
}
.profile-billing-cancel-notice::before {
  background: #f5b938;
  border-radius: 999px;
  content: "";
  flex: 0 0 auto;
  height: 8px;
  width: 8px;
}
.profile-billing-cancel-notice[hidden] {
  display: none;
}
.profile-billing-cancel-notice p {
  color: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  margin: 0;
}
.profile-settings-section a:not(.profile-secondary-action) {
  color: #2f6f54;
  display: inline-flex;
  font-size: 14px;
  margin-top: 4px;
}
.profile-billing-meta {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}
.profile-billing-meta div {
  background: #f7f7f8;
  border: 1px solid rgba(226,227,230,.9);
  border-radius: 14px;
  min-width: 0;
  padding: 14px 16px;
}
.profile-billing-meta dt {
  color: #85878d;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 4px;
}
.profile-billing-meta dd {
  font-size: 14px;
  font-weight: 500;
  margin: 0;
  overflow-wrap: anywhere;
}
.profile-dialog-actions .profile-secondary-action,
.profile-dialog-actions .profile-outline-action,
.profile-outline-action {
  border-radius: 999px;
}
.profile-danger-row {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}
.profile-danger-row button {
  background: #fff;
  border: 1px solid #c6463e;
  border-radius: 999px;
  color: #c6463e;
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  font-weight: 550;
  height: 40px;
  padding: 0 18px;
}
.profile-builder-profile {
  align-items: start;
}
.profile-preview-card {
  align-items: center;
  display: grid;
  gap: 4px;
  justify-items: center;
  min-width: 210px;
  padding: 10px 0;
  text-align: center;
}
.profile-preview-card strong {
  font-size: 16px;
  font-weight: 550;
}
.profile-preview-card small {
  margin: 0;
  max-width: 210px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-verification-note {
  align-items: flex-start;
  background: #fff;
  border: 1px solid rgba(226,227,230,.9);
  border-radius: 16px;
  display: grid;
  gap: 12px;
  grid-template-columns: 28px minmax(0, 1fr);
  padding: 16px;
}
.profile-verification-note span {
  align-items: center;
  border: 1px solid rgba(150,153,161,.9);
  border-radius: 999px;
  color: #595b61;
  display: inline-flex;
  font-size: 14px;
  font-weight: 600;
  height: 24px;
  justify-content: center;
  width: 24px;
}
.profile-dialog-page {
  align-items: center;
  background:
    radial-gradient(rgba(23,23,25,.13) 1px, transparent 1px),
    #f7f7f5;
  background-size: 13px 13px, auto;
  display: grid;
  min-height: 100dvh;
  padding: 24px;
}
.profile-dialog-page .profile-modal {
  background: transparent;
  backdrop-filter: none;
  inset: auto;
  padding: 0;
  position: relative;
  width: 100%;
}
.profile-dialog-page .profile-dialog {
  box-shadow: 0 28px 80px rgba(18,18,20,.15);
  margin: 0 auto;
}
.upgrade-modal {
  z-index: 80;
}
.billing-result-modal {
  z-index: 85;
}
.upgrade-dialog {
  border-radius: 22px;
  max-height: min(820px, calc(100dvh - 48px));
  overflow: auto;
  padding: 36px;
  position: relative;
  width: min(860px, calc(100vw - 48px));
}
.billing-result-dialog {
  border-radius: 22px;
  display: grid;
  gap: 16px;
  justify-items: center;
  max-height: min(760px, calc(100dvh - 48px));
  overflow: auto;
  padding: 34px;
  position: relative;
  text-align: center;
  width: min(480px, calc(100vw - 48px));
}
.upgrade-dialog-close {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: #777980;
  cursor: pointer;
  display: inline-flex;
  height: 38px;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: 18px;
  top: 18px;
  width: 38px;
}
.upgrade-dialog-close:hover,
.upgrade-dialog-close:focus-visible {
  background: #f2f2f3;
  color: #202124;
  outline: 0;
}
.billing-result-icon {
  align-items: center;
  background: #ecfdf3;
  border: 1px solid rgba(18,183,106,.24);
  border-radius: 999px;
  color: var(--accent-green-dark);
  display: inline-flex;
  height: 56px;
  justify-content: center;
  width: 56px;
}
.billing-result-icon svg {
  fill: none;
  height: 28px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.4;
  width: 28px;
}
.billing-result-modal[data-billing-result-state="cancel"] .billing-result-icon {
  background: #f4f4f5;
  border-color: rgba(120,122,130,.2);
  color: #686a71;
}
.billing-result-modal[data-billing-result-state="failed"] .billing-result-icon {
  background: #fff1f0;
  border-color: rgba(220,38,38,.22);
  color: #b42318;
}
.billing-result-dialog h1 {
  font-size: 34px;
  font-weight: 560;
  letter-spacing: 0;
  line-height: 1.04;
  margin: 0;
}
.billing-result-dialog p:not(.panel-label) {
  color: #60626a;
  font-size: 15px;
  line-height: 1.5;
  margin: 0;
  max-width: 360px;
}
.billing-result-status-card {
  background: #f7f7f8;
  border: 1px solid rgba(224,225,229,.92);
  border-radius: 16px;
  display: grid;
  gap: 5px;
  margin-top: 6px;
  padding: 18px;
  width: 100%;
}
.billing-result-status-card strong {
  font-size: 18px;
  font-weight: 650;
}
.billing-result-status-card span {
  color: #6f7077;
  font-size: 14px;
}
.billing-result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 4px;
  width: 100%;
}
.billing-result-actions .btn {
  border-radius: 999px;
  min-height: 44px;
}
.upgrade-dialog-header {
  align-items: center;
  display: grid;
  gap: 20px;
  justify-items: center;
  margin-bottom: 28px;
  text-align: center;
}
.upgrade-dialog h1 {
  font-size: 34px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.1;
  margin: 0;
}
.upgrade-plan-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 auto;
  max-width: 760px;
}
.upgrade-plan-card {
  border: 1px solid rgba(224,225,229,.92);
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-height: 500px;
  min-width: 0;
  padding: 26px 24px;
}
.upgrade-plan-card.highlighted {
  background: linear-gradient(180deg, rgba(232,249,239,.88), rgba(255,255,255,.96));
  border-color: rgba(18,183,106,.72);
  box-shadow: 0 18px 48px rgba(18,183,106,.12);
}
.upgrade-plan-card[data-upgrade-availability="current"] {
  background: #f7f7f8;
  border-color: rgba(23,23,25,.24);
  box-shadow: none;
}
.upgrade-plan-card[data-upgrade-availability="unavailable"] {
  background: #fafafa;
  border-color: rgba(224,225,229,.7);
  box-shadow: none;
  opacity: .58;
}
.upgrade-plan-topline {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}
.upgrade-plan-topline span {
  background: #dcfce7;
  border: 1px solid rgba(18,183,106,.28);
  border-radius: 999px;
  color: #168654;
  font-size: 11px;
  font-weight: 700;
  padding: 6px 9px;
  text-transform: uppercase;
}
.upgrade-plan-card h2 {
  font-size: 32px;
  font-weight: 550;
  letter-spacing: 0;
  line-height: 1;
  margin: 0;
}
.upgrade-price {
  align-items: center;
  display: flex;
  gap: 6px;
}
.upgrade-price span {
  align-self: flex-start;
  color: #8a8c92;
  font-size: 22px;
  line-height: 1.25;
}
.upgrade-price strong {
  font-size: 48px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: .92;
}
.upgrade-price small {
  color: #6d6f76;
  font-size: 13px;
  line-height: 1.2;
  max-width: 62px;
}
.upgrade-plan-card p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.35;
  margin: 0;
}
.upgrade-plan-card .btn,
.upgrade-current-button {
  border-radius: 999px;
  font-size: 15px;
  height: 48px;
  margin-top: 14px;
  width: 100%;
}
.upgrade-plan-card.highlighted .btn {
  background: #12b76a;
  box-shadow: 0 16px 34px rgba(18,183,106,.2);
  color: #06140d;
}
.upgrade-plan-card[data-upgrade-availability="current"] .btn,
.upgrade-plan-card[data-upgrade-availability="unavailable"] .btn {
  background: #ececef;
  border-color: rgba(23,23,25,.08);
  box-shadow: none;
  color: #6d6f76;
  cursor: not-allowed;
}
.upgrade-current-button {
  background: #fff;
  border: 1px solid rgba(224,225,229,.92);
  color: #8a8c92;
}
.upgrade-plan-card ul {
  display: grid;
  gap: 14px;
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
}
.upgrade-plan-card li {
  color: #2f3035;
  display: grid;
  font-size: 14px;
  gap: 11px;
  grid-template-columns: 18px minmax(0, 1fr);
  line-height: 1.35;
}
.upgrade-plan-card li::before {
  color: #171719;
  content: "+";
  font-size: 15px;
  line-height: 1.1;
}
.upgrade-plan-card.highlighted li::before {
  color: #12b76a;
}
.analysis-result {
  grid-column: 1 / span 3;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  padding: 16px;
  color: var(--ink);
}
.analysis-result strong {
  display: block;
  text-transform: capitalize;
}
.analysis-result p {
  margin: 8px 0 12px;
  color: var(--muted);
  font-size: 14px;
}
.analysis-result dl {
  margin: 0;
  display: grid;
  gap: 8px;
}
.analysis-result dl div {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 10px;
}
.analysis-result dt {
  color: var(--muted);
  font-weight: 600;
}
.analysis-result dd {
  margin: 0;
  font-weight: 600;
}

.analysis-workspace {
  grid-template-columns: 60px 320px 1fr;
  background: #111112;
}
.analysis-workspace .icon-rail {
  background: #101011;
  border-right-color: rgba(255,255,255,.1);
}
.analysis-workspace .rail-logo,
.analysis-workspace .icon-rail button {
  color: #f4f4f4;
}
.analysis-workspace .rail-logo,
.analysis-workspace .icon-rail button:hover {
  background: rgba(255,255,255,.08);
}
.analysis-history-panel {
  background: #111112;
  color: #f4f4f4;
  border-right: 1px solid rgba(255,255,255,.12);
  padding: 24px;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.analysis-history-panel .full-width-action {
  width: 100%;
  border-radius: 9px;
  background: #22c77b;
  color: #07130d;
  box-shadow: 0 16px 34px rgba(34,199,123,.24);
}
.panel-label {
  margin: 28px 0 14px;
  color: #8d8f94;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.history-item {
  display: grid;
  gap: 4px;
  padding: 14px 0;
  color: #d8d8da;
}
.history-item strong { font-size: 16px; }
.history-item span { color: #8d8f94; font-size: 13px; }
.history-account {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #f4f4f4;
}
.history-account > span {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #1f8b5a;
  display: grid;
  place-items: center;
  font-weight: 700;
}
.history-account small { color: #8d8f94; display: block; margin-top: 2px; }
.analysis-page {
  background:
    linear-gradient(120deg, rgba(255,255,255,.04), transparent 32%),
    radial-gradient(circle at 82% 8%, rgba(34,199,123,.12), transparent 26%),
    #171718;
  min-width: 0;
  padding: 26px 36px 52px;
  color: #f6f6f7;
  overflow-x: hidden;
}
.analysis-empty-state {
  width: min(640px, 92%);
  margin: 18vh auto 0;
  text-align: center;
}
.analysis-empty-state h1 {
  margin: 0 0 24px;
  font-size: 48px;
  line-height: 1;
}
.analysis-board {
  width: min(1420px, 100%);
  margin: 0 auto;
}
.analysis-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}
.analysis-hero .panel-label { margin-top: 0; }
.analysis-hero h1 {
  max-width: 900px;
  font-size: clamp(42px, 4vw, 64px);
  line-height: .95;
  margin: 0;
  letter-spacing: 0;
}
.analysis-subtitle {
  color: #a9abb0;
  font-size: 18px;
  font-weight: 700;
  margin: 12px 0 0;
}
.analysis-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}
.analysis-meta-row span,
.mode-tabs {
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
  color: #c6c7ca;
  border-radius: 999px;
}
.analysis-meta-row span {
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 600;
}
.mode-tabs {
  display: flex;
  gap: 4px;
  padding: 5px;
  flex: 0 0 auto;
}
.mode-tabs span {
  padding: 10px 17px;
  border-radius: 999px;
  color: #8e9095;
  font-weight: 700;
  white-space: nowrap;
}
.mode-tabs span[data-active="true"] {
  background: #174f36;
  color: #eafff4;
  box-shadow: inset 0 0 0 1px rgba(34,199,123,.3);
}
.analysis-overview-grid {
  display: grid;
  grid-template-columns: minmax(320px, 1.15fr) minmax(300px, .85fr);
  gap: 18px;
  margin: 18px 0 24px;
}
.chart-inspection,
.bias-card,
.trade-plan-grid article,
.analysis-accordion,
.context-card,
.scenario-grid article,
.risk-disclaimer {
  background: rgba(8,8,9,.86);
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 20px 60px rgba(0,0,0,.28);
}
.chart-inspection {
  min-height: 360px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 18px;
}
.chart-inspection img {
  width: 100%;
  max-height: 430px;
  object-fit: contain;
  border-radius: 12px;
}
.chart-inspection div {
  color: #8d8f94;
  font-weight: 700;
}
.bias-card {
  border-radius: 18px;
  padding: 24px;
  display: grid;
  align-content: start;
  gap: 16px;
}
.bias-card > span {
  width: max-content;
  border-radius: 999px;
  padding: 7px 12px;
  color: #9ff0c0;
  background: rgba(34,199,123,.12);
  border: 1px solid rgba(34,199,123,.34);
  font-weight: 700;
  text-transform: capitalize;
}
.bias-card h2 {
  margin: 0;
  font-size: 32px;
}
.confidence-number {
  color: #fff;
  font-size: clamp(52px, 6vw, 88px);
  line-height: .9;
  letter-spacing: 0;
}
.bias-card p,
.mini-detail {
  margin: 0;
  color: #bebfc4;
  line-height: 1.55;
}
.mini-detail {
  border-top: 1px solid rgba(255,255,255,.1);
  padding-top: 14px;
}
.mini-detail summary {
  cursor: pointer;
  color: #e7e7e9;
  font-weight: 700;
}
.mini-detail p {
  margin-top: 12px;
}
.confidence-meter {
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  overflow: hidden;
}
.confidence-meter span {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #22c77b, #b6f19f);
}
.analysis-section-header {
  margin: 24px 0 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.analysis-section-header.top-section {
  margin-top: 8px;
}
.analysis-section-header h2 {
  margin: 0;
  font-size: 21px;
  letter-spacing: 0;
}
.trade-plan-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}
.trade-plan-grid article {
  border-radius: 6px;
  min-height: 148px;
  padding: 20px;
  position: relative;
  overflow: hidden;
}
.trade-plan-grid article::after {
  content: "";
  position: absolute;
  inset: auto 16px 14px 16px;
  height: 2px;
  border-radius: 999px;
  background: rgba(34,199,123,.36);
}
.trade-plan-grid .trade-card-type {
  background: linear-gradient(145deg, rgba(34,199,123,.18), rgba(8,8,9,.92));
}
.trade-plan-grid p,
.scenario-grid p,
.context-card span {
  color: #9a9ca2;
  font-size: 13px;
  font-weight: 700;
  margin: 0 0 12px;
  text-transform: uppercase;
}
.trade-plan-grid strong {
  color: #fff;
  display: block;
  font-size: clamp(32px, 3.1vw, 52px);
  line-height: .94;
  letter-spacing: 0;
  overflow-wrap: normal;
}
.trade-plan-grid article:first-child strong {
  font-size: clamp(38px, 3.8vw, 62px);
}
.trade-plan-grid small {
  display: block;
  margin-top: 12px;
  color: #9fa1a6;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.28;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.accordion-stack {
  display: grid;
  gap: 14px;
}
.analysis-accordion {
  border-radius: 4px;
  padding: 0;
  color: #e7e7e9;
  border-top: 1px solid rgba(255,255,255,.15);
}
.analysis-accordion summary {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 58px;
  padding: 0 22px;
  list-style: none;
}
.analysis-accordion summary::-webkit-details-marker { display: none; }
.analysis-accordion summary span {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  border: 1px solid rgba(34,199,123,.45);
  color: #34d58b;
  display: grid;
  place-items: center;
}
.analysis-accordion > div,
.analysis-accordion > ul {
  margin: 0;
  padding: 0 24px 24px 70px;
  color: #c5c6ca;
  line-height: 1.55;
}
.analysis-accordion.compact > div {
  padding: 0 18px 18px 58px;
}
.analysis-accordion p {
  margin: 0 0 12px;
}
.analysis-accordion ul {
  display: grid;
  gap: 10px;
}
.dual-list,
.scenario-grid,
.context-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.dual-list h3 {
  margin: 0 0 12px;
  color: #fff;
  font-size: 16px;
}
.scenario-grid article,
.context-card {
  border-radius: 8px;
  padding: 20px;
}
.scenario-grid strong {
  color: #f3f3f4;
  line-height: 1.45;
}
.context-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.analysis-accordion .context-card-grid {
  grid-template-columns: repeat(3, minmax(220px, 1fr));
}
.context-card strong {
  display: block;
  color: #fff;
  margin-bottom: 10px;
}
.context-card p {
  color: #bfc0c5;
  line-height: 1.5;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.risk-disclaimer {
  margin-top: 14px;
  border-radius: 8px;
  padding: 14px 16px;
  color: #c9cacf;
  font-size: 13px;
  line-height: 1.4;
}

.result-site-header { background: #fff; }
.result-workspace {
  background: #f7f7f5;
}
.result-workspace.dashboard-studio {
  background: #f7f7f5;
  overflow-x: clip;
}
.result-workspace .chat-sidebar {
  position: sticky;
  top: 16px;
}
.result-workspace .icon-rail,
.result-workspace .folders-panel {
  background: #fff;
}
.result-workspace .rail-logo,
.result-workspace .icon-rail button,
.result-workspace .icon-rail a:not(.rail-logo) {
  color: var(--ink);
}
.result-folders .wide-action {
  align-items: center;
  display: flex;
  justify-content: center;
}
.result-history-summary {
  border-top: 1px solid var(--line);
  margin-top: 22px;
  padding-top: 18px;
}
.result-history-summary .panel-label {
  margin: 0 0 12px;
}
.result-history-summary strong {
  display: block;
  font-size: 15px;
  line-height: 1.3;
}
.result-history-summary .analysis-history-copy > span {
  color: var(--muted);
  display: block;
  font-size: 13px;
  margin-top: 5px;
}
.analysis-history-skeleton {
  align-content: start;
  display: grid;
  flex: 1 1 auto;
  gap: 8px;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  padding: 4px 0 12px;
}
.analysis-history-skeleton[hidden] {
  display: none;
}
.analysis-history-skeleton-item {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: 28px minmax(0, 1fr);
  min-height: 46px;
  padding: 0 4px;
}
.analysis-history-skeleton-mark,
.analysis-history-skeleton-line {
  animation: skeleton-shimmer 1.15s ease-in-out infinite;
  background: linear-gradient(90deg, rgba(255,255,255,.46), rgba(255,255,255,.96), rgba(255,255,255,.46));
  background-size: 220% 100%;
}
.analysis-history-skeleton-mark {
  border-radius: 9px;
  display: block;
  height: 28px;
  width: 28px;
}
.analysis-history-skeleton-copy {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.analysis-history-skeleton-line {
  border-radius: 999px;
  display: block;
  height: 12px;
  width: 86%;
}
.analysis-history-skeleton-line.title {
  height: 14px;
  width: 82%;
}
.analysis-history-skeleton-line.description {
  height: 13px;
  width: 58%;
}
.analysis-history-skeleton-line.medium {
  width: 72%;
}
.analysis-history-skeleton-line.short {
  width: 52%;
}
.analysis-history-skeleton-line.tiny {
  width: 38%;
}
.result-project-panel {
  min-width: 0;
}
.result-workspace .result-project-panel {
  background: transparent;
}
.result-topbar {
  background: rgba(247,247,245,.82);
  border-bottom: 1px solid rgba(218,219,223,.72);
  backdrop-filter: blur(16px);
}
.dashboard-topbar.result-topbar {
  height: auto;
  min-height: 56px;
  padding: 12px 16px;
}
.result-screenshot-button svg,
.result-topbar .topbar-link svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}
.result-page {
  min-height: calc(100vh - 118px);
  color: var(--ink);
  margin: 0 auto;
  padding: 48px 28px 72px;
  width: min(1440px, 100%);
}
.result-empty-state {
  width: min(720px, 92vw);
  margin: 12vh auto 0;
}
.result-loading-state {
  display: grid;
  gap: 16px;
  margin: 0 auto;
  width: min(1320px, 100%);
}
.result-loading-state[hidden] {
  display: none;
}
.result-skeleton-card,
.result-skeleton-accordion {
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(218,219,223,.72);
  border-radius: 18px;
  box-shadow: 0 18px 48px rgba(18,18,20,.045);
  display: grid;
  gap: 16px;
  overflow: hidden;
  padding: 24px;
}
.result-skeleton-card {
  min-height: 290px;
}
.result-skeleton-accordion {
  min-height: 88px;
}
.result-skeleton-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 22px;
}
.result-skeleton-line {
  animation: skeleton-shimmer 1.15s ease-in-out infinite;
  background: linear-gradient(90deg, #ececef, #f8f8f9, #ececef);
  background-size: 220% 100%;
  border-radius: 999px;
  display: block;
  height: 16px;
}
.result-skeleton-line.title {
  height: 42px;
  width: min(460px, 80%);
}
.result-skeleton-line.medium {
  width: 62%;
}
.result-skeleton-line.short {
  width: 38%;
}
@keyframes skeleton-shimmer {
  0% {
    background-position: 120% 0;
  }
  100% {
    background-position: -120% 0;
  }
}
.result-board {
  width: min(1320px, 100%);
}
.result-hero {
  align-items: center;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 26px;
  text-align: left;
}
.result-hero-identity {
  align-items: center;
  display: flex;
  gap: 18px;
  min-width: 0;
}
.result-asset-mark {
  background: #151517;
  border: 1px solid rgba(18, 183, 106, .22);
  border-radius: 18px;
  box-shadow: 0 16px 36px rgba(18,18,20,.12), inset 0 0 0 1px rgba(255,255,255,.08);
  color: #fff;
  display: grid;
  flex: 0 0 68px;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 26px;
  font-weight: 700;
  height: 68px;
  line-height: 1;
  place-items: center;
  text-align: center;
  width: 68px;
}
.result-asset-mark[data-asset-market*="crypto"] {
  background: linear-gradient(145deg, #151517, #202023);
}
.result-asset-mark[data-asset-market*="commodity"] {
  background: linear-gradient(145deg, #151517, #234331);
}
.result-asset-mark[data-asset-code="bitcoin"] {
  background: linear-gradient(145deg, #fbbf24, #f7931a);
  border-color: rgba(180, 83, 9, .28);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.34), 0 18px 38px rgba(247,147,26,.2);
  color: #fff;
  font-size: 38px;
  font-weight: 800;
}
.result-asset-mark[data-asset-code="ethereum"] {
  background: linear-gradient(145deg, #627eea, #8a92b2);
  border-color: rgba(68, 89, 184, .28);
  color: #fff;
}
.result-asset-mark[data-asset-code="gold"] {
  background: linear-gradient(145deg, #facc15, #d97706);
  border-color: rgba(180, 83, 9, .28);
  color: #fff;
}
.result-asset-mark[data-asset-code="silver"] {
  background: linear-gradient(145deg, #f8fafc, #94a3b8);
  border-color: rgba(71, 85, 105, .22);
  color: #1f2937;
}
.result-hero .panel-label {
  color: #7a7b82;
  margin: 0 0 10px;
}
.result-hero h1 {
  max-width: 760px;
  margin: 0;
  color: var(--ink);
  font-size: clamp(46px, 4.7vw, 76px);
  line-height: .95;
  letter-spacing: 0;
  font-weight: 600;
}
.result-hero .analysis-subtitle {
  color: var(--muted);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  margin: 16px 0 0;
  max-width: 620px;
}
.result-hero-controls {
  align-items: flex-end;
  display: grid;
  gap: 14px;
  justify-items: end;
  padding-top: 6px;
}
.result-hero .analysis-meta-row {
  justify-content: flex-end;
  margin-top: 0;
}
.result-hero .analysis-meta-row span,
.result-mode-pill {
  background: #fff;
  border: 1px solid var(--line);
  color: #5f6067;
  box-shadow: 0 8px 22px rgba(18,18,20,.035);
}
.result-mode-pill {
  align-items: center;
  border-radius: 999px;
  color: var(--ink);
  display: inline-flex;
  font-size: 15px;
  font-weight: 700;
  gap: 9px;
  line-height: 1;
  padding: 13px 16px;
  white-space: nowrap;
}
.result-mode-pill::before {
  background: var(--ink);
  border-radius: 999px;
  content: "";
  flex: 0 0 7px;
  height: 7px;
  width: 7px;
}
.result-mode-pill[data-mode="scalper"],
.result-mode-pill[data-mode="day_trader"],
.result-mode-pill[data-mode="swing_trader"] {
  background: var(--ink);
  color: #fff;
}
.result-mode-pill[data-mode="scalper"]::before,
.result-mode-pill[data-mode="day_trader"]::before,
.result-mode-pill[data-mode="swing_trader"]::before {
  background: var(--accent-green);
}
.result-section-heading {
  align-items: end;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 14px;
}
.result-section-heading h2 {
  font-size: 24px;
  letter-spacing: 0;
  margin: 0;
}
.result-section-heading p {
  color: var(--muted);
  font-weight: 500;
  margin: 0;
}
.result-levels {
  display: grid;
  grid-template-columns: minmax(160px, 1.05fr) minmax(220px, 1.42fr) repeat(4, minmax(148px, 1fr));
  gap: 12px;
  margin-bottom: 24px;
}
.result-level-card,
.result-chart-card,
.result-bias-card,
.result-disclaimer {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 8px 26px rgba(18,18,20,.05);
}
.result-level-card {
  min-height: 178px;
  padding: 22px 22px 20px;
  display: grid;
  grid-template-rows: auto minmax(48px, auto) 1fr;
  align-content: start;
  position: relative;
  overflow: hidden;
}
.result-entry-level {
  padding-left: 24px;
  padding-right: 24px;
}
.result-level-card::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 14px;
  height: 2px;
  border-radius: 999px;
  background: #d9d9dd;
}
.result-level-action {
  background:
    radial-gradient(circle at 18% 0%, rgba(245,247,248,.12), transparent 38%),
    linear-gradient(180deg, #151517, #101113);
  border-color: rgba(23,23,25,.18);
  color: #fff;
}
.result-level-action[data-trade-side="buy"] {
  background:
    radial-gradient(circle at 18% 0%, rgba(18,183,106,.34), transparent 42%),
    linear-gradient(160deg, #064e3b, #101916 64%, #111214);
  border-color: rgba(18,183,106,.34);
}
.result-level-action[data-trade-side="sell"] {
  background:
    radial-gradient(circle at 18% 0%, rgba(248,113,113,.34), transparent 42%),
    linear-gradient(160deg, #7f1d1d, #1b1112 64%, #111214);
  border-color: rgba(248,113,113,.34);
}
.result-level-action::after {
  background: rgba(255,255,255,.32);
}
.result-level-card p {
  color: #7b7c83;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .02em;
  margin: 0 0 10px;
  text-transform: uppercase;
}
.result-level-action p,
.result-level-action small {
  color: rgba(255,255,255,.72);
}
.result-level-card strong {
  color: var(--ink);
  display: block;
  font-size: clamp(25px, 1.72vw, 32px);
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.result-level-action strong {
  color: #fff;
}
.result-level-card strong[data-level-size="compact"] {
  font-size: clamp(22px, 1.38vw, 27px);
  line-height: 1.04;
}
.result-level-card strong[data-level-size="range"] {
  display: grid;
  font-size: clamp(22px, 1.45vw, 30px);
  gap: 7px;
  line-height: 1.04;
}
.result-level-card strong[data-level-size="range"] span {
  display: block;
  white-space: nowrap;
}
.result-entry-level strong[data-level-size="range"] {
  font-size: clamp(22px, 1.6vw, 32px);
}
.result-level-card strong[data-level-size="range"] em {
  border: 1px solid var(--line);
  border-radius: 999px;
  color: #6f7077;
  display: inline-flex;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  justify-self: start;
  line-height: 1;
  padding: 5px 8px;
  text-transform: none;
}
.result-level-card small {
  color: var(--muted);
  display: -webkit-box;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.25;
  margin-top: 12px;
  padding-bottom: 18px;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.result-chart-summary-grid {
  display: grid;
  grid-template-columns: minmax(520px, 1.45fr) minmax(310px, .55fr);
  gap: 18px;
  margin-bottom: 24px;
}
.result-live-chart-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 8px 26px rgba(18,18,20,.05);
  min-height: 520px;
  overflow: hidden;
}
.tradingview-widget-container {
  height: 100%;
  min-height: 520px;
  position: relative;
}
.tradingview-widget-container__widget {
  height: 100%;
  min-height: 520px;
}
.result-live-chart-empty {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-weight: 700;
  inset: 0;
  justify-content: center;
  padding: 24px;
  position: absolute;
  text-align: center;
}
.result-bias-card {
  padding: 28px;
  display: grid;
  align-content: start;
  gap: 16px;
}
.result-bias-card > span {
  width: max-content;
  border: 1px solid var(--line);
  background: #f7f7f8;
  border-radius: 999px;
  color: #343438;
  font-weight: 700;
  padding: 7px 12px;
}
.result-bias-card h2 {
  margin: 0;
  font-size: 30px;
}
.result-bias-card .confidence-number {
  color: var(--ink);
  font-size: clamp(58px, 7vw, 106px);
}
.result-bias-card .confidence-meter {
  background: #eeeeef;
}
.result-bias-card .confidence-meter span {
  background: #151517;
}
.result-bias-card .mini-detail {
  border-top: 1px solid var(--line);
  color: var(--muted);
}
.result-bias-card .mini-detail h3 {
  color: var(--ink);
  font-size: 15px;
  margin: 0 0 10px;
}
.result-accordion-stack {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}
.result-accordion {
  background: rgba(255,255,255,.86);
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 8px 26px rgba(18,18,20,.04);
  overflow: hidden;
}
.result-accordion summary {
  align-items: center;
  color: var(--ink);
  cursor: pointer;
  display: flex;
  gap: 14px;
  list-style: none;
  min-height: 64px;
  padding: 0 20px;
  transition: background-color .18s ease;
}
.result-accordion summary::-webkit-details-marker {
  display: none;
}
.result-accordion summary:hover,
.result-accordion summary:focus-visible {
  background: rgba(244,245,246,.82);
  outline: 0;
}
.result-accordion[open] summary {
  margin-bottom: 16px;
}
.result-accordion summary span {
  align-items: center;
  background: #f0f1f2;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: #71727a;
  display: inline-flex;
  flex: 0 0 34px;
  font-size: 11px;
  font-weight: 800;
  height: 34px;
  justify-content: center;
}
.result-accordion summary strong {
  font-size: 17px;
  line-height: 1.2;
}
.result-accordion summary::after {
  align-items: center;
  background: #151517;
  border-radius: 999px;
  color: #fff;
  content: "+";
  display: inline-flex;
  flex: 0 0 28px;
  font-size: 18px;
  font-weight: 600;
  height: 28px;
  justify-content: center;
  line-height: 1;
  margin-left: auto;
  width: 28px;
}
.result-accordion[open] summary::after {
  content: "-";
}
.result-accordion-body {
  color: var(--muted);
  line-height: 1.55;
  margin: 0;
  padding: 0 22px 22px 68px;
}
.result-accordion-body p {
  margin: 0 0 14px;
}
.result-accordion-body p:last-child {
  margin-bottom: 0;
}
.result-accordion-body ul,
ul.result-accordion-body {
  display: grid;
  gap: 9px;
  list-style-position: outside;
  padding-left: 18px;
}
ul.result-accordion-body {
  padding-left: 88px;
}
.result-accordion-body.dual-list,
.result-accordion-body.scenario-grid,
.result-accordion-body.context-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.result-accordion h3,
.result-accordion .scenario-grid strong,
.result-accordion .context-card strong {
  color: var(--ink);
}
.result-accordion h3 {
  font-size: 16px;
  margin: 0 0 12px;
}
.result-accordion .scenario-grid article,
.result-accordion .context-card {
  border: 1px solid var(--line);
  background: #fbfbfc;
  color: var(--muted);
  box-shadow: none;
  border-radius: 8px;
  padding: 18px;
}
.result-accordion .scenario-grid p,
.result-accordion .context-card span {
  color: #7b7c83;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
  margin: 0 0 16px;
  text-transform: uppercase;
}
.result-accordion .context-card p {
  color: var(--muted);
  -webkit-line-clamp: none;
}
.result-news-section {
  border-top: 1px solid var(--line);
  margin-top: 24px;
  padding-top: 24px;
}
.news-card-grid {
  display: grid;
  gap: 14px;
}
.news-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 17, 20, .05);
  color: var(--muted);
  display: grid;
  grid-template-columns: 1fr;
  overflow: hidden;
  position: relative;
}
.news-card::before {
  background: #d7d9de;
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  top: 0;
  width: 4px;
}
.news-card[data-impact="high"]::before {
  background: #f97316;
}
.news-card[data-impact="medium"]::before {
  background: #facc15;
}
.news-card[data-impact="low"]::before {
  background: #12b76a;
}
.empty-news-card {
  min-height: 0;
}
.empty-news-card::before {
  display: none;
}
.empty-news-card .news-card-body {
  gap: 8px;
  padding: 22px;
}
.empty-news-card strong {
  font-size: 18px;
}
.news-card-body {
  min-width: 0;
  padding: 16px 18px 16px 20px;
  display: grid;
  gap: 8px;
  align-content: start;
}
.news-card-meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.news-impact-pill,
.news-effect-pill {
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}
.news-impact-pill {
  background: #f0f0f2;
  color: #55575e;
}
.news-impact-pill.impact-high {
  background: #ffe8d6;
  color: #9a3d00;
}
.news-impact-pill.impact-medium {
  background: #fff5c7;
  color: #745b00;
}
.news-impact-pill.impact-low {
  background: #e9f4ef;
  color: #1f6a47;
}
.news-effect-pill.effect-bullish {
  background: #e6f7ee;
  color: #147346;
}
.news-effect-pill.effect-bearish {
  background: #ffe9e6;
  color: #9f2f23;
}
.news-effect-pill.effect-mixed {
  background: #ece8ff;
  color: #5142a7;
}
.news-effect-pill.effect-neutral {
  background: #ececef;
  color: #55575e;
}
.news-card strong,
.news-card strong a {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.25;
  text-decoration: none;
}
.news-card strong a:hover {
  text-decoration: underline;
}
.news-card small {
  color: #777982;
  font-size: 12px;
}
.news-card p,
.news-card em {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
  margin: 0;
}
.news-card p {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-card em {
  font-style: normal;
}
.result-disclaimer {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
  margin-top: 18px;
  padding: 16px 18px;
}

.auth-layout { min-height: 100vh; display: grid; grid-template-columns: minmax(520px, 1fr) minmax(520px, 1fr); }
.auth-form-panel { padding: 48px 72px; display: flex; flex-direction: column; }
.auth-form-panel .brand { font-size: 26px; }
.auth-card { width: min(462px, 100%); margin: 72px auto 0; }
.auth-card h1 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0;
  text-align: center;
}
.auth-card > p {
  color: var(--muted);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.4;
  margin: 12px 0 30px;
  text-align: center;
}
.oauth-button {
  align-items: center;
  width: 100%;
  height: 48px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  gap: 10px;
  justify-content: center;
  font-weight: 600;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.oauth-button:hover,
.oauth-button:focus-visible {
  border-color: #cfd0d4;
  box-shadow: 0 8px 22px rgba(18,18,20,.06);
  transform: translateY(-1px);
}
.oauth-button:disabled,
.oauth-button[data-loading="true"] {
  cursor: wait;
  opacity: .74;
  transform: none;
}
.oauth-button:disabled:hover,
.oauth-button[data-loading="true"]:hover {
  border-color: var(--line);
  box-shadow: none;
}
.oauth-button img,
.oauth-button .google-mark {
  display: block;
  height: 20px;
  width: 20px;
}
.oauth-button span {
  color: var(--ink);
  font-weight: 600;
}
.oauth-spinner {
  width: 18px;
  height: 18px;
  border: 2px solid rgba(24,24,27,.16);
  border-top-color: var(--ink);
  border-radius: 999px;
  display: block;
  flex: 0 0 auto;
  animation: oauth-spinner-rotate .72s linear infinite;
}
.button-loading-label {
  visibility: hidden;
}
.button-loading-spinner {
  animation: oauth-spinner-rotate .72s linear infinite;
  border: 2px solid rgba(24,24,27,.18);
  border-radius: 999px;
  border-top-color: currentColor;
  display: block;
  height: 18px;
  left: 50%;
  margin: -9px 0 0 -9px;
  position: absolute;
  top: 50%;
  width: 18px;
}
button[data-loading-variant="spinner"],
a[data-loading-variant="spinner"] {
  cursor: wait;
  position: relative;
}
.auth-inline-error {
  animation: auth-inline-error-in .22s ease both;
  border: 1px solid rgba(185,28,28,.24);
  border-radius: 8px;
  color: #b42318;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.42;
  margin: 12px 0 0;
  padding: 11px 14px;
  text-align: center;
}
.auth-form-status {
  border: 1px solid rgba(18, 183, 106, .28);
  border-radius: 8px;
  color: #087347;
  font-size: 14px;
  line-height: 1.42;
  margin: 14px 0 0;
  padding: 11px 14px;
  text-align: center;
}
.auth-form-status-error {
  border-color: rgba(185,28,28,.24);
  color: #b42318;
}
.auth-step-note {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
  margin: 0;
  text-align: center;
}
.auth-step-note strong {
  color: var(--ink);
  font-weight: 600;
}
.auth-link-button {
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--muted);
  cursor: pointer;
  display: block;
  font: inherit;
  margin: 14px auto 0;
  padding: 0;
  text-decoration: underline;
}
.auth-link-button:hover {
  color: var(--ink);
}
.turnstile-field {
  min-height: 65px;
}
@keyframes oauth-spinner-rotate {
  to { transform: rotate(360deg); }
}
@keyframes auth-inline-error-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.divider {
  display: flex;
  align-items: center;
  gap: 28px;
  color: var(--muted);
  font-size: 15px;
  font-weight: 400;
  margin: 34px 0;
}
.divider::before, .divider::after { content: ""; height: 1px; background: var(--line); flex: 1; }
.auth-form { display: grid; gap: 22px; }
.auth-form-stacked { margin-top: 24px; }
.auth-form label {
  color: var(--ink);
  display: grid;
  gap: 8px;
  font-weight: 500;
}
.auth-form input {
  height: 48px;
  border: 1px solid var(--line);
  background: #f7f7f8;
  border-radius: 8px;
  color: var(--ink);
  font-weight: 400;
  padding: 0 16px;
}
.auth-form input::placeholder {
  color: #b0b1b7;
  font-weight: 400;
  opacity: 1;
}
.auth-form input:-webkit-autofill,
.auth-form input:-webkit-autofill:hover,
.auth-form input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #f7f7f8 inset;
  -webkit-text-fill-color: #767780;
  caret-color: var(--ink);
  transition: background-color 9999s ease-out;
}
.auth-form input:focus {
  background: #fff;
  border-color: #b9babf;
  box-shadow: 0 0 0 4px rgba(23,23,25,.06);
  outline: 0;
}
.requirements {
  color: var(--muted);
  display: grid;
  gap: 10px;
}
.requirements b {
  color: var(--ink);
  font-weight: 500;
}
.requirements ul {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.requirements li {
  align-items: center;
  color: #7c7d84;
  display: grid;
  font-size: 14px;
  font-weight: 400;
  gap: 8px;
  grid-template-columns: 18px 1fr;
  line-height: 1.3;
  transition: color .18s ease, transform .18s ease;
}
.requirement-check {
  color: #a7a8ad;
  font-weight: 500;
  line-height: 1;
  transition: color .18s ease, transform .18s ease, text-shadow .18s ease;
}
.requirements li.is-met {
  color: #16834d;
}
.requirements li.is-met .requirement-check {
  color: #17a765;
  text-shadow: 0 0 14px rgba(23,167,101,.26);
  transform: scale(1.08);
}
.full-width { width: 100%; height: 52px; margin-top: 18px; }
.auth-switch, .legal { color: var(--muted); text-align: center; }
.auth-switch.compact { font-size: 14px; margin: 14px 0 0; }
.legal { font-size: 12px; margin-top: 96px; }
.auth-switch a, .legal a { text-decoration: underline; }
.auth-art {
  background: #fbfbfc;
  border-left: 1px solid var(--line);
  display: grid;
  align-content: center;
  justify-items: center;
  padding: 80px;
}
.auth-preview {
  width: min(560px, 100%);
  display: grid;
  gap: 16px;
}
.auth-carousel {
  position: relative;
}
.auth-carousel-viewport {
  min-height: 680px;
  position: relative;
}
.auth-carousel-slide {
  align-content: start;
  animation: auth-slide-cycle 10s ease-in-out infinite;
  contain: layout paint;
  display: grid;
  gap: 16px;
  inset: 0;
  opacity: 0;
  position: absolute;
  transform: translate3d(18px, 0, 0);
  width: 100%;
}
.auth-carousel-slide:first-child {
  opacity: 1;
}
.auth-carousel-slide:nth-child(2) {
  animation-delay: -5s;
}
.auth-carousel-dots {
  align-items: center;
  display: flex;
  gap: 7px;
  justify-content: center;
  margin-top: 28px;
}
.auth-carousel-dots span {
  animation: auth-dot-cycle 10s ease-in-out infinite;
  background: #d9dadd;
  border-radius: 999px;
  display: block;
  height: 7px;
  width: 7px;
}
.auth-carousel-dots span:nth-child(2) {
  animation-delay: -5s;
}
.auth-preview-header {
  align-items: center;
  display: grid;
  gap: 16px;
  grid-template-columns: 54px 1fr;
  margin-bottom: 4px;
}
.auth-preview-mark {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: none;
  display: flex;
  height: 54px;
  justify-content: center;
  width: 54px;
}
.auth-preview-mark img {
  display: block;
  height: 38px;
  object-fit: contain;
  width: 28px;
}
.auth-preview-header p,
.auth-flow-list p,
.auth-signal-grid span {
  color: var(--muted);
  margin: 0;
}
.auth-preview-header p,
.auth-signal-grid span {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
}
.auth-preview-header h2 {
  font-size: 26px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.08;
  margin: 4px 0 0;
}
.auth-chart-panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: none;
  display: grid;
  gap: 14px;
  padding: 20px;
}
.auth-chart-meta {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.auth-chart-meta span {
  background: #f2f2f3;
  border: 1px solid #e3e3e6;
  border-radius: 999px;
  color: #585a61;
  font-size: 12px;
  font-weight: 500;
  padding: 8px 10px;
  text-align: center;
}
.auth-chart-panel svg {
  background:
    linear-gradient(90deg, rgba(0,0,0,.025) 1px, transparent 1px),
    linear-gradient(rgba(0,0,0,.025) 1px, transparent 1px),
    #fff;
  background-size: 28px 28px;
  border: 1px solid var(--line);
  border-radius: 14px;
  display: block;
  height: auto;
  width: 100%;
}
.auth-signal-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.auth-signal-grid article {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: none;
  display: grid;
  gap: 8px;
  padding: 16px;
}
.auth-signal-grid strong {
  color: var(--ink);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.05;
}
.auth-flow-list {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  display: grid;
  gap: 10px;
  padding: 18px;
}
.auth-flow-list p {
  align-items: center;
  display: grid;
  font-size: 14px;
  gap: 10px;
  grid-template-columns: 28px 1fr;
  line-height: 1.35;
}
.auth-flow-list span {
  background: var(--ink);
  border-radius: 50%;
  color: #fff;
  display: grid;
  font-size: 12px;
  font-weight: 600;
  height: 28px;
  place-items: center;
  width: 28px;
}
.auth-flow-list.compact {
  padding: 16px;
}
.auth-quality-panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: none;
  display: grid;
  gap: 16px;
  padding: 20px;
}
.quality-screenshot {
  background:
    linear-gradient(90deg, rgba(0,0,0,.025) 1px, transparent 1px),
    linear-gradient(rgba(0,0,0,.025) 1px, transparent 1px),
    #fff;
  background-size: 28px 28px;
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
}
.quality-screenshot .mini-window-top {
  background: linear-gradient(90deg, #e1e2e5 8px, transparent 8px 18px, #e1e2e5 18px 26px, transparent 26px 36px, #e1e2e5 36px 44px, transparent 44px);
  border-bottom: 1px solid #eeeeef;
  height: 30px;
}
.quality-screenshot svg {
  display: block;
  width: 100%;
}
.quality-check-list {
  display: grid;
  gap: 10px;
}
.quality-check-list p {
  align-items: center;
  color: #5f6066;
  display: grid;
  font-size: 14px;
  font-weight: 500;
  gap: 10px;
  grid-template-columns: 18px 1fr;
  margin: 0;
}
.auth-output-anatomy span,
.auth-mode-comparison span {
  color: #82838a;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}
.auth-output-anatomy p,
.auth-mode-comparison p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.38;
  margin: 0;
}
.quality-check-list span {
  background: #171719;
  border-radius: 50%;
  display: block;
  height: 8px;
  justify-self: center;
  width: 8px;
}
.auth-output-anatomy {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: none;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 18px;
}
.auth-output-anatomy article {
  background: #fff;
  border: 1px solid #e6e6e9;
  border-radius: 16px;
  display: grid;
  gap: 8px;
  min-height: 116px;
  padding: 16px;
}
.auth-output-anatomy article.primary,
.auth-output-anatomy article.wide {
  grid-column: 1 / -1;
}
.auth-output-anatomy article.primary {
  background: #171719;
  border-color: #171719;
  min-height: 132px;
}
.auth-output-anatomy article.primary span,
.auth-output-anatomy article.primary strong {
  color: #fff;
}
.auth-output-anatomy article.primary p {
  color: rgba(255,255,255,.68);
}
.auth-output-anatomy strong {
  color: var(--ink);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.08;
}
.auth-mode-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.auth-mode-comparison {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: none;
  display: grid;
  gap: 12px;
  padding: 18px;
}
.auth-mode-grid article {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: none;
  display: grid;
  gap: 8px;
  padding: 16px;
}
.auth-mode-comparison article {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  display: grid;
  gap: 14px;
  grid-template-columns: 88px 1fr 64px;
  align-items: center;
  padding: 16px;
}
.auth-mode-grid article.active {
  background: #171719;
  border-color: #171719;
}
.auth-mode-comparison article.active {
  background: #171719;
  border-color: #171719;
}
.auth-mode-grid span,
.auth-output-panel span {
  color: #82838a;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}
.auth-mode-grid strong,
.auth-output-panel strong {
  color: var(--ink);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.05;
}
.auth-mode-comparison strong {
  color: var(--ink);
  display: block;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.12;
  margin-bottom: 4px;
}
.auth-mode-grid p,
.auth-output-panel p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
  margin: 0;
}
.auth-mode-comparison em {
  border: 1px solid #dedee2;
  border-radius: 999px;
  color: #6d6e75;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  padding: 7px 9px;
  text-align: center;
}
.auth-mode-grid article.active span,
.auth-mode-grid article.active strong,
.auth-mode-grid article.active p,
.auth-mode-comparison article.active span,
.auth-mode-comparison article.active strong,
.auth-mode-comparison article.active p {
  color: #fff;
}
.auth-mode-comparison article.active em {
  border-color: rgba(255,255,255,.2);
  color: rgba(255,255,255,.74);
}
.auth-context-strip {
  align-content: center;
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}
.auth-context-strip span {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: #62636a;
  display: inline-flex;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  min-height: 34px;
  padding: 9px 12px;
  white-space: nowrap;
}
.auth-output-panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: none;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 20px;
}
.auth-output-panel p {
  border-top: 1px solid var(--line);
  grid-column: 1 / -1;
  padding-top: 14px;
}
@keyframes auth-slide-cycle {
  0%,
  42% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  50%,
  92% {
    opacity: 0;
    transform: translate3d(-18px, 0, 0);
  }
  92.01% {
    opacity: 0;
    transform: translate3d(18px, 0, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes auth-dot-cycle {
  0%,
  42% {
    background: var(--auth-dot-active, #171719);
    opacity: 1;
    width: 24px;
  }
  50%,
  100% {
    background: var(--auth-dot-inactive, #d9dadd);
    opacity: .72;
    width: 7px;
  }
}
.simple-page {
  width: min(980px, 92vw);
  margin: 96px auto;
}
.simple-page h1 { text-align: center; font-size: 54px; margin-bottom: 44px; }
.legal-page {
  max-width: 860px;
}
.legal-hero {
  border-bottom: 1px solid var(--line);
  margin-bottom: 34px;
  padding-bottom: 28px;
  text-align: center;
}
.legal-hero h1 {
  margin: 8px 0 12px;
}
.legal-hero p:not(.panel-label) {
  color: var(--muted);
  margin: 0;
}
.legal-section {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 12px 34px rgba(18,18,20,.045);
  margin-bottom: 16px;
  padding: 28px;
}
.legal-section h2 {
  font-size: 22px;
  margin: 0 0 12px;
}
.legal-section p,
.legal-section li {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.62;
}
.legal-section p {
  margin: 0 0 12px;
}
.legal-section p:last-child {
  margin-bottom: 0;
}
.legal-section a {
  color: var(--ink);
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pricing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.pricing-grid h2 { font-size: 54px; margin: 20px 0 8px; }
.pricing-page {
  max-width: 760px;
}
.pricing-intro {
  margin: 0 auto 34px;
  max-width: 650px;
  text-align: center;
}
.pricing-intro h1 {
  margin: 8px 0 12px;
}
.pricing-intro p:not(.panel-label) {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.5;
  margin: 0;
}
.pricing-plan-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 18px 48px rgba(18,18,20,.055);
  display: grid;
  gap: 18px;
  padding: 30px;
}
.pricing-plan-card.highlighted {
  box-shadow: 0 24px 70px rgba(18,18,20,.08);
}
.pricing-plan-card h2 {
  margin: 10px 0 0;
}
.pricing-plan-card p {
  margin: 0;
}
.pricing-plan-card ul {
  color: var(--muted);
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 4px 0 8px;
  padding: 0;
}
.pricing-plan-card li {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: 8px 1fr;
}
.pricing-plan-card li::before {
  background: var(--ink);
  border-radius: 999px;
  content: "";
  height: 5px;
  width: 5px;
}
.pricing-plan-card .btn {
  width: 100%;
}

.auth-payment-note {
  display: grid;
  gap: 5px;
  margin: 22px 0;
  padding: 15px 18px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #f8f8f9;
  color: var(--text);
}

.auth-payment-note span {
  font-weight: 600;
}

.auth-payment-note small {
  color: var(--muted);
  font-weight: 400;
}
.billing-alert {
  align-items: center;
  animation: billing-alert-in .28s cubic-bezier(.22, 1, .36, 1);
  background: #fff7f7;
  border: 1px solid #f3aaa5;
  border-radius: 14px;
  color: #b42318;
  display: block;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  margin: 0 auto 22px;
  max-width: 980px;
  padding: 15px 52px 15px 18px;
}
.billing-alert[hidden] {
  display: none;
}
.billing-result-page {
  align-items: center;
  display: grid;
  min-height: calc(100dvh - 160px);
}
.billing-result-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(18,18,20,.075);
  display: grid;
  gap: 20px;
  margin: 0 auto;
  max-width: 680px;
  padding: 36px;
  text-align: center;
}
.billing-result-card h1 {
  font-size: 46px;
  line-height: 1;
  margin: 0;
}
.billing-result-card p {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.5;
  margin: 0;
}
.billing-result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}
.btn-light {
  background: #f0f0f1;
  color: var(--ink);
}
.billing-status-mini {
  background: #f7f7f8;
  border: 1px solid var(--line);
  border-radius: 14px;
  display: grid;
  gap: 6px;
  padding: 16px;
}
.billing-status-mini strong {
  font-size: 18px;
  font-weight: 600;
}
.billing-status-mini span {
  color: var(--muted);
}
@keyframes billing-alert-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
details { border-top: 1px solid var(--line); padding: 22px 0; }
summary { font-weight: 700; cursor: pointer; }

.public-dashboard-content .legal-page {
  max-width: 980px;
}
.public-dashboard-content .legal-hero {
  border-bottom: 0;
  margin-bottom: 8px;
  padding-bottom: 0;
  text-align: left;
}
.public-dashboard-content .legal-section,
.public-faq-list details {
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(199,201,207,.72);
  border-radius: 18px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.68), 0 14px 38px rgba(18,18,20,.055);
}
.public-dashboard-content .legal-section {
  padding: 28px;
}
.public-dashboard-content .pricing-page {
  max-width: 1040px;
}
.public-dashboard-content .pricing-intro {
  margin: 0 0 4px;
  max-width: 900px;
  text-align: left;
}
.public-dashboard-content .pricing-plan-card {
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(199,201,207,.72);
  border-radius: 20px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.68), 0 16px 42px rgba(18,18,20,.06);
}
.public-dashboard-content .pricing-plan-card.highlighted {
  background: rgba(255,255,255,.9);
  border-color: rgba(18,183,106,.38);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.76), 0 24px 64px rgba(18,183,106,.13), 0 14px 34px rgba(18,18,20,.055);
}
.public-dashboard-content .billing-result-page {
  align-items: start;
  display: grid;
  gap: 22px;
  justify-items: start;
  min-height: 0;
}
.billing-result-hero {
  max-width: 860px;
}
.public-dashboard-content .billing-result-card {
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(199,201,207,.74);
  border-radius: 22px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 20px 56px rgba(18,18,20,.075);
  margin: 0;
  max-width: 760px;
  padding: 24px;
  text-align: left;
  width: min(760px, 100%);
}
.public-dashboard-content .billing-result-actions {
  justify-content: flex-start;
}
.public-dashboard-content .billing-status-mini {
  background: rgba(247,247,248,.86);
  border: 1px solid rgba(199,201,207,.7);
  border-radius: 18px;
  padding: 22px;
}
.public-faq-list {
  display: grid;
  gap: 12px;
  max-width: 900px;
}
.public-faq-list details {
  border-top: 0;
  padding: 0;
}
.public-faq-list summary {
  display: grid;
  font-size: 18px;
  grid-template-columns: minmax(0, 1fr) 32px;
  list-style: none;
  padding: 22px 24px;
}
.public-faq-list summary::after {
  align-items: center;
  background: #171719;
  border-radius: 999px;
  color: #fff;
  content: "+";
  display: inline-flex;
  font-size: 18px;
  height: 30px;
  justify-content: center;
  line-height: 1;
  width: 30px;
}
.public-faq-list details[open] summary::after {
  content: "-";
}
.public-faq-list p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
  margin: -8px 24px 22px;
}
@media (max-width: 1320px) {
  .trade-plan-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .result-levels {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .site-header { padding: 0 20px; }
  .site-nav { display: none; }
  .public-page-layout {
    padding: 64px 18px 86px;
    width: 100%;
  }
  .product-canvas, .workspace, .auth-layout, .section-grid, .pricing-grid, .pricing-plan-options, .start-card-grid,
  .workflow-rail, .section-heading.split, .proof-stage, .landing-proof-strip, .faq-list {
    grid-template-columns: 1fr;
  }
  .hero h1 { font-size: 48px; }
  .hero {
    padding: 64px 18px 54px;
  }
  .hero p {
    font-size: 16px;
  }
  .hero-actions {
    flex-wrap: wrap;
    margin-bottom: 50px;
  }
  .btn-large {
    font-size: 16px;
    height: 50px;
    min-width: 148px;
  }
  .product-canvas {
    gap: 18px;
    min-height: auto;
    padding: 26px;
  }
  .chart-preview {
    padding: 28px;
  }
  .product-canvas aside,
  .result-panel {
    border-left: 0;
    border-top: 1px solid rgba(23,23,25,.12);
    padding: 18px 0 0;
  }
  .workflow-section,
  .analysis-section,
  .product-proof,
  .reviews-section,
  .pricing-section,
  .faq-section,
  .final-cta {
    padding: 58px 18px;
  }
  .section-heading,
  .section-heading.split {
    margin-bottom: 28px;
    text-align: left;
  }
  .section-heading h2,
  .landing-proof-strip h2,
  .final-cta h2 {
    font-size: 36px;
  }
  .workflow-rail > div {
    min-height: auto;
  }
  .workflow-rail > div {
    border-right: 1px solid rgba(23,23,25,.1);
    padding: 22px 20px;
  }
  .workflow-rail span {
    margin-bottom: 28px;
  }
  .plan-anatomy,
  .mode-strip {
    grid-template-columns: 1fr;
  }
  .plan-callout-rail {
    align-content: stretch;
    border-block: 1px solid rgba(23,23,25,.08);
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .plan-callout-rail::before {
    display: none;
  }
  .plan-callout-rail div {
    grid-template-columns: 1fr;
    padding: 20px 18px;
  }
  .plan-callout-rail div + div {
    border-left: 1px solid rgba(23,23,25,.08);
    border-top: 0;
  }
  .plan-callout-rail p {
    grid-column: auto;
  }
  .mode-strip div,
  .mode-strip div + div {
    border-left: 0;
    padding-left: 0;
  }
  .proof-stage {
    gap: 20px;
    margin-top: 28px;
  }
  .proof-routing-spine {
    gap: 36px;
    grid-template-columns: repeat(3, 1fr);
  }
  .proof-routing-spine::before {
    background: linear-gradient(90deg, transparent, rgba(18,183,106,.48), transparent);
    height: 1px;
    width: min(280px, 72vw);
  }
  .proof-routing-spine span::before,
  .proof-routing-spine span::after {
    display: none;
  }
  .pricing-card {
    grid-template-columns: 1fr;
  }
  .pricing-card-price,
  .pricing-card-copy,
  .pricing-card-action {
    padding-left: 26px;
    padding-right: 26px;
  }
  .pricing-card-action {
    padding-bottom: 26px;
  }
  .review-note {
    flex-basis: 330px;
    min-height: 226px;
  }
  .landing-proof-strip {
    margin: 26px calc(50% - 50vw);
    padding: 30px 18px;
    width: 100vw;
  }
  .landing-proof-strip p {
    font-size: 18px;
  }
  .faq-list summary {
    font-size: 18px;
    padding: 20px 0;
  }
  .faq-list p {
    margin-right: 0;
  }
  .final-cta {
    text-align: left;
  }
  .final-cta .hero-actions {
    justify-content: flex-start;
  }
  .landing-footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
    padding: 16px 18px;
  }
  .landing-footer-links {
    justify-content: flex-start;
  }
  .public-dashboard-shell {
    gap: 0;
    grid-template-columns: 1fr;
    min-height: 100dvh;
    min-width: 0;
    padding: 0;
    width: 100%;
  }
  .public-dashboard-sidebar {
    border-radius: 0 0 22px 22px;
    height: auto;
    max-width: 100vw;
    max-height: none;
    min-height: 0;
    min-width: 0;
    position: relative;
    top: auto;
    width: 100%;
  }
  .public-dashboard-sidebar .brand {
    margin-bottom: 14px;
  }
  .public-dashboard-nav {
    display: flex;
    gap: 8px;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    padding-bottom: 2px;
    width: 100%;
  }
  .public-dashboard-nav a {
    flex: 0 0 auto;
    min-height: 40px;
  }
  .public-dashboard-sidebar-note {
    display: none;
  }
  .public-dashboard-main {
    min-height: auto;
    min-width: 0;
    width: 100%;
  }
  .public-dashboard-topbar {
    height: 54px;
    padding: 0 16px;
  }
  .public-dashboard-content {
    min-width: 0;
    padding: 34px 16px 54px;
    width: 100%;
  }
  .public-page-hero h1 {
    font-size: clamp(34px, 10vw, 48px);
    max-width: 100%;
    overflow-wrap: break-word;
  }
  .public-dashboard-auth-shell {
    padding: 0;
  }
  .public-dashboard-auth-shell .auth-form-panel,
  .public-dashboard-auth-shell .auth-art {
    border-radius: 0;
  }
  .folders-panel { display: none; }
  .workspace { grid-template-columns: 58px 1fr; }
  .chat-workspace { grid-template-columns: 1fr; }
  .chat-sidebar { display: none; }
  .chat-home,
  .chat-history-page,
  .profile-page {
    min-height: calc(100dvh - 60px);
    padding: 40px 16px;
  }
  .profile-hero {
    align-items: flex-start;
  }
  .profile-grid {
    grid-template-columns: 1fr;
  }
  .chat-hero h1 {
    font-size: 44px;
  }
  body[data-dashboard-drawer-open="true"] {
    overflow: hidden;
  }
  .dashboard-studio {
    gap: 0;
    grid-template-columns: 1fr;
    min-height: 100dvh;
    overflow-x: hidden;
    padding: 0;
  }
  .dashboard-studio .chat-sidebar {
    align-self: auto;
    display: flex;
    height: calc(100dvh - 24px);
    left: 12px;
    max-height: calc(100dvh - 24px);
    min-height: calc(100dvh - 24px);
    opacity: 0;
    pointer-events: none;
    position: fixed;
    top: 12px;
    transform: translate3d(calc(-100% - 24px), 0, 0);
    transition: opacity .2s ease, transform .24s cubic-bezier(.16, 1, .3, 1), visibility .24s;
    visibility: hidden;
    width: min(312px, calc(100vw - 24px));
    z-index: 60;
  }
  .dashboard-studio[data-mobile-sidebar-state="open"] .chat-sidebar {
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
    visibility: visible;
  }
  .dashboard-sidebar-toggle,
  .dashboard-sidebar-close {
    display: inline-flex;
    flex: 0 0 auto;
  }
  .dashboard-sidebar-backdrop {
    background: rgba(17,18,20,.42);
    border: 0;
    cursor: pointer;
    display: block;
    inset: 0;
    opacity: 0;
    padding: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity .2s ease;
    z-index: 55;
  }
  .dashboard-studio[data-mobile-sidebar-state="open"] .dashboard-sidebar-backdrop {
    opacity: 1;
    pointer-events: auto;
  }
  .dashboard-studio .chat-panel {
    min-height: 100dvh;
  }
  .dashboard-studio > .analysis-loader {
    border-radius: 0;
    grid-column: 1;
    grid-row: 2;
    min-height: 100dvh;
    top: 0;
  }
  .dashboard-topbar {
    height: 56px;
    padding: 0 16px;
  }
  .dashboard-topbar-actions {
    gap: 4px;
  }
  .topbar-link {
    min-height: 34px;
    padding: 0 9px;
  }
  .topbar-link span {
    display: none;
  }
  .profile-modal,
  .upgrade-modal,
  .billing-result-modal {
    padding: 16px;
  }
  .profile-dialog.profile-settings-dialog {
    grid-template-columns: 1fr;
    max-height: calc(100dvh - 32px);
    width: min(720px, calc(100vw - 32px));
  }
  .profile-settings-rail {
    border-bottom: 1px solid rgba(218,219,223,.86);
    border-right: 0;
    gap: 12px;
    padding: 14px;
  }
  .profile-settings-nav {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding-bottom: 2px;
  }
  .profile-settings-nav button {
    flex: 0 0 auto;
    min-width: max-content;
  }
  .profile-settings-pane {
    max-height: none;
    padding: 26px;
  }
  .profile-billing-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .upgrade-dialog,
  .billing-result-dialog {
    max-height: calc(100dvh - 32px);
    padding: 30px 20px 24px;
    width: min(720px, calc(100vw - 32px));
  }
  .upgrade-plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .upgrade-plan-card {
    min-height: 0;
  }
  .dashboard-studio .chat-home {
    min-height: calc(100dvh - 56px);
    padding: 38px 16px 52px;
  }
  .dashboard-studio .chat-hero h1 {
    font-size: clamp(46px, 13vw, 64px);
  }
  .studio-composer-toolbar {
    align-items: stretch;
    flex-wrap: wrap;
  }
  .upload-card-fan {
    height: 122px;
  }
  .dashboard-studio .mode-radio-options {
    border-radius: 18px;
    grid-template-columns: 1fr;
  }
  .chat-composer-actions {
    align-items: stretch;
  }
  .mode-radio-options {
    grid-template-columns: 1fr;
  }
  .chat-composer-actions select,
  .chat-composer-actions .btn {
    width: 100%;
  }
  .analysis-workspace { grid-template-columns: 58px 1fr; }
  .analysis-history-panel { display: none; }
  .analysis-page { padding: 22px 16px 44px; }
  .analysis-hero,
  .analysis-overview-grid,
  .trade-plan-grid,
  .dual-list,
  .scenario-grid,
  .context-card-grid,
  .analysis-accordion .context-card-grid {
    grid-template-columns: 1fr;
  }
  .analysis-hero { display: grid; }
  .mode-tabs { width: max-content; max-width: 100%; overflow-x: auto; }
  .chart-inspection { min-height: 260px; }
  .analysis-accordion > div,
  .analysis-accordion > ul {
    padding-left: 24px;
  }
  .result-page {
    padding: 42px 16px 64px;
  }
  .result-hero {
    display: grid;
    margin-bottom: 30px;
  }
  .result-hero-controls {
    justify-items: start;
  }
  .result-hero .analysis-meta-row {
    justify-content: flex-start;
  }
  .result-hero h1 {
    font-size: 52px;
  }
  .result-hero .analysis-subtitle {
    font-size: 17px;
  }
  .result-section-heading {
    align-items: start;
    flex-direction: column;
    gap: 6px;
  }
  .result-levels,
  .result-chart-summary-grid,
  .result-accordion-body.dual-list,
  .result-accordion-body.scenario-grid,
  .result-accordion-body.context-card-grid,
  .result-news-section .news-card-grid {
    grid-template-columns: 1fr;
  }
  .result-live-chart-card,
  .tradingview-widget-container,
  .tradingview-widget-container__widget {
    min-height: 360px;
  }
  .result-accordion-body,
  ul.result-accordion-body {
    padding-left: 22px;
    padding-right: 22px;
  }
  .toolbar { flex-wrap: wrap; }
  .auth-art { display: none; }
}

@media (max-width: 620px) {
  .site-header {
    height: auto;
    min-height: 76px;
  }
  .brand {
    font-size: 23px;
  }
  .header-actions {
    gap: 8px;
  }
  .header-actions .btn {
    padding: 11px 14px;
  }
  .hero h1 {
    font-size: 44px;
  }
  .hero-product {
    border-radius: 18px 18px 0 0;
    width: min(100%, 94vw);
  }
  .browser-bar {
    padding: 0 14px;
  }
  .browser-bar strong {
    font-size: 14px;
  }
  .product-canvas {
    padding: 18px;
  }
  .product-canvas aside,
  .result-panel {
    padding: 18px 0 0;
  }
  .section-heading h2,
  .landing-proof-strip h2,
  .final-cta h2 {
    font-size: 34px;
  }
  .proof-chart-panel,
  .proof-output-panel {
    padding: 16px;
  }
  .proof-panel-topline,
  .proof-chart-summary,
  .proof-output-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
  .proof-output-panel h3 {
    font-size: 28px;
  }
  .proof-plan-lanes div {
    grid-template-columns: 1fr;
  }
  .proof-plan-lanes p {
    grid-column: auto;
  }
  .plan-sheet-top,
  .plan-sheet-hero,
  .plan-metrics,
  .plan-detail-list {
    padding-left: 20px;
    padding-right: 20px;
  }
  .plan-sheet-hero h3 {
    font-size: 28px;
  }
  .plan-metrics,
  .plan-detail-list div,
  .plan-callout-rail,
  .mode-strip {
    grid-template-columns: 1fr;
  }
  .plan-metrics div,
  .plan-metrics div + div,
  .mode-strip div,
  .mode-strip div + div {
    border-left: 0;
    padding-left: 0;
  }
  .plan-metrics div + div,
  .mode-strip div + div {
    border-top: 1px solid rgba(23,23,25,.08);
  }
  .plan-callout-rail div + div {
    border-left: 0;
    border-top: 1px solid rgba(23,23,25,.08);
  }
  .review-feed {
    margin-bottom: 20px;
  }
  .review-note {
    flex-basis: min(300px, 82vw);
    min-height: 220px;
    padding: 20px;
  }
  .price-line strong {
    font-size: 46px;
  }
  .dashboard-studio .chat-home {
    gap: 16px;
    padding: 30px 12px 44px;
  }
  .dashboard-studio .chat-hero h1 {
    font-size: clamp(42px, 14vw, 56px);
  }
  .dashboard-studio .chat-hero p {
    font-size: 15px;
  }
  .profile-modal,
  .upgrade-modal,
  .billing-result-modal {
    align-items: stretch;
    padding: 10px;
  }
  .profile-dialog-page {
    padding: 10px;
  }
  .profile-dialog-page .profile-modal {
    padding: 0;
  }
  .profile-dialog.profile-settings-dialog,
  .upgrade-dialog,
  .billing-result-dialog {
    border-radius: 18px;
    max-height: calc(100dvh - 20px);
    width: calc(100vw - 20px);
  }
  .profile-dialog-page .profile-dialog.profile-settings-dialog {
    width: 100%;
  }
  .profile-settings-pane {
    gap: 14px;
    padding: 18px;
  }
  .profile-settings-header,
  .profile-account-banner,
  .profile-settings-section,
  .profile-section-heading,
  .profile-section-actions,
  .profile-danger-row,
  .profile-dialog-actions {
    align-items: stretch;
    display: grid;
    justify-content: stretch;
  }
  .profile-settings-status,
  .profile-account-plan-pill,
  .profile-secondary-action,
  .profile-outline-action,
  .profile-danger-action,
  .profile-danger-row button,
  .profile-dialog-actions .profile-secondary-action {
    max-width: none;
    width: 100%;
  }
  .profile-billing-meta {
    grid-template-columns: 1fr;
  }
  .profile-account-detail-grid {
    grid-template-columns: 1fr;
  }
  .profile-preview-card {
    min-width: 0;
  }
  .upgrade-dialog {
    padding: 46px 14px 16px;
  }
  .billing-result-dialog {
    padding: 44px 18px 20px;
  }
  .upgrade-dialog h1 {
    font-size: 30px;
  }
  .upgrade-plan-grid {
    grid-template-columns: 1fr;
  }
  .upgrade-plan-card {
    padding: 22px 18px;
  }
  .dashboard-studio .chat-composer {
    border-radius: 20px;
    padding: 14px;
  }
  .dashboard-studio .chat-composer .chat-dropzone {
    min-height: 210px;
  }
  .studio-upload-copy {
    min-height: 96px;
  }
  .dashboard-studio .studio-upload-copy strong {
    font-size: 18px;
  }
  .studio-toolbar-button {
    width: 100%;
  }
  .result-page {
    padding: 30px 12px 48px;
  }
  .result-hero-identity {
    align-items: flex-start;
    display: grid;
  }
  .result-asset-mark {
    border-radius: 14px;
    flex-basis: 58px;
    height: 58px;
    width: 58px;
  }
  .result-hero h1 {
    font-size: clamp(38px, 12vw, 50px);
  }
  .result-level-card {
    min-height: 150px;
  }
  .result-live-chart-card,
  .tradingview-widget-container,
  .tradingview-widget-container__widget {
    min-height: 320px;
  }
  .result-accordion summary {
    min-height: 58px;
    padding: 0 14px;
  }
  .result-accordion summary strong {
    font-size: 15px;
  }
  .result-accordion summary span {
    flex-basis: 30px;
    height: 30px;
  }
  .news-card {
    grid-template-columns: 1fr;
  }
  .uploaded-screenshot-dialog {
    border-radius: 16px;
    max-height: calc(100dvh - 20px);
    padding: 14px;
    width: calc(100vw - 20px);
  }
}

.admin-analytics-page {
  overflow-x: clip;
}

.admin-analytics-page .chat-panel {
  overflow-y: auto;
}

.admin-analytics-page .chat-sidebar {
  align-self: start;
  height: calc(100dvh - 32px);
  max-height: calc(100dvh - 32px);
  min-height: calc(100dvh - 32px);
  position: sticky;
  top: 16px;
}

.admin-content {
  margin: 0 auto;
  max-width: 1120px;
  padding: 94px 28px 70px;
  width: 100%;
}

.admin-hero {
  margin-bottom: 24px;
}

.admin-hero h1 {
  font-size: clamp(38px, 5vw, 72px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  margin: 0;
}

.admin-hero p:not(.panel-label) {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.5;
  margin: 14px 0 0;
  max-width: 620px;
}

.admin-alert {
  background: #fff7f7;
  border: 1px solid rgba(220, 38, 38, .2);
  border-radius: 12px;
  color: #b42318;
  font-weight: 600;
  margin-bottom: 18px;
  padding: 14px 16px;
}

.admin-metric-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 18px;
}

.admin-metric-card,
.admin-panel-card {
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(23, 23, 25, .08);
  border-radius: 18px;
  box-shadow: 0 18px 50px rgba(18, 18, 20, .05);
}

.admin-metric-card {
  min-height: 126px;
  padding: 18px;
}

.admin-metric-card span {
  color: var(--muted);
  display: block;
  font-size: 13px;
  font-weight: 650;
}

.admin-metric-card strong {
  display: block;
  font-size: 36px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  margin-top: 24px;
}

.admin-section-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  margin-bottom: 18px;
}

.admin-panel-card {
  padding: 22px;
}

.admin-section-heading {
  align-items: flex-start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 18px;
}

.admin-section-heading h2 {
  font-size: 20px;
  font-weight: 600;
  margin: 0;
}

.admin-section-heading span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
}

.admin-section-heading p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
  margin: 6px 0 0;
}

.admin-user-lookup-card {
  margin-bottom: 18px;
}

.admin-user-lookup-heading {
  align-items: center;
}

.admin-user-lookup-form {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.admin-field {
  display: grid;
  gap: 8px;
}

.admin-field span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  text-transform: uppercase;
}

.admin-field input,
.admin-field select {
  background: rgba(255, 255, 255, .86);
  border: 1px solid rgba(23, 23, 25, .1);
  border-radius: 12px;
  color: var(--ink);
  font-size: 15px;
  font-weight: 600;
  min-height: 48px;
  outline: none;
  padding: 0 14px;
  width: 100%;
}

.admin-field input:focus,
.admin-field select:focus {
  border-color: rgba(23, 23, 25, .28);
  box-shadow: 0 0 0 4px rgba(23, 23, 25, .06);
}

.admin-action-button {
  align-items: center;
  border: 1px solid rgba(23, 23, 25, .1);
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  font-size: 15px;
  font-weight: 750;
  justify-content: center;
  min-height: 48px;
  min-width: 124px;
  padding: 0 22px;
  transition: background .18s ease, border-color .18s ease, color .18s ease, opacity .18s ease, transform .18s ease;
}

.admin-action-button:hover,
.admin-action-button:focus-visible {
  transform: translateY(-1px);
}

.admin-action-button:disabled {
  cursor: wait;
  opacity: .72;
  transform: none;
}

.admin-action-button-primary {
  background: var(--button-primary-bg);
  border-color: var(--button-primary-bg);
  color: var(--button-primary-text);
}

.admin-user-result {
  border-top: 1px solid rgba(23, 23, 25, .08);
  margin-top: 20px;
  padding-top: 20px;
}

.admin-user-summary {
  align-items: center;
  display: flex;
  gap: 14px;
  margin-bottom: 18px;
}

.admin-user-avatar {
  align-items: center;
  background: var(--ink);
  border-radius: 16px;
  color: #fff;
  display: flex;
  flex: 0 0 58px;
  font-size: 18px;
  font-weight: 750;
  height: 58px;
  justify-content: center;
  width: 58px;
}

.admin-user-summary strong,
.admin-user-summary span,
.admin-user-summary code {
  display: block;
}

.admin-user-summary strong {
  font-size: 20px;
  font-weight: 650;
}

.admin-user-summary span,
.admin-user-summary code {
  color: var(--muted);
  font-size: 13px;
  margin-top: 3px;
}

.admin-user-summary code {
  font-family: inherit;
}

.admin-user-edit-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-checkbox-field {
  align-items: center;
  color: var(--muted);
  display: inline-flex;
  font-size: 14px;
  font-weight: 650;
  gap: 10px;
  margin-top: 14px;
}

.admin-checkbox-field input {
  accent-color: var(--ink);
  height: 18px;
  width: 18px;
}

.admin-user-edit-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 18px;
}

.admin-user-edit-actions span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
}

.admin-stat-row,
.admin-daily-row {
  align-items: center;
  border-top: 1px solid rgba(23, 23, 25, .08);
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr auto;
  padding: 13px 0;
}

.admin-daily-row {
  grid-template-columns: 1fr auto auto;
}

.admin-stat-row:first-child,
.admin-daily-row:first-child {
  border-top: 0;
  padding-top: 0;
}

.admin-stat-row span,
.admin-daily-row span,
.admin-daily-row em {
  color: var(--muted);
  font-size: 13px;
  font-style: normal;
  font-weight: 600;
}

.admin-stat-row strong,
.admin-daily-row strong {
  font-size: 18px;
  font-weight: 600;
}

.admin-users-table {
  overflow-x: auto;
}

.admin-users-table table {
  border-collapse: collapse;
  min-width: 820px;
  width: 100%;
}

.admin-users-table th {
  color: #8f9097;
  font-size: 12px;
  font-weight: 700;
  padding: 0 12px 12px;
  text-align: left;
  text-transform: uppercase;
}

.admin-users-table td {
  border-top: 1px solid rgba(23, 23, 25, .08);
  font-size: 14px;
  font-weight: 600;
  padding: 15px 12px;
  vertical-align: top;
}

.admin-users-table td strong,
.admin-users-table td span {
  display: block;
}

.admin-users-table td span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
  margin-top: 4px;
}

html[data-theme="dark"] body {
  background: var(--page-bg);
  color: var(--ink);
}

html[data-theme="dark"] .landing-shell {
  background:
    radial-gradient(circle at 15% 8%, rgba(18, 183, 106, .12), transparent 26%),
    radial-gradient(circle at 82% 18%, rgba(18, 183, 106, .08), transparent 24%),
    linear-gradient(var(--landing-bg), var(--landing-bg));
}

html[data-theme="dark"] .landing-shell::before {
  background-image:
    linear-gradient(rgba(245,247,248,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245,247,248,.055) 1px, transparent 1px);
}

html[data-theme="dark"] .site-header {
  background: rgba(17,18,20,.92);
  box-shadow: 0 10px 34px rgba(0,0,0,.28);
}

html[data-theme="dark"] .site-nav,
html[data-theme="dark"] .hero-proof-line,
html[data-theme="dark"] .topbar-link,
html[data-theme="dark"] .public-dashboard-actions a {
  color: var(--muted);
}

html[data-theme="dark"] .site-nav a[aria-current="page"],
html[data-theme="dark"] .topbar-link:hover,
html[data-theme="dark"] .topbar-link:focus-visible,
html[data-theme="dark"] .public-dashboard-actions a:hover,
html[data-theme="dark"] .public-dashboard-actions a:focus-visible {
  color: var(--ink);
}

html[data-theme="dark"] .topbar-link:hover,
html[data-theme="dark"] .topbar-link:focus-visible {
  background: rgba(245,247,248,.07);
  box-shadow: inset 0 0 0 1px rgba(228,232,238,.08), 0 10px 24px rgba(0,0,0,.2);
}

html[data-theme="dark"] .hero-proof-line span,
html[data-theme="dark"] .browser-frame,
html[data-theme="dark"] .workspace-upload,
html[data-theme="dark"] .result-panel,
html[data-theme="dark"] .pricing-card,
html[data-theme="dark"] .review-note,
html[data-theme="dark"] .review-track span,
html[data-theme="dark"] .legal-section,
html[data-theme="dark"] .pricing-plan-card,
html[data-theme="dark"] .billing-result-card,
html[data-theme="dark"] .history-card,
html[data-theme="dark"] .start-card,
html[data-theme="dark"] .result-level-card,
html[data-theme="dark"] .result-chart-card,
html[data-theme="dark"] .result-bias-card,
html[data-theme="dark"] .result-disclaimer,
html[data-theme="dark"] .news-card,
html[data-theme="dark"] .context-card,
html[data-theme="dark"] .admin-metric-card,
html[data-theme="dark"] .admin-panel-card {
  background: var(--panel);
  border-color: var(--line);
  box-shadow: var(--shadow);
}

html[data-theme="dark"] .pricing-card,
html[data-theme="dark"] .pricing-card-price,
html[data-theme="dark"] .landing-proof-strip {
  background:
    radial-gradient(circle at 12% 0%, rgba(18,183,106,.11), transparent 38%),
    linear-gradient(135deg, rgba(24,26,29,.98), rgba(17,18,20,.96));
}

html[data-theme="dark"] .hero-product {
  background: #14171a;
  border-color: rgba(228,232,238,.16);
  box-shadow: 0 28px 80px rgba(0,0,0,.36);
}

html[data-theme="dark"] .browser-bar {
  background: #1b1f23;
  border-bottom-color: rgba(228,232,238,.12);
}

html[data-theme="dark"] .browser-bar span {
  background: #3b4048;
}

html[data-theme="dark"] .browser-bar strong {
  color: var(--muted);
}

html[data-theme="dark"] .product-canvas {
  background:
    radial-gradient(circle at 16% 18%, rgba(18,183,106,.16), transparent 36%),
    linear-gradient(135deg, rgba(19,31,27,.9), rgba(15,17,20,.98)),
    radial-gradient(rgba(245,247,248,.15) 1px, transparent 1px);
  background-size: auto, auto, 22px 22px;
}

html[data-theme="dark"] .workspace-upload,
html[data-theme="dark"] .result-panel {
  background: rgba(19,22,25,.94);
  border: 1px solid rgba(228,232,238,.12);
  border-radius: 0;
  color: var(--ink);
  padding: 24px;
}

html[data-theme="dark"] .workspace-upload button {
  background: #24282e;
  border-color: rgba(228,232,238,.14);
  color: var(--ink);
}

html[data-theme="dark"] .chart-preview {
  background: rgba(21,24,28,.94);
  border-color: rgba(228,232,238,.12);
  box-shadow: 0 18px 46px rgba(0,0,0,.28);
}

html[data-theme="dark"] .chart-toolbar {
  background: rgba(28,32,37,.96);
  border-bottom-color: rgba(228,232,238,.1);
  color: var(--muted);
}

html[data-theme="dark"] .chart-toolbar span {
  border-color: rgba(228,232,238,.12);
}

html[data-theme="dark"] .chart-grid path {
  stroke: rgba(245,247,248,.1);
}

html[data-theme="dark"] .price-axis-label {
  fill: #a6adb7;
}

html[data-theme="dark"] .chart-callouts circle {
  stroke: #15181b;
}

html[data-theme="dark"] .chart-callouts text {
  fill: #32d583;
}

html[data-theme="dark"] .proof-chart-panel,
html[data-theme="dark"] .proof-output-panel {
  background:
    radial-gradient(circle at 16% 0%, rgba(18,183,106,.1), transparent 34%),
    linear-gradient(180deg, rgba(28,32,36,.98), rgba(20,23,26,.98));
  border-color: rgba(228,232,238,.14);
  box-shadow: 0 24px 70px rgba(0,0,0,.34);
}

html[data-theme="dark"] .proof-chart > rect {
  fill: #15191d;
}

html[data-theme="dark"] .proof-chart {
  border-color: rgba(228,232,238,.12);
}

html[data-theme="dark"] .proof-grid-line {
  stroke: rgba(245,247,248,.11);
}

html[data-theme="dark"] .proof-candles line {
  stroke: rgba(245,247,248,.5);
}

html[data-theme="dark"] .proof-candles .down {
  fill: rgba(245,247,248,.04);
  stroke: rgba(245,247,248,.68);
}

html[data-theme="dark"] .proof-chart-labels text {
  fill: #d7dce3;
}

html[data-theme="dark"] .proof-chart-labels rect {
  fill: rgba(24,27,31,.94);
  stroke: rgba(228,232,238,.16);
}

html[data-theme="dark"] .proof-chart-summary,
html[data-theme="dark"] .proof-output-meta,
html[data-theme="dark"] .proof-plan-lanes,
html[data-theme="dark"] .proof-plan-lanes div + div {
  border-color: rgba(228,232,238,.12);
}

html[data-theme="dark"] .proof-output-panel h3,
html[data-theme="dark"] .proof-plan-lanes strong {
  color: var(--ink);
}

html[data-theme="dark"] .proof-output-meta strong {
  background: rgba(18,183,106,.16);
  border-color: rgba(18,183,106,.34);
  color: #47e59a;
}

html[data-theme="dark"] .proof-routing-spine span,
html[data-theme="dark"] .plan-callout-rail span {
  background: #18211e;
  border-color: rgba(18,183,106,.42);
}

html[data-theme="dark"] .plan-sheet {
  background:
    radial-gradient(circle at 18% 8%, rgba(18,183,106,.13), transparent 34%),
    linear-gradient(180deg, rgba(27,31,35,.98), rgba(18,21,24,.98));
  border-color: rgba(228,232,238,.14);
  box-shadow: 0 26px 76px rgba(0,0,0,.34);
}

html[data-theme="dark"] .plan-sheet-top,
html[data-theme="dark"] .plan-sheet-hero,
html[data-theme="dark"] .plan-metrics,
html[data-theme="dark"] .plan-detail-list div + div,
html[data-theme="dark"] .plan-callout-rail div + div,
html[data-theme="dark"] .mode-strip div + div {
  border-color: rgba(228,232,238,.12);
}

html[data-theme="dark"] .plan-sheet-hero h3,
html[data-theme="dark"] .plan-metrics strong,
html[data-theme="dark"] .plan-callout-rail strong,
html[data-theme="dark"] .mode-strip strong {
  color: var(--ink);
}

html[data-theme="dark"] .pricing-card-price,
html[data-theme="dark"] .review-outcome {
  border-color: var(--line);
}

html[data-theme="dark"] .review-note {
  box-shadow: 0 8px 22px rgba(0,0,0,.16);
}

html[data-theme="dark"] .admin-field input,
html[data-theme="dark"] .admin-field select {
  background: rgba(24, 26, 29, .92);
  border-color: var(--line);
  color: var(--ink);
}

html[data-theme="dark"] .admin-user-result {
  border-color: var(--line);
}

html[data-theme="dark"] .review-feed,
html[data-theme="dark"] .review-carousel,
html[data-theme="dark"] .review-signal-strip,
html[data-theme="dark"] .mode-strip,
html[data-theme="dark"] .faq-list details,
html[data-theme="dark"] .faq-list details:first-child,
html[data-theme="dark"] .landing-footer {
  border-color: var(--line);
}

html[data-theme="dark"] .landing-footer {
  background: var(--page-bg);
}

html[data-theme="dark"] .dashboard-studio,
html[data-theme="dark"] .public-dashboard-shell,
html[data-theme="dark"] .public-dashboard-auth-shell,
html[data-theme="dark"] .profile-dialog-page {
  background: var(--app-bg);
}

html[data-theme="dark"] .dashboard-studio::before,
html[data-theme="dark"] .public-dashboard-shell::before,
html[data-theme="dark"] .profile-dialog-page {
  background-image: radial-gradient(rgba(245,247,248,.12) 1px, transparent 1px);
}

html[data-theme="dark"] .public-dashboard-auth-shell::before {
  background-image: none;
}

html[data-theme="dark"] .dashboard-studio .chat-sidebar,
html[data-theme="dark"] .public-dashboard-sidebar,
html[data-theme="dark"] .public-dashboard-auth-shell .auth-form-panel,
html[data-theme="dark"] .public-dashboard-auth-shell .auth-art,
html[data-theme="dark"] .dashboard-studio .chat-composer {
  background: var(--app-panel);
  border-color: var(--app-panel-line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 22px 58px rgba(0,0,0,.28);
}

html[data-theme="dark"] .public-dashboard-auth-shell .auth-form-panel,
html[data-theme="dark"] .public-dashboard-auth-shell .auth-art {
  box-shadow: none;
}

html[data-theme="dark"] .dashboard-studio .chat-new-action,
html[data-theme="dark"] .dashboard-studio .search-field,
html[data-theme="dark"] .dashboard-studio .sidebar-profile,
html[data-theme="dark"] .dashboard-studio .sidebar-profile:hover,
html[data-theme="dark"] .dashboard-studio .sidebar-profile:focus-visible,
html[data-theme="dark"] .dashboard-studio .sidebar-account[data-menu-open="true"] .sidebar-profile,
html[data-theme="dark"] .dashboard-studio .sidebar-account-menu,
html[data-theme="dark"] .dashboard-studio .chart-instructions,
html[data-theme="dark"] .dashboard-studio .chat-composer-actions,
html[data-theme="dark"] .studio-toolbar-button,
html[data-theme="dark"] .upload-fan-card,
html[data-theme="dark"] .public-dashboard-nav a:hover,
html[data-theme="dark"] .public-dashboard-nav a:focus-visible,
html[data-theme="dark"] .public-dashboard-nav a[aria-current="page"] {
  background: var(--panel-elevated);
  border-color: var(--line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 12px 28px rgba(0,0,0,.22);
  color: var(--ink);
}

html[data-theme="dark"] .dashboard-sidebar-toggle,
html[data-theme="dark"] .dashboard-sidebar-close {
  background: var(--panel-elevated);
  border-color: var(--line);
  color: var(--ink);
}

html[data-theme="dark"] .public-dashboard-nav a,
html[data-theme="dark"] .dashboard-studio .search-field,
html[data-theme="dark"] .dashboard-studio .studio-upload-copy small,
html[data-theme="dark"] .public-dashboard-sidebar-note,
html[data-theme="dark"] .public-page-hero p:not(.panel-label),
html[data-theme="dark"] .dashboard-studio .chat-hero p {
  color: var(--muted);
}

html[data-theme="dark"] .dashboard-studio .studio-upload-copy strong,
html[data-theme="dark"] .public-dashboard-topbar h2,
html[data-theme="dark"] .public-dashboard-sidebar-note strong,
html[data-theme="dark"] .upload-fan-card.center svg,
html[data-theme="dark"] .studio-toolbar-button,
html[data-theme="dark"] .dashboard-studio .paste-action {
  color: var(--ink);
}

html[data-theme="dark"] .dashboard-studio .mode-radio-options {
  background: rgba(255,255,255,.06);
}

html[data-theme="dark"] .dashboard-studio .mode-radio-group label {
  background: transparent;
  color: var(--muted);
}

html[data-theme="dark"] .dashboard-studio .mode-radio-group label:hover {
  background: rgba(245,247,248,.07);
  color: var(--ink);
}

html[data-theme="dark"] .dashboard-studio .mode-radio-group label:has(input:checked) {
  background: rgba(18,183,106,.18);
  box-shadow: inset 0 0 0 1px rgba(18,183,106,.36), 0 10px 22px rgba(0,0,0,.18);
  color: var(--ink);
}

html[data-theme="dark"] .dashboard-studio .mode-radio-group label:has(input:focus-visible) {
  outline-color: rgba(18,183,106,.58);
}

html[data-theme="dark"] .remove-chart-button {
  background: var(--panel-elevated);
  border-color: var(--line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 14px 30px rgba(0,0,0,.28);
  color: var(--ink);
}

html[data-theme="dark"] .remove-chart-button:hover,
html[data-theme="dark"] .remove-chart-button:focus-visible {
  background: rgba(245,247,248,.08);
  outline: 0;
}

html[data-theme="dark"] .dashboard-studio .analysis-loader {
  background:
    linear-gradient(to bottom, rgba(17,18,20,.82), rgba(17,18,20,.92)),
    radial-gradient(rgba(245,247,248,.13) 1px, transparent 1px),
    var(--surface-muted);
  background-size: auto, 20px 20px, auto;
  color: var(--ink);
}

html[data-theme="dark"] .dashboard-studio .analysis-loader-panel {
  background:
    radial-gradient(circle at 18% 0%, rgba(18,183,106,.12), transparent 34%),
    linear-gradient(145deg, rgba(32,35,40,.96), rgba(20,23,26,.96));
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: 0 24px 60px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05);
  padding: clamp(24px, 4vw, 38px);
}

html[data-theme="dark"] .dashboard-studio .analysis-loader-heading strong {
  color: var(--ink);
}

html[data-theme="dark"] .dashboard-studio .analysis-loader-heading small,
html[data-theme="dark"] .dashboard-studio .analysis-loader-steps li {
  color: var(--muted);
}

html[data-theme="dark"] .dashboard-studio .loader-orbit,
html[data-theme="dark"] .dashboard-studio .analysis-loader-steps em {
  border-color: rgba(228,232,238,.22);
}

html[data-theme="dark"] .dashboard-studio .loader-orbit {
  border-top-color: var(--accent-green-dark);
}

html[data-theme="dark"] .dashboard-studio .analysis-loader-steps li[data-step-state="active"],
html[data-theme="dark"] .dashboard-studio .analysis-loader-steps li[data-step-state="complete"] {
  color: var(--ink);
}

html[data-theme="dark"] .dashboard-studio .analysis-loader-steps li[data-step-state="active"] em {
  border-color: rgba(50,213,131,.5);
  box-shadow: 0 0 0 4px rgba(18,183,106,.1);
}

html[data-theme="dark"] .dashboard-studio .analysis-loader-steps li[data-step-state="active"] em::after {
  background: var(--accent-green-dark);
}

html[data-theme="dark"] .dashboard-studio .analysis-loader-steps li[data-step-state="complete"] em {
  background: var(--accent-green-dark);
  border-color: var(--accent-green-dark);
  color: #07140d;
}

html[data-theme="dark"] .result-topbar {
  background:
    linear-gradient(rgba(32,35,40,.9), rgba(32,35,40,.9)),
    var(--panel-elevated);
  border-bottom-color: var(--line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 14px 34px rgba(0,0,0,.22);
}

html[data-theme="dark"] .result-topbar h2 {
  color: var(--ink);
}

html[data-theme="dark"] .result-topbar .topbar-link {
  color: var(--muted);
}

html[data-theme="dark"] .result-topbar .topbar-link:hover,
html[data-theme="dark"] .result-topbar .topbar-link:focus-visible {
  background: rgba(245,247,248,.07);
  box-shadow: inset 0 0 0 1px rgba(228,232,238,.08), 0 10px 24px rgba(0,0,0,.2);
  color: var(--ink);
}

html[data-theme="dark"] .result-skeleton-card,
html[data-theme="dark"] .result-skeleton-accordion {
  background: var(--panel-elevated);
  border-color: var(--line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 18px 42px rgba(0,0,0,.22);
}

html[data-theme="dark"] .result-skeleton-line {
  background: linear-gradient(90deg, rgba(245,247,248,.06), rgba(245,247,248,.16), rgba(245,247,248,.06));
  background-size: 220% 100%;
}

html[data-theme="dark"] .result-hero .analysis-meta-row span {
  background: var(--panel-elevated);
  border-color: var(--line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 10px 24px rgba(0,0,0,.18);
  color: var(--ink);
}

html[data-theme="dark"] .result-mode-pill {
  background: var(--panel-elevated);
  border-color: var(--line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 10px 24px rgba(0,0,0,.18);
  color: var(--ink);
}

html[data-theme="dark"] .result-mode-pill::before {
  background: var(--accent-green-dark);
}

html[data-theme="dark"] .result-mode-pill[data-mode="scalper"],
html[data-theme="dark"] .result-mode-pill[data-mode="swing_trader"] {
  background: rgba(18,183,106,.16);
  border-color: rgba(18,183,106,.36);
  color: var(--ink);
}

html[data-theme="dark"] .result-mode-pill[data-mode="day_trader"] {
  background: rgba(18,183,106,.16);
  border-color: rgba(18,183,106,.36);
  color: var(--ink);
}

html[data-theme="dark"] .result-level-card::after {
  background: rgba(228,232,238,.22);
}

html[data-theme="dark"] .result-level-action {
  background:
    radial-gradient(circle at 18% 0%, rgba(18,183,106,.16), transparent 38%),
    linear-gradient(180deg, rgba(22,25,28,.98), rgba(15,17,20,.98));
  border-color: rgba(228,232,238,.16);
}

html[data-theme="dark"] .result-level-action[data-trade-side="buy"] {
  background:
    radial-gradient(circle at 18% 0%, rgba(18,183,106,.26), transparent 42%),
    linear-gradient(160deg, rgba(6,78,59,.96), rgba(18,24,23,.98) 64%, rgba(15,17,20,.98));
  border-color: rgba(18,183,106,.36);
}

html[data-theme="dark"] .result-level-action[data-trade-side="sell"] {
  background:
    radial-gradient(circle at 18% 0%, rgba(248,113,113,.26), transparent 42%),
    linear-gradient(160deg, rgba(127,29,29,.96), rgba(27,17,18,.98) 64%, rgba(15,17,20,.98));
  border-color: rgba(248,113,113,.36);
}

html[data-theme="dark"] .result-level-card p,
html[data-theme="dark"] .result-level-card strong[data-level-size="range"] em {
  color: var(--muted);
}

html[data-theme="dark"] .result-level-card strong[data-level-size="range"] em {
  background: rgba(245,247,248,.06);
  border-color: var(--line);
}

html[data-theme="dark"] .result-live-chart-card {
  background: var(--panel-elevated);
  border-color: var(--line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 18px 42px rgba(0,0,0,.22);
}

html[data-theme="dark"] .tradingview-widget-container,
html[data-theme="dark"] .tradingview-widget-container__widget {
  background: var(--surface-muted);
}

html[data-theme="dark"] .result-live-chart-empty {
  background:
    radial-gradient(circle at 50% 30%, rgba(18,183,106,.08), transparent 35%),
    var(--surface-muted);
  color: var(--muted);
}

html[data-theme="dark"] .result-bias-card > span {
  background: rgba(245,247,248,.06);
  border-color: var(--line);
  color: var(--ink);
}

html[data-theme="dark"] .result-bias-card .confidence-meter {
  background: rgba(245,247,248,.1);
}

html[data-theme="dark"] .result-bias-card .confidence-meter span {
  background: var(--accent-green-dark);
}

html[data-theme="dark"] .result-accordion {
  background: var(--panel-elevated);
  border-color: var(--line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 18px 42px rgba(0,0,0,.2);
}

html[data-theme="dark"] .result-accordion summary {
  color: var(--ink);
}

html[data-theme="dark"] .result-accordion summary:hover,
html[data-theme="dark"] .result-accordion summary:focus-visible {
  background: rgba(245,247,248,.06);
}

html[data-theme="dark"] .result-accordion[open] summary {
  border-bottom: 1px solid var(--line);
  margin-bottom: 16px;
}

html[data-theme="dark"] .result-accordion summary span {
  background: rgba(245,247,248,.07);
  border-color: var(--line);
  color: var(--muted);
}

html[data-theme="dark"] .result-accordion summary::after {
  background: rgba(245,247,248,.1);
  color: var(--ink);
}

html[data-theme="dark"] .result-accordion-body {
  color: var(--muted);
}

html[data-theme="dark"] .result-accordion .scenario-grid article,
html[data-theme="dark"] .result-accordion .context-card {
  background: var(--surface-muted);
  border-color: var(--line);
  color: var(--muted);
}

html[data-theme="dark"] .result-accordion .scenario-grid p,
html[data-theme="dark"] .result-accordion .context-card span,
html[data-theme="dark"] .news-card small {
  color: var(--muted);
}

html[data-theme="dark"] .result-news-section {
  border-top-color: var(--line);
}

html[data-theme="dark"] .news-impact-pill {
  background: rgba(245,247,248,.08);
  color: var(--ink);
}

html[data-theme="dark"] .news-effect-pill.effect-neutral {
  background: rgba(245,247,248,.08);
  color: var(--ink);
}

html[data-theme="dark"] .result-disclaimer {
  background: var(--panel-elevated);
  border-color: var(--line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

html[data-theme="dark"] .profile-modal,
html[data-theme="dark"] .upgrade-modal,
html[data-theme="dark"] .billing-result-modal {
  background: var(--overlay-bg);
}

html[data-theme="dark"] .profile-dialog,
html[data-theme="dark"] .upgrade-dialog,
html[data-theme="dark"] .billing-result-dialog,
html[data-theme="dark"] .uploaded-screenshot-dialog {
  background: rgba(24,26,29,.98);
  border-color: var(--line);
  box-shadow: 0 34px 90px rgba(0,0,0,.42);
  color: var(--ink);
}

html[data-theme="dark"] .profile-settings-rail,
html[data-theme="dark"] .profile-settings-status,
html[data-theme="dark"] .uploaded-screenshot-empty {
  background: var(--surface-muted);
  border-color: var(--line);
}

html[data-theme="dark"] .profile-settings-nav button,
html[data-theme="dark"] .profile-dialog-close,
html[data-theme="dark"] .uploaded-screenshot-dialog button {
  color: var(--ink);
}

html[data-theme="dark"] .profile-settings-nav button[data-active="true"],
html[data-theme="dark"] .profile-settings-nav button:hover,
html[data-theme="dark"] .profile-settings-nav button:focus-visible,
html[data-theme="dark"] .profile-dialog-close:hover,
html[data-theme="dark"] .profile-dialog-close:focus-visible,
html[data-theme="dark"] .uploaded-screenshot-dialog button {
  background: var(--panel-elevated);
}

html[data-theme="dark"] .dashboard-studio .search-field input {
  background: transparent;
  color: var(--ink);
}

html[data-theme="dark"] .dashboard-studio .search-field svg,
html[data-theme="dark"] .sidebar-menu-icon {
  color: var(--muted);
}

html[data-theme="dark"] .dashboard-studio .search-field:focus-within {
  background: var(--panel-elevated);
  border-color: rgba(18,183,106,.34);
  box-shadow: 0 0 0 3px var(--focus-ring), inset 0 1px 0 rgba(255,255,255,.05);
}

html[data-theme="dark"] .dashboard-studio .chat-history-item:hover,
html[data-theme="dark"] .dashboard-studio .chat-history-item:focus-visible {
  background: rgba(245,247,248,.07);
  box-shadow: inset 0 0 0 1px rgba(228,232,238,.08);
  color: var(--ink);
  outline: 0;
}

html[data-theme="dark"] .dashboard-studio .chat-history-item.active {
  background: rgba(18,183,106,.14);
  box-shadow: inset 0 0 0 1px rgba(18,183,106,.26);
  color: var(--ink);
}

html[data-theme="dark"] .dashboard-studio .analysis-history-copy strong {
  color: var(--ink);
}

html[data-theme="dark"] .dashboard-studio .analysis-history-copy span {
  color: var(--muted);
}

html[data-theme="dark"] .dashboard-studio .chat-history-item.active .analysis-history-copy span,
html[data-theme="dark"] .dashboard-studio .chat-history-item:hover .analysis-history-copy span,
html[data-theme="dark"] .dashboard-studio .chat-history-item:focus-visible .analysis-history-copy span {
  color: #c2c8d0;
}

html[data-theme="dark"] .dashboard-studio .sidebar-account {
  border-top-color: var(--line);
}

html[data-theme="dark"] .dashboard-studio .sidebar-account-menu a,
html[data-theme="dark"] .dashboard-studio .sidebar-account-menu button {
  color: var(--ink);
}

html[data-theme="dark"] .dashboard-studio .sidebar-account-menu a:hover,
html[data-theme="dark"] .dashboard-studio .sidebar-account-menu a:focus-visible,
html[data-theme="dark"] .dashboard-studio .sidebar-account-menu button:hover,
html[data-theme="dark"] .dashboard-studio .sidebar-account-menu button:focus-visible {
  background: rgba(245,247,248,.07);
}

html[data-theme="dark"] .dashboard-studio .sidebar-account-menu button[data-sidebar-logout] {
  color: #ff7a70;
}

html[data-theme="dark"] .dashboard-studio .sidebar-account-menu button[data-sidebar-logout]:hover,
html[data-theme="dark"] .dashboard-studio .sidebar-account-menu button[data-sidebar-logout]:focus-visible {
  background: rgba(248,113,113,.12);
  color: #ff9b92;
}

html[data-theme="dark"] .dashboard-studio .sidebar-account-menu button[data-sidebar-logout] .sidebar-menu-icon {
  color: currentColor;
}

html[data-theme="dark"] .logout-confirm-dialog {
  background: rgba(5,7,10,.74);
}

html[data-theme="dark"] .logout-confirm-card {
  background: var(--panel);
  border-color: var(--line);
  box-shadow: 0 28px 80px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.05);
}

html[data-theme="dark"] .logout-confirm-close {
  background: var(--surface-muted);
  border-color: var(--line);
  color: var(--ink);
}

html[data-theme="dark"] .logout-confirm-close:hover,
html[data-theme="dark"] .logout-confirm-close:focus-visible {
  background: rgba(245,247,248,.12);
}

html[data-theme="dark"] .logout-confirm-icon {
  background: rgba(248,113,113,.12);
  border-color: rgba(248,113,113,.24);
  color: #ff8a80;
}

html[data-theme="dark"] .logout-confirm-card .logout-confirm-eyebrow,
html[data-theme="dark"] .logout-confirm-card p {
  color: var(--muted);
}

html[data-theme="dark"] .logout-confirm-card h2 {
  color: var(--ink);
}

html[data-theme="dark"] .logout-confirm-cancel {
  background: var(--panel-elevated);
  border-color: var(--line) !important;
  color: var(--ink);
}

html[data-theme="dark"] .logout-confirm-cancel:hover,
html[data-theme="dark"] .logout-confirm-cancel:focus-visible {
  background: rgba(245,247,248,.1);
  border-color: rgba(245,247,248,.2) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.24);
}

html[data-theme="dark"] .dashboard-studio .profile-avatar[data-user-initials-avatar],
html[data-theme="dark"] .profile-dialog-avatar[data-user-initials-avatar] {
  background: #24282e;
  border-color: rgba(228,232,238,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 10px 24px rgba(0,0,0,.24);
  color: var(--ink);
}

html[data-theme="dark"] .profile-account-overview {
  background: var(--panel-elevated);
  border-color: var(--line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

html[data-theme="dark"] .profile-billing-meta div,
html[data-theme="dark"] .billing-result-status-card {
  background: var(--panel-elevated);
  border-color: var(--line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

html[data-theme="dark"] .profile-account-details,
html[data-theme="dark"] .profile-settings-section,
html[data-theme="dark"] .profile-danger-row {
  border-color: var(--line);
}

html[data-theme="dark"] .profile-account-kicker,
html[data-theme="dark"] .profile-account-detail-grid dt,
html[data-theme="dark"] .profile-billing-meta dt,
html[data-theme="dark"] .billing-result-status-card span {
  color: var(--muted);
}

html[data-theme="dark"] .profile-account-banner h2,
html[data-theme="dark"] .profile-account-detail-grid dd,
html[data-theme="dark"] .profile-billing-meta dd,
html[data-theme="dark"] .billing-result-status-card strong {
  color: var(--ink);
}

html[data-theme="dark"] .profile-name-input,
html[data-theme="dark"] .profile-name-action {
  background: rgba(245,247,248,.06);
  border-color: rgba(228,232,238,.16);
  color: var(--ink);
}

html[data-theme="dark"] .profile-name-action:hover,
html[data-theme="dark"] .profile-name-action:focus-visible {
  background: rgba(245,247,248,.1);
  border-color: rgba(228,232,238,.24);
}

html[data-theme="dark"] .profile-name-editor[data-editing="true"] .profile-name-action {
  background: var(--button-primary-bg);
  border-color: var(--button-primary-bg);
  color: var(--button-primary-text);
}

html[data-theme="dark"] .profile-name-status {
  color: var(--muted);
}

html[data-theme="dark"] .profile-name-status[data-status="error"] {
  color: #fda29b;
}

html[data-theme="dark"] .profile-account-banner p,
html[data-theme="dark"] .profile-section-heading p,
html[data-theme="dark"] .billing-result-dialog p:not(.panel-label) {
  color: var(--muted);
}

html[data-theme="dark"] .profile-account-plan-pill,
html[data-theme="dark"] .profile-settings-status {
  background: rgba(245,247,248,.06);
  border-color: var(--line);
  color: var(--ink);
}

html[data-theme="dark"] .profile-outline-action,
html[data-theme="dark"] .billing-result-actions .btn-light {
  background: var(--panel-elevated);
  border: 1px solid var(--line);
  color: var(--ink);
}

html[data-theme="dark"] .profile-danger-action,
html[data-theme="dark"] .profile-danger-row button {
  background: rgba(248,113,113,.12);
  border-color: rgba(248,113,113,.36);
  color: #ff9b92;
}

html[data-theme="dark"] .profile-billing-cancel-notice {
  background: rgba(245,158,11,.12);
  border-color: rgba(245,158,11,.34);
  color: #fbbf24;
}

html[data-theme="dark"] .upgrade-plan-card {
  background: var(--panel-elevated);
  border-color: var(--line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  color: var(--ink);
}

html[data-theme="dark"] .upgrade-plan-card.highlighted {
  background:
    radial-gradient(circle at 20% 0%, rgba(18,183,106,.22), transparent 42%),
    linear-gradient(180deg, rgba(28,45,37,.98), rgba(22,26,29,.98));
  border-color: rgba(18,183,106,.52);
  box-shadow: 0 22px 56px rgba(0,0,0,.26), 0 0 0 1px rgba(18,183,106,.12);
}

html[data-theme="dark"] .upgrade-plan-card[data-upgrade-availability="current"] {
  background: rgba(245,247,248,.06);
  border-color: var(--line);
}

html[data-theme="dark"] .upgrade-plan-card[data-upgrade-availability="unavailable"] {
  background: rgba(245,247,248,.04);
  border-color: var(--line);
  opacity: .62;
}

html[data-theme="dark"] .upgrade-plan-card h2,
html[data-theme="dark"] .upgrade-price strong {
  color: var(--ink);
}

html[data-theme="dark"] .upgrade-price span,
html[data-theme="dark"] .upgrade-price small,
html[data-theme="dark"] .upgrade-plan-card p,
html[data-theme="dark"] .upgrade-plan-card li {
  color: var(--muted);
}

html[data-theme="dark"] .upgrade-plan-card li::before {
  color: var(--accent-green-dark);
}

html[data-theme="dark"] .upgrade-plan-topline span {
  background: rgba(18,183,106,.18);
  border-color: rgba(18,183,106,.34);
  color: #47e59a;
}

html[data-theme="dark"] .upgrade-plan-card[data-upgrade-availability="current"] .btn,
html[data-theme="dark"] .upgrade-plan-card[data-upgrade-availability="unavailable"] .btn,
html[data-theme="dark"] .upgrade-current-button {
  background: rgba(245,247,248,.08);
  border-color: var(--line);
  color: var(--muted);
}

html[data-theme="dark"] .oauth-button {
  background: var(--panel-elevated);
  border-color: var(--line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

html[data-theme="dark"] .oauth-button:hover,
html[data-theme="dark"] .oauth-button:focus-visible {
  border-color: rgba(228,232,238,.24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 12px 28px rgba(0,0,0,.22);
}

html[data-theme="dark"] .oauth-button span {
  color: var(--ink);
}

html[data-theme="dark"] .divider::before,
html[data-theme="dark"] .divider::after {
  background: var(--line);
}

html[data-theme="dark"] .auth-preview-mark {
  background: var(--panel-elevated);
  border-color: var(--line);
  box-shadow: none;
}

html[data-theme="dark"] .auth-output-anatomy,
html[data-theme="dark"] .auth-mode-comparison {
  background: var(--panel);
  border-color: var(--line);
  box-shadow: none;
}

html[data-theme="dark"] .auth-output-anatomy article,
html[data-theme="dark"] .auth-mode-comparison article,
html[data-theme="dark"] .auth-context-strip span {
  background: var(--panel-elevated);
  border-color: var(--line);
  box-shadow: none;
}

html[data-theme="dark"] .auth-output-anatomy article.primary,
html[data-theme="dark"] .auth-mode-comparison article.active {
  background: var(--surface-muted);
  border-color: rgba(228,232,238,.16);
}

html[data-theme="dark"] .auth-output-anatomy span,
html[data-theme="dark"] .auth-mode-comparison span,
html[data-theme="dark"] .auth-context-strip span,
html[data-theme="dark"] .auth-mode-comparison em {
  color: var(--muted);
}

html[data-theme="dark"] .auth-output-anatomy strong,
html[data-theme="dark"] .auth-mode-comparison strong {
  color: var(--ink);
}

html[data-theme="dark"] .auth-output-anatomy p,
html[data-theme="dark"] .auth-mode-comparison p {
  color: var(--muted);
}

html[data-theme="dark"] .auth-output-anatomy article.primary span,
html[data-theme="dark"] .auth-output-anatomy article.primary strong,
html[data-theme="dark"] .auth-mode-comparison article.active span,
html[data-theme="dark"] .auth-mode-comparison article.active strong {
  color: var(--ink);
}

html[data-theme="dark"] .auth-output-anatomy article.primary p,
html[data-theme="dark"] .auth-mode-comparison article.active p,
html[data-theme="dark"] .auth-mode-comparison article.active em {
  color: var(--muted);
}

html[data-theme="dark"] .auth-mode-comparison em {
  border-color: var(--line);
}

html[data-theme="dark"] .auth-carousel-dots span {
  --auth-dot-active: rgba(245,247,248,.72);
  --auth-dot-inactive: rgba(245,247,248,.24);
  background: rgba(245,247,248,.26);
}

html[data-theme="dark"] .auth-form input,
html[data-theme="dark"] .search-field input {
  background: var(--surface-muted);
  border-color: var(--line);
  color: var(--ink);
}

html[data-theme="dark"] .auth-form input:focus {
  background: var(--panel);
  border-color: rgba(18,183,106,.42);
  box-shadow: 0 0 0 4px var(--focus-ring);
}

html[data-theme="dark"] .auth-form input::placeholder,
html[data-theme="dark"] .search-field input::placeholder {
  color: #737b86;
}

html[data-theme="dark"] .auth-form input:-webkit-autofill,
html[data-theme="dark"] .auth-form input:-webkit-autofill:hover,
html[data-theme="dark"] .auth-form input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px var(--surface-muted) inset;
  -webkit-text-fill-color: var(--ink);
}

html[data-theme="dark"] .auth-inline-error,
html[data-theme="dark"] .billing-alert,
html[data-theme="dark"] .admin-alert {
  background: rgba(180,35,24,.12);
  border-color: rgba(248,113,113,.28);
  color: #fda29b;
}

html[data-theme="dark"] .auth-form-status {
  background: rgba(18,183,106,.1);
  color: #75e0a7;
}

.auth-form-panel {
  position: relative;
}

.auth-form-panel > .theme-toggle {
  position: absolute;
  right: 72px;
  top: 48px;
}

.profile-dialog-page > .theme-toggle {
  position: fixed;
  right: 24px;
  top: 24px;
  z-index: 90;
}

@media (max-width: 980px) {
  .admin-metric-grid,
  .admin-section-grid,
  .admin-user-edit-grid,
  .admin-user-lookup-form {
    grid-template-columns: 1fr;
  }

  .admin-action-button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
  .auth-carousel-viewport {
    min-height: auto;
  }
  .auth-carousel-slide {
    animation: none !important;
    opacity: 0;
    position: absolute;
    transform: none;
  }
  .auth-carousel-slide:first-child {
    opacity: 1;
    position: relative;
  }
  .auth-carousel-slide:not(:first-child),
  .auth-carousel-dots {
    display: none;
  }
  .review-track,
  .review-card-track,
  .review-note,
  .review-note::after {
    animation: none !important;
    transform: none !important;
  }
  .profile-modal:not(.profile-modal-standalone):not([hidden]),
  .upgrade-modal:not([hidden]),
  .billing-result-modal:not([hidden]),
  .profile-modal:not(.profile-modal-standalone):not([hidden]) .profile-dialog,
  .uploaded-screenshot-modal:not([hidden]) .uploaded-screenshot-dialog,
  .upgrade-modal:not([hidden]) .upgrade-dialog,
  .billing-result-modal:not([hidden]) .billing-result-dialog,
  .profile-modal[data-closing="true"],
  .upgrade-modal[data-closing="true"],
  .billing-result-modal[data-closing="true"],
  .profile-modal[data-closing="true"] .profile-dialog,
  .uploaded-screenshot-modal[data-closing="true"] .uploaded-screenshot-dialog,
  .upgrade-modal[data-closing="true"] .upgrade-dialog,
  .billing-result-modal[data-closing="true"] .billing-result-dialog,
  .sidebar-account-menu:not([hidden]):not([data-menu-closing="true"]),
  .sidebar-account-menu[data-menu-closing="true"],
  .chat-composer-actions[data-motion-state],
  .chart-instructions[data-motion-state],
  .upload-error-banner[data-motion-state],
  .analysis-loader[data-motion-state],
  .analysis-loader[data-motion-state] .analysis-loader-panel,
  .chart-dropzone img[data-motion-state] {
    animation: none !important;
    transform: none !important;
  }
}
