:root {
  --bg: #f3f7ff;
  --surface: #ffffff;
  --surface-soft: #f2f6ff;
  --panel: #ffffff;
  --line: #dbe5ff;
  --line-strong: #bfd0ff;
  --ink: #152446;
  --ink-soft: #4d5f86;
  --accent: #2f6bff;
  --yes: #2d9a74;
  --yes-soft: #e9f8f2;
  --no: #d86f7c;
  --no-soft: #fdecef;
  --warning: #4a67c9;
  --shadow-sm: 0 4px 14px rgba(56, 88, 169, 0.1);
  --shadow-md: 0 16px 38px rgba(56, 88, 169, 0.13);
  --radius-lg: 18px;
  --radius-md: 13px;
  --radius-sm: 10px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  color-scheme: light;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: var(--ink);
  background: #ffffff;
  line-height: 1.55;
}

h1,
h2,
h3 {
  margin: 0 0 0.48rem;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 1.2;
}

p {
  margin: 0 0 0.78rem;
}

a {
  color: inherit;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(47, 107, 255, 0.28);
  outline-offset: 2px;
}

.container {
  width: min(1240px, calc(100% - 2.5rem));
  margin-inline: auto;
}

.skip-link {
  position: fixed;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 1000;
  background: #ffffff;
  color: #2d3d58;
  border: 1px solid #c8d7ff;
  border-radius: 8px;
  padding: 0.36rem 0.56rem;
  text-decoration: none;
  font-size: 0.84rem;
  font-weight: 700;
  transform: translateY(-140%);
  transition: transform 0.2s ease;
}

.skip-link:focus-visible {
  transform: translateY(0);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 28;
  backdrop-filter: blur(6px);
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid rgba(191, 208, 255, 0.8);
}

.header-inner {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.header-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.52rem;
}

.brand {
  text-decoration: none;
  font-family: "Helvetica Neue UltraLight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(1.4rem, 2vw, 1.82rem);
  font-weight: 200;
  color: rgb(54, 54, 54);
}

.top-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.top-nav a {
  text-decoration: none;
  color: var(--ink-soft);
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 0.32rem 0.6rem;
  font-size: 0.9rem;
  font-weight: 600;
}

.top-nav a:hover,
.top-nav a:focus-visible,
.top-nav a[aria-current="page"] {
  color: var(--accent);
  border-color: var(--line-strong);
  background: rgba(255, 255, 255, 0.95);
}

.top-nav a:focus-visible,
.btn:focus-visible,
input:focus-visible,
button:focus-visible {
  outline: 3px solid rgba(47, 107, 255, 0.28);
  outline-offset: 2px;
}

main {
  padding: 2rem 0 3rem;
}

.hero {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 0.8rem;
}

.hero-main,
.hero-stats {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-md);
}

.hero-main {
  padding: clamp(1.1rem, 2.4vw, 1.75rem);
}

.eyebrow {
  margin-bottom: 0.42rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--warning);
  font-size: 0.72rem;
  font-weight: 700;
}

h1 {
  font-size: clamp(2rem, 3.9vw, 2.9rem);
}

.lead {
  color: var(--ink-soft);
  max-width: 72ch;
}

.sep-market-note {
  margin-top: -0.1rem;
  margin-bottom: 0.78rem;
}

.sep-market-note a {
  color: #2f3d53;
  text-decoration: none;
  border-bottom: 1px dotted rgba(47, 61, 83, 0.45);
}

.sep-market-note a:hover,
.sep-market-note a:focus-visible {
  color: #ff5f35;
  border-bottom-color: rgba(255, 95, 53, 0.65);
}

.hero-pills {
  margin-top: 0.88rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.46rem;
}

.hero-pills span {
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: #edf3ff;
  color: #4b5e91;
  font-size: 0.77rem;
  font-weight: 700;
  padding: 0.2rem 0.52rem;
}

.hero-stats {
  display: grid;
  gap: 0.56rem;
  padding: 0.68rem;
}

.stat-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-soft);
  padding: 0.52rem 0.58rem;
}

.stat-value {
  margin: 0 0 0.06rem;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.26rem;
}

.stat-label {
  margin: 0;
  font-size: 0.8rem;
  color: var(--ink-soft);
}

.board {
  margin-top: 1.2rem;
  display: grid;
  grid-template-columns: 1.42fr 0.88fr;
  gap: 0.8rem;
  align-items: start;
}

.panel {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--panel);
  box-shadow: var(--shadow-sm);
}

.controls {
  padding: 0.72rem;
}

.search-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.34rem;
  font-size: 0.84rem;
  color: var(--ink-soft);
  margin-bottom: 0.66rem;
}

.search-wrap input {
  width: 100%;
  border: 1px solid #c6d6ff;
  border-radius: var(--radius-sm);
  background: #ffffff;
  color: var(--ink);
  padding: 0.54rem 0.6rem;
  font: inherit;
}

.filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.market-toolbar {
  margin-top: 0.66rem;
  padding-top: 0.58rem;
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(200px, 1fr);
  gap: 0.56rem 0.72rem;
  align-items: end;
}

.sort-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.34rem;
  font-size: 0.82rem;
  color: var(--ink-soft);
}

.sort-wrap select {
  width: 100%;
  border: 1px solid #c6d6ff;
  border-radius: var(--radius-sm);
  background: #ffffff;
  color: var(--ink);
  padding: 0.48rem 0.58rem;
  font: inherit;
}

.toggle-wrap {
  display: flex;
  align-items: center;
  gap: 0.46rem;
  min-height: 40px;
  color: var(--ink-soft);
  font-size: 0.82rem;
}

.toggle-wrap input {
  width: 16px;
  height: 16px;
  accent-color: var(--accent);
}

.result-summary {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 0.78rem;
  color: var(--ink-soft);
}

.chip-filter {
  border-radius: 999px;
  border: 1px solid var(--line-strong);
  background: #edf3ff;
  color: #4f618f;
  font: inherit;
  font-size: 0.79rem;
  font-weight: 700;
  padding: 0.21rem 0.52rem;
  cursor: pointer;
}

.chip-filter.active,
.chip-filter:hover,
.chip-filter:focus-visible {
  border-color: #8aa4eb;
  background: #e0eaff;
  color: #1f3571;
}

.market-grid {
  margin-top: 0.68rem;
  display: grid;
  gap: 0.6rem;
}

.hidden {
  display: none !important;
}

.market-detail-main {
  margin-top: 0.68rem;
  padding: 0.78rem;
  display: grid;
  gap: 0.62rem;
}

.detail-nav-row,
.detail-meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.detail-back-link {
  color: var(--accent);
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
}

.detail-back-link:hover,
.detail-back-link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.detail-question {
  margin: 0;
  font-size: clamp(1.28rem, 2.3vw, 1.82rem);
}

.detail-trend-panel {
  margin: 0;
}

.detail-trend-chart {
  max-height: 310px;
}

.detail-context-block,
.detail-activity-block {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-soft);
  padding: 0.54rem 0.58rem;
}

.detail-context-block h3,
.detail-activity-block h3 {
  margin: 0 0 0.24rem;
  font-size: 0.92rem;
}

.detail-context-block p {
  margin: 0;
  color: var(--ink-soft);
}

.detail-outcome-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.detail-outcome-card,
.detail-overview-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #f8fbff;
  padding: 0.54rem 0.58rem;
  display: grid;
  gap: 0.34rem;
}

.detail-outcome-card.yes {
  border-color: #8bcdb7;
  background: var(--yes-soft);
}

.detail-outcome-card.no {
  border-color: #e5a0ac;
  background: var(--no-soft);
}

.detail-outcome-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.6rem;
}

.detail-outcome-head h3 {
  margin: 0;
  font-size: 0.88rem;
}

.detail-share {
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  font-size: 0.76rem;
  font-weight: 800;
  padding: 0.12rem 0.42rem;
}

.detail-side-btn {
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: #ffffff;
  color: var(--ink);
  font: inherit;
  font-size: 0.76rem;
  font-weight: 800;
  padding: 0.24rem 0.52rem;
  cursor: pointer;
  width: fit-content;
}

.detail-side-btn.active {
  border-color: #738fd8;
  background: #e6efff;
}

.detail-share.option-1 {
  border-color: rgba(85, 123, 230, 0.4);
  color: #3f63c9;
}

.detail-share.option-2 {
  border-color: rgba(46, 166, 138, 0.42);
  color: #208a70;
}

.detail-share.option-3 {
  border-color: rgba(104, 152, 240, 0.46);
  color: #467acb;
}

.detail-share.option-4 {
  border-color: rgba(240, 140, 134, 0.42);
  color: #bf5f5c;
}

.detail-share.option-5 {
  border-color: rgba(138, 132, 235, 0.44);
  color: #625bc6;
}

.detail-theory-list {
  display: grid;
  gap: 0.46rem;
}

.detail-theory-list h3 {
  margin: 0;
  font-size: 0.92rem;
}

.detail-theory-item {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #f9fbff;
  padding: 0.42rem;
  display: grid;
  gap: 0.32rem;
}

.detail-theory-item.is-open {
  border-color: #738fd8;
  box-shadow: 0 0 0 1px rgba(89, 120, 205, 0.2) inset;
}

.detail-theory-toggle {
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 0.48rem;
  align-items: center;
  width: 100%;
  font: inherit;
}

.detail-theory-title {
  font-size: 0.84rem;
  font-weight: 700;
  color: #1f356f;
}

.detail-theory-body {
  display: none;
}

.detail-theory-body.open {
  display: block;
}

.market-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #ffffff;
  padding: 0.66rem;
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.market-card:hover {
  transform: translateY(-1px);
  border-color: var(--line-strong);
  box-shadow: 0 14px 26px rgba(56, 88, 169, 0.14);
}

.market-card.active {
  border-color: #809be4;
  box-shadow: 0 0 0 1px rgba(86, 121, 215, 0.24) inset;
}

.card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.4rem;
}

.category-tag {
  border-radius: 999px;
  border: 1px solid var(--line-strong);
  background: #eef3ff;
  color: #4e6194;
  font-size: 0.71rem;
  font-weight: 700;
  padding: 0.15rem 0.44rem;
  white-space: nowrap;
}

.volume-tag {
  color: var(--ink-soft);
  font-size: 0.74rem;
  white-space: nowrap;
}

.card-question {
  margin-bottom: 0.5rem;
  font-size: 0.98rem;
}

.market-bar {
  height: 8px;
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid #c9d8ff;
  background: #ecf3ff;
  display: flex;
}

.bar-yes {
  background: linear-gradient(90deg, #2fb08a 0%, #258d6f 100%);
}

.bar-no {
  background: linear-gradient(90deg, #f18891 0%, #d86979 100%);
}

.multi-bar {
  height: 8px;
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid #c9d8ff;
  background: #ecf3ff;
  display: flex;
}

.multi-segment {
  display: block;
  height: 100%;
}

.multi-segment.option-1 {
  background: #557be6;
}

.multi-segment.option-2 {
  background: #2ea68a;
}

.multi-segment.option-3 {
  background: #6898f0;
}

.multi-segment.option-4 {
  background: #f08c86;
}

.multi-segment.option-5 {
  background: #8a84eb;
}

.bar-labels {
  margin-top: 0.32rem;
  display: flex;
  justify-content: space-between;
  color: var(--ink-soft);
  font-size: 0.77rem;
}

.quote-row {
  margin-top: 0.56rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4rem;
}

.multi-summary {
  margin-top: 0.56rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
}

.multi-pill {
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: #f2f6ff;
  color: #4c5e90;
  font-size: 0.74rem;
  font-weight: 700;
  padding: 0.18rem 0.6rem;
}

.quote-btn {
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: #f3f7ff;
  color: var(--ink);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  font: inherit;
  font-weight: 700;
  padding: 0.4rem 0.5rem;
  cursor: pointer;
}

.quote-btn.yes strong {
  color: #278c6a;
}

.quote-btn.no strong {
  color: #cb5f70;
}

.quote-btn.yes:hover,
.quote-btn.yes:focus-visible,
.quote-btn.yes.selected {
  border-color: #8bcdb7;
  background: var(--yes-soft);
}

.quote-btn.no:hover,
.quote-btn.no:focus-visible,
.quote-btn.no.selected {
  border-color: #e5a0ac;
  background: var(--no-soft);
}

.quote-btn.multi-open {
  margin-top: 0.64rem;
  width: fit-content;
  min-width: 11.4rem;
  padding: 0.62rem 0.82rem;
  font-size: 0.9rem;
  border-radius: 18px;
}

.position-note {
  margin: 0.46rem 0 0;
  font-size: 0.77rem;
  color: var(--ink-soft);
}

.ticket-column {
  display: grid;
  gap: 0.64rem;
}

.ticket-column.ticket-column-detail {
  gap: 0.78rem;
}

.ticket {
  position: sticky;
  top: 82px;
  padding: 0.76rem;
}

.hint,
.status-line {
  color: var(--ink-soft);
  font-size: 0.88rem;
}

.ticket-content.hidden {
  display: none;
}

.ticket-question {
  margin: 0.08rem 0 0.4rem;
  font-size: 0.98rem;
  font-weight: 700;
}

.ticket-consensus {
  margin: 0 0 0.62rem;
  color: #50638f;
  font-size: 0.84rem;
}

.ticket-controls {
  margin-bottom: 0.2rem;
}

.binary-controls {
  display: grid;
  gap: 0.34rem;
}

#weekWindow {
  margin-top: -0.26rem;
  margin-bottom: 0.68rem;
  font-size: 0.77rem;
  letter-spacing: 0.01em;
  color: #6277a7;
}

.trend-panel {
  margin: 0 0 0.72rem;
  border: 1px solid #223660;
  border-radius: 14px;
  background: linear-gradient(180deg, #10182b 0%, #0c1324 100%);
  padding: 0.58rem 0.54rem 0.5rem;
  color: #c8d6f6;
}

.trend-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.6rem;
  margin-bottom: 0.34rem;
}

.trend-title {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #9cb6ed;
}

.trend-meta {
  margin: 0;
  font-size: 0.72rem;
  color: #7892c9;
}

.trend-chart {
  width: 100%;
  height: auto;
  display: block;
}

.trend-bg {
  fill: transparent;
}

.trend-grid {
  stroke: rgba(163, 187, 243, 0.24);
  stroke-width: 1;
  stroke-dasharray: 2.5 5;
}

.trend-axis {
  fill: #7d99d3;
  font-size: 11px;
  font-weight: 700;
}

.trend-legend {
  margin-top: 0.34rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.trend-item {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  border: 1px solid rgba(141, 170, 236, 0.34);
  border-radius: 999px;
  background: rgba(84, 113, 182, 0.18);
  color: #c5d5f8;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.16rem 0.44rem;
}

.trend-dot {
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 999px;
}

.side-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4rem;
  margin-bottom: 0.64rem;
}

.side-btn {
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: #f3f7ff;
  color: var(--ink);
  font: inherit;
  font-weight: 800;
  padding: 0.46rem 0.62rem;
  cursor: pointer;
}

.side-btn[data-side="yes"].active {
  border-color: #8bcdb7;
  background: var(--yes-soft);
}

.side-btn[data-side="no"].active {
  border-color: #e5a0ac;
  background: var(--no-soft);
}

.field-row {
  display: flex;
  flex-direction: column;
  gap: 0.38rem;
  margin-bottom: 0.66rem;
  font-size: 0.86rem;
  color: var(--ink-soft);
}

.field-row input[type="range"] {
  width: 100%;
  margin: 0;
  accent-color: #2d9a74;
}

#remainingLine {
  margin: 0 0 0.62rem;
  color: #2f4d91;
  font-weight: 600;
}

.ticket.side-no .field-row input[type="range"] {
  accent-color: #d56e7c;
}

.preview {
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: linear-gradient(180deg, #f8fbff 0%, #edf3ff 100%);
  color: #2f477f;
  font-size: 0.83rem;
  padding: 0.46rem 0.54rem;
  margin-bottom: 0.62rem;
}

.btn {
  border: 1px solid transparent;
  border-radius: 999px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  padding: 0.54rem 0.9rem;
  transition: transform 0.16s ease, filter 0.16s ease;
}

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

.btn-primary {
  color: #f7faff;
  background: linear-gradient(135deg, #2f6bff 0%, #4e85ff 100%);
}

.btn-primary:hover,
.btn-primary:focus-visible {
  filter: brightness(1.06);
}

.btn-ghost {
  margin-top: 0.44rem;
  color: #2b4a90;
  background: #edf3ff;
  border-color: #c4d5ff;
}

.btn-ghost:hover,
.btn-ghost:focus-visible {
  background: #e4edff;
}

.ticket .btn {
  width: 100%;
}

.status-line {
  margin: 0.52rem 0 0;
}

.market-auth-gate {
  display: grid;
  gap: 0.72rem;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fbf7f0;
  padding: 0.9rem;
}

.market-auth-copy {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.9rem;
}

.market-auth-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.56rem;
}

.market-auth-actions .btn {
  display: inline-flex;
  align-items: center;
  width: auto;
  min-width: 9.5rem;
  text-decoration: none;
  justify-content: center;
}

.multi-controls {
  display: grid;
  gap: 0.42rem;
}

.multi-intro {
  margin: 0;
  color: #4f618f;
  font-size: 0.79rem;
}

.choice-item {
  display: grid;
  gap: 0.34rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #f9fbff;
  padding: 0.44rem;
}

.choice-item.is-selected {
  border-color: #8ca7eb;
  background: #edf3ff;
}

.choice-item.is-open {
  border-color: #738fd8;
  box-shadow: 0 0 0 1px rgba(89, 120, 205, 0.2) inset;
}

.choice-main {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.4rem;
  align-items: center;
}

.choice-check {
  margin: 0;
  width: 1rem;
  height: 1rem;
}

.choice-summary {
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  width: 100%;
  font: inherit;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  text-align: left;
}

.choice-summary-main {
  color: #1e346e;
  font-size: 0.84rem;
  font-weight: 700;
}

.choice-letter {
  color: #5f77b6;
}

.choice-share {
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: #eef3ff;
  color: #4a6198;
  font-size: 0.76rem;
  font-weight: 800;
  padding: 0.14rem 0.45rem;
  min-width: 3.35rem;
  text-align: center;
}

.choice-share.option-1 {
  border-color: rgba(85, 123, 230, 0.4);
  color: #3f63c9;
}

.choice-share.option-2 {
  border-color: rgba(46, 166, 138, 0.42);
  color: #208a70;
}

.choice-share.option-3 {
  border-color: rgba(104, 152, 240, 0.46);
  color: #467acb;
}

.choice-share.option-4 {
  border-color: rgba(240, 140, 134, 0.42);
  color: #bf5f5c;
}

.choice-share.option-5 {
  border-color: rgba(138, 132, 235, 0.44);
  color: #625bc6;
}

.choice-theory {
  margin: 0;
  color: #40537f;
  font-size: 0.78rem;
}

.choice-sources {
  margin: 0;
  color: #5a6f9f;
  font-size: 0.73rem;
}

.choice-sources a {
  color: #2f6bff;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.choice-sources a:hover,
.choice-sources a:focus-visible {
  color: #214ec2;
}

.choice-allocation {
  display: flex;
  flex-direction: column;
  gap: 0.32rem;
  color: #35518f;
  font-size: 0.78rem;
  font-weight: 600;
}

.choice-allocation input[type="range"] {
  width: 100%;
}

.choice-details {
  display: none;
  border-top: 1px solid rgba(139, 165, 226, 0.45);
  padding-top: 0.32rem;
}

.choice-details.open {
  display: block;
}

.choice-item.option-1 .choice-allocation input[type="range"] {
  accent-color: #557be6;
}

.choice-item.option-2 .choice-allocation input[type="range"] {
  accent-color: #2ea68a;
}

.choice-item.option-3 .choice-allocation input[type="range"] {
  accent-color: #6898f0;
}

.choice-item.option-4 .choice-allocation input[type="range"] {
  accent-color: #f08c86;
}

.choice-item.option-5 .choice-allocation input[type="range"] {
  accent-color: #8a84eb;
}

.side-panel {
  padding: 0.7rem;
}

.feed-list,
.positions-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.44rem;
}

.feed-item,
.positions-item,
.empty-item {
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #f8fbff;
  padding: 0.44rem 0.5rem;
}

.feed-item p,
.positions-item p,
.empty-item p {
  margin: 0;
}

.feed-main,
.positions-main {
  font-size: 0.83rem;
  color: #2a3f74;
}

.feed-meta,
.positions-meta {
  margin-top: 0.16rem;
  font-size: 0.73rem;
  color: var(--ink-soft);
}

.feed-side.yes,
.positions-side.yes {
  color: #278c6a;
}

.feed-side.no,
.positions-side.no {
  color: #cb5f70;
}

.disclosure {
  margin-top: 0.82rem;
  padding: 0.74rem;
}

.site-footer {
  margin-top: 1.8rem;
  border-top: 1px solid rgba(191, 208, 255, 0.8);
  color: var(--ink-soft);
  padding: 1.1rem 0 1.7rem;
}

.bg-orb {
  position: fixed;
  border-radius: 999px;
  filter: blur(52px);
  pointer-events: none;
  z-index: -1;
  display: none;
}

.orb-one {
  width: min(44vw, 520px);
  aspect-ratio: 1;
  left: -12%;
  top: 12%;
  background: rgba(90, 125, 255, 0.2);
}

.orb-two {
  width: min(34vw, 390px);
  aspect-ratio: 1;
  right: -10%;
  top: 36%;
  background: rgba(79, 199, 182, 0.16);
}

.reveal {
  opacity: 0;
  transform: translateY(14px);
}

.reveal.reveal-on {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

/* Professional editorial refresh inspired by Pew Research. */
html[data-theme="light"],
html:not([data-theme]) {
  --bg: #ffffff;
  --surface: #ffffff;
  --surface-soft: #f7f8fa;
  --panel: #ffffff;
  --line: #d8dfe7;
  --line-strong: #c6cfd9;
  --ink: #1f2d3d;
  --ink-soft: #5d6a79;
  --accent: #8f2236;
  --yes: #2b7a57;
  --yes-soft: #edf6f1;
  --no: #b44557;
  --no-soft: #faeef0;
  --warning: #8f2236;
  --shadow-sm: 0 5px 14px rgba(15, 23, 42, 0.06);
  --shadow-md: 0 12px 28px rgba(15, 23, 42, 0.08);
}

html[data-theme="light"] body,
html:not([data-theme]) body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  background: #ffffff;
  color: var(--ink);
}

html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html:not([data-theme]) h1,
html:not([data-theme]) h2,
html:not([data-theme]) h3 {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #172536;
}

html[data-theme="light"] .site-header,
html:not([data-theme]) .site-header {
  backdrop-filter: none;
  background: #ffffff;
  border-bottom: 1px solid #dbe2ea;
}

html[data-theme="light"] .top-nav a,
html:not([data-theme]) .top-nav a {
  font-size: 0.84rem;
  border-radius: 4px;
  color: #556273;
}

html[data-theme="light"] .top-nav a:hover,
html[data-theme="light"] .top-nav a:focus-visible,
html[data-theme="light"] .top-nav a[aria-current="page"],
html:not([data-theme]) .top-nav a:hover,
html:not([data-theme]) .top-nav a:focus-visible,
html:not([data-theme]) .top-nav a[aria-current="page"] {
  color: #1f2d3d;
  border-color: #d2dbe5;
  background: #f4f7fa;
}

html[data-theme="light"] .eyebrow,
html:not([data-theme]) .eyebrow {
  color: #8f2236;
}

html[data-theme="light"] .hero-main,
html[data-theme="light"] .hero-stats,
html[data-theme="light"] .panel,
html[data-theme="light"] .market-card,
html[data-theme="light"] .ticket,
html[data-theme="light"] .choice-item,
html[data-theme="light"] .feed-item,
html[data-theme="light"] .positions-item,
html[data-theme="light"] .empty-item,
html[data-theme="light"] .market-detail-main,
html[data-theme="light"] .detail-context-block,
html[data-theme="light"] .detail-activity-block,
html[data-theme="light"] .detail-overview-card,
html[data-theme="light"] .detail-outcome-card,
html[data-theme="light"] .detail-theory-item,
html:not([data-theme]) .hero-main,
html:not([data-theme]) .hero-stats,
html:not([data-theme]) .panel,
html:not([data-theme]) .market-card,
html:not([data-theme]) .ticket,
html:not([data-theme]) .choice-item,
html:not([data-theme]) .feed-item,
html:not([data-theme]) .positions-item,
html:not([data-theme]) .empty-item,
html:not([data-theme]) .market-detail-main,
html:not([data-theme]) .detail-context-block,
html:not([data-theme]) .detail-activity-block,
html:not([data-theme]) .detail-overview-card,
html:not([data-theme]) .detail-outcome-card,
html:not([data-theme]) .detail-theory-item {
  background: #ffffff !important;
  border-color: #d8dfe7 !important;
  box-shadow: var(--shadow-sm);
}

html[data-theme="light"] .hero-pills span,
html[data-theme="light"] .chip-filter,
html[data-theme="light"] .category-tag,
html[data-theme="light"] .multi-pill,
html[data-theme="light"] .choice-share,
html[data-theme="light"] .detail-share,
html:not([data-theme]) .hero-pills span,
html:not([data-theme]) .chip-filter,
html:not([data-theme]) .category-tag,
html:not([data-theme]) .multi-pill,
html:not([data-theme]) .choice-share,
html:not([data-theme]) .detail-share {
  background: #f6f8fb;
  border-color: #ccd4de;
  color: #5a6778;
}

html[data-theme="light"] .chip-filter.active,
html[data-theme="light"] .chip-filter:hover,
html[data-theme="light"] .chip-filter:focus-visible,
html:not([data-theme]) .chip-filter.active,
html:not([data-theme]) .chip-filter:hover,
html:not([data-theme]) .chip-filter:focus-visible {
  border-color: #b7c3d1;
  background: #edf2f7;
  color: #223246;
}

html[data-theme="light"] .search-wrap input,
html[data-theme="light"] .quote-btn,
html[data-theme="light"] .side-btn,
html[data-theme="light"] .preview,
html:not([data-theme]) .search-wrap input,
html:not([data-theme]) .quote-btn,
html:not([data-theme]) .side-btn,
html:not([data-theme]) .preview {
  background: #ffffff;
  border-color: #c8d1dc;
}

html[data-theme="light"] .market-card:hover,
html:not([data-theme]) .market-card:hover {
  border-color: #c8d1dc;
  box-shadow: 0 10px 20px rgba(15, 23, 42, 0.07);
}

html[data-theme="light"] .market-card.active,
html:not([data-theme]) .market-card.active {
  border-color: #bcc8d7;
  box-shadow: 0 0 0 1px rgba(188, 200, 215, 0.35) inset;
}

html[data-theme="light"] .market-bar,
html[data-theme="light"] .multi-bar,
html:not([data-theme]) .market-bar,
html:not([data-theme]) .multi-bar {
  border-color: #d2dbe5;
  background: #f6f8fb;
}

html[data-theme="light"] .bar-yes,
html:not([data-theme]) .bar-yes {
  background: linear-gradient(90deg, #2f8a64 0%, #246d4e 100%);
}

html[data-theme="light"] .bar-no,
html:not([data-theme]) .bar-no {
  background: linear-gradient(90deg, #c26271 0%, #a54657 100%);
}

html[data-theme="light"] .trend-panel,
html:not([data-theme]) .trend-panel {
  border-color: #d7dee8;
  background: #ffffff;
  color: #273549;
}

html[data-theme="light"] .trend-title,
html[data-theme="light"] .trend-meta,
html:not([data-theme]) .trend-title,
html:not([data-theme]) .trend-meta {
  color: #536174;
}

html[data-theme="light"] .trend-grid,
html:not([data-theme]) .trend-grid {
  stroke: rgba(107, 122, 142, 0.22);
}

html[data-theme="light"] .trend-axis,
html:not([data-theme]) .trend-axis {
  fill: #5c6a7d;
}

html[data-theme="light"] .btn,
html:not([data-theme]) .btn {
  border-radius: 4px;
  box-shadow: none;
}

html[data-theme="light"] .btn-primary,
html:not([data-theme]) .btn-primary {
  color: #ffffff;
  border-color: #8f2236;
  background: #8f2236;
}

html[data-theme="light"] .btn-primary:hover,
html[data-theme="light"] .btn-primary:focus-visible,
html:not([data-theme]) .btn-primary:hover,
html:not([data-theme]) .btn-primary:focus-visible {
  background: #7a1d2f;
}

html[data-theme="light"] .btn-ghost,
html:not([data-theme]) .btn-ghost {
  color: #223246;
  border-color: #c7d0db;
  background: #ffffff;
}

html[data-theme="light"] .quote-btn.yes strong,
html[data-theme="light"] .feed-side.yes,
html[data-theme="light"] .positions-side.yes,
html:not([data-theme]) .quote-btn.yes strong,
html:not([data-theme]) .feed-side.yes,
html:not([data-theme]) .positions-side.yes {
  color: #2b7a57;
}

html[data-theme="light"] .quote-btn.no strong,
html[data-theme="light"] .feed-side.no,
html[data-theme="light"] .positions-side.no,
html:not([data-theme]) .quote-btn.no strong,
html:not([data-theme]) .feed-side.no,
html:not([data-theme]) .positions-side.no {
  color: #b44557;
}

html[data-theme="light"] .ticket-consensus,
html[data-theme="light"] #weekWindow,
html[data-theme="light"] .multi-intro,
html[data-theme="light"] .choice-theory,
html[data-theme="light"] .choice-sources,
html[data-theme="light"] .feed-meta,
html[data-theme="light"] .positions-meta,
html[data-theme="light"] .position-note,
html[data-theme="light"] #remainingLine,
html[data-theme="light"] .detail-context-block p,
html[data-theme="light"] .volume-tag,
html:not([data-theme]) .ticket-consensus,
html:not([data-theme]) #weekWindow,
html:not([data-theme]) .multi-intro,
html:not([data-theme]) .choice-theory,
html:not([data-theme]) .choice-sources,
html:not([data-theme]) .feed-meta,
html:not([data-theme]) .positions-meta,
html:not([data-theme]) .position-note,
html:not([data-theme]) #remainingLine,
html:not([data-theme]) .detail-context-block p,
html:not([data-theme]) .volume-tag {
  color: var(--ink-soft) !important;
}

html[data-theme="light"] .detail-back-link,
html[data-theme="light"] .choice-sources a,
html:not([data-theme]) .detail-back-link,
html:not([data-theme]) .choice-sources a {
  color: #8f2236;
}

html[data-theme="light"] .detail-side-btn,
html:not([data-theme]) .detail-side-btn {
  background: #ffffff;
  border-color: #c7d0db;
}

html[data-theme="light"] .detail-side-btn.active,
html:not([data-theme]) .detail-side-btn.active {
  border-color: #bcc8d7;
  background: #eef2f7;
}

html[data-theme="light"] .site-footer,
html:not([data-theme]) .site-footer {
  border-top: 1px solid #dde3ea;
}

@media (max-width: 1080px) {
  .hero {
    grid-template-columns: 1fr;
  }

  .hero-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .board {
    grid-template-columns: 1fr;
  }

  .ticket {
    position: static;
  }

  .detail-outcome-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .container {
    width: min(1240px, calc(100% - 1.2rem));
  }

  .header-inner {
    align-items: flex-start;
    padding: 0.5rem 0;
  }

  .header-tools {
    justify-content: flex-start;
  }

  .top-nav a {
    font-size: 0.82rem;
    padding: 0.3rem 0.52rem;
  }

  .detail-meta-row,
  .detail-nav-row {
    align-items: flex-start;
  }

  .detail-trend-chart {
    max-height: 240px;
  }

  .hero-stats {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }
}

/* Forethought-inspired neutral palette override */
html[data-theme="light"],
html:not([data-theme]) {
  --surface-soft: #f7f9fc;
  --line: #dfe6ee;
  --line-strong: #ccd5e1;
  --ink: #1b2432;
  --ink-soft: #556173;
  --accent: #1f4dd8;
  --yes: #1f7a54;
  --yes-soft: #edf8f2;
  --no: #a24b5b;
  --no-soft: #fbeff2;
  --warning: #1f4dd8;
  --shadow-sm: 0 3px 12px rgba(27, 36, 50, 0.05);
  --shadow-md: 0 10px 24px rgba(27, 36, 50, 0.07);
}

html[data-theme="light"] .site-header,
html:not([data-theme]) .site-header {
  backdrop-filter: blur(4px);
  border-bottom-color: #e5ebf2;
}

html[data-theme="light"] .panel,
html[data-theme="light"] .market-card,
html[data-theme="light"] .ticket,
html:not([data-theme]) .panel,
html:not([data-theme]) .market-card,
html:not([data-theme]) .ticket {
  border-color: #dfe6ee !important;
  box-shadow: 0 3px 12px rgba(27, 36, 50, 0.05);
}

html[data-theme="light"] .top-nav a,
html:not([data-theme]) .top-nav a {
  border-radius: 8px;
  color: #4f5b6b;
  font-weight: 500;
}

html[data-theme="light"] .top-nav a:hover,
html[data-theme="light"] .top-nav a:focus-visible,
html[data-theme="light"] .top-nav a[aria-current="page"],
html:not([data-theme]) .top-nav a:hover,
html:not([data-theme]) .top-nav a:focus-visible,
html:not([data-theme]) .top-nav a[aria-current="page"] {
  color: #1b2432;
  background: #f6f9ff;
  border-color: #d8e1ec;
}

html[data-theme="light"] .btn,
html:not([data-theme]) .btn {
  border-radius: 10px;
  font-weight: 600;
}

html[data-theme="light"] .btn-primary,
html:not([data-theme]) .btn-primary {
  border-color: #1d3557;
  background: #1d3557;
}

html[data-theme="light"] .btn-primary:hover,
html[data-theme="light"] .btn-primary:focus-visible,
html:not([data-theme]) .btn-primary:hover,
html:not([data-theme]) .btn-primary:focus-visible {
  background: #172b46;
}

html[data-theme="light"] .chip-filter,
html[data-theme="light"] .category-tag,
html[data-theme="light"] .multi-pill,
html:not([data-theme]) .chip-filter,
html:not([data-theme]) .category-tag,
html:not([data-theme]) .multi-pill {
  background: #f7f9fc;
  border-color: #d3dce8;
  color: #4d596c;
}

html[data-theme="light"] .chip-filter.active,
html[data-theme="light"] .chip-filter:hover,
html[data-theme="light"] .chip-filter:focus-visible,
html:not([data-theme]) .chip-filter.active,
html:not([data-theme]) .chip-filter:hover,
html:not([data-theme]) .chip-filter:focus-visible {
  background: #edf3ff;
  border-color: #c2d0e8;
  color: #1d3557;
}

html[data-theme="light"] .bar-yes,
html:not([data-theme]) .bar-yes {
  background: linear-gradient(90deg, #2f8f66 0%, #1f7a54 100%);
}

html[data-theme="light"] .bar-no,
html:not([data-theme]) .bar-no {
  background: linear-gradient(90deg, #b86273 0%, #9d4f5f 100%);
}

/* Home-style alignment (Forethought-like) */
:root {
  --home-bg: #efefea;
  --home-surface: #f7f7f4;
  --home-line: #dfe2de;
  --home-line-strong: #d2d8d3;
  --home-ink: #2f2d2b;
  --home-muted: #5d615f;
  --home-accent: #2f3d53;
  --home-accent-hover: #263247;
}

body {
  background: var(--home-bg);
  color: var(--home-ink);
}

.bg-orb {
  display: none;
}

.site-header {
  border-bottom-color: #e6e8e2;
  background: rgba(255, 255, 255, 0.95);
}

.brand {
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Garamond, serif;
  font-weight: 500;
  color: var(--home-ink);
}

h1,
h2,
h3,
.detail-question {
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Garamond, serif;
  font-weight: 500;
  color: var(--home-ink);
}

.top-nav a {
  border-radius: 8px;
  font-weight: 500;
  color: #4d5350;
}

.top-nav a:hover,
.top-nav a:focus-visible,
.top-nav a[aria-current="page"] {
  background: #f5f5f2;
  border-color: var(--home-line-strong);
  color: var(--home-ink);
}

.panel,
.hero-main,
.hero-stats,
.market-card,
.ticket,
.choice-item,
.feed-item,
.positions-item,
.market-detail-main,
.detail-context-block,
.detail-activity-block,
.detail-overview-card,
.detail-outcome-card,
.detail-theory-item {
  background: var(--home-surface) !important;
  border-color: var(--home-line) !important;
  box-shadow: none !important;
}

.hero-pills span,
.chip-filter,
.category-tag,
.multi-pill,
.choice-share,
.detail-share {
  background: #f1f2ef;
  border-color: var(--home-line-strong);
  color: #4c5251;
}

.chip-filter.active,
.chip-filter:hover,
.chip-filter:focus-visible {
  background: #eceeea;
  border-color: #c5cbc6;
  color: #37424a;
}

.search-wrap input,
.sort-wrap select,
.quote-btn,
.side-btn,
.preview,
.detail-side-btn {
  border-color: var(--home-line-strong);
}

.market-toolbar {
  border-top-color: var(--home-line);
}

.toggle-wrap,
.result-summary,
.sort-wrap {
  color: var(--home-muted);
}

@media (max-width: 780px) {
  .market-toolbar {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .toggle-wrap {
    min-height: auto;
  }
}

.btn {
  border-radius: 8px;
  font-weight: 600;
}

.btn-primary {
  background: var(--home-accent);
  border-color: var(--home-accent);
}

.btn-primary:hover,
.btn-primary:focus-visible {
  background: var(--home-accent-hover);
  border-color: var(--home-accent-hover);
}

.btn-ghost {
  background: #ffffff;
  border-color: var(--home-line-strong);
  color: #4d5350;
}

.ticket-consensus,
#weekWindow,
.multi-intro,
.choice-theory,
.choice-sources,
.feed-meta,
.positions-meta,
.position-note,
#remainingLine,
.detail-context-block p,
.volume-tag,
.hint {
  color: var(--home-muted) !important;
}

/* Final Yes/No palette alignment: remove green/red in favor of slate + stone */
html[data-theme="light"],
html:not([data-theme]) {
  --yes: #2f3d53;
  --yes-soft: #eef1f5;
  --no: #6f665f;
  --no-soft: #f3efea;
}

html[data-theme="light"] .bar-yes,
html:not([data-theme]) .bar-yes {
  background: linear-gradient(90deg, #3a4b64 0%, #2f3d53 100%);
}

html[data-theme="light"] .bar-no,
html:not([data-theme]) .bar-no {
  background: linear-gradient(90deg, #7f746b 0%, #6f665f 100%);
}

html[data-theme="light"] .quote-btn.yes strong,
html[data-theme="light"] .feed-side.yes,
html[data-theme="light"] .positions-side.yes,
html:not([data-theme]) .quote-btn.yes strong,
html:not([data-theme]) .feed-side.yes,
html:not([data-theme]) .positions-side.yes {
  color: var(--yes) !important;
}

html[data-theme="light"] .quote-btn.no strong,
html[data-theme="light"] .feed-side.no,
html[data-theme="light"] .positions-side.no,
html:not([data-theme]) .quote-btn.no strong,
html:not([data-theme]) .feed-side.no,
html:not([data-theme]) .positions-side.no {
  color: var(--no) !important;
}

html[data-theme="light"] .quote-btn.yes:hover,
html[data-theme="light"] .quote-btn.yes:focus-visible,
html[data-theme="light"] .quote-btn.yes.selected,
html:not([data-theme]) .quote-btn.yes:hover,
html:not([data-theme]) .quote-btn.yes:focus-visible,
html:not([data-theme]) .quote-btn.yes.selected {
  border-color: #bcc4cf;
  background: var(--yes-soft);
}

html[data-theme="light"] .quote-btn.no:hover,
html[data-theme="light"] .quote-btn.no:focus-visible,
html[data-theme="light"] .quote-btn.no.selected,
html:not([data-theme]) .quote-btn.no:hover,
html:not([data-theme]) .quote-btn.no:focus-visible,
html:not([data-theme]) .quote-btn.no.selected {
  border-color: #cec7c0;
  background: var(--no-soft);
}

html[data-theme="light"] .detail-outcome-card.yes,
html:not([data-theme]) .detail-outcome-card.yes {
  border-color: #bcc4cf;
  background: var(--yes-soft);
}

html[data-theme="light"] .detail-outcome-card.no,
html:not([data-theme]) .detail-outcome-card.no {
  border-color: #cec7c0;
  background: var(--no-soft);
}

html[data-theme="light"] .side-btn[data-side="yes"].active,
html:not([data-theme]) .side-btn[data-side="yes"].active {
  border-color: #bcc4cf;
  background: var(--yes-soft);
}

html[data-theme="light"] .side-btn[data-side="no"].active,
html:not([data-theme]) .side-btn[data-side="no"].active {
  border-color: #cec7c0;
  background: var(--no-soft);
}

html[data-theme="light"] .field-row input[type="range"],
html:not([data-theme]) .field-row input[type="range"] {
  accent-color: var(--yes);
}

html[data-theme="light"] .ticket.side-no .field-row input[type="range"],
html:not([data-theme]) .ticket.side-no .field-row input[type="range"] {
  accent-color: var(--no);
}

/* Distribution-first market detail refresh */
html[data-theme="light"],
html:not([data-theme]) {
  --surface-soft: #fbfaf5;
  --line: #ddd8ce;
  --line-strong: #cfc6ba;
  --ink: #23201c;
  --ink-soft: #6b665f;
  --accent: #ff6b3d;
  --yes: #359b5f;
  --yes-soft: #edf8f1;
  --no: #cb3232;
  --no-soft: #fbeeee;
  --warning: #ff6b3d;
  --shadow-sm: 0 8px 24px rgba(35, 32, 28, 0.05);
  --shadow-md: 0 18px 38px rgba(35, 32, 28, 0.08);
}

html[data-theme="light"] .bar-yes,
html:not([data-theme]) .bar-yes {
  background: linear-gradient(90deg, #4bae72 0%, #359b5f 100%);
}

html[data-theme="light"] .bar-no,
html:not([data-theme]) .bar-no {
  background: linear-gradient(90deg, #d85a5a 0%, #cb3232 100%);
}

html[data-theme="light"] .quote-btn.yes strong,
html[data-theme="light"] .feed-side.yes,
html[data-theme="light"] .positions-side.yes,
html:not([data-theme]) .quote-btn.yes strong,
html:not([data-theme]) .feed-side.yes,
html:not([data-theme]) .positions-side.yes {
  color: #359b5f !important;
}

html[data-theme="light"] .quote-btn.no strong,
html[data-theme="light"] .feed-side.no,
html[data-theme="light"] .positions-side.no,
html:not([data-theme]) .quote-btn.no strong,
html:not([data-theme]) .feed-side.no,
html:not([data-theme]) .positions-side.no {
  color: #cb3232 !important;
}

.market-detail-route .container {
  width: min(1340px, calc(100% - 2rem));
}

.market-detail-route main {
  padding-top: 1.5rem;
}

.market-detail-route .board {
  margin-top: 0;
  grid-template-columns: minmax(0, 1.68fr) minmax(320px, 0.82fr);
  gap: 1rem;
}

.market-detail-route .market-detail-main {
  margin-top: 0;
  padding: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  gap: 1rem;
}

.market-detail-route .ticket-column {
  gap: 1rem;
}

.market-detail-route .ticket,
.market-detail-route .detail-hero-card,
.market-detail-route .detail-factors-block,
.market-detail-route .detail-context-block,
.market-detail-route .detail-activity-block,
.market-detail-route .detail-outcome-card,
.market-detail-route .detail-overview-card,
.market-detail-route .detail-theory-item,
.market-detail-route #detailInfoPanel,
.market-detail-route #detailTagPanel,
.market-detail-route #detailSimilarPanel {
  border: 1px solid var(--line) !important;
  border-radius: 24px;
  background: #fffdfa !important;
  box-shadow: var(--shadow-sm);
}

.market-detail-route .detail-hero-card,
.market-detail-route .detail-factors-block {
  padding: 1.4rem;
}

.detail-hero-card {
  display: grid;
  gap: 1rem;
}

.detail-hero-topline {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  flex-wrap: wrap;
}

.detail-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.detail-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0.45rem 0.72rem;
  font-size: 0.92rem;
  font-weight: 600;
  color: #544d45;
  background: #f7f4ee;
}

.detail-question {
  font-size: clamp(2rem, 5vw, 3.7rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
  max-width: 16ch;
}

.detail-estimate-block {
  display: grid;
  gap: 0.18rem;
  justify-items: center;
  text-align: center;
  padding: 0.5rem 0 0.15rem;
}

.detail-estimate-label {
  margin: 0;
  color: #7b766f;
  font-size: 0.98rem;
  font-weight: 600;
}

.detail-estimate-value {
  margin: 0;
  font-size: clamp(2.6rem, 5vw, 4.3rem);
  line-height: 1;
  letter-spacing: -0.04em;
}

.detail-estimate-range {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.95rem;
}

div.distribution-grid {
  margin-top: 1.1rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.distribution-panel {
  border: 1px solid var(--line);
  border-radius: 22px;
  background: linear-gradient(180deg, #fffdfa 0%, #fbf7f0 100%);
  padding: 1rem;
}

.detail-distribution-chart {
  min-height: 300px;
}

.distribution-legend {
  margin-top: 0.75rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.distribution-pill {
  border: 1px solid #e1d6c8;
  border-radius: 999px;
  padding: 0.34rem 0.72rem;
  background: rgba(255, 255, 255, 0.74);
  color: #4f4840;
  font-size: 0.84rem;
  font-weight: 600;
}

.detail-distribution-summary {
  margin: 0.78rem 0 0;
  color: var(--ink-soft);
  font-size: 0.9rem;
}

.distribution-bg {
  fill: transparent;
}

.distribution-scale-line {
  stroke: rgba(107, 102, 95, 0.16);
  stroke-width: 1;
}

.distribution-band {
  fill: rgba(255, 107, 61, 0.08);
}

.distribution-area {
  fill: rgba(255, 107, 61, 0.16);
}

.distribution-line {
  fill: none;
  stroke: #ff6b3d;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.distribution-baseline {
  stroke: rgba(65, 58, 52, 0.44);
  stroke-width: 1.25;
}

.distribution-mean-line {
  stroke: rgba(255, 107, 61, 0.72);
  stroke-width: 1.5;
  stroke-dasharray: 5 6;
}

.distribution-mean-dot {
  fill: #ff6b3d;
  stroke: #fffdfa;
  stroke-width: 2.5;
}

.distribution-label,
.distribution-axis {
  fill: #5f5750;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.distribution-label {
  font-size: 13px;
  font-weight: 700;
}

.distribution-label-end {
  fill: #2d2924;
}

.distribution-axis {
  font-size: 12px;
  font-weight: 600;
}

.distribution-multi-track {
  fill: #f1ece5;
}

.detail-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.detail-share-link {
  text-decoration: none;
}

.detail-factors-block {
  display: grid;
  gap: 1rem;
}

.detail-section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
  flex-wrap: wrap;
}

.detail-section-head .hint {
  margin: 0;
}

.detail-factors-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
}

.factor-card {
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fbf7f0;
  padding: 1rem;
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 0.9rem;
  min-height: 220px;
}

.factor-meter {
  width: 34px;
  border-radius: 999px;
  background: #efe9e0;
  padding: 0.22rem;
  display: flex;
  align-items: stretch;
}

.factor-meter span {
  width: 100%;
  border-radius: 999px;
  background: #ff6b3d;
  opacity: 0.86;
}

.factor-lower .factor-meter span {
  background: #8f6b64;
}

.factor-sensitive .factor-meter span {
  background: #415a68;
}

.factor-copy {
  display: grid;
  gap: 0.42rem;
  align-content: start;
}

.factor-kicker {
  margin: 0;
  color: #7b746c;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.factor-title {
  margin: 0;
  font-size: 1.36rem;
  line-height: 1.12;
}

.factor-body {
  margin: 0;
  color: #504942;
  font-size: 0.95rem;
}

.factor-meta {
  margin: auto 0 0;
  color: #7f766d;
  font-size: 0.84rem;
  font-weight: 600;
}

.detail-info-list {
  margin: 0;
  display: grid;
  gap: 0.9rem;
}

.detail-info-list div {
  display: grid;
  gap: 0.14rem;
}

.detail-info-list dt {
  color: #7f786f;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.detail-info-list dd {
  margin: 0;
  color: #2a2621;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
}

.detail-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.detail-tag {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0.36rem 0.72rem;
  background: #f7f3ec;
  color: #564f48;
  font-size: 0.84rem;
  font-weight: 600;
}

.detail-similar-list {
  display: grid;
  gap: 0.75rem;
}

.detail-similar-card {
  display: grid;
  gap: 0.28rem;
  padding: 0.95rem 1rem;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fbf7f0;
  text-decoration: none;
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.detail-similar-card:hover,
.detail-similar-card:focus-visible {
  transform: translateY(-1px);
  border-color: #d7cbbb;
  box-shadow: 0 10px 20px rgba(35, 32, 28, 0.06);
}

.detail-similar-question {
  color: #28241f;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.32;
}

.detail-similar-meta {
  color: #7a736b;
  font-size: 0.83rem;
}

.market-card {
  position: relative;
  overflow: hidden;
  padding: 0.9rem 0.95rem;
  border-radius: 22px;
  background: linear-gradient(180deg, #fffdfa 0%, #f8f3eb 100%) !important;
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.market-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.9) 0%, rgba(214, 203, 188, 0.55) 100%);
}

.market-card:hover,
.market-card:focus-visible {
  transform: translateY(-2px);
  border-color: #d0c5b6 !important;
  box-shadow: 0 16px 34px rgba(35, 32, 28, 0.08) !important;
}

.market-card.active {
  border-color: #bfae9d !important;
  box-shadow: 0 0 0 1px rgba(118, 97, 77, 0.12) inset, 0 14px 30px rgba(35, 32, 28, 0.07) !important;
}

.card-question {
  margin-bottom: 0.72rem;
  font-size: 1.08rem;
  line-height: 1.28;
  letter-spacing: -0.01em;
}

.market-bar,
.multi-bar {
  height: 12px;
  border-color: #d8cec0;
  background: #eee6da;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.bar-labels {
  margin-top: 0.42rem;
  font-size: 0.79rem;
  font-weight: 600;
}

.multi-summary {
  gap: 0.36rem;
}

.quote-btn {
  border-radius: 14px;
  padding: 0.56rem 0.68rem;
  background: linear-gradient(180deg, #fffdfa 0%, #f2ece3 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.quote-btn:hover,
.quote-btn:focus-visible {
  border-color: #c9beb0;
}

.quote-btn.multi-open {
  background: linear-gradient(135deg, #314154 0%, #253244 100%);
  color: #f9f5ef;
  border-color: #314154;
  box-shadow: 0 10px 22px rgba(47, 61, 83, 0.18);
}

.quote-btn.multi-open:hover,
.quote-btn.multi-open:focus-visible {
  border-color: #253244;
  background: linear-gradient(135deg, #253244 0%, #1f2a39 100%);
}

.ticket,
.side-panel,
.detail-hero-card,
.distribution-panel,
.factor-card,
.detail-similar-card,
.detail-context-block,
.detail-activity-block,
.detail-outcome-card,
.detail-overview-card,
.detail-theory-item {
  background: linear-gradient(180deg, #fffdfa 0%, #f8f3eb 100%) !important;
}

.ticket,
.side-panel {
  padding: 1rem;
}

.trend-panel {
  border: 1px solid #d9cfc2 !important;
  border-radius: 18px;
  background: linear-gradient(180deg, #f8f4ed 0%, #efe7db 100%) !important;
  color: #433d36;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.trend-title {
  color: #5c5147;
  letter-spacing: 0.08em;
}

.trend-meta {
  color: #83776a;
}

.trend-grid {
  stroke: rgba(91, 82, 72, 0.16);
  stroke-dasharray: 2 6;
}

.trend-axis {
  fill: #8c7f72;
}

.trend-latest-guide {
  stroke: rgba(107, 98, 88, 0.28);
  stroke-width: 1.2;
  stroke-dasharray: 4 6;
}

.trend-item {
  border-color: #d8cebf;
  background: rgba(255, 253, 250, 0.84);
  color: #4f473f;
}

.trend-dot {
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.82);
}

.distribution-panel {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #fffdfa 0%, #f5eee4 100%) !important;
}

.distribution-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.92) 0%, rgba(215, 203, 186, 0.58) 100%);
}

.distribution-pill {
  background: rgba(255, 253, 249, 0.88);
  border-color: #ddd1c1;
}

.distribution-scale-line {
  stroke: rgba(96, 87, 76, 0.14);
}

.distribution-multi-track {
  fill: #ebe2d5;
}

.factor-card {
  min-height: 240px;
  grid-template-columns: 24px 1fr;
  gap: 1rem;
}

.factor-meter {
  width: 24px;
  background: #eee5d9;
  padding: 0.18rem;
}

.factor-title {
  max-width: 14ch;
}

.detail-pill,
.detail-tag,
.multi-pill,
.category-tag,
.choice-share,
.detail-share {
  background: rgba(255, 252, 247, 0.88);
  border-color: #d7ccbe;
}

html[data-theme="light"],
html:not([data-theme]) {
  --market-option-1: #2f3d53;
  --market-option-2: #7b6858;
  --market-option-3: #5a6b72;
  --market-option-4: #9a7b68;
  --market-option-5: #7f8474;
  --market-option-6: #6d7488;
  --market-option-7: #8e8478;
}

html[data-theme="light"] .multi-segment.option-1,
html:not([data-theme]) .multi-segment.option-1 {
  background: var(--market-option-1);
}

html[data-theme="light"] .multi-segment.option-2,
html:not([data-theme]) .multi-segment.option-2 {
  background: var(--market-option-2);
}

html[data-theme="light"] .multi-segment.option-3,
html:not([data-theme]) .multi-segment.option-3 {
  background: var(--market-option-3);
}

html[data-theme="light"] .multi-segment.option-4,
html:not([data-theme]) .multi-segment.option-4 {
  background: var(--market-option-4);
}

html[data-theme="light"] .multi-segment.option-5,
html:not([data-theme]) .multi-segment.option-5 {
  background: var(--market-option-5);
}

html[data-theme="light"] .choice-share.option-1,
html[data-theme="light"] .detail-share.option-1,
html:not([data-theme]) .choice-share.option-1,
html:not([data-theme]) .detail-share.option-1 {
  border-color: rgba(47, 61, 83, 0.26);
  color: var(--market-option-1);
}

html[data-theme="light"] .choice-share.option-2,
html[data-theme="light"] .detail-share.option-2,
html:not([data-theme]) .choice-share.option-2,
html:not([data-theme]) .detail-share.option-2 {
  border-color: rgba(123, 104, 88, 0.28);
  color: var(--market-option-2);
}

html[data-theme="light"] .choice-share.option-3,
html[data-theme="light"] .detail-share.option-3,
html:not([data-theme]) .choice-share.option-3,
html:not([data-theme]) .detail-share.option-3 {
  border-color: rgba(90, 107, 114, 0.28);
  color: var(--market-option-3);
}

html[data-theme="light"] .choice-share.option-4,
html[data-theme="light"] .detail-share.option-4,
html:not([data-theme]) .choice-share.option-4,
html:not([data-theme]) .detail-share.option-4 {
  border-color: rgba(154, 123, 104, 0.28);
  color: var(--market-option-4);
}

html[data-theme="light"] .choice-share.option-5,
html[data-theme="light"] .detail-share.option-5,
html:not([data-theme]) .choice-share.option-5,
html:not([data-theme]) .detail-share.option-5 {
  border-color: rgba(127, 132, 116, 0.28);
  color: var(--market-option-5);
}

html[data-theme="light"] .choice-item.option-1 .choice-allocation input[type="range"],
html:not([data-theme]) .choice-item.option-1 .choice-allocation input[type="range"] {
  accent-color: var(--market-option-1);
}

html[data-theme="light"] .choice-item.option-2 .choice-allocation input[type="range"],
html:not([data-theme]) .choice-item.option-2 .choice-allocation input[type="range"] {
  accent-color: var(--market-option-2);
}

html[data-theme="light"] .choice-item.option-3 .choice-allocation input[type="range"],
html:not([data-theme]) .choice-item.option-3 .choice-allocation input[type="range"] {
  accent-color: var(--market-option-3);
}

html[data-theme="light"] .choice-item.option-4 .choice-allocation input[type="range"],
html:not([data-theme]) .choice-item.option-4 .choice-allocation input[type="range"] {
  accent-color: var(--market-option-4);
}

html[data-theme="light"] .choice-item.option-5 .choice-allocation input[type="range"],
html:not([data-theme]) .choice-item.option-5 .choice-allocation input[type="range"] {
  accent-color: var(--market-option-5);
}

.market-detail-route .ticket {
  position: sticky;
  top: 88px;
  padding: 1rem;
  background: #fffdfa !important;
}

.market-detail-route .ticket h2 {
  font-size: 1.22rem;
}

.market-detail-route .ticket-question {
  font-size: 1.1rem;
}

.market-detail-route .ticket-consensus {
  color: #5d5650;
}

.market-detail-route .trend-panel.detail-trend-panel {
  padding: 1rem;
  background: #fffdfa;
  border-color: var(--line);
}

.market-detail-route .detail-context-block,
.market-detail-route .detail-activity-block {
  padding: 1rem 1.1rem;
}

.market-detail-route .detail-theory-item,
.market-detail-route .detail-overview-card,
.market-detail-route .detail-outcome-card {
  padding: 0.85rem 0.95rem;
}

@media (max-width: 1080px) {
  .market-detail-route .board {
    grid-template-columns: 1fr;
  }

  .detail-factors-grid {
    grid-template-columns: 1fr;
  }

  .market-detail-route .ticket {
    position: static;
  }
}

@media (max-width: 760px) {
  .market-detail-route .container {
    width: min(1340px, calc(100% - 1rem));
  }

  .detail-question {
    max-width: none;
    font-size: clamp(1.9rem, 9vw, 2.8rem);
  }

  .detail-hero-card,
  .market-detail-route .detail-factors-block {
    padding: 1rem;
  }

  .distribution-panel {
    padding: 0.8rem;
  }

  div.distribution-grid {
    grid-template-columns: 1fr;
  }

  .detail-action-row .btn {
    width: 100%;
  }

  .detail-hero-topline,
  .detail-section-head {
    align-items: flex-start;
  }
}
