/* Warm 1801 theme: based on the first portal-table screen. */
body {
  background:
    radial-gradient(circle at 58% 18%, rgba(255, 170, 62, 0.16), transparent 32rem),
    radial-gradient(circle at 26% 62%, rgba(143, 68, 24, 0.28), transparent 34rem),
    linear-gradient(180deg, #090503 0%, #1a0d05 48%, #070403 100%);
}

:root {
  --bg: #090503;
  --bg-soft: #1a0d05;
  --panel: rgba(35, 17, 7, 0.78);
  --panel-strong: rgba(255, 182, 77, 0.18);
  --text: #fff2df;
  --muted: #c49d75;
  --line: rgba(255, 182, 77, 0.2);
  --green: #ffb64d;
  --green-dark: #d77624;
  --cyan: #ffd08a;
  --pink: #ff5e24;
  --yellow: #ffd08a;
  --shadow: 0 28px 78px rgba(0, 0, 0, 0.38);
}

.scroll-progress {
  background: linear-gradient(90deg, #ffb64d, #ff5e24);
}

.site-header {
  background: linear-gradient(180deg, rgba(24, 11, 4, 0.54), rgba(24, 11, 4, 0));
}

.site-header.is-scrolled {
  background: linear-gradient(180deg, rgba(24, 11, 4, 0.82), rgba(24, 11, 4, 0.18));
}

.site-header::after {
  background: rgba(255, 205, 132, 0.34);
}

.room-logo-section::after {
  content: "";
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  height: clamp(180px, 32vh, 360px);
  background:
    linear-gradient(180deg, rgba(9, 5, 3, 0) 0%, rgba(9, 5, 3, 0.46) 54%, #090503 100%),
    radial-gradient(ellipse at 50% 100%, rgba(255, 153, 44, 0.18), transparent 62%);
  pointer-events: none;
}

.main-nav,
.brand,
.client-login-button {
  color: #fff2df;
}

.main-nav a:not(:last-child)::after {
  background: rgba(255, 205, 132, 0.34);
}

.client-login-button {
  border-color: rgba(255, 205, 132, 0.22);
  background: rgba(5, 4, 3, 0.92);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.38);
}

.client-login-button span {
  border-color: rgba(255, 205, 132, 0.56);
}

.login-dropdown {
  border-color: rgba(255, 205, 132, 0.24);
  background:
    radial-gradient(circle at 82% 14%, rgba(255, 182, 77, 0.12), transparent 10rem),
    linear-gradient(180deg, rgba(20, 9, 4, 0.98), rgba(8, 5, 3, 0.98));
  box-shadow:
    0 24px 64px rgba(0, 0, 0, 0.46),
    inset 0 0 0 1px rgba(255, 220, 170, 0.035);
}

.login-dropdown .eyebrow {
  color: #ffb64d;
}

.login-dropdown input {
  border-color: rgba(255, 205, 132, 0.22);
  background: rgba(255, 242, 223, 0.06);
}

.section-band,
.case-kit,
.features,
.power-showcase,
.trust,
.versions,
.games,
.game-only,
.support,
.bottom-download {
  background:
    radial-gradient(circle at 74% 18%, rgba(255, 182, 77, 0.18), transparent 26rem),
    radial-gradient(circle at 18% 76%, rgba(118, 50, 18, 0.3), transparent 32rem),
    linear-gradient(135deg, #090503 0%, #1d0e05 46%, #070403 100%),
    #090503;
}

.image-section {
  position: relative;
  background: #090503;
}

.image-section::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    radial-gradient(circle at 54% 34%, rgba(255, 178, 70, 0.12), transparent 28rem),
    linear-gradient(180deg, rgba(9, 5, 3, 0.2), rgba(9, 5, 3, 0.48));
  pointer-events: none;
}

.image-section img {
  position: relative;
  z-index: 0;
  filter: sepia(0.16) saturate(0.82) contrast(1.06) brightness(0.82);
}

.case-kit,
.features,
.versions,
.support {
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 199, 118, 0.14), transparent 24rem),
    linear-gradient(115deg, rgba(9, 5, 3, 0.98) 0%, rgba(38, 18, 7, 0.92) 52%, rgba(8, 4, 3, 0.98) 100%),
    #090503;
}

.case-kit {
  margin-top: -1px;
}

.case-kit::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  left: 0;
  height: clamp(150px, 24vh, 300px);
  background:
    linear-gradient(180deg, #090503 0%, rgba(20, 9, 4, 0.82) 36%, rgba(20, 9, 4, 0) 100%),
    radial-gradient(ellipse at 50% 0%, rgba(255, 153, 44, 0.14), transparent 62%);
  pointer-events: none;
}

.power-showcase,
.trust,
.games,
.game-only {
  background:
    radial-gradient(circle at 70% 26%, rgba(174, 76, 24, 0.22), transparent 28rem),
    radial-gradient(circle at 24% 68%, rgba(255, 182, 77, 0.1), transparent 24rem),
    linear-gradient(160deg, #070403 0%, #180b04 48%, #090503 100%);
}

.bottom-download {
  background:
    linear-gradient(90deg, rgba(10, 5, 3, 0.94), rgba(42, 20, 8, 0.68), rgba(8, 4, 3, 0.9)),
    url("assets/portal-table-screen.png") center / cover,
    #090503;
}

.section-band::before {
  background:
    radial-gradient(circle at 52% 42%, rgba(255, 178, 70, 0.22), transparent 22rem),
    radial-gradient(circle at 18% 18%, rgba(255, 115, 42, 0.14), transparent 24rem),
    linear-gradient(180deg, rgba(255, 214, 160, 0.05), transparent 36%);
}

.section-band::after {
  background:
    repeating-linear-gradient(0deg, transparent 0 5px, rgba(255, 215, 166, 0.035) 6px),
    repeating-linear-gradient(90deg, rgba(255, 178, 70, 0.04) 0 1px, transparent 1px 74px);
}

.eyebrow,
.hero .eyebrow,
.trust .eyebrow,
.cloud-callout .eyebrow {
  color: #ffb64d;
}

.section-band h2,
.section-band h3,
.section-band strong,
.trust h2,
.trust h3 {
  color: #fff2df;
}

.section-band p,
.section-heading p,
.case-copy > p,
.case-items p,
.speed-copy p,
.game-only-copy p,
.bottom-download p,
.feature-grid p,
.version-panel p,
.game-card p,
.faq-list p {
  color: rgba(255, 240, 218, 0.72);
}

.case-icon,
.meter-card,
.metric-grid,
.feature-grid article,
.version-panel,
.game-card,
.faq-list details,
.publisher-wall span,
.app-carousel,
.speed-stage,
.bottom-download,
.case-items article,
.compare-card {
  border-color: rgba(255, 182, 77, 0.2);
  background:
    linear-gradient(180deg, rgba(35, 17, 7, 0.76), rgba(9, 5, 3, 0.64));
  box-shadow:
    0 24px 80px rgba(0, 0, 0, 0.34),
    inset 0 0 0 1px rgba(255, 220, 170, 0.035);
}

.bottom-download {
  border-color: rgba(255, 182, 77, 0.2);
  background:
    linear-gradient(90deg, rgba(10, 5, 3, 0.94), rgba(42, 20, 8, 0.68), rgba(8, 4, 3, 0.9)),
    url("assets/portal-table-screen.png") center / cover,
    #090503;
  box-shadow:
    0 24px 80px rgba(0, 0, 0, 0.34),
    inset 0 0 0 1px rgba(255, 220, 170, 0.035);
}

.case-icon,
.feature-icon {
  color: #ffbd62;
  background: rgba(255, 182, 77, 0.1);
}

.case-purchase strong,
.meter-readout strong,
.metric-grid strong,
.version-panel dd,
.compare-card span,
.speed-ring span {
  color: #ffd08a;
}

input[type="range"] {
  accent-color: #ffb64d;
}

.version-tabs button,
.filter-bar button,
.game-card button,
.download-options button {
  border-color: rgba(255, 182, 77, 0.2);
  background: rgba(13, 7, 4, 0.72);
  color: rgba(255, 240, 218, 0.74);
}

.version-tabs button.active,
.filter-bar button.active,
.game-card button:hover {
  background: #ffb64d;
  color: #130803;
}

.cover,
.cover-1,
.cover-2,
.cover-3,
.cover-4,
.device-screen {
  background:
    radial-gradient(circle at 50% 48%, rgba(255, 178, 70, 0.28), transparent 5rem),
    radial-gradient(circle at 18% 18%, rgba(255, 240, 218, 0.08), transparent 7rem),
    linear-gradient(135deg, rgba(255, 94, 36, 0.2), rgba(11, 5, 3, 0.96));
}

.app-track span {
  color: #130803;
  background:
    radial-gradient(circle at 68% 18%, rgba(255, 255, 255, 0.35), transparent 3rem),
    linear-gradient(135deg, #ffd08a, #d77624);
}

.speed-ring {
  background:
    conic-gradient(#ffb64d 0 82%, rgba(255, 255, 255, 0.08) 82% 100%),
    radial-gradient(circle, #140903 0 58%, transparent 59%);
}

.speed-ring::after {
  background: #120804;
}

.speed-bars span {
  background: linear-gradient(#ffd08a, #d77624);
}

.download-modal,
.login-modal {
  background: #120804;
  color: #fff2df;
}

.download-modal p,
.download-modal .eyebrow {
  color: rgba(255, 240, 218, 0.72);
}

.site-footer {
  background:
    radial-gradient(circle at 18% 30%, rgba(255, 182, 77, 0.08), transparent 24rem),
    linear-gradient(180deg, #100704 0%, #070403 100%);
  color: rgba(255, 242, 223, 0.86);
}

.footer-column h2 {
  color: #fff2df;
}

.footer-column a,
.footer-contact {
  color: rgba(255, 242, 223, 0.78);
}

.footer-column a:hover {
  color: #ffd08a;
}

.footer-slogan {
  color: rgba(255, 205, 132, 0.86);
  text-wrap: balance;
}

.detective-interface {
  --bg: #090503;
  --panel: rgba(35, 17, 7, 0.78);
  --panel-solid: #160a04;
  --ink: #fff2df;
  --muted: #c49d75;
  --dim: #7f5b3d;
  --acid: #ffb64d;
  --cyan: #d77624;
  --red: #ff5e24;
  --amber: #ffd08a;
  --line: rgba(255, 182, 77, 0.2);
}

.detective-interface .experience {
  background:
    radial-gradient(circle at 55% 18%, rgba(255, 178, 70, 0.18), transparent 34rem),
    radial-gradient(circle at 20% 72%, rgba(143, 68, 24, 0.28), transparent 28rem),
    linear-gradient(180deg, #090503, #1a0d05 56%, #070403);
}

.detective-interface .signal-bg {
  background:
    radial-gradient(circle at 46% 20%, rgba(255, 182, 77, 0.16), transparent 24rem),
    radial-gradient(circle at 18% 76%, rgba(128, 53, 20, 0.3), transparent 30rem),
    linear-gradient(120deg, rgba(10, 5, 3, 0.98), rgba(42, 20, 8, 0.84), rgba(8, 4, 3, 0.96));
  opacity: 0.92;
  filter: none;
}

.detective-interface .signal-bg::after {
  left: clamp(48px, 8vw, 150px);
  top: clamp(96px, 18vh, 210px);
  width: clamp(420px, 52vw, 920px);
  padding: 0;
  background: none;
  color: rgba(255, 242, 223, 0.075);
  font-size: clamp(76px, 7.8vw, 150px);
  line-height: 0.82;
  opacity: 0.5;
  filter: blur(5px);
  text-shadow: 0 10px 54px rgba(255, 182, 77, 0.08);
}

.detective-interface .noise {
  background:
    repeating-linear-gradient(0deg, transparent 0 5px, rgba(255, 215, 166, 0.04) 6px),
    repeating-linear-gradient(90deg, rgba(255, 178, 70, 0.045) 0 1px, transparent 1px 74px);
}

.detective-interface .distress-markers,
.detective-interface .deck-nav button.is-active,
.detective-interface .deck-nav button.is-center,
.detective-interface .system-status {
  color: var(--acid);
}

.detective-interface .deck-hint,
.detective-interface .incoming-call,
.detective-interface .video-feed,
.detective-interface .code-card,
.detective-interface .archive-card,
.detective-interface .audio-card,
.detective-interface .timer-card,
.detective-interface .coordinate-card,
.detective-interface .dossier-card,
.detective-interface .event-log {
  border-color: rgba(255, 182, 77, 0.22);
  background:
    linear-gradient(180deg, rgba(35, 17, 7, 0.78), rgba(9, 5, 3, 0.62));
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.38);
}

.detective-interface .feed-frame,
.detective-interface .laptop-screen,
.detective-interface .audio-device,
.detective-interface .coordinate-map,
.detective-interface .dossier-board {
  border-color: rgba(255, 182, 77, 0.22);
  background:
    linear-gradient(180deg, rgba(35, 17, 7, 0.8), rgba(9, 5, 3, 0.68));
}

.detective-interface .camera-button,
.detective-interface .rec-button {
  border-color: rgba(255, 182, 77, 0.24);
}

.detective-interface .accept,
.detective-interface .camera-button.is-active {
  background: var(--acid);
  color: #130803;
}

.detective-interface .decline,
.detective-interface .rec-button.is-active {
  background: var(--red);
}

.detective-interface .waveform span {
  background: var(--acid);
}

.detective-interface .archive-box,
.detective-interface .summary-box {
  width: 210px;
  height: 72px;
}

.detective-interface .archive-document {
  bottom: 218px;
}

.detective-interface .archive-document.is-sorted {
  transform: translateX(-50%) translate(var(--sorted-x, 300px), var(--sorted-y, 82px)) rotate(var(--sorted-r, 4deg)) scale(0.58);
}

@media (max-width: 940px) {
  .detective-interface .channel-deck {
    min-height: 720px;
    margin-top: 42px;
    --card-y: 390px;
  }

  .detective-interface .deck-hint {
    top: calc(var(--card-y, 390px) - 410px);
  }

  .detective-interface .deck-card {
    inset: var(--card-y, 390px) auto auto 50%;
  }

  .detective-interface .archive-scene {
    height: 650px;
  }

  .detective-interface .archive-box,
  .detective-interface .summary-box {
    right: auto;
    left: 50%;
    width: min(300px, calc(100% - 44px));
    height: 72px;
    transform: translateX(-50%);
  }

  .detective-interface .archive-box {
    bottom: 258px;
  }

  .detective-interface .summary-box {
    bottom: 54px;
  }

  .detective-interface .summary-box.is-ready {
    transform: translateX(-50%) translateY(-3px) scale(1.02);
  }

  .detective-interface .archive-document {
    bottom: 440px;
  }

  .detective-interface .archive-document.is-sorted {
    transform: translateX(-50%) translate(0, 270px) rotate(var(--sorted-r, 4deg)) scale(0.58);
  }
}

/* Unified site button style. Detective interface controls keep their own UI. */
.primary-button,
.secondary-button,
.ghost-button,
.login-submit,
.case-button,
.download-button,
.version-tabs button,
.filter-bar button,
.game-card button,
.download-options button,
.platform-buttons button,
.language-menu button {
  position: relative;
  display: inline-flex;
  min-width: 180px;
  min-height: 82px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  overflow: hidden;
  border: 1px solid rgba(177, 104, 30, 0.58);
  border-radius: 7px;
  padding: 0 26px;
  background:
    radial-gradient(circle at 22% 8%, rgba(102, 47, 14, 0.34), transparent 8rem),
    linear-gradient(180deg, rgba(34, 13, 5, 0.98), rgba(9, 4, 3, 0.98));
  color: #f7eee3;
  box-shadow:
    inset 0 0 0 1px rgba(255, 211, 145, 0.025),
    0 16px 38px rgba(0, 0, 0, 0.26);
  font-family: "Arial Narrow", Impact, Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(0.94rem, 1.05vw, 1.1rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.05;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    border-color 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.primary-button::before,
.secondary-button::before,
.ghost-button::before,
.login-submit::before,
.case-button::before,
.download-button::before,
.version-tabs button::before,
.filter-bar button::before,
.game-card button::before,
.download-options button::before,
.platform-buttons button::before,
.language-menu button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 208, 138, 0.13), transparent);
  opacity: 0;
  transform: translateX(-70%);
  transition: opacity 180ms ease, transform 520ms ease;
  pointer-events: none;
}

.primary-button:hover,
.secondary-button:hover,
.ghost-button:hover,
.login-submit:hover,
.case-button:hover,
.download-button:hover,
.version-tabs button:hover,
.filter-bar button:hover,
.game-card button:hover,
.download-options button:hover,
.platform-buttons button:hover,
.language-menu button:hover {
  border-color: rgba(255, 177, 76, 0.82);
  background:
    radial-gradient(circle at 22% 8%, rgba(135, 64, 18, 0.42), transparent 8rem),
    linear-gradient(180deg, rgba(42, 16, 6, 0.98), rgba(10, 4, 3, 0.98));
  color: #fff6ea;
  box-shadow:
    inset 0 0 0 1px rgba(255, 211, 145, 0.04),
    0 20px 42px rgba(0, 0, 0, 0.34),
    0 0 28px rgba(255, 156, 54, 0.12);
  transform: translateY(-1px);
}

.primary-button:hover::before,
.secondary-button:hover::before,
.ghost-button:hover::before,
.login-submit:hover::before,
.case-button:hover::before,
.download-button:hover::before,
.version-tabs button:hover::before,
.filter-bar button:hover::before,
.game-card button:hover::before,
.download-options button:hover::before,
.platform-buttons button:hover::before,
.language-menu button:hover::before {
  opacity: 1;
  transform: translateX(70%);
}

.version-tabs button.active,
.filter-bar button.active {
  border-color: rgba(255, 177, 76, 0.9);
  background:
    radial-gradient(circle at 22% 8%, rgba(154, 72, 20, 0.48), transparent 8rem),
    linear-gradient(180deg, rgba(45, 17, 6, 0.98), rgba(12, 5, 3, 0.98));
  color: #fff6ea;
  box-shadow:
    inset 0 0 0 1px rgba(255, 211, 145, 0.05),
    0 18px 40px rgba(0, 0, 0, 0.32),
    0 0 30px rgba(255, 156, 54, 0.12);
}

.download-button {
  width: min(430px, 100%);
}

.download-button::after {
  content: none;
}

.download-icon {
  width: 30px;
  height: 30px;
  border: 1px solid rgba(255, 205, 132, 0.22);
  background: rgba(255, 205, 132, 0.12);
  color: #fff0da;
}

.primary-button,
.secondary-button,
.ghost-button,
.login-submit,
.case-button,
.download-button,
.version-tabs button,
.filter-bar button,
.game-card button,
.download-options button,
.platform-buttons button {
  min-width: 146px;
  min-height: 56px;
  padding: 0 20px;
  border-radius: 6px;
  gap: 10px;
  font-size: clamp(0.84rem, 0.92vw, 1rem);
}

.room-logo-button.download-button {
  width: min(300px, 100%);
  min-height: 52px;
  justify-self: center;
  padding: 0 18px;
}

.case-button,
.platform-buttons button,
.secondary-button {
  width: auto;
}

.client-login-button {
  border-color: rgba(177, 104, 30, 0.58);
  background:
    radial-gradient(circle at 22% 8%, rgba(102, 47, 14, 0.34), transparent 6rem),
    linear-gradient(180deg, rgba(34, 13, 5, 0.98), rgba(9, 4, 3, 0.98));
  color: #f7eee3;
}

.language-menu button {
  min-width: 100%;
  min-height: 48px;
  justify-content: flex-start;
  border-radius: 5px;
  text-align: left;
}

.section-band.case-kit::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  left: 0;
  height: clamp(150px, 24vh, 300px);
  background:
    linear-gradient(180deg, #090503 0%, rgba(20, 9, 4, 0.82) 36%, rgba(20, 9, 4, 0) 100%),
  radial-gradient(ellipse at 50% 0%, rgba(255, 153, 44, 0.14), transparent 62%);
  pointer-events: none;
}

.case-kit {
  grid-template-columns: minmax(0, 50vw);
}

.case-kit .case-copy {
  width: min(50vw, 620px);
  max-width: none;
}

.case-kit .case-copy > p,
.case-kit .case-items {
  max-width: 100%;
}

@media (max-width: 760px) {
  .case-kit {
    grid-template-columns: 1fr;
  }

  .case-kit .case-copy {
    width: 100%;
  }
}

.detective-interface .channel-deck.has-open-hint,
.detective-interface .channel-deck.has-visible-hint.has-open-hint {
  --active-card-shift: 0px;
}

.detective-interface .deck-hint.is-open .deck-hint-detail {
  max-height: 150px;
}

.support {
  min-height: auto;
  padding-right: clamp(18px, 5vw, 72px);
  padding-left: clamp(18px, 5vw, 72px);
  padding-top: clamp(46px, 5vw, 78px);
  padding-bottom: clamp(46px, 5vw, 78px);
}

.support .section-heading,
.support .faq-list {
  width: min(1220px, 100%);
  max-width: 1220px;
  margin-right: auto;
  margin-left: auto;
}

.support .section-heading {
  margin-bottom: 22px;
  padding-top: 34px;
  border-top: 1px solid rgba(255, 182, 77, 0.2);
}

.support .section-heading h2 {
  max-width: 760px;
}

.support .faq-list {
  gap: 12px;
}

@media (max-width: 760px) {
  .support {
    padding-top: 38px;
    padding-bottom: 38px;
  }

  .support .section-heading {
    padding-top: 24px;
  }
}

#northern-node.section-band {
  background:
    linear-gradient(180deg, rgba(255, 248, 229, 0.08), rgba(32, 21, 14, 0.12)),
    url("assets/northern-node-paper-bg.webp") center top / cover,
    #e6ddca;
}

#northern-node.section-band::before,
#northern-node.section-band::after {
  display: none;
}
