@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;700&display=swap");

body.blueprint-app {
  --bp-ink: #e7f5ff;
  --bp-soft: #8aa5bf;
  --bp-line: rgba(123, 221, 255, 0.16);
  --bp-line-strong: rgba(123, 221, 255, 0.34);
  --bp-panel: linear-gradient(180deg, rgba(7, 14, 28, 0.92), rgba(5, 11, 22, 0.82));
  --bp-panel-alt: linear-gradient(180deg, rgba(9, 18, 34, 0.92), rgba(6, 11, 22, 0.88));
  --bp-shadow: 0 24px 70px rgba(0, 5, 16, 0.56);
  --bp-cyan: #7ee7ff;
  --bp-blue: #5d8cff;
  --bp-mint: #5ef1c8;
  --bp-gold: #ffcd66;
  --bp-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  --bp-sans: "Space Grotesk", "Hiragino Sans", "Yu Gothic", sans-serif;
  font-family: var(--bp-sans);
  background:
    radial-gradient(circle at 16% -4%, rgba(126, 231, 255, 0.18), transparent 28%),
    radial-gradient(circle at 92% 8%, rgba(93, 140, 255, 0.18), transparent 30%),
    radial-gradient(circle at 50% 120%, rgba(94, 241, 200, 0.09), transparent 34%),
    linear-gradient(180deg, #02050d 0%, #040914 44%, #050915 100%);
  color: var(--bp-ink);
  position: relative;
  overflow-x: hidden;
}

body.blueprint-app::before,
body.blueprint-app::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

body.blueprint-app::before {
  background:
    linear-gradient(rgba(126, 231, 255, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126, 231, 255, 0.07) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: linear-gradient(180deg, rgba(255, 255, 255, 0.68), rgba(255, 255, 255, 0.18));
  opacity: 0.45;
}

body.blueprint-app::after {
  background:
    radial-gradient(circle at center, rgba(126, 231, 255, 0.12), transparent 62%),
    repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.025) 0 2px, transparent 2px 7px);
  opacity: 0.24;
}

body.blueprint-app > * {
  position: relative;
  z-index: 1;
}

body.blueprint-app .container {
  position: relative;
  z-index: 1;
}

body.blueprint-app h1,
body.blueprint-app h2,
body.blueprint-app h3,
body.blueprint-app .detail-header .ticker-info h2,
body.blueprint-app .ranking-name,
body.blueprint-app .candidate-name,
body.blueprint-app .strategy-title,
body.blueprint-app .signal-guide-title,
body.blueprint-app .card-title {
  font-family: var(--bp-sans);
  letter-spacing: 0.01em;
}

body.blueprint-app p,
body.blueprint-app .note,
body.blueprint-app .section-note,
body.blueprint-app .guide-cta-note,
body.blueprint-app .detail-secondary-note,
body.blueprint-app .signal-guide-note,
body.blueprint-app .hero-note,
body.blueprint-app .data-note {
  color: #9cb0c5;
}

body.blueprint-app .release-focus,
body.blueprint-app .hero,
body.blueprint-app .guide-cta,
body.blueprint-app .ranking-section:not(.secondary-section),
body.blueprint-app .ranking-collapse,
body.blueprint-app .selection-bucket,
body.blueprint-app .selection-item,
body.blueprint-app .signal-guide-cta,
body.blueprint-app .summary-card,
body.blueprint-app .beta-banner,
body.blueprint-app .detail-card,
body.blueprint-app .score-card,
body.blueprint-app .detail-secondary,
body.blueprint-app .secondary-section,
body.blueprint-app .detail-helper-item,
body.blueprint-app .strategy-card,
body.blueprint-app .signal-guide-card,
body.blueprint-app .signal-guide-card,
body.blueprint-app .signal-guide-card,
body.blueprint-app .signal-guide-card,
body.blueprint-app .signal-guide-card,
body.blueprint-app .signal-guide-card,
body.blueprint-app .signal-guide-card,
body.blueprint-app .signal-guide-card,
body.blueprint-app .signal-guide-card,
body.blueprint-app .signal-guide-card,
body.blueprint-app .signal-guide-card,
body.blueprint-app .signal-guide-card,
body.blueprint-app .index-card,
body.blueprint-app .chart-card,
body.blueprint-app .signal-card,
body.blueprint-app .cond-card,
body.blueprint-app .ranking-row,
body.blueprint-app .candidate-row,
body.blueprint-app .signal-guide-card,
body.blueprint-app .card,
body.blueprint-app .rule-item,
body.blueprint-app .flow-item,
body.blueprint-app .metric,
body.blueprint-app .signal-guide-metric,
body.blueprint-app .candidate-quick-item,
body.blueprint-app .candidate-history,
body.blueprint-app .candidate-history-item,
body.blueprint-app .chart-shell,
body.blueprint-app .chart-wrap,
body.blueprint-app .market-banner,
body.blueprint-app .detail-metrics-more,
body.blueprint-app .detail-metrics-more-item,
body.blueprint-app .detail-secondary-link,
body.blueprint-app .secondary-link,
body.blueprint-app .detail-secondary,
body.blueprint-app .early-status-panel,
body.blueprint-app .stance-card {
  background: var(--bp-panel);
  border-color: var(--bp-line);
  box-shadow: var(--bp-shadow);
}

body.blueprint-app .release-focus,
body.blueprint-app .hero,
body.blueprint-app .guide-cta,
body.blueprint-app .ranking-section:not(.secondary-section),
body.blueprint-app .ranking-collapse,
body.blueprint-app .selection-bucket,
body.blueprint-app .signal-guide-cta,
body.blueprint-app .summary-card,
body.blueprint-app .beta-banner,
body.blueprint-app .detail-card,
body.blueprint-app .score-card,
body.blueprint-app .signal-guide-card,
body.blueprint-app .strategy-card,
body.blueprint-app .card,
body.blueprint-app .detail-secondary,
body.blueprint-app .secondary-section,
body.blueprint-app .detail-helper-item,
body.blueprint-app .chart-card,
body.blueprint-app .cond-card,
body.blueprint-app .signal-card,
body.blueprint-app .index-card {
  position: relative;
  overflow: hidden;
}

body.blueprint-app .release-focus::before,
body.blueprint-app .hero::before,
body.blueprint-app .guide-cta::before,
body.blueprint-app .ranking-section:not(.secondary-section)::before,
body.blueprint-app .ranking-collapse::before,
body.blueprint-app .selection-bucket::before,
body.blueprint-app .signal-guide-cta::before,
body.blueprint-app .summary-card::before,
body.blueprint-app .beta-banner::before,
body.blueprint-app .detail-card::before,
body.blueprint-app .score-card::before,
body.blueprint-app .signal-guide-card::before,
body.blueprint-app .strategy-card::before,
body.blueprint-app .card::before,
body.blueprint-app .detail-secondary::before,
body.blueprint-app .secondary-section::before,
body.blueprint-app .detail-helper-item::before,
body.blueprint-app .chart-card::before,
body.blueprint-app .cond-card::before,
body.blueprint-app .signal-card::before,
body.blueprint-app .index-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(126, 231, 255, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126, 231, 255, 0.08) 1px, transparent 1px);
  background-size: 24px 24px;
  mask-image: linear-gradient(135deg, rgba(255, 255, 255, 0.55), transparent 70%);
  opacity: 0.35;
  pointer-events: none;
}

body.blueprint-app .bp-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 2px 16px;
}

body.blueprint-app .bp-brand-block {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

body.blueprint-app .bp-brand-mark {
  font-size: 1.22rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #ebf9ff;
}

body.blueprint-app .bp-brand-mark span {
  color: var(--bp-cyan);
}

body.blueprint-app .bp-brand-sub,
body.blueprint-app .bp-brand-code {
  font-family: var(--bp-mono);
  font-size: 0.66rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #85a4c0;
}

body.blueprint-app .bp-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(220px, 0.95fr);
  gap: 18px;
  padding: 22px;
  border-radius: 24px;
  border: 1px solid var(--bp-line-strong);
  background:
    radial-gradient(circle at top right, rgba(93, 140, 255, 0.14), transparent 28%),
    radial-gradient(circle at left center, rgba(126, 231, 255, 0.08), transparent 32%),
    var(--bp-panel-alt);
  box-shadow: 0 28px 90px rgba(0, 5, 16, 0.64);
}

body.blueprint-app .bp-hero-home {
  min-height: 318px;
}

body.blueprint-app .bp-hero:not(.bp-hero-home) {
  grid-template-columns: 1fr;
  gap: 12px;
  padding: 18px;
  min-height: auto;
}

body.blueprint-app .bp-hero-copy {
  position: relative;
  z-index: 1;
}

body.blueprint-app .bp-kicker,
body.blueprint-app .release-focus-kicker,
body.blueprint-app .hero-kicker,
body.blueprint-app .chart-kicker,
body.blueprint-app .cond-label,
body.blueprint-app .signal-label,
body.blueprint-app .card-kicker,
body.blueprint-app .stance-kicker,
body.blueprint-app .metric .label,
body.blueprint-app .detail-metrics-more-label,
body.blueprint-app .ret-label,
body.blueprint-app .bp-mini-kicker {
  font-family: var(--bp-mono);
  font-size: 0.66rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #78a7cb;
}

body.blueprint-app .bp-hero-copy h1,
body.blueprint-app .bp-hero-copy h2 {
  font-size: clamp(1.18rem, 2vw, 1.74rem);
  line-height: 1.2;
  margin: 8px 0 10px;
  max-width: 13ch;
}

body.blueprint-app .bp-hero:not(.bp-hero-home) .bp-hero-copy h1,
body.blueprint-app .bp-hero:not(.bp-hero-home) .bp-hero-copy h2 {
  max-width: none;
  font-size: clamp(1rem, 1.5vw, 1.22rem);
  line-height: 1.32;
}

body.blueprint-app .bp-hero-copy p {
  max-width: 58ch;
  font-size: 0.86rem;
  line-height: 1.72;
}

body.blueprint-app .bp-hero:not(.bp-hero-home) .bp-hero-copy p {
  font-size: 0.8rem;
  line-height: 1.64;
}

body.blueprint-app .bp-meta-row,
body.blueprint-app .release-points,
body.blueprint-app .headline-meta,
body.blueprint-app .hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.blueprint-app .bp-meta-row {
  margin-top: 14px;
}

body.blueprint-app .bp-meta-chip,
body.blueprint-app .release-point,
body.blueprint-app .chip,
body.blueprint-app .timeline-badge,
body.blueprint-app .signal-status,
body.blueprint-app .header-tag,
body.blueprint-app .early-status-pill {
  font-family: var(--bp-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 999px;
  border: 1px solid rgba(126, 231, 255, 0.2);
  background: rgba(3, 10, 20, 0.55);
  color: #d7f7ff;
  box-shadow: inset 0 0 0 1px rgba(126, 231, 255, 0.05);
}

body.blueprint-app .bp-meta-chip,
body.blueprint-app .release-point,
body.blueprint-app .chip {
  min-height: 32px;
  padding: 7px 11px;
  font-size: 0.66rem;
}

body.blueprint-app .bp-hero-visual {
  position: relative;
  min-height: 248px;
  display: grid;
  place-items: center;
  perspective: 1100px;
}

body.blueprint-app .bp-hero:not(.bp-hero-home) .bp-hero-visual {
  display: none;
}

body.blueprint-app .bp-visual-label,
body.blueprint-app .bp-visual-stat {
  position: absolute;
  font-family: var(--bp-mono);
  font-size: 0.64rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #bfeeff;
  padding: 6px 9px;
  border-radius: 999px;
  border: 1px solid rgba(126, 231, 255, 0.22);
  background: rgba(2, 10, 18, 0.56);
  backdrop-filter: blur(8px);
}

body.blueprint-app .bp-visual-label {
  top: 8px;
  right: 4px;
}

body.blueprint-app .bp-visual-stat-a {
  left: 12px;
  bottom: 30px;
}

body.blueprint-app .bp-visual-stat-b {
  right: 0;
  bottom: 78px;
}

body.blueprint-app .bp-wireframe {
  position: relative;
  width: 166px;
  height: 166px;
  transform-style: preserve-3d;
  transform: rotateX(67deg) rotateZ(-34deg);
  animation: bp-cube-float 12s ease-in-out infinite;
}

body.blueprint-app .bp-wireframe-face {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(126, 231, 255, 0.48);
  background:
    linear-gradient(rgba(126, 231, 255, 0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126, 231, 255, 0.12) 1px, transparent 1px);
  background-size: 16px 16px;
  box-shadow:
    0 0 18px rgba(126, 231, 255, 0.12),
    inset 0 0 18px rgba(126, 231, 255, 0.08);
}

body.blueprint-app .bp-face-front { transform: translateZ(48px); }
body.blueprint-app .bp-face-back { transform: rotateY(180deg) translateZ(48px); }
body.blueprint-app .bp-face-right { transform: rotateY(90deg) translateZ(48px); }
body.blueprint-app .bp-face-left { transform: rotateY(-90deg) translateZ(48px); }
body.blueprint-app .bp-face-top { transform: rotateX(90deg) translateZ(48px); }
body.blueprint-app .bp-face-bottom { transform: rotateX(-90deg) translateZ(48px); }

body.blueprint-app .bp-orbit {
  position: absolute;
  border: 1px solid rgba(126, 231, 255, 0.22);
  border-radius: 50%;
  animation: bp-orbit-spin 14s linear infinite;
}

body.blueprint-app .bp-orbit-one {
  --bp-orbit-base: rotate(18deg);
  width: 228px;
  height: 128px;
  transform: var(--bp-orbit-base);
}

body.blueprint-app .bp-orbit-two {
  --bp-orbit-base: rotateX(70deg) rotate(52deg);
  width: 192px;
  height: 192px;
  transform: var(--bp-orbit-base);
  animation-duration: 18s;
}

body.blueprint-app .bp-orbit-three {
  --bp-orbit-base: rotate(78deg);
  width: 116px;
  height: 236px;
  transform: var(--bp-orbit-base);
  animation-duration: 22s;
}

body.blueprint-app .bp-glow {
  position: absolute;
  width: 118px;
  height: 118px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(93, 140, 255, 0.32), rgba(126, 231, 255, 0.08) 48%, transparent 72%);
  filter: blur(6px);
}

body.blueprint-app .bp-connector {
  margin-top: 16px;
}

body.blueprint-app .bp-connector-head {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

body.blueprint-app .bp-connector-title {
  font-size: 1rem;
  font-weight: 700;
}

body.blueprint-app .bp-connector .guide-cta-link,
body.blueprint-app .bp-action,
body.blueprint-app .action-button,
body.blueprint-app .hero-action,
body.blueprint-app .signal-guide-cta-link,
body.blueprint-app .secondary-link,
body.blueprint-app .detail-secondary-link,
body.blueprint-app .signal-guide-toggle,
body.blueprint-app .watch-btn {
  font-family: var(--bp-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 14px;
  border: 1px solid rgba(126, 231, 255, 0.22);
  background: rgba(4, 11, 22, 0.62);
  color: #dff7ff;
  box-shadow: inset 0 0 0 1px rgba(126, 231, 255, 0.04);
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

body.blueprint-app .guide-cta-link,
body.blueprint-app .action-button,
body.blueprint-app .hero-action,
body.blueprint-app .top-nav a,
body.blueprint-app .secondary-link,
body.blueprint-app .detail-secondary-link,
body.blueprint-app .signal-guide-toggle,
body.blueprint-app .watch-btn {
  text-decoration: none;
}

body.blueprint-app .guide-cta-link:hover,
body.blueprint-app .action-button:hover,
body.blueprint-app .hero-action:hover,
body.blueprint-app .top-nav a:hover,
body.blueprint-app .secondary-link:hover,
body.blueprint-app .detail-secondary-link:hover,
body.blueprint-app .signal-guide-toggle:hover,
body.blueprint-app .watch-btn:hover,
body.blueprint-app .ranking-row:hover,
body.blueprint-app .candidate-row:hover,
body.blueprint-app .candidate-history-item:hover {
  transform: translateY(-1px);
  border-color: rgba(126, 231, 255, 0.48);
  box-shadow: 0 10px 28px rgba(0, 8, 20, 0.34);
}

body.blueprint-app .guide-cta-link,
body.blueprint-app .action-button.primary,
body.blueprint-app .hero-action.primary,
body.blueprint-app .signal-guide-cta-link,
body.blueprint-app .app-tab.active {
  background:
    linear-gradient(135deg, rgba(93, 140, 255, 0.24), rgba(126, 231, 255, 0.18)),
    rgba(4, 11, 22, 0.7);
  border-color: rgba(126, 231, 255, 0.44);
  color: #f2fbff;
  box-shadow:
    0 0 0 1px rgba(126, 231, 255, 0.08),
    0 14px 28px rgba(10, 40, 76, 0.28);
}

body.blueprint-app .ranking-row,
body.blueprint-app .candidate-row,
body.blueprint-app .candidate-history-item {
  background: linear-gradient(180deg, rgba(7, 14, 28, 0.78), rgba(5, 10, 20, 0.64));
}

body.blueprint-app .search-box input,
body.blueprint-app .dropdown,
body.blueprint-app .metric,
body.blueprint-app .stat-item,
body.blueprint-app .selection-item,
body.blueprint-app .selection-tag,
body.blueprint-app .candidate-quick-item,
body.blueprint-app .signal-guide-metric,
body.blueprint-app .detail-metrics-more-item,
body.blueprint-app .candidate-history-item,
body.blueprint-app .detail-secondary-link,
body.blueprint-app .secondary-link,
body.blueprint-app .chart-area,
body.blueprint-app .candidate-history,
body.blueprint-app .signal-guide-annual-chip {
  background: rgba(3, 10, 18, 0.7);
  border-color: rgba(126, 231, 255, 0.12);
}

body.blueprint-app .search-box input,
body.blueprint-app .dropdown,
body.blueprint-app .chart-area,
body.blueprint-app .chart-wrap,
body.blueprint-app .chart-shell,
body.blueprint-app .detail-metrics-more-item,
body.blueprint-app .metric,
body.blueprint-app .candidate-quick-item,
body.blueprint-app .signal-guide-metric {
  box-shadow: inset 0 0 0 1px rgba(126, 231, 255, 0.03);
}

body.blueprint-app .search-box input {
  border-radius: 16px;
  padding: 14px 16px;
  color: var(--bp-ink);
}

body.blueprint-app .search-box input::placeholder {
  color: #7a93ab;
}

body.blueprint-app .dropdown-item:hover {
  background: rgba(126, 231, 255, 0.08);
}

body.blueprint-app .section,
body.blueprint-app .ranking-section,
body.blueprint-app .signal-guide-cta,
body.blueprint-app .detail-secondary,
body.blueprint-app .secondary-section,
body.blueprint-app .detail-helper,
body.blueprint-app .bp-panel-stack {
  margin-top: 18px;
}

body.blueprint-app .action-row,
body.blueprint-app .hero-actions {
  margin-top: 12px;
}

body.blueprint-app .section h2,
body.blueprint-app .ranking-section h2,
body.blueprint-app .detail-secondary summary,
body.blueprint-app .secondary-section summary {
  font-size: 0.98rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.blueprint-app .index-price,
body.blueprint-app .candidate-ticker,
body.blueprint-app .ranking-ticker,
body.blueprint-app .ret-value,
body.blueprint-app .score,
body.blueprint-app .signal-count,
body.blueprint-app .cond-value,
body.blueprint-app .candidate-score-main,
body.blueprint-app .candidate-score-sub,
body.blueprint-app .candidate-rank,
body.blueprint-app .metric .value,
body.blueprint-app .price,
body.blueprint-app .gauge-score,
body.blueprint-app .detail-header .price {
  font-family: var(--bp-mono);
}

body.blueprint-app .chart-wrap,
body.blueprint-app .chart-shell,
body.blueprint-app .chart-area {
  position: relative;
}

body.blueprint-app .chart-wrap::after,
body.blueprint-app .chart-shell::after,
body.blueprint-app .chart-area::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(126, 231, 255, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126, 231, 255, 0.06) 1px, transparent 1px);
  background-size: 22px 22px;
  opacity: 0.2;
  pointer-events: none;
}

body.blueprint-app .market-banner.market-strong,
body.blueprint-app .market-banner.market-bullish {
  border-color: rgba(94, 241, 200, 0.26);
  background:
    radial-gradient(circle at top right, rgba(94, 241, 200, 0.1), transparent 34%),
    var(--bp-panel);
}

body.blueprint-app .market-banner.market-neutral {
  border-color: rgba(255, 205, 102, 0.22);
}

body.blueprint-app .market-banner.market-caution,
body.blueprint-app .market-banner.market-bearish {
  border-color: rgba(255, 133, 121, 0.24);
}

body.blueprint-app .app-tabs {
  background: rgba(2, 7, 16, 0.84);
  border-top-color: rgba(126, 231, 255, 0.14);
  backdrop-filter: blur(18px);
}

body.blueprint-app .app-tabs-inner {
  max-width: 860px;
}

body.blueprint-app .app-tab {
  font-family: var(--bp-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 16px;
  border-color: rgba(126, 231, 255, 0.12);
  background: rgba(4, 11, 22, 0.52);
  color: #85a4c0;
}

body.blueprint-app .app-tab.active {
  color: #effcff;
}

body.blueprint-app .ranking-section:not(.secondary-section),
body.blueprint-app .signal-guide-cta,
body.blueprint-app .beta-banner {
  padding: 18px;
  border-radius: 20px;
  border: 1px solid var(--bp-line);
}

body.blueprint-app .ranking-section h2,
body.blueprint-app .section h2 {
  margin-bottom: 10px;
}

body.blueprint-app .ranking-collapse {
  border-radius: 20px;
  border: 1px solid var(--bp-line);
}

body.blueprint-app .ranking-collapse summary,
body.blueprint-app .secondary-section summary,
body.blueprint-app .detail-secondary summary {
  font-family: var(--bp-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.blueprint-app .selection-bucket {
  border-radius: 18px;
}

body.blueprint-app .selection-item,
body.blueprint-app .stat-item,
body.blueprint-app .selection-tag,
body.blueprint-app .top-nav a {
  border-color: rgba(126, 231, 255, 0.14);
  background: rgba(3, 10, 18, 0.66);
  box-shadow: inset 0 0 0 1px rgba(126, 231, 255, 0.03);
}

body.blueprint-app .top-nav a {
  font-family: var(--bp-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #dff7ff;
}

body.blueprint-app .detail-back,
body.blueprint-app .back-link {
  font-family: var(--bp-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bp-cyan);
}

body.blueprint-app .bp-mini-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(180px, 0.7fr);
  gap: 16px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid var(--bp-line-strong);
  background: var(--bp-panel-alt);
  box-shadow: 0 18px 46px rgba(0, 5, 16, 0.48);
  margin-bottom: 14px;
  overflow: hidden;
  position: relative;
}

body.blueprint-app .bp-mini-hero-detail {
  grid-template-columns: minmax(0, 1fr) 132px;
  gap: 12px;
  padding: 14px;
}

body.blueprint-app .bp-mini-copy h1 {
  font-size: 1rem;
  margin: 8px 0 6px;
}

body.blueprint-app .bp-mini-copy p {
  font-size: 0.78rem;
  line-height: 1.6;
}

body.blueprint-app .bp-mini-visual {
  position: relative;
  min-height: 138px;
  display: grid;
  place-items: center;
}

body.blueprint-app .bp-mini-hero-detail .bp-mini-visual {
  min-height: 96px;
}

body.blueprint-app .bp-mini-grid {
  width: 124px;
  height: 124px;
  transform: rotate(45deg);
  border: 1px solid rgba(126, 231, 255, 0.28);
  background:
    linear-gradient(rgba(126, 231, 255, 0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126, 231, 255, 0.1) 1px, transparent 1px);
  background-size: 14px 14px;
  box-shadow: 0 0 36px rgba(93, 140, 255, 0.2);
  animation: bp-mini-float 10s ease-in-out infinite;
}

body.blueprint-app .bp-mini-hero-detail .bp-mini-grid {
  width: 88px;
  height: 88px;
  background-size: 12px 12px;
}

body.blueprint-app .bp-mini-orbit {
  position: absolute;
  width: 188px;
  height: 92px;
  border-radius: 50%;
  border: 1px solid rgba(126, 231, 255, 0.16);
  transform: rotate(18deg);
}

body.blueprint-app .bp-mini-hero-detail .bp-mini-orbit {
  width: 132px;
  height: 64px;
}

body.blueprint-app .bp-mini-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

body.blueprint-app .bp-mini-tag {
  font-family: var(--bp-mono);
  font-size: 0.64rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(126, 231, 255, 0.18);
  background: rgba(3, 10, 18, 0.56);
  color: #c8edff;
}

body.blueprint-app .loading,
body.blueprint-app .error {
  font-family: var(--bp-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

@keyframes bp-cube-float {
  0%,
  100% { transform: rotateX(67deg) rotateZ(-34deg) translateY(0); }
  50% { transform: rotateX(67deg) rotateZ(-28deg) translateY(-10px); }
}

@keyframes bp-orbit-spin {
  from { transform: var(--bp-orbit-base) rotate(0deg); }
  to { transform: var(--bp-orbit-base) rotate(360deg); }
}

@keyframes bp-mini-float {
  0%,
  100% { transform: rotate(45deg) translateY(0); }
  50% { transform: rotate(45deg) translateY(-8px); }
}

@media (max-width: 760px) {
  body.blueprint-app .bp-topbar {
    flex-direction: column;
    align-items: flex-start;
  }

  body.blueprint-app .bp-hero,
  body.blueprint-app .bp-mini-hero {
    grid-template-columns: 1fr;
  }

  body.blueprint-app .bp-mini-hero-detail .bp-mini-visual {
    display: none;
  }

  body.blueprint-app .bp-hero {
    padding: 18px;
  }

  body.blueprint-app .bp-hero:not(.bp-hero-home) {
    padding: 16px;
  }

  body.blueprint-app .bp-hero-copy h1,
  body.blueprint-app .bp-hero-copy h2 {
    max-width: none;
  }

  body.blueprint-app .bp-hero-visual {
    min-height: 194px;
  }

  body.blueprint-app .bp-wireframe {
    width: 138px;
    height: 138px;
  }

  body.blueprint-app .bp-orbit-one {
    width: 184px;
    height: 106px;
  }

  body.blueprint-app .bp-orbit-two {
    width: 152px;
    height: 152px;
  }

  body.blueprint-app .bp-orbit-three {
    width: 102px;
    height: 194px;
  }

  body.blueprint-app .guide-cta,
  body.blueprint-app .hero-actions {
    align-items: stretch;
  }
}
