﻿@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@500;700;900&family=Rajdhani:wght@500;700&display=swap");
@import url('/styles-modules/missions-stage.css');
@import url('/styles-modules/missions-stage-final.css');
@import url('/styles-modules/mobile-ads.css');
@import url('/styles-modules/topnav-contract.css');
@import url('/styles-modules/mobile-layout-contract.css');

/* --- UI-parannukset: napit ja paneelit --- */
button, .button, .pill, .usage-pill {
  font-family: 'Rajdhani', Arial, sans-serif;
  font-weight: 700;
  background: var(--surface);
  color: var(--ink);
  border: 2px solid var(--accent-soft);
  border-radius: 12px;
  box-shadow: var(--shadow-soft);
  padding: 0.6em 1.4em;
  margin: 0.3em 0.5em;
  font-size: 1.1em;
  letter-spacing: 0.03em;
  transition: background 0.18s, color 0.18s, box-shadow 0.18s, border 0.18s;
  cursor: pointer;
}

button:hover, .button:hover, .pill:hover, .usage-pill:hover {
  background: var(--accent);
  color: #fff;
  border-color: var(--hero-accent);
  box-shadow: var(--shadow-strong);
}

.panel, .landing-side-panel {
  background: var(--surface-strong);
  border-radius: 18px;
  box-shadow: var(--shadow);
  padding: 1.5em 1.2em;
  margin: 1em 0;
  border: 1.5px solid var(--line);
}

.panel-header, .compact-header {
  font-family: 'Cinzel', serif;
  font-size: 1.2em;
  color: var(--accent);
  margin-bottom: 0.7em;
  letter-spacing: 0.04em;
}

/* --- Responsiivisuus --- */
@media (max-width: 600px) {
  button, .button, .pill, .usage-pill {
    font-size: 1em;
    padding: 0.5em 1em;
  }
  .panel, .landing-side-panel {
    padding: 1em 0.5em;
  }
}

:root {
  /* --- Mad Max / Armageddon -tyyli --- */
  --bg: #111111; /* päätausta, musta */
  --bg-strong: #232323; /* tummanharmaa, metallinen */
  --surface: rgba(35, 35, 35, 0.92); /* paneelit, metallipinnat */
  --surface-strong: #181611;
  --ink: #f3ead4;
  --ink-dark: #2f2415;
  --muted: #c7b98a;
  --muted-dark: #6b5739;
  --line: rgba(214, 176, 74, 0.18);
  --accent: #ff9900; /* oranssi, pääkorostus */
  --accent-soft: #ffb347; /* vaaleampi oranssi */
  --accent-danger: #b7410e; /* ruosteenpunainen */
  --accent-neon: #39ff14; /* kirkkaan vihreä, neon-efekti */
  --accent-neon-soft: #6aff6a; /* vaaleampi vihreä */
  --success: #2f7a47;
  --shadow: 0 18px 50px rgba(0, 0, 0, 0.34);
  --shadow-soft: 0 12px 30px rgba(0, 0, 0, 0.24);
  --shadow-strong: 0 24px 60px rgba(0, 0, 0, 0.42);
  --hero-accent: #ff9900;
  /* Lisää Mad Max -henkisiä efektejä: varoitusraidat, piikkilanka, spray paint, kipinät, savu, liekit */
}

* {
  box-sizing: border-box;
}

@keyframes fadeRise {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes subtleFloatIn {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.98);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes modeShift {
  from {
    opacity: 0;
    transform: translateY(10px);
    filter: saturate(0.9);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: saturate(1);
  }
}

html {
  min-height: 100%;
  background: #000;
}

body {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  color: var(--ink);
  font-family: "Rajdhani", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  background: linear-gradient(180deg, #050505, #000);
}

body.castle-theme {
  background:
    radial-gradient(120% 80% at 50% -10%, rgba(214, 176, 74, 0.08), transparent 60%),
    radial-gradient(90% 55% at 50% 100%, rgba(208, 106, 43, 0.06), transparent 70%),
    linear-gradient(180deg, #020202, #000);
}

@keyframes emberDrift {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-18px);
  }
}

@keyframes fireEdgeRise {
  0% {
    transform: translateY(0) scaleY(1);
  }
  100% {
    transform: translateY(-18px) scaleY(1.06);
  }
}

@keyframes fireEdgeRiseMirrored {
  0% {
    transform: translateY(0) scaleY(1) scaleX(-1);
  }
  100% {
    transform: translateY(-18px) scaleY(1.06) scaleX(-1);
  }
}

@keyframes fireEdgeFlicker {
  0%,
  100% {
    opacity: 0.56;
    filter: saturate(1) blur(9px);
  }
  35% {
    opacity: 0.74;
    filter: saturate(1.08) blur(10px);
  }
  68% {
    opacity: 0.62;
    filter: saturate(0.96) blur(8px);
  }
}

@keyframes emberStream {
  0% {
    transform: translateY(0);
    opacity: 0.42;
  }
  100% {
    transform: translateY(-24px);
    opacity: 0.18;
  }
}

@keyframes fireBridgePulse {
  0% {
    opacity: 0.44;
    transform: translateY(0) scaleY(1);
  }
  100% {
    opacity: 0.62;
    transform: translateY(-8px) scaleY(1.06);
  }
}

@keyframes fireEdgeMobilePulse {
  0%,
  100% {
    opacity: 0.84;
    filter: saturate(1.34) blur(2.35px);
  }
  40% {
    opacity: 1;
    filter: saturate(1.62) blur(3px);
  }
  72% {
    opacity: 0.94;
    filter: saturate(1.46) blur(2.7px);
  }
}

@keyframes fireEdgeTurboFlicker {
  0% { opacity: 0.78; }
  25% { opacity: 1; }
  50% { opacity: 0.88; }
  75% { opacity: 1; }
  100% { opacity: 0.8; }
}

@keyframes fireEdgeTurboShift {
  0% { background-position: 0 0, 0 0, 0 0, 0 0; }
  100% { background-position: 0 -36px, 0 -52px, 0 -70px, 0 -92px; }
}

body .fire-edge-overlay {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.fire-edge-bridge {
  position: absolute;
  left: clamp(84px, 10.5vw, 214px);
  right: clamp(84px, 10.5vw, 214px);
  bottom: -6px;
  height: clamp(74px, 10vh, 132px);
  pointer-events: none;
  background:
    linear-gradient(
      180deg,
      rgba(156, 62, 20, 0.44) 0%,
      rgba(178, 78, 30, 0.38) 30%,
      rgba(168, 68, 24, 0.28) 58%,
      rgba(128, 46, 16, 0.36) 100%
    ),
    radial-gradient(14% 38% at 8% 96%, rgba(255, 188, 104, 0.42), transparent 72%),
    radial-gradient(14% 38% at 24% 96%, rgba(255, 140, 44, 0.34), transparent 72%),
    radial-gradient(14% 38% at 40% 96%, rgba(255, 186, 102, 0.38), transparent 72%),
    radial-gradient(14% 38% at 56% 96%, rgba(255, 138, 42, 0.34), transparent 72%),
    radial-gradient(14% 38% at 72% 96%, rgba(255, 184, 100, 0.38), transparent 72%),
    radial-gradient(14% 38% at 88% 96%, rgba(255, 136, 40, 0.34), transparent 72%);
  border-radius: 0 0 999px 999px;
  filter: blur(5px) saturate(1.02);
  animation: fireBridgePulse 2.9s ease-in-out infinite alternate, fireEdgeFlicker 2.1s ease-in-out infinite;
}

.fire-edge {
  position: absolute;
  top: 0;
  bottom: 0;
  width: clamp(98px, 12vw, 240px);
  background:
    linear-gradient(
      180deg,
      rgba(156, 62, 20, 0.56) 0%,
      rgba(174, 76, 28, 0.52) 18%,
      rgba(186, 84, 30, 0.44) 38%,
      rgba(166, 64, 22, 0.38) 62%,
      rgba(142, 50, 16, 0.46) 100%
    ),
    radial-gradient(82% 28% at 54% 5%, rgba(255, 205, 126, 0.54), transparent 74%),
    radial-gradient(70% 24% at 44% 13%, rgba(255, 146, 56, 0.46), transparent 74%),
    radial-gradient(76% 24% at 50% 97%, rgba(255, 188, 104, 0.66), transparent 74%),
    radial-gradient(62% 28% at 58% 90%, rgba(255, 132, 42, 0.58), transparent 76%),
    radial-gradient(70% 42% at 50% 100%, rgba(206, 68, 20, 0.44), transparent 78%);
  box-shadow:
    inset -18px 0 40px rgba(255, 121, 38, 0.24),
    inset -36px 0 80px rgba(255, 158, 62, 0.16);
  animation: fireEdgeRise 3.8s ease-in-out infinite alternate, fireEdgeFlicker 2.1s ease-in-out infinite;
}

.fire-edge::before,
.fire-edge::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.fire-edge::before {
  background:
    radial-gradient(18% 11% at 50% 9%, rgba(255, 214, 132, 0.54), transparent 72%),
    radial-gradient(16% 10% at 36% 22%, rgba(255, 160, 80, 0.44), transparent 74%),
    radial-gradient(18% 11% at 40% 94%, rgba(255, 216, 130, 0.62), transparent 72%),
    radial-gradient(16% 9% at 64% 86%, rgba(255, 172, 90, 0.52), transparent 72%),
    radial-gradient(20% 11% at 52% 78%, rgba(255, 128, 66, 0.40), transparent 74%);
  animation: emberStream 1.9s linear infinite;
}

.fire-edge::after {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.88), transparent 72%);
}

.fire-edge-left {
  left: 0;
}

.fire-edge-right {
  right: 0;
  animation: fireEdgeRiseMirrored 3.8s ease-in-out infinite alternate, fireEdgeFlicker 2.1s ease-in-out infinite;
}

/* Missions question stage: keep side and bottom fire borders clearly visible. */
body.missions-task-active[data-active-mode="daily"] .fire-edge {
  opacity: 0.72;
  filter: blur(8px) saturate(1.05);
}

body.missions-task-active[data-active-mode="daily"] .fire-edge-bridge {
  opacity: 0.58;
  height: clamp(86px, 12vh, 148px);
}

@media (min-width: 761px) {
  /* Missions question desktop lock: no extra outer boxes/halos, only even fire around the black area. */
  body.missions-task-active[data-active-mode="daily"] .app-shell::before {
    content: none !important;
    display: none !important;
  }

  body.missions-task-active[data-active-mode="daily"] .fire-edge-overlay::after {
    display: none !important;
  }

  body.missions-task-active[data-active-mode="daily"] .fire-edge {
    opacity: 0.64;
    filter: blur(8px) saturate(1.03);
  }

  body.missions-task-active[data-active-mode="daily"] .fire-edge-bridge {
    bottom: -6px;
    height: clamp(58px, 7.2vh, 86px);
    opacity: 0.44;
    filter: blur(5px) saturate(1.02);
  }

  body.missions-task-active[data-active-mode="daily"] .app-shell,
  body.missions-task-active[data-active-mode="daily"] #mode-daily > .daily-panel,
  body.missions-task-active[data-active-mode="daily"] #daily-feature,
  body.missions-task-active[data-active-mode="daily"] #daily-feature > .daily-feature-card,
  body.missions-task-active[data-active-mode="daily"] #daily-feature > .daily-feature-card-web {
    box-shadow: none !important;
    outline: 0 !important;
  }

  body.missions-task-active[data-active-mode="daily"] .app-shell {
    padding-bottom: 8px !important;
  }
}

body.missions-task-active[data-active-mode="daily"] .fire-edge-overlay::after {
  content: "";
  position: absolute;
  left: clamp(8px, 1.2vw, 16px);
  right: clamp(8px, 1.2vw, 16px);
  bottom: -1px;
  height: clamp(18px, 3.4vh, 34px);
  pointer-events: none;
  border-radius: 0 0 16px 16px;
  background:
    radial-gradient(52% 120% at 50% 100%, rgba(255, 166, 72, 0.44), rgba(255, 117, 24, 0.14) 66%, transparent 88%),
    linear-gradient(180deg, rgba(255, 132, 34, 0.26), rgba(92, 30, 10, 0.36));
  filter: blur(1px) saturate(1.08);
}

body.sales-fire::before,
body.sales-fire::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

body.castle-theme .hero h1 {
  text-shadow: 0 4px 22px rgba(214, 176, 74, 0.22);
}

body.sales-fire::before {
  background:
    radial-gradient(46% 28% at 8% 88%, rgba(208, 106, 43, 0.12), transparent 70%),
    radial-gradient(42% 24% at 92% 86%, rgba(214, 176, 74, 0.09), transparent 72%),
    radial-gradient(30% 18% at 56% 94%, rgba(255, 176, 86, 0.06), transparent 74%);
  animation: emberDrift 4.8s ease-in-out infinite alternate;
}

body.sales-fire::after {
  background:
    radial-gradient(22% 14% at 14% 82%, rgba(255, 193, 108, 0.08), transparent 72%),
    radial-gradient(20% 12% at 86% 80%, rgba(255, 153, 87, 0.06), transparent 72%);
}

.landing-shell,
.app-shell {
  position: relative;
  z-index: 1;
}

body.compact-mode .app-shell {
  width: min(1180px, calc(100% - 24px));
  padding-top: 24px;
}

body.compact-mode .panel,
body.compact-mode .settings-panel,
body.compact-mode .identity-panel,
body.compact-mode .launcher-panel,
body.compact-mode .onboarding-panel {
  padding: 16px;
  border-radius: 22px;
}

body.compact-mode .launcher-grid,
body.compact-mode .launcher-secondary-grid,
body.compact-mode .scenario-feature-grid,
body.compact-mode .daily-feature-grid,
body.compact-mode .daily-summary-grid,
body.compact-mode .onboarding-steps,
body.compact-mode .session-brief-grid,
body.compact-mode .mission-category-choices {
  gap: 10px;
}

body.compact-mode .daily-card,
body.compact-mode .module-card,
body.compact-mode .identity-card,
body.compact-mode .mission-category-card,
body.compact-mode .daily-summary-card,
body.compact-mode .scenario-summary-card,
body.compact-mode .scenario-feature-card,
body.compact-mode .daily-feature-card {
  padding: 14px;
}

body.reduced-motion *,
body.reduced-motion *::before,
body.reduced-motion *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
  scroll-behavior: auto !important;
}

.app-shell {
  width: min(1420px, calc(100% - 24px));
  margin: 0 auto;
  padding: 24px 0 112px;
}

body:not(.home-launcher-only)[data-active-mode="scenarios"] .app-shell {
  padding-bottom: 8px;
}

body:not(.home-launcher-only)[data-active-mode="chat"] .app-shell {
  padding-bottom: 56px;
}

.landing-shell {
  width: min(1420px, calc(100% - 24px));
  margin: 0 auto;
  padding: 28px 0 10px;
}

/* Launcher-first home: legacy landing marketing block removed from view. */
.landing-shell {
  display: none !important;
}

.landing-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  gap: 18px;
  align-items: stretch;
}

.landing-copy,
.landing-side-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(255, 248, 239, 0.96), rgba(246, 232, 214, 0.9)),
    rgba(255, 248, 239, 0.84);
  box-shadow: var(--shadow);
}

.landing-copy::after,
.landing-side-panel::after,
.launcher-panel::after,
.onboarding-panel::after,
.session-brief-panel::after {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.7), transparent);
  pointer-events: none;
}

.landing-copy {
  padding: 26px;
  color: var(--ink-dark);
}

.landing-copy h1 {
  color: var(--ink-dark);
  text-shadow: 0 2px 14px rgba(246, 232, 214, 0.4);
}

.landing-copy .eyebrow,
.landing-copy .muted-copy,
.landing-copy .pill {
  color: var(--muted-dark);
}

.landing-side-panel {
  padding: 20px;
}

.landing-lead {
  max-width: 62ch;
  font-size: 1.06rem;
  line-height: 1.62;
  color: var(--muted-dark);
}

.price-strip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 248, 239, 0.84);
}

.landing-actions {
  margin-top: 18px;
}

#landing-open-web {
  display: none !important;
}

.landing-pill-row {
  display: grid;
  gap: 10px;
}

.landing-pill-row {
  margin-top: 14px;
  grid-template-columns: repeat(3, max-content);
}

.landing-feature-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
  background: rgba(255, 248, 239, 0.88);
}

.hero {
  display: grid;
  gap: 14px;
  padding: 28px 0 20px;
}

.hero-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.hero-quick-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  overflow: visible;
}

.lang-switcher {
  position: relative;
}

.lang-switcher-summary {
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 70px;
  padding: 10px 18px;
  border: 1px solid rgba(255, 138, 0, 0.42);
  border-radius: 999px;
  background: #000;
  cursor: pointer;
}

.lang-active-text {
  color: #ffd08a;
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-weight: 800;
  letter-spacing: 0.04em;
  font-size: 1.08rem;
  line-height: 1;
}

.lang-switcher-summary .lang-active-text {
  display: none !important;
}

.lang-switcher-summary .flag-icon::after {
  content: "" !important;
}

.lang-switcher-summary::-webkit-details-marker {
  display: none;
}

.lang-caret {
  color: #ff9b1a;
  font-weight: 700;
  font-size: 1.3rem;
  line-height: 1;
}

.flag-pair {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.flag-icon {
  width: 44px;
  height: 31px;
  border-radius: 2px;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.lang-switcher-summary .flag-uk {
  width: 56px;
  height: 39px;
}

.flag-uk {
  background:
    linear-gradient(32deg, transparent 40%, #fff 40% 60%, transparent 60%),
    linear-gradient(-32deg, transparent 40%, #fff 40% 60%, transparent 60%),
    linear-gradient(32deg, transparent 46%, #c8102e 46% 54%, transparent 54%),
    linear-gradient(-32deg, transparent 46%, #c8102e 46% 54%, transparent 54%),
    linear-gradient(90deg, transparent 37%, #fff 37% 63%, transparent 63%),
    linear-gradient(0deg, transparent 35%, #fff 35% 65%, transparent 65%),
    linear-gradient(90deg, transparent 45%, #c8102e 45% 55%, transparent 55%),
    linear-gradient(0deg, transparent 43%, #c8102e 43% 57%, transparent 57%),
    #012169 !important;
}

.flag-fr {
  background: linear-gradient(90deg, #0055a4 0 33.333%, #fff 33.333% 66.666%, #ef4135 66.666% 100%) !important;
}

.flag-es {
  background: linear-gradient(180deg, #aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75% 100%) !important;
}

.lang-switcher-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 248px;
  display: grid;
  gap: 4px;
  padding: 13px;
  border: 1px solid rgba(255, 138, 0, 0.42);
  border-radius: 10px;
  background: #0b0b0b;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.38);
  z-index: 24;
}

.lang-option-copy {
  display: grid;
  gap: 2px;
}

.lang-option-sub {
  color: #d7b47a;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
}

.lang-option-code {
  margin-left: auto;
  color: #ff9b1a;
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 1.02rem;
  font-weight: 800;
}

.lang-switcher[data-lang-variant="flag-only"] .lang-active-text {
  display: none;
}

.lang-switcher[data-lang-variant="flag-only"] .lang-option-sub,
.lang-switcher[data-lang-variant="flag-only"] .lang-option-code,
.lang-switcher[data-lang-variant="flag-label"] .lang-option-code {
  display: none;
}

.lang-switcher[data-lang-variant="flag-label"] .lang-switcher-summary {
  gap: 10px;
  padding-inline: 16px 18px;
}

.lang-switcher:not([open]) .lang-switcher-menu {
  display: none;
}

body:not([data-active-mode="home"]) .lang-switcher {
  display: none !important;
}

.lang-option {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  min-height: 58px;
  padding: 8px 13px;
  border-radius: 8px;
  color: #f4ecdc;
  text-decoration: none;
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 1.27rem;
  font-weight: 700;
}

.lang-option:hover {
  background: rgba(255, 138, 0, 0.14);
}

.arthur-brand-chip {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 9px 14px;
  border: 1px solid rgba(214, 176, 74, 0.35);
  border-radius: 12px;
  background: rgba(12, 12, 10, 0.88);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.28);
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 0.9rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #f3ead4;
  position: relative;
}

.arthur-brand-chip::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 13px;
  border: 1px solid rgba(214, 176, 74, 0.2);
  pointer-events: none;
}


.brand-symbol {
  width: 34px;
  height: 34px;
}

.brand-symbol-portrait {
  width: 48px;
  height: 70px;
  object-fit: contain;
  object-position: center top;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.hero-presence {
  display: grid;
  grid-template-columns: 124px minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  animation: subtleFloatIn 380ms ease-out;
}

.hero-copy-block {
  min-width: 0;
}

.arthur-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  border-radius: 28px;
  border: 1px solid var(--line);
  background:
    radial-gradient(circle at top, rgba(255, 255, 255, 0.9), rgba(246, 232, 214, 0.72)),
    rgba(255, 248, 239, 0.72);
  box-shadow: 0 18px 40px rgba(67, 41, 20, 0.1);
}

.arthur-symbol {
  display: block;
  width: 56px;
  height: 56px;
  object-fit: contain;
}

.hero-symbol {
  width: 104px;
  height: 208px;
}

.commentary-symbol {
  width: 58px;
  height: 86px;
  border-radius: 10px;
  box-shadow: 0 10px 22px rgba(67, 41, 20, 0.22);
}

.arthur-portrait-frame {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  min-width: 72px;
  height: 102px;
  padding: 6px;
  border: 1px solid rgba(255, 138, 0, 0.45);
  border-radius: 14px;
  background: rgba(7, 7, 7, 0.95);
  box-shadow: inset 0 0 0 1px rgba(255, 167, 51, 0.18), 0 12px 26px rgba(0, 0, 0, 0.38);
}

.arthur-portrait-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center top;
  border-radius: 10px;
  background: rgba(10, 10, 10, 0.96);
}

.eyebrow,
label,
.pill,
.usage-pill,
.module-meta,
.message-meta {
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
}

.eyebrow {
  margin: 0 0 8px;
  color: var(--hero-accent);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

h1,
h2,
h3 {
  margin: 0;
  font-weight: 700;
  font-family: "Cinzel", Georgia, "Times New Roman", serif;
  letter-spacing: 0.02em;
}

h1 {
  max-width: 11ch;
  font-size: clamp(2.7rem, 8vw, 5.5rem);
  line-height: 0.95;
}

.hero-copy {
  max-width: 820px;
  font-size: 1.05rem;
  color: var(--muted);
}

.music-hud {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(214, 176, 74, 0.26);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(14, 13, 11, 0.94), rgba(8, 8, 8, 0.9)),
    rgba(9, 9, 8, 0.88);
  box-shadow: var(--shadow-soft);
}

.music-hud .muted-copy,
.music-hud p {
  color: #cfbc8f;
}

.music-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.music-hud strong,
.support-card strong,
.daily-summary-card strong,
.session-brief-card strong,
.landing-feature-card strong {
  letter-spacing: 0.01em;
}

.sales-command-deck {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid rgba(214, 176, 74, 0.34);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(12, 12, 11, 0.94), rgba(7, 7, 7, 0.9)),
    rgba(10, 10, 10, 0.88);
  box-shadow: var(--shadow-soft);
}

.sales-command-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.sales-command-card {
  border: 1px solid rgba(214, 176, 74, 0.26);
  border-radius: 12px;
  padding: 12px;
  background: rgba(4, 4, 4, 0.72);
}

.sales-mode .sales-command-card strong {
  color: #f2d9a0;
}

.music-hud p,
.support-card p,
.daily-summary-card p,
.session-brief-card p,
.scenario-summary-card p {
  line-height: 1.55;
  font-size: 1.08rem;
}

.settings-panel {
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255, 248, 239, 0.88), rgba(246, 232, 214, 0.72)),
    rgba(255, 248, 239, 0.72);
}

.identity-panel {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(255, 248, 239, 0.9), rgba(246, 232, 214, 0.74)),
    rgba(255, 248, 239, 0.72);
}

.identity-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.launcher-panel {
  position: relative;
  overflow: hidden;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(214, 176, 74, 0.28);
  border-radius: 14px;
  background:
    repeating-linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.025) 0,
      rgba(255, 255, 255, 0.025) 1px,
      transparent 1px,
      transparent 4px
    ),
    linear-gradient(135deg, rgba(11, 11, 10, 0.98), rgba(6, 6, 6, 0.95)),
    rgba(18, 17, 13, 0.9);
  box-shadow: var(--shadow-soft);
}

.launcher-panel::before {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(214, 176, 74, 0.16);
  border-radius: 10px;
  pointer-events: none;
}

.launcher-head {
  display: flex;
  justify-content: center;
  margin-bottom: 12px;
}

.launcher-grid {
  display: grid;
  gap: 16px;
  justify-items: center;
  margin-top: 14px;
}

.main-menu-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
}

.launcher-secondary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  max-width: 1080px;
}

.launcher-card {
  position: relative;
  z-index: 1;
  border: 1px solid rgba(214, 176, 74, 0.24);
  border-radius: 10px;
  padding: 14px;
  background: rgba(8, 8, 8, 0.86);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03), 0 14px 24px rgba(0, 0, 0, 0.3);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  isolation: isolate;
}

.launcher-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(214, 176, 74, 0.08), transparent 46%);
  opacity: 0.5;
  z-index: -1;
}

.launcher-card-primary {
  width: min(100%, 680px);
  padding: 28px 18px;
  text-align: center;
  background:
    linear-gradient(135deg, rgba(16, 15, 12, 0.98), rgba(8, 8, 8, 0.95)),
    rgba(8, 8, 8, 0.9);
  box-shadow: var(--shadow-strong);
  border-color: rgba(214, 176, 74, 0.4);
}

.launcher-card-primary strong {
  display: block;
  font-size: clamp(2.2rem, 3.4vw, 2.9rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.launcher-card-secondary {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 0;
  text-align: center;
}

.launcher-action-button {
  border-radius: 8px;
  border: 1px solid rgba(214, 176, 74, 0.38);
  background: linear-gradient(180deg, rgba(214, 176, 74, 0.2), rgba(214, 176, 74, 0.08));
  color: #f3ead4;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.reveal-card {
  opacity: 0;
  animation: fadeRise 300ms ease-out forwards;
  animation-delay: calc(var(--stagger-index, 0) * 44ms);
}

.support-slot {
  position: relative;
  z-index: 1;
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  width: min(1180px, calc(100vw - 56px));
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.support-slot.is-duplicate-mode-slot {
  display: none !important;
}

.support-card {
  min-height: 340px;
  padding: 14px 14px 12px;
  border: 1px dashed rgba(28, 27, 24, 0.2);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(20, 18, 14, 0.84), rgba(14, 13, 10, 0.72)),
    rgba(18, 17, 13, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42);
}

.support-adsense {
  margin-top: 10px;
  min-height: 260px;
  height: 260px;
  border: 2px dashed rgba(255, 138, 0, 0.5);
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.4);
  display: grid;
  place-items: center;
}

.onboarding-panel {
  position: relative;
  overflow: hidden;
  margin-top: 14px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255, 248, 239, 0.78);
  box-shadow: var(--shadow-soft);
}

.onboarding-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.onboarding-step {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
  background: rgba(255, 248, 239, 0.9);
  min-height: 132px;
}

.session-brief-panel {
  position: relative;
  overflow: hidden;
  margin-top: 14px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(255, 248, 239, 0.86), rgba(246, 232, 214, 0.74)),
    rgba(255, 248, 239, 0.76);
  box-shadow: var(--shadow-soft);
}

.session-brief-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.session-brief-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
  background: rgba(255, 248, 239, 0.88);
  min-height: 132px;
}

#pattern-summary-panel {
  background:
    linear-gradient(135deg, rgba(255, 248, 239, 0.92), rgba(232, 177, 139, 0.2)),
    rgba(255, 248, 239, 0.78);
}

.mission-chooser-panel {
  margin: 18px 0;
  padding: 16px;
  border: 0;
  box-shadow: none;
}

.mission-chooser-panel::before,
.mission-chooser-panel::after {
  display: none;
}

.mission-category-choices {
  display: grid;
  gap: 12px;
}

.mission-category-lane-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, 360px);
  gap: 16px;
  align-items: start;
}

.mission-category-lane-primary {
  display: grid;
  gap: 12px;
}

.mission-subcategory-lane {
  position: sticky;
  top: 88px;
}

.mission-subcategory-panel {
  border: 1px solid rgba(255, 138, 0, 0.34);
  border-radius: 20px;
  padding: 14px;
  background: linear-gradient(140deg, rgba(11, 10, 9, 0.95), rgba(7, 7, 7, 0.94)), #000;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.36);
  backdrop-filter: blur(2px);
}

.mission-subcategory-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.mission-subcategory-list {
  display: grid;
  gap: 8px;
  max-height: min(68vh, 620px);
  overflow-y: auto;
  padding-right: 2px;
}

.mission-subcategory-button {
  min-height: 58px;
  border-radius: 14px;
  border: 1px solid rgba(255, 138, 0, 0.48);
  background: linear-gradient(170deg, rgba(10, 10, 10, 0.92), rgba(6, 6, 6, 0.9));
  color: #ffaf43;
  text-align: left;
  padding: 10px 11px;
  display: grid;
  gap: 4px;
  box-shadow: inset 0 0 0 1px rgba(255, 138, 0, 0.08);
  transition: transform 140ms ease, border-color 140ms ease, box-shadow 140ms ease, color 140ms ease;
}

.mission-subcategory-button span {
  font-weight: 700;
  letter-spacing: 0.01em;
}

.mission-subcategory-button:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 181, 95, 0.84);
  box-shadow:
    inset 0 0 0 1px rgba(255, 171, 78, 0.22),
    0 8px 18px rgba(237, 111, 36, 0.18);
}

.mission-subcategory-button small {
  color: #cfaa74;
  font-size: 0.76rem;
  line-height: 1.25;
}

.mission-subcategory-button.active {
  border-color: rgba(255, 179, 90, 0.92);
  box-shadow:
    inset 0 0 0 1px rgba(255, 179, 90, 0.3),
    inset 3px 0 0 rgba(255, 132, 35, 0.72),
    0 0 16px rgba(237, 111, 36, 0.28);
  color: #ffd08f;
}

.mission-category-secondary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.mission-category-card {
  border: 1px solid rgba(255, 138, 0, 0.34);
  border-radius: 20px;
  padding: 14px;
  background:
    linear-gradient(135deg, rgba(14, 12, 10, 0.96), rgba(8, 8, 8, 0.94)),
    #000;
  box-shadow: 0 13px 28px rgba(0, 0, 0, 0.34);
  transition: transform 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.mission-category-card:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 168, 73, 0.56);
}

.mission-category-card.selected {
  border-color: rgba(255, 155, 26, 0.78);
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(214, 111, 31, 0.24);
}

.mission-category-card-primary {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.mission-category-card-primary strong {
  font-size: 1.42rem;
}

.mission-category-card-primary.selected {
  transform: none;
  box-shadow: none;
}

.mission-category-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.mission-category-card p {
  color: #d5b57e;
  line-height: 1.34;
  min-height: 2.7em;
}

.mission-subcategory-empty-note {
  margin: 4px 0 10px;
  color: #adadad;
  font-size: 0.84rem;
  line-height: 1.3;
}

.mission-subcategory-status-line {
  margin: 2px 0 10px;
  color: #d9b57a;
  font-size: 0.82rem;
  line-height: 1.32;
}

.mission-category-card strong {
  color: #ffb347;
  letter-spacing: 0.01em;
}

.mission-category-button {
  background: #000 !important;
  color: #ff9b1a !important;
  border: 1px solid rgba(255, 138, 0, 0.62) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 138, 0, 0.12);
}

.mission-category-button:hover:not(:disabled) {
  border-color: #ffb347 !important;
  color: #ffb347 !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 179, 90, 0.24),
    0 6px 16px rgba(228, 108, 27, 0.17);
}

.mission-category-card .usage-pill {
  background: #0b0b0b;
  color: #ffb347;
  border: 1px solid rgba(255, 138, 0, 0.36);
}

.hidden {
  display: none !important;
}

.settings-mode-panel {
  margin-top: 0;
}

#mode-settings .panel:first-child {
  display: grid;
  gap: 16px;
}

#mode-settings .side-column {
  display: grid;
  gap: 16px;
}

.settings-row,
.toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.settings-row {
  padding: 4px 0;
}

.settings-row strong {
  display: inline-block;
  margin-bottom: 4px;
}

.settings-mode-panel .settings-row + .settings-row {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.toggle-row {
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
}

.mode-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
  padding: 8px;
  border: 1px solid rgba(255, 138, 0, 0.4);
  border-radius: 18px;
  background: #0a0a0a;
  box-shadow: var(--shadow-soft);
  position: relative;
}

.mode-nav-top {
  margin-top: 0;
  margin-right: 6px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.mode-nav::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 13px;
  border: 1px dashed rgba(255, 138, 0, 0.24);
  pointer-events: none;
}

.mode-nav-top::before {
  display: none;
}

.mode-tab {
  border: 1px solid rgba(255, 138, 0, 0.44);
  border-radius: 999px;
  padding: 12px 16px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  color: #ff9b1a;
  background: #000;
}

.mode-tab.active {
  color: #1a1208;
  background: linear-gradient(135deg, #ff9b1a, #d66f1f);
  box-shadow: 0 12px 24px rgba(214, 111, 31, 0.24);
}

/* Keep injected markup from extensions from adding odd text blocks inside tabs. */
.mode-tab * {
  color: inherit !important;
  background: transparent !important;
}

/* Hide briefing strips that make the view look cluttered between launcher and modules. */
#onboarding-panel,
#session-brief-panel,
#pattern-summary-panel {
  display: none !important;
}

body.home-launcher-only .mode-nav,
body.home-launcher-only .hero > .hero-topline,
body.home-launcher-only .hero > .eyebrow,
body.home-launcher-only .hero-presence,
body.home-launcher-only .hero-copy,
body.home-launcher-only #hero-brainline,
body.home-launcher-only .music-hud,
body.home-launcher-only #onboarding-panel,
body.home-launcher-only #session-brief-panel,
body.home-launcher-only #pattern-summary-panel {
  display: none !important;
}

/* Home launcher: hide all top navigation buttons in both desktop and mobile. */
body.home-launcher-only .mobile-nav-toggle,
body.home-launcher-only .mobile-nav-drawer,
body.home-launcher-only .mobile-nav-backdrop {
  display: none !important;
}

#hero-missions-back {
  display: none;
}

body.missions-task-active[data-active-mode="daily"] #hero-missions-back,
body.missions-subcategory-active[data-active-mode="daily"] #hero-missions-back {
  display: inline-flex !important;
}

body.home-launcher-only .mode-view {
  display: none !important;
}

body.home-launcher-only .hero {
  gap: 10px;
  padding-top: 24px;
}

body.home-launcher-only .app-shell {
  padding-top: 32px;
  padding-bottom: 20px;
}

body.home-launcher-only #sales-command-deck {
  display: none !important;
}

body.home-launcher-only .launcher-panel {
  margin-top: 0;
  min-height: auto;
  display: flex;
  flex-direction: column;
  padding: 18px 24px 2px;
}

body.home-launcher-only .launcher-card-secondary strong {
  font-size: 1.18rem;
}

body.home-launcher-only .launcher-card-primary strong {
  font-size: clamp(2.5rem, 3.8vw, 3.2rem);
}

/* Home launcher contrast lock: orange text on black for module visibility. */
body.home-launcher-only .launcher-panel {
  background: #000;
  border: 0;
  box-shadow: none;
}

body.home-launcher-only .launcher-panel::before,
body.home-launcher-only .launcher-panel::after {
  display: none;
}

body.home-launcher-only .launcher-card {
  background: #000;
  border-color: rgba(255, 138, 0, 0.56);
  box-shadow: inset 0 0 0 1px rgba(255, 138, 0, 0.16), 0 14px 24px rgba(0, 0, 0, 0.42);
}

body.home-launcher-only .launcher-card::before {
  background: linear-gradient(180deg, rgba(255, 138, 0, 0.12), transparent 58%);
  opacity: 1;
}

body.home-launcher-only .launcher-card strong,
body.home-launcher-only .launcher-copy,
body.home-launcher-only #launcher-copy,
body.home-launcher-only #launcher-badge {
  color: #ff9b1a;
}

body.home-launcher-only .launcher-action-button {
  background: #000;
  color: #ff9b1a;
  border-color: rgba(255, 138, 0, 0.62);
  box-shadow: inset 0 0 0 1px rgba(255, 138, 0, 0.14);
}

body.home-launcher-only .arthur-brand-chip {
  padding: 14px 22px;
  font-size: 1.12rem;
  gap: 14px;
}


body.home-launcher-only .brand-symbol-portrait {
  width: 67px;
  height: 98px;
  border-radius: 0;
}

body.home-launcher-only .hero-quick-actions .ghost {
  min-height: 60px;
  font-size: 1.12rem;
  padding-inline: 22px;
}

body.home-launcher-only .launcher-topline .hero-quick-actions {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-left: auto;
}

body.home-launcher-only .launcher-topline-left {
  display: inline-flex;
  align-items: flex-start;
}

body.home-launcher-only .launcher-get-app-link {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  min-height: 68px;
  border-radius: 12px;
  padding: 8px 14px;
  font-family: "Cinzel", Georgia, "Times New Roman", serif;
  font-size: 1.08rem;
  line-height: 1.05;
  text-transform: none;
}

body.home-launcher-only .launcher-get-app-link span:last-child {
  font-weight: 800;
}

body.home-launcher-only .launcher-home-logo-wrap {
  display: flex;
  justify-content: center;
  margin-top: 6px;
}

body.home-launcher-only .launcher-home-logo {
  width: clamp(246px, 23vw, 384px);
  height: auto;
  object-fit: contain;
  border: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
}

body.home-launcher-only .launcher-menu-button-primary-home {
  min-height: 148px;
  font-size: clamp(2.3rem, 3.1vw, 2.9rem);
  border-radius: 34px;
  font-weight: 900;
  letter-spacing: 0.02em;
}

body.home-launcher-only .launcher-menu-button-secondary-home {
  min-height: 112px;
  font-size: clamp(1.65rem, 2.2vw, 2.05rem);
  border-radius: 26px;
  font-weight: 800;
}

body.home-launcher-only .launcher-menu-grid {
  gap: 16px;
}

body.home-launcher-only .launcher-web-secondary {
  gap: 14px;
}

body.home-launcher-only .launcher-grid {
  margin-top: 66px;
  position: relative;
  z-index: 2;
}

body.home-launcher-only .launcher-freeware-note {
  margin-top: 18px;
  font-size: 1.12rem;
}

body.home-launcher-only .home-bottom-ad-shell {
  position: static;
  left: auto;
  right: auto;
  top: auto;
  width: min(1180px, calc(100vw - 56px));
  max-width: 1180px;
  margin: 72px auto 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  pointer-events: auto;
}

body:not(.home-launcher-only) .home-bottom-ad-shell {
  display: none;
}

body.home-launcher-only .home-bottom-ad-shell .support-card {
  min-height: 281px;
  padding: 14px 14px 12px;
  border-radius: 16px;
  grid-column: auto;
}

body.home-launcher-only .home-bottom-ad-shell .support-adsense {
  min-height: 212px;
  height: 212px;
  margin-top: 10px;
  border-width: 2px;
}

@media (max-width: 760px) {
  body.home-launcher-only .home-bottom-ad-shell {
    grid-template-columns: 1fr;
    gap: 10px;
    width: calc(100vw - 24px);
    margin-top: 36px;
  }

  body.home-launcher-only .home-bottom-ad-shell .support-card {
    min-height: 209px;
    padding: 10px 10px 10px;
    border-radius: 12px;
  }

  body.home-launcher-only .home-bottom-ad-shell .support-adsense {
    min-height: 151px;
    height: 151px;
    margin-top: 8px;
  }
}

@media (min-width: 761px) and (max-width: 1200px) {
  body.home-launcher-only .home-bottom-ad-shell {
    position: static;
    left: auto;
    right: auto;
    top: auto;
    margin-top: 72px;
    padding-top: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    pointer-events: auto;
  }

  body.home-launcher-only .home-bottom-ad-shell .support-card {
    min-height: 0;
  }

  body.home-launcher-only .home-bottom-ad-shell .support-adsense {
    min-height: 198px;
  }

  body.home-launcher-only .launcher-grid {
    margin-top: 28px;
  }
}

body.home-launcher-only .home-bottom-ad-shell .support-card strong {
  font-size: 1rem;
}

body.home-launcher-only .home-bottom-ad-shell .support-card p {
  font-size: 0.98rem;
  line-height: 1.45;
}

body.home-launcher-only .launcher-action-button:hover:not(:disabled),
body.home-launcher-only .launcher-card:hover {
  border-color: #ff9b1a;
  color: #ffb347;
  transform: translateY(-2px);
}


#hero-home-open {
  display: none;
}

body:not(.home-launcher-only) #hero-home-open {
  display: inline-flex;
}

body:not(.home-launcher-only) .launcher-panel,
body:not(.home-launcher-only) #sales-command-deck {
  display: none !important;
}
.mode-view {
  display: none;
}

.mode-view.active {
  display: block;
  margin-top: 18px;
}

.mode-view.mode-enter {
  animation: modeShift 240ms ease-out;
}

.panel {
  border: 1px solid var(--line);
  border-radius: 28px;
  background: var(--surface);
  backdrop-filter: blur(10px);
  box-shadow: var(--shadow);
  padding: 20px;
  position: relative;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.panel::before {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 21px;
  border: 1px solid rgba(214, 176, 74, 0.1);
  pointer-events: none;
}

.panel-header,
.button-row,
.stat-head,
.module-top,
.module-meta,
.message-top,
.header-actions,
.scenario-top,
.daily-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.castle-ribbon {
  margin: 10px 0 12px;
  padding: 8px 11px;
  border-left: 3px solid rgba(214, 176, 74, 0.62);
  border-radius: 8px;
  background: rgba(214, 176, 74, 0.08);
  color: #e8d2a4;
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  letter-spacing: 0.03em;
}

.brainline-rotator {
  margin: 10px 0 0;
  padding: 9px 12px;
  border-radius: 10px;
  border: 1px solid rgba(214, 176, 74, 0.28);
  background: rgba(214, 176, 74, 0.08);
  color: #f1dab0;
  font-family: "Rajdhani", "Segoe UI", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.01em;
}

body.sales-mode[data-active-mode="daily"] .daily-panel {
  box-shadow: 0 20px 50px rgba(208, 106, 43, 0.24);
}

body.sales-mode[data-active-mode="scenarios"] .scenario-stage {
  box-shadow: 0 20px 50px rgba(214, 176, 74, 0.18);
}

body.sales-mode[data-active-mode="chat"] .chat-panel {
  box-shadow: 0 20px 50px rgba(188, 135, 84, 0.2);
}

body.sales-mode[data-active-mode="settings"] #mode-settings .panel:first-child {
  box-shadow: 0 20px 50px rgba(153, 108, 74, 0.2);
}

body.sales-mode[data-active-mode="profile"] #mode-profile .panel {
  box-shadow: 0 20px 50px rgba(214, 176, 74, 0.24);
}

.header-actions {
  flex-wrap: wrap;
}

.scenario-stage {
  padding: 24px;
  background:
    linear-gradient(140deg, rgba(21, 18, 14, 0.95), rgba(9, 9, 9, 0.94)),
    rgba(12, 11, 9, 0.94);
  border-color: rgba(214, 176, 74, 0.28);
}

body.sales-mode .scenario-stage,
body.sales-mode .daily-panel,
body.sales-mode .chat-panel,
body.sales-mode #mode-settings .panel:first-child,
body.sales-mode #mode-profile .panel {
  background:
    linear-gradient(140deg, rgba(21, 18, 14, 0.95), rgba(9, 9, 9, 0.94)),
    rgba(12, 11, 9, 0.94);
  border-color: rgba(214, 176, 74, 0.28);
}

body.sales-mode .scenario-stage::before,
body.sales-mode .daily-panel::before,
body.sales-mode .chat-panel::before,
body.sales-mode #mode-settings .panel:first-child::before,
body.sales-mode #mode-profile .panel::before {
  border-color: rgba(214, 176, 74, 0.2);
}

.scenario-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.56fr) minmax(0, 1.44fr);
  gap: 18px;
  margin-top: 18px;
}

.chat-mode-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 18px;
}

.side-column {
  display: grid;
  gap: 18px;
  align-content: start;
}

/* Chat mode is intentionally single-column: just the chatbot. */
#mode-chat .chat-mode-layout {
  grid-template-columns: minmax(0, 1fr);
}

#mode-chat .side-column {
  display: none !important;
}

/* Chatbot contrast lock: orange text on black background. */
#mode-chat .chat-panel,
#mode-chat .message-body,
#mode-chat .arthur-commentary-bubble,
#mode-chat .arthur-commentary-bubble::before,
#mode-chat .prompt-chip,
#mode-chat .reply-chip,
#mode-chat .composer textarea {
  background: #000 !important;
  color: #ff9b1a !important;
  border-color: rgba(255, 138, 0, 0.56) !important;
}

#mode-chat .arthur-commentary-title,
#mode-chat .arthur-commentary-meta,
#mode-chat .muted-copy,
#mode-chat .message-label,
#mode-chat .castle-ribbon,
#mode-chat .usage-pill {
  color: #ffb347 !important;
}

#mode-chat textarea::placeholder {
  color: rgba(255, 155, 26, 0.62);
}

.compact-header {
  margin-bottom: 12px;
}

.panel-header h2,
.panel-header h3 {
  line-height: 1.08;
}

.module-catalog,
.scenario-summary-strip,
.scenario-browser,
.import-form,
.daily-summary-grid,
.daily-task-grid {
  display: grid;
  gap: 12px;
}

.daily-task-section {
  display: grid;
  gap: 12px;
}

.daily-task-section + .daily-task-section {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.daily-task-section-head {
  display: grid;
  gap: 4px;
}

.scenario-summary-strip {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 14px;
}

.daily-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 18px 0;
}

.daily-task-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.chat-thread {
  min-height: 420px;
  max-height: 60vh;
  flex: 1 1 auto;
  overflow-y: auto;
  display: grid;
  gap: 12px;
  padding-right: 4px;
  margin-top: 12px;
}

.prompt-strip,
#usage,
.choice-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.prompt-strip {
  margin: 16px 0 8px;
}

.chat-content-loader-box {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(255, 138, 0, 0.42);
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.7);
}

.chat-content-loader-meta strong {
  display: block;
  color: #ffb347;
  font-size: 0.98rem;
}

.chat-content-loader-meta p {
  margin: 4px 0 0;
  font-size: 0.9rem;
}

.chat-loading-bubble {
  width: min(100%, 760px);
  border: 1px solid rgba(255, 138, 0, 0.56);
  border-radius: 18px;
  padding: 14px;
  background: #000;
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.chat-loading-logo {
  width: 88px;
  height: 88px;
  object-fit: contain;
  border-radius: 12px;
  border: 1px solid rgba(255, 138, 0, 0.42);
  background: rgba(0, 0, 0, 0.72);
  padding: 6px;
}

.chat-loading-copy {
  display: grid;
  gap: 6px;
}

.chat-loading-copy strong {
  color: #ffb347;
}

.chat-loading-copy p {
  margin: 0;
  color: #ff9b1a;
}

.chat-loading-bar {
  width: 100%;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 138, 0, 0.44);
  background: rgba(0, 0, 0, 0.8);
  overflow: hidden;
}

.chat-loading-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff9b1a, #d66f1f);
}

.message {
  display: grid;
  gap: 8px;
}

.message.user-message {
  justify-items: end;
}

.assistant-message {
  justify-items: start;
}

.assistant-message.arriving .arthur-commentary {
  animation: fadeRise 260ms ease-out;
}

.message-label {
  font-size: 0.82rem;
  color: var(--muted);
}

.message-body {
  width: min(100%, 720px);
  border-radius: 22px;
  padding: 16px;
  border: 1px solid var(--line);
  background: rgba(255, 248, 239, 0.82);
}

body.sales-mode .assistant-message .message-body {
  border-color: rgba(214, 176, 74, 0.28);
  background:
    linear-gradient(135deg, rgba(30, 24, 18, 0.95), rgba(15, 13, 10, 0.94)),
    rgba(18, 16, 13, 0.92);
  color: #f5e7c9;
  line-height: 1.58;
}

.user-message .message-body {
  background: linear-gradient(135deg, rgba(180, 79, 43, 0.94), rgba(143, 60, 32, 0.94));
  color: #fff8f0;
}

.assistant-message.typing .arthur-commentary-bubble {
  border-style: dashed;
}

.typing-lead {
  margin: 0;
}

@keyframes typingPulse {
  0%,
  80%,
  100% {
    transform: translateY(0);
    opacity: 0.35;
  }
  40% {
    transform: translateY(-3px);
    opacity: 1;
  }
}

.arthur-typing-dots {
  display: inline-flex;
  gap: 7px;
  margin-top: 8px;
}

.arthur-typing-dots span {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--hero-accent);
  animation: typingPulse 1.15s ease-in-out infinite;
}

.arthur-typing-dots span:nth-child(2) {
  animation-delay: 0.14s;
}

.arthur-typing-dots span:nth-child(3) {
  animation-delay: 0.28s;
}

.arthur-commentary {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  width: min(100%, 840px);
  animation: fadeRise 320ms ease-out;
}

.arthur-commentary-host {
  width: 100%;
}

.arthur-commentary-host.own-row,
.arthur-commentary.own-row {
  width: 100%;
  max-width: none;
}

.arthur-commentary.compact {
  grid-template-columns: 52px minmax(0, 1fr);
}

.arthur-commentary-host.closing {
  animation: fadeRise 180ms ease-in reverse forwards;
}

.arthur-commentary-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 2px;
}

.arthur-commentary-bubble {
  position: relative;
  border-radius: 22px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(255, 248, 239, 0.98), rgba(246, 232, 214, 0.9));
  box-shadow: 0 14px 32px rgba(67, 41, 20, 0.1);
}

.arthur-commentary-bubble::before {
  content: "";
  position: absolute;
  left: -10px;
  top: 18px;
  width: 18px;
  height: 18px;
  border-left: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(252, 244, 233, 0.98);
  transform: rotate(45deg);
}

.arthur-commentary-title {
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.78rem;
  color: var(--hero-accent);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.arthur-commentary-meta {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.8rem;
}

.arthur-commentary-content {
  margin-top: 8px;
}

.arthur-commentary-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}

.arthur-commentary-dismiss {
  min-width: 96px;
}

.arthur-choice-comment {
  margin-top: 10px;
  font-weight: 500;
}

.composer {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

#mode-chat .chat-panel {
  display: flex;
  flex-direction: column;
  min-height: clamp(600px, 72vh, 900px);
}

@media (min-width: 761px) {
  #mode-chat .composer {
    margin-top: 30px;
  }
}

textarea,
select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
  font: inherit;
  color: var(--ink);
  background: var(--surface-strong);
}

textarea {
  resize: vertical;
}

button {
  border: 0;
  border-radius: 999px;
  padding: 12px 18px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  color: #fff9f2;
  background: var(--accent);
  touch-action: manipulation;
  transition: transform 140ms ease, box-shadow 140ms ease, background 140ms ease, border-color 140ms ease;
}

button:hover:not(:disabled) {
  transform: translateY(-1px);
}

button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

button:focus-visible,
.mode-tab:focus-visible,
.module-card:focus-visible,
.scenario-choice-button:focus-visible,
.prompt-chip:focus-visible,
.reply-chip:focus-visible {
  outline: 2px solid rgba(180, 79, 43, 0.45);
  outline-offset: 2px;
}

button.ghost,
.prompt-chip,
.reply-chip {
  color: var(--ink);
  background: transparent;
  border: 1px solid var(--line);
}

.pill,
.usage-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 7px 12px;
  background: #201a17;
  color: #fff3e5;
  font-size: 0.78rem;
}

.pill.subtle,
.usage-pill {
  background: var(--bg-strong);
  color: var(--ink);
}

#module-pill:empty {
  display: none;
}

#scenario-status:empty {
  display: none !important;
}

.adaptive-box,
.scenario-summary-card,
.scenario-card,
.module-card,
.daily-card,
.identity-card,
.profile-hero-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 16px;
  background:
    linear-gradient(140deg, rgba(30, 24, 18, 0.9), rgba(16, 14, 12, 0.88)),
    rgba(18, 16, 13, 0.86);
  color: #f3ead4;
}

.profile-hero-card {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin: 12px 0 14px;
}

.profile-archetype-image {
  width: 116px;
  height: 116px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid rgba(214, 176, 74, 0.34);
  background: #101010;
}

.profile-hero-copy {
  display: grid;
  gap: 6px;
}

.proposal-link-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  min-height: 44px;
  padding: 10px 16px;
}

.state-core-grid {
  display: grid;
  gap: 12px;
}

.state-diagnostics {
  margin-top: 12px;
  border: 1px dashed rgba(214, 176, 74, 0.22);
  border-radius: 14px;
  padding: 10px 12px;
  background: rgba(22, 18, 14, 0.82);
}

.state-diagnostics summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--hero-accent);
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
}

.diagnostics-stack {
  margin-top: 10px;
  display: grid;
  gap: 12px;
}

.character-gallery {
  margin-top: 14px;
  border: 1px solid rgba(214, 176, 74, 0.22);
  border-radius: 16px;
  padding: 12px;
  background: rgba(20, 16, 13, 0.82);
}

.character-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.character-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 10px;
  display: grid;
  gap: 8px;
  align-content: start;
  background:
    linear-gradient(140deg, rgba(29, 23, 18, 0.9), rgba(15, 13, 10, 0.88)),
    rgba(18, 16, 13, 0.86);
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.character-card strong {
  color: var(--hero-accent);
}

.character-portrait {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid rgba(214, 176, 74, 0.24);
  background: #111;
}

.character-card:hover {
  transform: translateY(-2px);
  border-color: rgba(214, 176, 74, 0.36);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.22);
}

.character-card:focus-within {
  outline: 2px solid rgba(214, 176, 74, 0.45);
  outline-offset: 2px;
}

.character-card.alpha .character-portrait {
  box-shadow: 0 10px 22px rgba(214, 176, 74, 0.18);
}

.character-card.mass .character-portrait {
  box-shadow: 0 10px 22px rgba(171, 147, 114, 0.14);
}

.character-card.shameless .character-portrait {
  box-shadow: 0 10px 22px rgba(208, 106, 43, 0.16);
}

body.sales-mode .adaptive-box,
body.sales-mode .scenario-summary-card,
body.sales-mode .scenario-card,
body.sales-mode .module-card,
body.sales-mode .daily-card,
body.sales-mode .identity-card,
body.sales-mode .mission-category-card,
body.sales-mode .daily-summary-card {
  border-color: rgba(214, 176, 74, 0.24);
  background:
    linear-gradient(140deg, rgba(30, 24, 18, 0.9), rgba(16, 14, 12, 0.88)),
    rgba(18, 16, 13, 0.86);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.32);
}

body.sales-mode .state-diagnostics {
  border-color: rgba(214, 176, 74, 0.26);
  background: rgba(22, 18, 14, 0.82);
}

body.sales-mode .character-gallery,
body.sales-mode .character-card {
  border-color: rgba(214, 176, 74, 0.26);
  background:
    linear-gradient(140deg, rgba(29, 23, 18, 0.9), rgba(15, 13, 10, 0.88)),
    rgba(18, 16, 13, 0.86);
}

body.sales-mode .character-card strong {
  color: #f0d9a8;
}

body.sales-mode .adaptive-box strong,
body.sales-mode .scenario-summary-card strong,
body.sales-mode .module-card strong,
body.sales-mode .daily-card strong,
body.sales-mode .mission-category-card strong,
body.sales-mode .daily-summary-card strong {
  color: #f0d9a8;
}

.module-card,
.scenario-card,
.daily-card,
.identity-card {
  box-shadow: var(--shadow-soft);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.module-card {
  cursor: pointer;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.module-card:hover,
.launcher-card:hover,
.scenario-card:hover,
.daily-card:hover,
.mission-category-card:hover,
.module-card.selected,
.identity-card.selected {
  transform: translateY(-2px);
  border-color: rgba(180, 79, 43, 0.45);
}

.mission-category-card.completed {
  border-color: rgba(123, 123, 123, 0.34) !important;
  opacity: 0.78;
}

.mission-category-button.is-completed {
  cursor: pointer !important;
  color: #8c8c8c !important;
  border-color: rgba(122, 122, 122, 0.56) !important;
  background: #111 !important;
  box-shadow: none !important;
}

.mission-category-button:disabled {
  cursor: not-allowed !important;
  color: #8c8c8c !important;
  border-color: rgba(122, 122, 122, 0.56) !important;
  background: #111 !important;
  box-shadow: none !important;
}

.launcher-card-primary:hover {
  transform: translateY(-3px);
}

.module-top {
  align-items: flex-start;
}

.module-meta,
.message-meta {
  color: var(--muted);
  font-size: 0.8rem;
}

.scenario-choice-preview {
  display: grid;
  gap: 8px;
  margin: 14px 0;
}

.scenario-feature,
.daily-feature,
.scenario-feature-card {
  border: 1px solid var(--line);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(19, 16, 13, 0.94), rgba(11, 10, 8, 0.92)),
    rgba(14, 12, 10, 0.9);
}

body.sales-mode .scenario-feature,
body.sales-mode .daily-feature {
  border-color: rgba(214, 176, 74, 0.34);
  background:
    linear-gradient(135deg, rgba(19, 16, 13, 0.94), rgba(11, 10, 8, 0.92)),
    rgba(14, 12, 10, 0.9);
}

.scenario-feature,
.daily-feature {
  min-height: 460px;
  padding: 16px 16px 28px;
}

body[data-active-mode="scenarios"] .daily-feature {
  min-height: 390px;
}

body[data-active-mode="scenarios"] .daily-feature-card {
  padding-bottom: 26px;
}

.scenario-feature-card,
.daily-feature-card {
  padding: 24px 24px 40px;
  min-height: 0;
  box-shadow: var(--shadow-strong);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

body.sales-mode .scenario-feature-card,
body.sales-mode .daily-feature-card {
  border-color: rgba(214, 176, 74, 0.3);
  background:
    linear-gradient(140deg, rgba(34, 27, 20, 0.96), rgba(18, 14, 11, 0.94)),
    rgba(20, 16, 12, 0.92);
}

.scenario-feature-grid,
.daily-feature-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 18px;
  margin: 18px 0;
}

.scenario-feature-actions,
.scenario-journey {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.scenario-phase-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.daily-phase-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
}

.daily-guidance-level-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 0;
}

.daily-guidance-level-button {
  min-height: 36px;
  padding: 6px 12px;
  font-size: 0.82rem;
}

.daily-guidance-level-button.selected {
  color: #fff9f2;
  border-color: transparent;
  background: linear-gradient(135deg, var(--accent), #8d3d21);
}

.scenario-lead {
  font-size: 1.05rem;
  line-height: 1.55;
}

.launcher-copy {
  margin-top: 8px;
}

.daily-feature-lead {
  font-size: 1.02rem;
  line-height: 1.55;
}

.daily-feature-meta-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.daily-feature-meta-row .daily-feature-lead,
.daily-feature-meta-row .daily-storage-copy {
  margin: 0;
}

.daily-storage-copy {
  flex: 0 1 42%;
  text-align: right;
}

.daily-storage-copy-subtle {
  margin-top: 2px;
  opacity: 0.72;
  font-size: 0.82rem;
}

.daily-save-progress-button {
  white-space: nowrap;
  padding: 8px 12px;
}

.scenario-choice-stack {
  align-items: stretch;
}

.scenario-choice-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-start;
  text-align: left;
  color: #ffcc7a;
  background: rgba(14, 12, 10, 0.96);
  border: 1px solid rgba(255, 138, 0, 0.42);
}

.shortcut-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(141, 61, 33, 0.2);
  background: rgba(180, 79, 43, 0.08);
  color: var(--hero-accent);
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.82rem;
  font-weight: 700;
  flex: 0 0 auto;
}

.scenario-choice-button.selected,
.active-phase {
  color: #fff8f0;
  background: linear-gradient(135deg, var(--accent), #8d3d21);
  border-color: transparent;
}

.scenario-choice-button.selected .shortcut-badge,
.mission-category-button .shortcut-badge {
  border-color: rgba(255, 247, 239, 0.24);
}

.scenario-choice-button.selected .shortcut-badge {
  background: rgba(255, 247, 239, 0.16);
  color: #fff8f0;
}

.choice-pill {
  display: inline-flex;
  border-radius: 14px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  background: rgba(14, 12, 10, 0.96);
}

.scenario-action-row {
  display: flex;
  justify-content: flex-end;
  margin-top: 14px;
}

.daily-action-row,
.daily-history-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.daily-action-row {
  margin-top: 14px;
  flex-wrap: wrap;
}

.daily-next-day-row {
  justify-content: flex-start;
}

.daily-next-day-button {
  white-space: nowrap;
}

.daily-action-help {
  margin: 6px 0 0;
  font-size: 0.9rem;
  line-height: 1.4;
}

.daily-progress-snapshot {
  margin: 8px 0 0;
  font-size: 0.86rem;
  line-height: 1.35;
  opacity: 0.82;
}

.mission-choice-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.mission-choice-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 156px;
  text-align: center;
  padding: 16px 16px 18px;
  overflow: visible;
}

.mission-choice-head {
  display: block;
  width: 100%;
  min-width: 0;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-weight: 800;
  font-size: 1.02rem;
  letter-spacing: 0.04em;
  color: #ffb347;
  margin: 0;
  line-height: 1;
  text-align: center;
}

.mission-choice-copy {
  color: #ff9b1a;
  font-size: 1.04rem;
  line-height: 1.42;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.mission-choice-card.mission-choice-card-finance {
  justify-content: center;
  align-items: center;
  text-align: center;
}

.mission-choice-card.mission-choice-card-finance .mission-choice-copy {
  text-align: center;
  line-height: 1.2;
  font-size: 1.16rem;
}

.mission-finance-followup-row {
  margin-top: 6px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mission-finance-followup-button.selected {
  color: #fff8f0;
  background: linear-gradient(135deg, var(--accent), #8d3d21) !important;
  border-color: transparent !important;
}

.mission-analysis-page {
  display: grid;
  gap: 16px;
}

.mission-analysis-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.mission-analysis-card {
  border: 1px solid rgba(255, 138, 0, 0.48);
  border-radius: 18px;
  padding: 14px;
  background: #000;
  display: grid;
  gap: 8px;
  align-content: start;
}

.mission-analysis-avatar {
  width: 74px;
  height: 74px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid rgba(255, 138, 0, 0.46);
  background: #090909;
}

.mission-analysis-avatar-lucid {
  object-fit: contain;
  object-position: center top;
  padding: 2px;
}

.mission-analysis-card strong {
  font-size: 1.08rem;
  color: #ffb347;
}

.mission-analysis-card p {
  margin: 0;
  color: #ff9b1a;
  line-height: 1.42;
}

.mission-analysis-actions {
  justify-content: space-between;
  margin-top: 4px;
}

.daily-choice-accept-next-button {
  color: #fff9f2;
  border: 1px solid transparent;
  background: linear-gradient(135deg, var(--accent), #8d3d21);
  box-shadow: 0 10px 22px rgba(141, 61, 33, 0.2);
}

.daily-choice-accept-next-button:hover:not(:disabled) {
  background: linear-gradient(135deg, #c35a31, #7b341c);
}

@media (max-width: 980px) {
  .mission-analysis-grid {
    grid-template-columns: 1fr;
  }
}

.daily-action-row button:not(:first-child),
.scenario-action-row button:not(:first-child),
.scenario-feature-actions button:not(:first-child),
.button-row.tight-priority button:not(:first-child) {
  color: var(--ink);
  background: transparent;
  border: 1px solid var(--line);
  box-shadow: none;
}

/* Keep "Next question" CTA styled as primary even when it is not the first button in a row. */
.daily-action-row .daily-choice-accept-next-button,
.mission-analysis-actions .daily-choice-accept-next-button {
  color: #fff9f2 !important;
  border: 1px solid transparent !important;
  background: linear-gradient(135deg, var(--accent), #8d3d21) !important;
  box-shadow: 0 10px 22px rgba(141, 61, 33, 0.2) !important;
}

.daily-history-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.scenario-use-button,
.daily-chat-button {
  background: linear-gradient(135deg, var(--accent), #8d3d21);
}

.daily-chat-button.bridge-armed,
.daily-feature-chat-button.bridge-armed {
  color: #fff8f0;
  border-color: transparent;
  background: linear-gradient(135deg, #8d3d21, #6f2f18);
  box-shadow: 0 12px 24px rgba(141, 61, 33, 0.18);
}

.scenario-decision-box,
.scenario-bridge-box {
  margin-top: 14px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: rgba(14, 12, 10, 0.94);
}

.mission-overlay {
  position: relative;
  margin-top: 12px;
  z-index: 3;
}

.mission-overlay-card {
  border-color: rgba(255, 138, 0, 0.62) !important;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.38);
  max-width: 920px;
  margin-inline: auto;
}

.mission-overlay-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.mission-overlay-avatar {
  width: 58px;
  height: 86px;
  border-radius: 10px;
}

.mission-overlay-avatar-frame {
  width: 72px;
  min-width: 72px;
  height: 102px;
}

.mission-overlay-title {
  display: block;
  color: #ffb347;
  font-size: 1.04rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.mission-overlay-subtitle {
  margin: 4px 0 0;
  color: #ffb347;
}

.mission-overlay-line {
  margin: 7px 0 0;
  color: #ff9b1a;
}

.mission-overlay-main {
  padding-top: 8px;
  border-top: 1px dashed rgba(255, 138, 0, 0.35);
}

.mission-analysis-row {
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 138, 0, 0.38);
  border-radius: 14px;
  background: rgba(8, 8, 8, 0.92);
}

.mission-hit-mark {
  color: #57d47f;
  font-weight: 700;
}

#mode-daily .daily-summary-grid,
#mode-daily #daily-tasks {
  display: none !important;
}

#mode-scenarios .scenario-layout {
  grid-template-columns: minmax(0, 1fr);
}

#mode-scenarios .module-panel,
#mode-scenarios .scenario-summary-strip,
#mode-scenarios .castle-ribbon,
#mode-scenarios .scenario-panel > .panel-header {
  display: none !important;
}

.daily-tasks-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.daily-tasks-checklist .daily-check-item {
  min-height: 232px;
  padding: 20px 20px 18px;
  border-radius: 20px;
  border: 1px solid rgba(255, 138, 0, 0.42);
}

.daily-tasks-checklist .daily-check-item .daily-top strong {
  font-size: 1.2rem;
  line-height: 1.25;
}

.daily-howto {
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px dashed rgba(255, 138, 0, 0.36);
  background: rgba(18, 14, 10, 0.7);
}

.daily-primary-copy {
  margin-top: 8px;
  line-height: 1.5;
}

.daily-inline-expand-button {
  margin-top: 6px;
  align-self: flex-start;
  border: 1px solid rgba(255, 138, 0, 0.4);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.35);
  color: #ffb347;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 4px 8px;
}

.daily-quick-summary-row {
  margin-top: 8px;
}

.daily-quick-summary {
  font-size: 0.82rem;
  letter-spacing: 0.01em;
  border-color: rgba(255, 138, 0, 0.46);
}

.daily-common-mistakes {
  border-top: 1px dashed rgba(255, 138, 0, 0.24);
  padding-top: 8px;
}

.daily-howto strong {
  display: block;
  margin-bottom: 4px;
  font-size: 0.82rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #ffb347;
}

.daily-howto p {
  margin: 0;
}

.daily-done-when {
  margin-top: 8px !important;
  font-size: 0.9rem;
  line-height: 1.45;
}

@media (max-width: 760px) {
  .daily-tasks-checklist .daily-check-item {
    padding: 14px 12px 12px;
    min-height: 0;
  }

  .daily-tasks-checklist {
    gap: 10px;
  }

  .daily-howto {
    padding: 8px 9px;
  }

  .daily-primary-copy,
  .daily-done-when {
    font-size: 0.86rem;
    line-height: 1.42;
  }

  .daily-quick-summary {
    font-size: 0.78rem;
  }

  .daily-guidance-level-button {
    min-height: 34px;
    padding: 5px 10px;
    font-size: 0.76rem;
  }

  .daily-inline-expand-button {
    font-size: 0.74rem;
    padding: 3px 7px;
  }
}

.scenario-bridge-box p {
  margin: 6px 0 0;
  line-height: 1.5;
}

.mission-advanced {
  margin-top: 12px;
  border: 1px dashed rgba(214, 176, 74, 0.26);
  border-radius: 14px;
  padding: 10px 12px;
  background: rgba(255, 248, 239, 0.78);
}

.mission-advanced summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--hero-accent);
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
}

body.sales-mode .mission-advanced {
  border-color: rgba(214, 176, 74, 0.3);
  background: rgba(24, 20, 16, 0.86);
}

.missions-sales-surface {
  border-radius: 14px;
}

body.sales-mode .missions-sales-surface {
  padding: 10px 12px;
  border: 1px solid rgba(214, 176, 74, 0.2);
  background: linear-gradient(140deg, rgba(30, 24, 18, 0.86), rgba(16, 13, 10, 0.86));
}

.missions-sales-tagline {
  margin: 0 0 10px;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #f2d19a;
}

.launcher-menu-grid {
  display: grid;
  gap: 10px;
}

.launcher-menu-grid-web {
  grid-template-columns: 1fr;
}

.launcher-menu-grid-sales {
  grid-template-columns: 1fr;
}

.launcher-menu-button-primary {
  font-size: 1.16rem;
  min-height: 62px;
}

.launcher-menu-button-primary-home {
  min-height: 76px;
  font-size: 1.36rem;
  font-weight: 800;
}

.launcher-menu-button-secondary-home {
  min-height: 50px;
  font-size: 1.08rem;
  font-weight: 700;
}

.launcher-menu-button-sales-primary {
  min-height: 58px;
  font-weight: 800;
}

.launcher-sales-secondary {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.launcher-web-secondary {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body[data-active-mode="home"] #hero-home-open,
body[data-active-mode="home"] #hero-missions-back {
  display: none;
}

body[data-active-mode="home"] .hero-quick-actions {
  justify-content: flex-end;
}

.launcher-freeware-note {
  margin: 10px 0 0;
  font-size: 0.84rem;
  color: rgba(227, 186, 131, 0.88);
}

.launcher-sales-note {
  margin: 10px 0 0;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(214, 176, 74, 0.28);
  background: linear-gradient(140deg, rgba(34, 28, 22, 0.9), rgba(20, 16, 12, 0.86));
}

.launcher-sales-note p {
  margin: 6px 0 0;
}

.daily-feature-card-web {
  border: 0;
}

@media (min-width: 761px) {
  body[data-active-mode="daily"] #mode-daily .daily-feature,
  body[data-active-mode="daily"] #mode-daily .daily-feature-card-web,
  body[data-active-mode="scenarios"] #mode-scenarios .daily-feature,
  body[data-active-mode="scenarios"] #mode-scenarios .daily-feature-card-web {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
}

body:not(.home-launcher-only)[data-active-mode="scenarios"] #mode-scenarios .scenario-stage {
  border: 0 !important;
  box-shadow: none !important;
}

body:not(.home-launcher-only)[data-active-mode="scenarios"] #mode-scenarios .scenario-stage::before,
body:not(.home-launcher-only)[data-active-mode="scenarios"] #mode-scenarios .scenario-stage::after {
  display: none !important;
}

body:not(.home-launcher-only)[data-active-mode="scenarios"] #mode-scenarios .daily-feature {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  min-height: 0;
  padding: 6px 0 8px;
}

body:not(.home-launcher-only)[data-active-mode="scenarios"] #mode-scenarios .daily-feature-card-web {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 14px 0 6px !important;
  min-height: 340px;
  display: flex;
  flex-direction: column;
}

.daily-feature-ad-grid {
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: auto;
}

.daily-feature-ad-card {
  border: 1px dashed rgba(255, 138, 0, 0.32);
  border-radius: 12px;
  padding: 10px;
  background: rgba(0, 0, 0, 0.65);
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 132px;
}

.daily-feature-ad-card strong {
  color: #ffb347;
  font-size: 0.86rem;
}

.daily-feature-adsense {
  width: 100%;
  min-height: 84px;
  border: 1px dashed rgba(255, 138, 0, 0.26);
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.58);
  flex: 1 1 auto;
}

.daily-feature-card-sales {
  border: 1px solid rgba(214, 176, 74, 0.36);
  background: linear-gradient(145deg, rgba(29, 24, 18, 0.94), rgba(14, 11, 9, 0.9));
}

.scenario-card-sales {
  border: 1px dashed rgba(214, 176, 74, 0.32);
  background: linear-gradient(150deg, rgba(27, 22, 17, 0.9), rgba(15, 12, 9, 0.88));
}

.message-sales .arthur-commentary-bubble {
  border-color: rgba(214, 176, 74, 0.32);
  background: linear-gradient(150deg, rgba(27, 22, 18, 0.9), rgba(16, 13, 10, 0.9));
}

.sales-chat-tagline {
  margin: 0 0 6px;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #f2d19a;
}

body.sales-mode .mission-category-card-sales {
  border-color: rgba(214, 176, 74, 0.36);
  background: linear-gradient(150deg, rgba(31, 24, 19, 0.95), rgba(14, 11, 9, 0.94));
}

.mission-category-sales-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.mission-category-button-sales {
  justify-content: center;
}

.mission-category-button-primary {
  width: 100%;
  min-height: 58px;
  font-size: 1.12rem;
  font-weight: 800;
}

.mission-category-button-hero {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 82px;
  font-size: clamp(1.42rem, 2.2vw, 2rem);
  font-weight: 900;
  letter-spacing: 0.02em;
  padding: 10px 16px;
}

.mission-category-card-primary strong {
  font-size: 2rem;
  line-height: 1.06;
}

body.sales-mode .mission-choice-grid-sales {
  gap: 10px;
}

body.sales-mode .missions-sales-result .choice-list {
  margin-top: 10px;
}

body.sales-mode .missions-sales-insight p {
  margin: 6px 0 0;
}

.scenario-next-ready-box {
  margin-top: 14px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(180, 79, 43, 0.28);
  background:
    linear-gradient(135deg, rgba(255, 248, 239, 0.98), rgba(232, 177, 139, 0.18)),
    rgba(255, 248, 239, 0.94);
  box-shadow: 0 12px 26px rgba(67, 41, 20, 0.08);
}

.scenario-next-ready-box strong {
  display: inline-block;
  margin-bottom: 6px;
}

.mission-next-ready-box {
  margin-top: 14px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(37, 84, 55, 0.24);
  background:
    linear-gradient(135deg, rgba(255, 248, 239, 0.98), rgba(84, 131, 102, 0.12)),
    rgba(255, 248, 239, 0.94);
  box-shadow: 0 12px 26px rgba(67, 41, 20, 0.08);
}

.mission-next-ready-box strong {
  display: inline-block;
  margin-bottom: 6px;
}

.scenario-card.selected {
  border-color: rgba(180, 79, 43, 0.45);
  transform: translateY(-2px);
}

.daily-status-button {
  background: linear-gradient(135deg, var(--success), #255437);
}

.daily-summary-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 16px;
  background: rgba(255, 248, 239, 0.86);
  min-height: 132px;
  display: grid;
  align-content: start;
  gap: 8px;
}

.mission-waiting-page {
  min-height: 56vh;
  display: grid;
  align-content: center;
  gap: 18px;
  text-align: left;
  overflow: hidden;
}

.mission-waiting-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
}

.mission-waiting-copy {
  min-width: 0;
}

.mission-waiting-actions {
  justify-content: flex-start;
  align-items: center;
  gap: 6px;
}

.mission-waiting-actions .mission-home-large-button {
  min-width: 164px;
  color: var(--ink);
  background: transparent;
  border: 1px solid var(--line);
  box-shadow: none;
}

.mission-waiting-logo-wrap {
  justify-self: end;
  width: min(518px, 53vw);
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  transform: translateX(-40px);
}

.mission-waiting-logo {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  border: 0;
  box-shadow: none;
  max-height: min(504px, 65vh);
}

body.missions-waiting-stage #mode-daily .daily-panel {
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.missions-waiting-stage #mode-daily .daily-panel::before {
  display: none;
}

body.missions-waiting-stage #mode-daily .daily-feature {
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

body.missions-waiting-stage #mode-daily .mission-waiting-page {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.mission-category-ad-slot,
.mission-category-info-slot {
  min-height: 72px;
  display: flex;
  align-items: flex-start;
  justify-items: stretch;
  padding: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
}

.mission-trend-card {
  width: 100%;
  display: grid;
  gap: 8px;
  margin-bottom: 8px;
  padding: 0 0 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.mission-trend-card strong {
  color: #ffb347;
  font-size: 0.96rem;
}

.mission-trend-card p {
  margin: 0;
}

.mission-fast-timer-pill {
  min-width: 48px;
  justify-content: center;
  border: 1px solid rgba(255, 138, 0, 0.42);
  color: #ffbf63;
  font-weight: 800;
}

.mission-review-toggle,
.mission-fast-toggle {
  min-height: 40px;
}

.mission-review-toggle.selected,
.mission-fast-toggle.selected {
  border-color: rgba(255, 138, 0, 0.74);
  background: rgba(255, 138, 0, 0.14);
  color: #ffd08a;
}

.mission-category-ad-grid,
.mission-category-info-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

#mode-daily .mission-chooser-panel {
  border: 0 !important;
  box-shadow: none !important;
}

#mode-daily .mission-chooser-panel::before,
#mode-daily .mission-chooser-panel::after {
  display: none !important;
}

.mission-category-ad-card,
.mission-category-info-card {
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 6px;
  box-shadow: none;
  min-height: 0;
}

.mission-category-ad-card strong,
.mission-category-info-card strong {
  color: #ffb347;
  font-size: 0.92rem;
}

.mission-category-adsense {
  width: 100%;
  min-height: 96px !important;
  height: 96px !important;
  border: 1px dashed rgba(255, 138, 0, 0.34);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.65);
  display: block;
  flex: 1 1 auto;
}

.profile-notes-ad-slot {
  margin-top: 10%;
  padding: 10px;
  border: 1px solid rgba(68, 200, 255, 0.9);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.45);
  display: grid;
  gap: 8px;
}

.profile-notes-ad-slot strong {
  color: #ffb347;
  font-size: 0.92rem;
}

.profile-notes-ad-frame {
  width: 100%;
  min-height: 280px;
  border: 1px solid rgba(68, 200, 255, 0.9);
  border-radius: 8px;
  padding: 6px;
  background: rgba(0, 0, 0, 0.6);
}

.profile-notes-adsense {
  width: 100%;
  min-height: 260px;
  height: 260px;
  border: 1px dashed rgba(255, 138, 0, 0.42);
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.65);
}

@media (min-width: 761px) {
  #mode-profile .side-column > .panel {
    min-height: calc(100vh - 210px);
    display: flex;
    flex-direction: column;
  }

  #mode-profile .profile-notes-ad-slot {
    margin-top: auto;
    margin-bottom: 1%;
  }
}

body:not(.home-launcher-only)[data-active-mode="profile"] .app-shell {
  padding-bottom: 0 !important;
}

body:not(.missions-task-active)[data-active-mode="daily"] .daily-feature {
  min-height: 96px;
  padding: 6px 12px 8px;
  border: 0;
  box-shadow: none;
  background: transparent;
}

body:not(.missions-task-active)[data-active-mode="daily"] .daily-panel {
  padding-bottom: 8px;
}

body:not(.home-launcher-only):not(.missions-task-active)[data-active-mode="daily"] .app-shell {
  padding-bottom: 22px;
}

body.missions-task-active[data-active-mode="daily"] .daily-feature {
  border: 0;
  box-shadow: none;
  background: transparent;
  padding: 0;
}

body.missions-task-active[data-active-mode="daily"] .daily-feature-card {
  border: 0;
  box-shadow: none;
  background: transparent;
  padding-top: 6px;
}

body.missions-task-active[data-active-mode="daily"] .daily-feature .daily-top {
  margin-top: -18px;
  margin-bottom: 4px;
}

body.missions-task-active[data-active-mode="daily"] .daily-feature .daily-top strong {
  font-size: 0.92rem;
  line-height: 1.2;
}

body:not(.home-launcher-only)[data-active-mode="daily"] #mode-daily > .daily-panel {
  border: 0;
  box-shadow: none;
}

body:not(.home-launcher-only)[data-active-mode="daily"] #mode-daily > .daily-panel::before,
body:not(.home-launcher-only)[data-active-mode="daily"] #mode-daily > .daily-panel::after {
  display: none;
}

body:not(.home-launcher-only)[data-active-mode="chat"] #mode-chat .panel,
body:not(.home-launcher-only)[data-active-mode="settings"] #mode-settings .panel,
body:not(.home-launcher-only)[data-active-mode="profile"] #mode-profile .panel {
  border: 0;
  box-shadow: none;
}

body:not(.home-launcher-only)[data-active-mode="chat"] #mode-chat .panel::before,
body:not(.home-launcher-only)[data-active-mode="chat"] #mode-chat .panel::after,
body:not(.home-launcher-only)[data-active-mode="settings"] #mode-settings .panel::before,
body:not(.home-launcher-only)[data-active-mode="settings"] #mode-settings .panel::after,
body:not(.home-launcher-only)[data-active-mode="profile"] #mode-profile .panel::before,
body:not(.home-launcher-only)[data-active-mode="profile"] #mode-profile .panel::after {
  display: none;
}

body:not(.home-launcher-only)[data-active-mode="profile"] #hero-profile-open {
  display: none !important;
}

@media (max-width: 960px) {
  .mission-waiting-layout {
    grid-template-columns: 1fr;
  }

  .mission-waiting-logo-wrap {
    justify-self: start;
    width: min(260px, 64vw);
    transform: translateX(0);
  }
}

@media (max-width: 760px) {
  :root {
    --mobile-shell-max: 420px;
    --mobile-shell-gutter: max(3vw, 10px);
    --mobile-bottom-safe: 5vh;
  }

  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    overscroll-behavior-x: none;
  }

  body {
    display: block;
    touch-action: pan-y;
  }

  .app-shell,
  .landing-shell {
    width: min(
      var(--mobile-shell-max),
      calc(100vw - (var(--mobile-shell-gutter) * 2))
    ) !important;
    max-width: min(
      var(--mobile-shell-max),
      calc(100vw - (var(--mobile-shell-gutter) * 2))
    ) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #mode-scenarios > .panel,
  #mode-daily > .daily-panel,
  #mode-chat > .panel,
  #mode-settings > .panel,
  #mode-profile > .panel,
  .mission-chooser-panel,
  .daily-feature-card,
  .mission-category-card,
  .mission-subcategory-panel {
    max-width: 100%;
    overflow-x: clip;
  }

  body:not(.home-launcher-only) #mode-daily .daily-panel,
  body:not(.home-launcher-only) .mission-chooser-panel,
  body:not(.home-launcher-only) .mission-category-card,
  body:not(.home-launcher-only) .mission-subcategory-panel,
  body:not(.home-launcher-only) .daily-feature-card {
    position: relative;
    overflow: hidden;
  }

  body:not(.home-launcher-only) #mode-daily .daily-panel::after,
  body:not(.home-launcher-only) .mission-chooser-panel::after,
  body:not(.home-launcher-only) .mission-category-card::after,
  body:not(.home-launcher-only) .mission-subcategory-panel::after,
  body:not(.home-launcher-only) .daily-feature-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    box-shadow:
      inset 0 0 0 1px rgba(255, 139, 38, 0.36),
      inset 0 0 18px rgba(251, 120, 20, 0.22);
  }

  body:not(.home-launcher-only)::before {
    content: "";
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    height: min(28vh, 180px);
    pointer-events: none;
    z-index: 5;
    background:
      radial-gradient(62% 78% at 50% 100%, rgba(255, 138, 40, 0.32), rgba(255, 138, 40, 0.04) 64%, transparent 86%),
      linear-gradient(to top, rgba(255, 120, 18, 0.22), rgba(255, 120, 18, 0.08) 42%, transparent 86%);
    filter: blur(0.2px) saturate(1.1);
  }

  .mission-category-lane-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .mission-subcategory-lane {
    position: static;
    top: auto;
  }

  .mission-subcategory-panel {
    border-radius: 16px;
    padding: 10px;
  }

  .mission-subcategory-list {
    display: grid;
    grid-template-columns: 1fr;
    overflow-x: hidden;
    overflow-y: visible;
    gap: 8px;
    max-height: none;
    padding-bottom: 4px;
  }

  .mission-subcategory-button {
    min-height: 54px;
    border-radius: 12px;
    padding: 9px 10px;
  }

  .mission-subcategory-button span {
    font-size: 0.93rem;
  }

  .mission-subcategory-button small {
    font-size: 0.72rem;
  }

  .fire-edge {
    width: 34px;
    opacity: 0.86;
    filter: blur(4px) saturate(1.22);
    box-shadow:
      inset -8px 0 28px rgba(255, 146, 44, 0.52),
      0 0 22px rgba(255, 118, 22, 0.38);
  }

  .fire-edge::before {
    opacity: 0.9;
  }

  .fire-edge-bridge {
    left: 6px;
    right: 6px;
    bottom: -1px;
    height: 44px;
    opacity: 0.8;
    filter: blur(3px) saturate(1.18);
    border-radius: 0 0 22px 22px;
  }

  body.missions-task-active[data-active-mode="daily"] .fire-edge {
    width: 42px;
    opacity: 0.94;
    filter: blur(4px) saturate(1.3);
  }

  body.missions-task-active[data-active-mode="daily"] .fire-edge-bridge {
    left: 4px;
    right: 4px;
    bottom: -1px;
    height: 56px;
    opacity: 0.88;
    filter: blur(3px) saturate(1.24);
  }

  .app-shell {
    width: min(
      var(--mobile-shell-max),
      calc(100vw - (var(--mobile-shell-gutter) * 2))
    ) !important;
    padding: calc(18px + env(safe-area-inset-top)) 0 28px;
  }

  .landing-shell {
    width: min(
      var(--mobile-shell-max),
      calc(100vw - (var(--mobile-shell-gutter) * 2))
    ) !important;
    padding: 18px 0 6px;
  }

  body.missions-task-active[data-active-mode="daily"] #hero-missions-back,
  body.missions-subcategory-active[data-active-mode="daily"] #hero-missions-back {
    position: sticky;
    top: max(8px, env(safe-area-inset-top));
    z-index: 66;
    min-height: 44px;
    font-size: 1.05rem;
    padding: 10px 14px;
    margin-bottom: 8px;
  }

  .landing-grid,
  .landing-pill-row {
    grid-template-columns: 1fr;
  }

  .landing-copy,
  .landing-side-panel {
    border-radius: 22px;
  }

  .landing-copy {
    padding: 18px;
  }

  .landing-actions {
    width: 100%;
  }

  .hero {
    padding: 6px 0 14px;
  }

  .hero-topline {
    align-items: flex-start;
    flex-direction: column;
  }

  body.home-launcher-only .launcher-topline .hero-quick-actions {
    width: 100%;
    align-items: stretch;
  }

  body.home-launcher-only .launcher-topline-left {
    width: 100%;
  }

  body.home-launcher-only .launcher-home-logo {
    width: min(55vw, 264px);
  }

  .arthur-brand-chip {
    width: 100%;
    justify-content: flex-start;
  }

  .hero-presence {
    grid-template-columns: 1fr;
  }

  .arthur-mark {
    justify-self: start;
    padding: 10px;
  }

  .hero-symbol {
    width: 88px;
    height: 164px;
  }

.music-hud {
    align-items: flex-start;
  }

  .support-slot {
    grid-template-columns: 1fr;
  }

  body:not(.home-launcher-only)[data-active-mode="scenarios"] #mode-scenarios .daily-feature-card-web {
    border: 1px solid rgba(180, 116, 52, 0.22) !important;
    border-radius: 20px;
    padding: 14px 12px 10px !important;
  }

  body.home-launcher-only .home-bottom-ad-shell {
    grid-template-columns: 1fr;
  }

  .music-actions,
  .button-row,
  .header-actions,
  .daily-action-row,
  .scenario-action-row {
    width: 100%;
  }

  .button-row,
  .header-actions,
  .daily-action-row {
    flex-direction: column;
    align-items: stretch;
  }

  .mode-nav {
    overflow-x: hidden;
    flex-wrap: wrap;
  }

  .prompt-strip {
    overflow-x: hidden;
    flex-wrap: wrap;
  }

  .prompt-chip {
    flex: 1 1 100%;
  }

  .daily-feature-meta-row {
    flex-direction: column;
    gap: 8px;
  }

  .daily-storage-copy {
    text-align: left;
  }


  .scenario-action-row {
    justify-content: stretch;
  }

  .button-row button,
  .header-actions button,
  .daily-action-row button,
  .scenario-action-row button,
  .mission-category-button,
  .scenario-choice-button,
  .launcher-action-button,
  .prompt-chip,
  .reply-chip,
  .mode-tab {
    width: 100%;
    min-height: 46px;
  }

  .branch-reply-row {
    grid-template-columns: 1fr;
  }

  .branch-reply-row .reply-chip-exit {
    grid-column: auto;
  }

  .mission-waiting-actions {
    flex-direction: row;
    align-items: center;
    width: auto;
    gap: 8px;
  }

  .mission-waiting-actions .mission-home-large-button {
    width: auto;
    min-width: 146px;
  }

  .arthur-commentary,
  .arthur-commentary.compact {
    grid-template-columns: 1fr;
  }

  .arthur-commentary-mark {
    justify-content: flex-start;
  }

  .arthur-portrait-frame,
  .mission-overlay-avatar-frame {
    width: 58px;
    min-width: 58px;
    height: 86px;
    padding: 4px;
    border-radius: 12px;
  }

  .commentary-symbol,
  .mission-overlay-avatar {
    width: 48px;
    height: 72px;
  }

  .arthur-commentary-bubble::before {
    display: none;
  }

  .onboarding-steps,
  .session-brief-grid,
  .launcher-grid,
  .launcher-web-secondary,
  .launcher-sales-secondary,
  .launcher-secondary-grid,
  .identity-grid,
  .mission-category-secondary-grid,
  .mission-choice-grid,
  .mission-category-sales-list,
  .daily-tasks-checklist {
    grid-template-columns: 1fr;
  }

  .launcher-card-primary {
    width: 100%;
    text-align: left;
  }

  .launcher-card-secondary {
    min-height: unset;
  }

  .launcher-card-primary .launcher-action-button {
    width: 100%;
  }

  .panel,
  .settings-panel,
  .identity-panel,
  .launcher-panel,
  .onboarding-panel,
  .session-brief-panel {
    padding: 16px;
    border-radius: 20px;
  }

  .message-body,
  .arthur-commentary-bubble {
    padding: 14px;
    border-radius: 18px;
  }

  .mode-nav {
    position: sticky;
    top: 8px;
    z-index: 20;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 8px 0 4px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    background: linear-gradient(180deg, rgba(244, 239, 230, 0.96), rgba(244, 239, 230, 0.72));
    border-radius: 16px;
  }

  .mode-nav::-webkit-scrollbar {
    display: none;
  }

  .mode-tab {
    flex: 0 0 auto;
    min-width: 122px;
    text-align: center;
  }

  .mode-tab[data-mode="daily"]::after {
    display: none;
  }

  .prompt-strip {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .prompt-strip::-webkit-scrollbar {
    display: none;
  }

  .prompt-chip {
    flex: 0 0 72%;
  }

  .chat-thread {
    min-height: 260px;
    max-height: none;
    padding-right: 0;
  }

  #mode-chat .chat-panel {
    min-height: auto;
    padding-bottom: 24px;
  }

  #mode-chat .composer {
    margin-top: 28px;
  }

  .composer textarea {
    min-height: 124px;
  }

  #mode-chat .composer textarea {
    min-height: 236px;
    max-height: 58vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .scenario-feature,
  .daily-feature {
    min-height: 0;
    padding: 10px;
  }

  .daily-feature-card {
    display: grid;
    gap: 12px;
  }

  .daily-top {
    gap: 8px;
  }

  .daily-top strong {
    line-height: 1.28;
  }

  .scenario-feature-card,
  .daily-feature-card,
  .daily-card,
  .module-card,
  .identity-card,
  .mission-category-card,
  .daily-summary-card,
  .scenario-summary-card {
    padding: 16px;
  }

  .scenario-feature-grid,
  .daily-feature-grid {
    gap: 14px;
    margin: 14px 0;
  }

  .daily-history-item {
    align-items: flex-start;
    flex-direction: column;
  }

  .toggle-row,
  .settings-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .state-core-grid,
  .diagnostics-stack {
    gap: 14px;
  }

  .character-card {
    padding: 12px;
  }

  .daily-feature-lead {
    font-size: 0.98rem;
    line-height: 1.5;
  }

  .mission-choice-copy {
    font-size: 0.98rem;
    line-height: 1.38;
  }

  .toggle-row input[type="checkbox"] {
    inline-size: 44px;
    block-size: 44px;
    accent-color: #d06a2b;
    margin: 0;
  }
}

@media (min-width: 761px) {
  .support-slot {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

body .music-hud {
  display: none !important;
}

@supports (content-visibility: auto) {
  .module-catalog > *,
  .scenario-browser > *,
  .daily-task-grid > *,
  .daily-tasks-checklist > *,
  .mission-category-secondary-grid > * {
    content-visibility: auto;
    contain-intrinsic-size: 260px;
  }
}

.daily-feature-card.status-done {
  border-color: rgba(47, 107, 69, 0.45);
}

.daily-feature-card.status-skipped {
  border-color: rgba(180, 79, 43, 0.35);
}

.daily-feature-card.status-moved {
  border-color: rgba(28, 27, 24, 0.22);
}

.daily-card.status-done {
  border-color: rgba(47, 107, 69, 0.45);
}

.daily-card.status-skipped {
  border-color: rgba(180, 79, 43, 0.35);
}

.daily-card.status-moved {
  border-color: rgba(28, 27, 24, 0.22);
}

.daily-card.queued-card {
  background: rgba(255, 248, 239, 0.74);
  box-shadow: 0 10px 22px rgba(67, 41, 20, 0.05);
}

.daily-card.logged-card {
  background: rgba(255, 248, 239, 0.62);
  box-shadow: none;
}

.daily-card.next-card {
  border-color: rgba(180, 79, 43, 0.34);
}

.coach-reply,
.muted-copy,
.empty-state,
.daily-reason {
  color: var(--muted);
}

.followup-box {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.followup-box-branch {
  margin-top: 12px;
  padding-top: 12px;
}

.followup-box-branch > strong {
  display: block;
  margin-bottom: 6px;
}

.followup-box-branch > p {
  margin-bottom: 10px;
}

.branch-stage-message .coach-reply {
  margin-bottom: 8px;
}

.branch-stage-message .next-action {
  margin-bottom: 12px;
}

.branch-reply-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  align-items: stretch;
}

.branch-reply-row .reply-chip {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  line-height: 1.3;
  text-align: left;
  white-space: normal;
}

.branch-reply-row .reply-chip-exit {
  grid-column: 1 / -1;
  border-style: dashed;
  color: #ffbf69;
}

.chat-plan-box {
  margin-top: 14px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255, 138, 0, 0.34);
  background: linear-gradient(140deg, rgba(12, 12, 10, 0.95), rgba(6, 6, 6, 0.92));
}

.plan-grid,
.bridge-list {
  display: grid;
  gap: 10px;
}

.bridge-chip {
  justify-self: start;
  color: #ff9b1a;
  background: rgba(0, 0, 0, 0.92);
  border: 1px solid rgba(255, 138, 0, 0.34);
}

.bridge-reason {
  margin: -4px 0 0;
}

.next-action {
  font-weight: 700;
  color: var(--success);
}

#mode-chat .chat-plan-box,
#mode-chat .followup-box {
  border-color: rgba(255, 138, 0, 0.34);
  background: linear-gradient(140deg, rgba(10, 10, 9, 0.96), rgba(5, 5, 5, 0.94));
}

.stat-row + .stat-row {
  margin-top: 12px;
}

.bar {
  height: 10px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(28, 27, 24, 0.08);
}

.bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), var(--accent-soft));
}

@media (max-width: 1240px) {
  .main-menu-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Global premium contrast lock: black surfaces + orange typography. */
body,
.app-shell,
.hero,
.panel,
.daily-panel,
.chat-panel,
.scenario-stage,
.settings-panel,
.identity-panel,
.launcher-panel,
.support-card,
.daily-feature,
.scenario-feature,
.daily-feature-card,
.scenario-feature-card,
.daily-card,
.module-card,
.scenario-card,
.adaptive-box,
.daily-summary-card,
.arthur-commentary-bubble,
.message-body,
textarea,
select,
input {
  background: #000 !important;
  background-color: #000 !important;
  color: #ff9b1a !important;
  border-color: rgba(255, 138, 0, 0.56) !important;
}

.muted-copy,
.message-label,
.module-meta,
.message-meta,
.arthur-commentary-meta,
.pill.subtle,
.usage-pill {
  color: #ffb347 !important;
}

button.ghost,
.prompt-chip,
.reply-chip,
.mode-tab,
.daily-choice-button.ghost,
.mission-category-button {
  background: #000 !important;
  color: #ff9b1a !important;
  border-color: rgba(255, 138, 0, 0.62) !important;
}

textarea::placeholder,
input::placeholder {
  color: rgba(255, 155, 26, 0.62) !important;
}

@media (min-width: 761px) {
  #mode-daily .daily-panel,
  #mode-daily .daily-feature,
  #mode-daily .daily-feature-card-web,
  #mode-scenarios .scenario-stage,
  #mode-scenarios .daily-feature,
  #mode-scenarios .daily-feature-card-web {
    border: 0 !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    border-radius: 0 !important;
  }

  #mode-scenarios .scenario-stage::before,
  #mode-scenarios .scenario-stage::after,
  #mode-daily .daily-panel::before,
  #mode-daily .daily-panel::after {
    display: none !important;
  }

  #mode-scenarios .daily-feature,
  #mode-daily .daily-feature,
  #daily-feature {
    padding: 4px 0 0 !important;
    min-height: 0 !important;
  }

  #mode-scenarios .daily-feature-card-web,
  #mode-daily .daily-feature-card-web,
  #daily-feature > .daily-feature-card-web {
    min-height: 207px !important;
    padding: 12px 0 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  #daily-feature,
  #daily-feature.daily-feature,
  #daily-feature > .daily-feature-card,
  #daily-feature > .daily-feature-card-web {
    border: 0 !important;
    border-color: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
  }

  #mode-scenarios .daily-feature-card-web .daily-feature-ad-grid,
  #mode-daily .daily-feature-card-web .daily-feature-ad-grid {
    margin-top: auto;
    padding-top: 36px;
  }

  #mode-scenarios .daily-panel,
  #mode-daily .daily-panel {
    padding-bottom: 4px !important;
  }
}

@media (max-width: 980px) {
  .landing-grid,
  .scenario-layout,
  .chat-mode-layout,
  .daily-summary-grid,
  .onboarding-steps,
  .session-brief-grid,
  .launcher-secondary-grid,
  .sales-command-grid,
  .character-grid,
  .scenario-summary-strip,
  .scenario-feature-grid,
  .daily-feature-grid {
    grid-template-columns: 1fr;
  }

  h1 {
    max-width: none;
  }

  .music-hud {
    flex-direction: column;
    align-items: flex-start;
  }

  .chat-thread {
    max-height: none;
  }

  .launcher-grid,
  .launcher-secondary-grid {
    justify-items: stretch;
  }

  .main-menu-grid {
    grid-template-columns: 1fr;
  }

  .support-slot {
    grid-template-columns: 1fr;
  }

  .mode-nav {
    padding: 6px;
  }

}

@media (max-width: 760px) {
  .page-ad-shell.support-slot,
  body.home-launcher-only .home-bottom-ad-shell {
    display: none !important;
  }

  body.missions-task-active[data-active-mode="daily"] .app-shell::before {
    display: none !important;
  }

  body.home-launcher-only .launcher-topline .hero-quick-actions {
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
  }

  body.home-launcher-only .launcher-topline .lang-switcher {
    order: 1;
  }

  body.home-launcher-only .launcher-topline #hero-profile-open-inline {
    order: 2;
  }

  body.home-launcher-only .launcher-panel {
    display: flex;
    flex-direction: column;
    min-height: auto;
    padding-top: 4px;
    padding-bottom: 2px;
  }
}

/* ── Local mode status light ── */
.settings-local-mode-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}

.status-light {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}

.status-light-on {
  background: #22c55e;
  box-shadow: 0 0 6px rgba(34, 197, 94, 0.6);
}

.status-light-off {
  background: #ef4444;
  box-shadow: 0 0 6px rgba(239, 68, 68, 0.6);
}

/* ── Chat bottom ad slots ── */
.chat-bottom-ad-shell {
  margin-top: 16px;
}

@media (max-width: 760px) {
  body.home-launcher-only .launcher-home-logo-wrap {
    margin-top: 0;
  }

  body.home-launcher-only .launcher-grid {
    margin-top: 12px;
  }

  body.home-launcher-only .launcher-menu-button-primary-home {
    min-height: 106px;
    font-size: clamp(1.9rem, 8.5vw, 2.3rem);
  }

  body.home-launcher-only .launcher-menu-button-secondary-home {
    min-height: 82px;
    font-size: clamp(1.2rem, 5.8vw, 1.45rem);
  }

  body.home-launcher-only .lang-switcher-summary {
    min-height: 58px;
    padding: 8px 14px;
  }

  body.home-launcher-only .lang-switcher-summary .flag-uk {
    width: 46px;
    height: 32px;
  }

  .mission-category-ad-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 430px) {
  body.home-launcher-only .launcher-topline {
    align-items: flex-start;
    gap: 10px;
  }

  body.home-launcher-only .launcher-topline .hero-quick-actions {
    width: auto;
    margin-left: auto;
    align-items: flex-end;
    gap: 10px;
  }

  body.home-launcher-only .launcher-topline .lang-switcher,
  body.home-launcher-only .launcher-topline #hero-profile-open-inline {
    width: auto;
  }

  body.home-launcher-only .launcher-topline .lang-switcher {
    margin-top: -3px;
  }

  body.home-launcher-only .launcher-topline #hero-profile-open-inline {
    min-width: 112px;
  }

}

@media (min-width: 761px) {
  /* Desktop reset only for legacy #daily-feature host. Keep #scenario-feature styling in the final lock below. */
  #daily-feature,
  #daily-feature.daily-feature,
  #daily-feature > .daily-feature-card,
  #daily-feature > .daily-feature-card-web {
    border: 0 !important;
    border-color: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    background-image: none !important;
  }

  #daily-feature > .daily-feature-card-web {
    min-height: 167px !important;
    padding-bottom: 0 !important;
  }

  #daily-feature > .daily-feature-card-web .daily-feature-ad-grid {
    margin-top: auto !important;
    padding-top: 48px !important;
  }
}

@media (min-width: 761px) {
  /* Keep daily tasks top cards visibly boxed on desktop. */
  body[data-active-mode="scenarios"] #scenario-feature,
  body[data-active-mode="scenarios"] #scenario-feature.scenario-feature,
  body[data-active-mode="scenarios"] #scenario-feature > .daily-feature-card-web {
    border: 1px solid rgba(255, 138, 0, 0.42) !important;
    border-radius: 18px !important;
    background:
      linear-gradient(140deg, rgba(20, 16, 12, 0.94), rgba(11, 10, 8, 0.9)) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.34) !important;
  }

  body[data-active-mode="scenarios"] #scenario-feature > .daily-feature-card-web {
    padding: 20px 18px 14px !important;
    min-height: 220px !important;
  }

  /* Push Daily Tasks block down so top border is fully visible under top rails. */
  body[data-active-mode="scenarios"] #scenario-feature,
  body[data-active-mode="scenarios"] #scenario-feature.scenario-feature {
    margin-top: clamp(24px, 5vh, 72px) !important;
  }
}

/* Missions question page: tighten bottom area and bring black edge closer to C/D cards. */
body.missions-task-active #mode-scenarios .scenario-feature {
  min-height: 0 !important;
  padding-bottom: 2px !important;
}

body.missions-task-active #mode-scenarios .daily-feature-card,
body.missions-task-active #mode-scenarios .scenario-feature-card {
  padding-bottom: 8px !important;
}

body.missions-task-active .app-shell {
  padding-bottom: 20px !important;
}

/* Final lock for Missions category surface */
body:not(.home-launcher-only)[data-active-mode="daily"] #mode-daily .mission-chooser-panel {
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  background: transparent !important;
}

body:not(.home-launcher-only)[data-active-mode="daily"] #mode-daily .mission-chooser-panel::before,
body:not(.home-launcher-only)[data-active-mode="daily"] #mode-daily .mission-chooser-panel::after {
  display: none !important;
}

body:not(.home-launcher-only)[data-active-mode="daily"] .app-shell {
  padding-bottom: 8px !important;
}

body:not(.home-launcher-only)[data-active-mode="daily"] #mode-daily > .daily-panel {
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  background: transparent !important;
}

body:not(.home-launcher-only)[data-active-mode="daily"] #mode-daily > .daily-panel::before,
body:not(.home-launcher-only)[data-active-mode="daily"] #mode-daily > .daily-panel::after {
  display: none !important;
}

.mission-bottom-ad-shell {
  display: none;
}

.scenario-bottom-ad-shell {
  display: none;
  opacity: 0.9;
  transform: translateY(4px);
  transition: opacity 180ms ease, transform 180ms ease;
}

@media (min-width: 761px) {
  body:not(.sales-mode).missions-task-active #mode-scenarios .scenario-bottom-ad-shell {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 8px;
    padding-top: 0;
    padding-bottom: 2px;
  }

  body:not(.sales-mode).missions-task-active #mode-scenarios .scenario-bottom-ad-card {
    border: 1px dashed rgba(28, 27, 24, 0.2);
    border-radius: 18px;
    padding: 14px 16px;
    background:
      linear-gradient(135deg, rgba(20, 18, 14, 0.84), rgba(14, 13, 10, 0.72)),
      rgba(18, 17, 13, 0.72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42);
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 0;
  }

  body:not(.sales-mode).missions-task-active #mode-scenarios .scenario-bottom-ad-frame {
    width: 100%;
    min-height: 220px;
    margin-top: 10px;
    border: 1px dashed rgba(255, 138, 0, 0.42);
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.65);
    position: relative;
    overflow: hidden;
    display: grid;
    place-items: center;
  }

  body:not(.sales-mode).missions-task-active #mode-scenarios .scenario-bottom-ad-ins {
    display: block;
    width: 100%;
    min-height: 220px;
  }

  body:not(.sales-mode).missions-task-active #mode-scenarios .scenario-bottom-ad-fallback {
    display: none !important;
    position: absolute;
    inset: 0;
    align-items: center;
    justify-content: center;
    padding: 8px;
    text-align: center;
    font-size: 0.84rem;
    color: rgba(227, 186, 131, 0.88);
    background: rgba(0, 0, 0, 0.28);
  }

  body:not(.sales-mode).missions-task-active #mode-scenarios .scenario-bottom-ad-frame.is-loaded .scenario-bottom-ad-fallback {
    display: none;
  }

  body:not(.sales-mode).missions-task-active #mode-scenarios .scenario-bottom-ad-frame.is-fallback {
    border-style: dashed;
  }

  body:not(.sales-mode).missions-task-active #mode-scenarios .scenario-bottom-ad-frame.is-ad-ready {
    border-style: solid;
  }

  body:not(.sales-mode).missions-task-active #mode-scenarios .scenario-bottom-ad-shell.is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  body:not(.sales-mode).missions-task-active #mode-scenarios .scenario-bottom-ad-card strong {
    font-size: 1rem;
  }

  body:not(.sales-mode).missions-task-active #mode-scenarios .scenario-bottom-ad-card p {
    font-size: 0.98rem;
    line-height: 1.45;
  }

  body:not(.home-launcher-only)[data-active-mode="daily"]:not(.missions-task-active) #mode-daily > .daily-panel {
    display: flex;
    flex-direction: column;
    min-height: calc(100dvh - 300px);
  }

  body:not(.home-launcher-only)[data-active-mode="daily"]:not(.missions-task-active) #mode-daily #daily-tasks {
    margin-bottom: 10px;
  }

  body:not(.home-launcher-only)[data-active-mode="daily"]:not(.missions-task-active) #mode-daily .mission-bottom-ad-shell {
    margin-top: -96px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding-top: 0;
    padding-bottom: 2px;
  }

  body:not(.home-launcher-only)[data-active-mode="daily"]:not(.missions-task-active) #mode-daily .mission-bottom-ad-card {
    border: 1px dashed rgba(255, 138, 0, 0.32);
    border-radius: 12px;
    padding: 10px;
    background: rgba(0, 0, 0, 0.66);
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 196px;
  }

  body:not(.home-launcher-only)[data-active-mode="daily"]:not(.missions-task-active) #mode-daily .mission-bottom-ad-frame {
    width: 100%;
    min-height: 146px;
    border: 1px dashed rgba(255, 138, 0, 0.24);
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.58);
    display: grid;
    place-items: center;
  }

  body:not(.home-launcher-only)[data-active-mode="daily"]:not(.missions-task-active) #mode-daily .mission-bottom-ad-fallback {
    font-size: 0.84rem;
    color: rgba(227, 186, 131, 0.88);
  }
}

@media (max-width: 760px) {
  .scenario-bottom-ad-shell {
    display: none !important;
  }

  body[data-active-mode="scenarios"] #mode-scenarios .daily-tasks-checklist {
    grid-template-columns: 1fr !important;
  }

  body.missions-task-active[data-active-mode="daily"] #mode-daily .mission-choice-grid {
    grid-template-columns: 1fr !important;
  }
}

.mobile-nav-toggle,
.mobile-nav-backdrop,
.mobile-nav-drawer,
.mobile-ad-rail {
  display: none;
}

@media (max-width: 760px) {
  .mobile-nav-toggle {
    display: none;
    position: fixed;
    top: max(10px, env(safe-area-inset-top));
    left: max(3vw, env(safe-area-inset-left));
    z-index: 60;
    min-height: 44px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 138, 0, 0.62);
    background: #000;
    color: #ff9b1a;
    font-weight: 700;
  }

  body.home-launcher-only .mobile-nav-toggle {
    display: none;
  }

  .mobile-nav-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 68;
    background: rgba(0, 0, 0, 0.6);
  }

  .mobile-nav-drawer {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(86vw, 320px);
    z-index: 70;
    padding: calc(14px + env(safe-area-inset-top)) 12px calc(14px + env(safe-area-inset-bottom));
    border-right: 1px solid rgba(255, 138, 0, 0.48);
    background: #000;
    transform: translateX(-102%);
    transition: transform 180ms ease;
    overflow-y: auto;
  }

  body.mobile-nav-open .mobile-nav-drawer {
    display: block;
    transform: translateX(0);
  }

  body.mobile-nav-open .mobile-nav-backdrop {
    display: block;
  }

  .mobile-nav-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 138, 0, 0.3);
  }

  .mobile-nav-list {
    display: grid;
    gap: 8px;
  }

  .mobile-nav-item {
    min-height: 46px;
    border-radius: 12px;
    border: 1px solid rgba(255, 138, 0, 0.58);
    background: #000;
    color: #ff9b1a;
    text-align: left;
    padding: 8px 12px;
    font-size: 1rem;
    font-weight: 700;
  }

  .mobile-nav-item.active {
    border-color: rgba(255, 186, 102, 0.9);
    box-shadow: 0 0 0 1px rgba(255, 186, 102, 0.36) inset;
  }

  body:not(.home-launcher-only) .mode-nav-top {
    display: none !important;
  }

  body:not(.home-launcher-only) .hero-quick-actions > .ghost,
  body:not(.home-launcher-only) .daily-action-row > button,
  body:not(.home-launcher-only) .button-row > button,
  body:not(.home-launcher-only) .mission-category-button,
  body:not(.home-launcher-only) .daily-choice-button,
  body:not(.home-launcher-only) .mission-subcategory-button {
    min-height: 46px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255, 138, 0, 0.58) !important;
    background: #000 !important;
    color: #ff9b1a !important;
    font-weight: 700;
  }

  .mobile-ad-rail {
    display: none !important;
  }

  .mobile-ad-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 12px;
    border: 1px solid rgba(255, 138, 0, 0.56);
    background: rgba(0, 0, 0, 0.96);
  }

  .mobile-ad-meta {
    display: grid;
    gap: 3px;
    min-width: 0;
  }

  .mobile-ad-meta .muted-copy {
    font-size: 0.76rem;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .mobile-ad-action {
    min-height: 44px;
    padding: 6px 10px;
    border-radius: 10px;
    border: 1px solid rgba(255, 138, 0, 0.62);
    background: #000;
    color: #ff9b1a;
    font-size: 0.84rem;
    font-weight: 700;
    white-space: nowrap;
  }

  body:not(.home-launcher-only) .app-shell {
    padding-bottom: calc(28px + env(safe-area-inset-bottom)) !important;
  }

  body.missions-task-active[data-active-mode="daily"] .mobile-nav-toggle {
    display: none !important;
  }
}

/* Mobile production lock: no horizontal scroll + top rail on non-home + fire edges on all views. */
@media (max-width: 760px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body > * {
    max-width: 100vw;
  }

  body:not(.home-launcher-only),
  body:not(.home-launcher-only) .app-shell,
  body:not(.home-launcher-only) .hero,
  body:not(.home-launcher-only) .hero-topline,
  body:not(.home-launcher-only) .hero-quick-actions,
  body:not(.home-launcher-only) .mode-view,
  body:not(.home-launcher-only) .panel,
  body:not(.home-launcher-only) .daily-panel {
    min-width: 0;
    max-width: 100%;
  }

  body:not(.home-launcher-only) .app-shell {
    width: 86vw !important;
    max-width: 86vw !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body:not(.home-launcher-only) .mobile-nav-toggle,
  body:not(.home-launcher-only) .mobile-nav-backdrop,
  body:not(.home-launcher-only) .mobile-nav-drawer {
    display: none !important;
  }

  body:not(.home-launcher-only)::before {
    display: none !important;
  }

  body:not(.home-launcher-only) .hero-topline {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  body:not(.home-launcher-only) .hero-quick-actions {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: stretch;
    padding-bottom: 2px;
  }

  body:not(.home-launcher-only) .mode-nav-top {
    display: flex !important;
    position: relative;
    top: auto;
    z-index: auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    flex: 1 1 100%;
    flex-wrap: nowrap;
    overflow: hidden;
    white-space: normal;
    gap: 6px;
    padding: 6px;
    border: 1px solid rgba(255, 138, 0, 0.42);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(7, 7, 7, 0.96), rgba(4, 4, 4, 0.93));
    scrollbar-width: none;
  }

  body:not(.home-launcher-only) .mode-nav-top::-webkit-scrollbar {
    display: none;
  }

  body:not(.home-launcher-only) .mode-nav-top .mode-tab {
    width: 100% !important;
    min-width: 0;
    flex: 1 1 0;
    min-height: 44px;
    padding: 8px 10px;
  }

  body:not(.home-launcher-only) .hero-quick-actions > .ghost {
    width: auto !important;
    min-width: 0;
    flex: 1 1 calc(33.333% - 6px);
    white-space: nowrap;
    justify-content: center;
    min-height: 44px;
    padding: 8px 10px;
  }

  body:not(.home-launcher-only) #hero-missions-back {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
    margin-bottom: 0 !important;
  }

  body:not(.home-launcher-only) .mobile-mode-ad-slot.is-duplicate-mode-slot,
  body:not(.home-launcher-only) .page-ad-shell.support-slot.is-duplicate-mode-slot,
  body:not(.home-launcher-only) .daily-ad-shell,
  body:not(.home-launcher-only) .scenario-bottom-ad-shell,
  body:not(.home-launcher-only) .mission-bottom-ad-shell,
  body:not(.home-launcher-only) .mission-category-ad-slot,
  body:not(.home-launcher-only) .profile-notes-ad-slot {
    display: none !important;
  }

  /* fire-edge mobile styling is centralized in the final visual hotfix block */
}

/* Missions question UI split lock: desktop and mobile intentionally diverge in layout, not in content. */
body.missions-task-active[data-active-mode="daily"] #mode-daily > .page-ad-shell.support-slot {
  margin-top: 72px;
}

@media (max-width: 760px) {
  body.missions-task-active[data-active-mode="daily"] #mode-daily > .page-ad-shell.support-slot {
    margin-top: 36px;
  }
}

@media (min-width: 761px) {
  body.missions-task-active[data-active-mode="daily"] .app-shell,
  body.missions-task-active[data-active-mode="daily"] .hero,
  body.missions-task-active[data-active-mode="daily"] #mode-daily > .daily-panel,
  body.missions-task-active[data-active-mode="daily"] #daily-feature,
  body.missions-task-active[data-active-mode="daily"] #daily-feature > .daily-feature-card,
  body.missions-task-active[data-active-mode="daily"] #daily-feature > .daily-feature-card-web {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    background: transparent !important;
  }

  body.missions-task-active[data-active-mode="daily"] .hero {
    padding: 10px 0 6px !important;
    gap: 6px !important;
  }

  body.missions-task-active[data-active-mode="daily"] .hero-topline {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body.missions-task-active[data-active-mode="daily"] #mode-daily .daily-feature {
    margin-top: 0 !important;
    padding: 0 !important;
  }

  body.missions-task-active[data-active-mode="daily"] #mode-daily .daily-feature-card {
    padding: 0 0 6px !important;
  }

  body.missions-task-active[data-active-mode="daily"] #mode-daily .daily-feature-card {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    background: transparent !important;
  }

  body.missions-task-active[data-active-mode="daily"] .daily-feature .daily-top {
    margin-top: 0 !important;
    margin-bottom: 4px !important;
  }

  body.missions-task-active[data-active-mode="daily"] .mission-choice-grid {
    margin-top: var(--missions-choice-grid-gap-desktop) !important;
    gap: var(--missions-choice-grid-gap-desktop) !important;
  }

  body.missions-task-active[data-active-mode="daily"] .mission-choice-card {
    min-height: var(--missions-choice-card-min-height-desktop) !important;
  }
}

@media (max-width: 760px) {
  body.missions-task-active[data-active-mode="daily"] .app-shell,
  body.missions-task-active[data-active-mode="daily"] #mode-daily > .daily-panel,
  body.missions-task-active[data-active-mode="daily"] #daily-feature,
  body.missions-task-active[data-active-mode="daily"] #daily-feature > .daily-feature-card,
  body.missions-task-active[data-active-mode="daily"] #daily-feature > .daily-feature-card-web {
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  body.missions-task-active[data-active-mode="daily"] .hero {
    padding: 8px 0 10px !important;
    gap: 8px !important;
  }

  body.missions-task-active[data-active-mode="daily"] #mode-daily .daily-feature {
    margin-top: 0 !important;
    padding: 0 !important;
  }

  body.missions-task-active[data-active-mode="daily"] #mode-daily .daily-feature-card {
    padding: 0 !important;
  }

  body.missions-task-active[data-active-mode="daily"] #mode-daily .daily-feature-card {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    background: transparent !important;
  }

  body.missions-task-active[data-active-mode="daily"] .daily-feature .daily-top {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
  }

}


/* FINAL LOCK: Daily Tasks desktop top boxes must stay visible under sticky rails. */
@media (min-width: 761px) {
  body[data-active-mode="scenarios"] #mode-scenarios .scenario-stage {
    padding-top: clamp(26px, 5vh, 76px) !important;
    overflow: visible !important;
  }

  body[data-active-mode="scenarios"] #mode-scenarios #scenario-feature,
  body[data-active-mode="scenarios"] #mode-scenarios #scenario-feature.scenario-feature {
    margin-top: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 138, 0, 0.48) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.34) !important;
    outline: 1px solid rgba(255, 138, 0, 0.32) !important;
    outline-offset: 0 !important;
    background:
      linear-gradient(140deg, rgba(18, 14, 11, 0.96), rgba(8, 8, 8, 0.92)) !important;
  }

  body[data-active-mode="scenarios"] #mode-scenarios #scenario-feature > .daily-feature-card-web {
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    min-height: 228px !important;
    padding: 18px 18px 14px !important;
    background: transparent !important;
  }
}

/* DAILY REBUILD LOCK: summary box is borderless and fully separated from task/ad surfaces. */
body[data-active-mode="scenarios"] #mode-scenarios #scenario-feature,
body[data-active-mode="scenarios"] #mode-scenarios #scenario-feature.scenario-feature {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
}

body[data-active-mode="scenarios"] #mode-scenarios #scenario-feature .daily-summary-shell {
  margin: 0 !important;
  padding: 0 !important;
}

body[data-active-mode="scenarios"] #mode-scenarios #scenario-feature .daily-summary-card {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  min-height: 0 !important;
  padding: 18px 18px 6px !important;
}

body[data-active-mode="scenarios"] #mode-scenarios #scenario-feature .daily-summary-card .daily-feature-ad-grid,
body[data-active-mode="scenarios"] #mode-scenarios #scenario-feature .daily-summary-card .daily-feature-adsense,
body[data-active-mode="scenarios"] #mode-scenarios #scenario-feature .daily-summary-card .daily-feature-ad-card {
  display: none !important;
}

body[data-active-mode="scenarios"] #mode-scenarios #scenario-feature .daily-ad-shell {
  display: none !important;
}

body[data-active-mode="scenarios"] #mode-scenarios #scenario-browser .daily-task-grid-shell {
  margin-top: 10px;
  padding-bottom: 52px;
}

@media (max-width: 760px) {
  body[data-active-mode="scenarios"] #mode-scenarios #scenario-feature .daily-summary-card {
    padding: 14px 12px 4px !important;
  }
}

/* Missions back-button parity lock: keep the same size in subcategory and question stages. */
@media (min-width: 761px) {
  body.missions-task-active[data-active-mode="daily"] #hero-missions-back,
  body.missions-subcategory-active[data-active-mode="daily"] #hero-missions-back {
    display: inline-flex !important;
    min-height: 56px !important;
    min-width: 124px !important;
    font-size: 1.58rem !important;
    font-weight: 800 !important;
    padding: 18px 28px !important;
  }
}

.global-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  padding: 14px 12px 26px;
}

.footer-doc-link {
  min-width: 130px;
}

/* AdSense quality hardening: hide visible AD badge placeholders from UI. */
[data-mobile-ad-slot] .pill.subtle[data-i18n="homeStatic.ads.badge"],
[data-desktop-ad-slot] .pill.subtle[data-i18n="homeStatic.ads.badge"],
.scenario-bottom-ad-shell .pill.subtle[data-i18n="homeStatic.ads.badge"] {
  display: none !important;
}

@media (max-width: 760px) {
  body.missions-task-active[data-active-mode="daily"] #hero-missions-back,
  body.missions-subcategory-active[data-active-mode="daily"] #hero-missions-back {
    display: inline-flex !important;
    min-height: 48px !important;
    min-width: 0 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    padding: 10px 14px !important;
  }
}

/* Mobile recovery lock: keep Web Lite readable, edge-fire behind content, and no desktop rail on phones. */
@media (max-width: 760px) {
  body .fire-edge-bridge {
    display: block !important;
  }

  body:not(.home-launcher-only)::before {
    display: none !important;
  }

  body .app-shell,
  body .landing-shell {
    position: relative !important;
    z-index: 2 !important;
  }

  body.home-launcher-only .app-shell,
  body:not(.home-launcher-only) .app-shell {
    width: min(430px, calc(100vw - 32px)) !important;
    max-width: min(430px, calc(100vw - 32px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: calc(68px + env(safe-area-inset-top)) !important;
    padding-bottom: calc(14px + env(safe-area-inset-bottom)) !important;
    border-radius: 18px !important;
    background:
      linear-gradient(180deg, rgba(12, 12, 12, 0.94), rgba(6, 6, 6, 0.9)) !important;
    box-shadow:
      0 16px 34px rgba(0, 0, 0, 0.38),
      inset 0 0 0 1px rgba(255, 150, 42, 0.14) !important;
    overflow: clip !important;
  }

  body:not(.home-launcher-only) .mode-nav-top {
    display: none !important;
  }

  body:not(.home-launcher-only) .mobile-nav-toggle {
    display: none !important;
  }

  body.missions-task-active[data-active-mode="daily"] .mobile-nav-toggle {
    display: none !important;
  }

  body:not(.home-launcher-only) .hero-topline {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
    justify-content: stretch !important;
    gap: 10px !important;
  }

  body:not(.home-launcher-only) .hero-topline .arthur-brand-chip {
    display: none !important;
  }

  body:not(.home-launcher-only) .hero-quick-actions {
    width: 100% !important;
    flex: 1 1 auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    padding-inline: 4px !important;
  }

  body:not(.home-launcher-only) .hero-quick-actions > .ghost {
    width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  body:not(.home-launcher-only) .mission-chooser-panel .compact-header {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: start !important;
  }

  body:not(.home-launcher-only) .mission-chooser-panel .header-actions {
    width: 100% !important;
    justify-content: stretch !important;
  }

  body:not(.home-launcher-only) #mission-progress-save-button {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    white-space: normal !important;
    line-height: 1.15 !important;
  }

  body:not(.home-launcher-only) .panel,
  body:not(.home-launcher-only) .daily-panel,
  body:not(.home-launcher-only) .mission-chooser-panel,
  body:not(.home-launcher-only) .daily-feature-card {
    border-radius: 14px !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.26) !important;
    border: 1px solid rgba(255, 144, 28, 0.22) !important;
  }

  body.missions-task-active[data-active-mode="daily"] .daily-action-row {
    gap: 8px !important;
  }

  body.missions-task-active[data-active-mode="daily"] .daily-action-row > button {
    width: calc(100% - 6px) !important;
    margin-inline: auto !important;
    padding: 8px 12px !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
  }

  body.missions-task-active[data-active-mode="daily"] #mode-daily > .daily-panel::after,
  body.missions-task-active[data-active-mode="daily"] #daily-feature > .daily-feature-card::after,
  body.missions-task-active[data-active-mode="daily"] #daily-feature > .daily-feature-card-web::after {
    display: none !important;
    box-shadow: none !important;
  }

  body:not(.home-launcher-only) .daily-tasks-checklist > * {
    content-visibility: visible !important;
    contain-intrinsic-size: auto !important;
  }

  body:not(.home-launcher-only) .daily-tasks-checklist .daily-check-item {
    padding: 12px 10px !important;
    gap: 8px !important;
  }

  body:not(.home-launcher-only) .daily-tasks-checklist .daily-check-item .daily-top {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
  }

  body:not(.home-launcher-only) .daily-tasks-checklist .daily-check-item .daily-top strong {
    font-size: 1rem !important;
  }

  body:not(.home-launcher-only) .daily-tasks-checklist .daily-check-item > .daily-howto + .daily-howto {
    display: none !important;
  }

  body:not(.home-launcher-only) .mission-category-card {
    border-radius: 10px !important;
    box-shadow: none !important;
    background: rgba(8, 8, 8, 0.94) !important;
  }

  body:not(.home-launcher-only) .mission-category-card.is-empty {
    opacity: 0.66;
  }

  body:not(.home-launcher-only) .mission-category-button.is-disabled {
    opacity: 0.72 !important;
    cursor: not-allowed !important;
  }

  .flag-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-image: none !important;
    background-size: auto !important;
    overflow: hidden !important;
  }

  .flag-icon::after {
    font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
    font-size: 0.68rem;
    font-weight: 900;
    color: #fff;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75);
  }

  .flag-uk {
    background:
      linear-gradient(26deg, transparent 42%, #fff 42% 50%, transparent 50% 58%, #fff 58% 66%, transparent 66%),
      linear-gradient(-26deg, transparent 42%, #fff 42% 50%, transparent 50% 58%, #fff 58% 66%, transparent 66%),
      linear-gradient(26deg, transparent 46%, #c8102e 46% 49%, transparent 49% 51%, #c8102e 51% 54%, transparent 54%),
      linear-gradient(-26deg, transparent 46%, #c8102e 46% 49%, transparent 49% 51%, #c8102e 51% 54%, transparent 54%),
      linear-gradient(90deg, transparent 39%, #fff 39% 61%, transparent 61%),
      linear-gradient(0deg, transparent 37%, #fff 37% 63%, transparent 63%),
      linear-gradient(90deg, transparent 45%, #c8102e 45% 55%, transparent 55%),
      linear-gradient(0deg, transparent 43%, #c8102e 43% 57%, transparent 57%),
      #012169 !important;
  }

  .flag-uk::after {
    content: "";
  }

  .flag-fr {
    background: linear-gradient(90deg, #0055a4 0 33.333%, #fff 33.333% 66.666%, #ef4135 66.666% 100%) !important;
  }

  .flag-fr::after {
    content: "FR";
  }

  .flag-es {
    background: linear-gradient(180deg, #aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75% 100%) !important;
  }

  .flag-es::after {
    content: "ES";
  }
}

/* 2026-04-29 visual hotfix: keep side fire strong but push it outward so it
   frames the product instead of sitting on top of the content. */
:root {
  --fire-edge-opacity-desktop: 0.66;
  --fire-edge-opacity-mobile: 1;
  --fire-edge-width-desktop: clamp(108px, 13.5vw, 234px);
  --fire-edge-width-mobile: 56px;
}

.fire-edge {
  width: var(--fire-edge-width-desktop) !important;
  opacity: var(--fire-edge-opacity-desktop) !important;
  filter: blur(2px) saturate(1.18) !important;
  background:
    linear-gradient(
      to var(--fire-flow-direction, right),
      rgba(255, 250, 240, 0.66) 0%,
      rgba(255, 199, 124, 0.74) 16%,
      rgba(255, 131, 44, 0.64) 44%,
      rgba(206, 61, 0, 0.44) 72%,
      rgba(0, 0, 0, 0) 100%
    ) !important;
  box-shadow:
    0 0 24px rgba(255, 126, 24, 0.30),
    inset -3px 0 14px rgba(255, 188, 92, 0.34) !important;
}

.fire-edge-left {
  left: calc(var(--fire-edge-width-desktop) / -2) !important;
}

.fire-edge-right {
  right: calc(var(--fire-edge-width-desktop) / -2) !important;
}

.fire-edge::before,
.fire-edge::after {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}

.fire-edge::before {
  background:
    radial-gradient(20% 42% at 22% 96%, rgba(255, 228, 170, 0.62), transparent 72%),
    radial-gradient(18% 38% at 52% 92%, rgba(255, 182, 96, 0.48), transparent 70%),
    radial-gradient(16% 34% at 76% 98%, rgba(255, 120, 34, 0.4), transparent 68%) !important;
  mix-blend-mode: screen !important;
  opacity: 0.62 !important;
  animation: emberStream 1.05s linear infinite !important;
}

.fire-edge::after {
  background:
    linear-gradient(
      180deg,
      rgba(255, 246, 228, 0.18) 0%,
      rgba(255, 184, 96, 0.22) 35%,
      rgba(255, 118, 28, 0.12) 70%,
      rgba(0, 0, 0, 0) 100%
    ) !important;
  opacity: 0.56 !important;
  animation: fireEdgeFlicker 0.72s ease-in-out infinite !important;
}

.home-about-row {
  display: none;
}

/* Hard visibility lock: keep What is Arthur1 section visible on home in both mobile and desktop. */
body.home-launcher-only .home-about-row {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  position: relative !important;
  z-index: 3 !important;
}

body.home-launcher-only .home-about-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.home-launcher-only .global-footer-links {
  display: flex !important;
  position: relative !important;
  z-index: 3 !important;
}

@media (max-width: 760px) {
  body.home-launcher-only #hero-about-open-inline {
    display: inline-flex !important;
    width: 100% !important;
    min-height: 52px !important;
    justify-content: center !important;
  }

  .home-about-row {
    display: flex;
    justify-content: center;
    margin: 10px 0 4px;
    padding-inline: 8px;
  }

  .home-about-button {
    width: 100%;
    min-height: 52px;
    border-radius: 14px;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.01em;
  }
}

@media (min-width: 761px) {
  .home-about-row {
    display: flex;
    justify-content: center;
    margin: 18px 0 8px;
  }

  .home-about-button {
    width: min(100%, 920px);
    min-height: 64px;
    border-radius: 18px;
    font-size: clamp(1.05rem, 1.8vw, 1.35rem);
    font-weight: 700;
    letter-spacing: 0.02em;
  }
}

@media (max-width: 760px) {
  .lang-switcher .flag-icon.flag-uk {
    background-image: none !important;
    background:
      linear-gradient(32deg, transparent 40%, #fff 40% 60%, transparent 60%),
      linear-gradient(-32deg, transparent 40%, #fff 40% 60%, transparent 60%),
      linear-gradient(32deg, transparent 46%, #c8102e 46% 54%, transparent 54%),
      linear-gradient(-32deg, transparent 46%, #c8102e 46% 54%, transparent 54%),
      linear-gradient(90deg, transparent 37%, #fff 37% 63%, transparent 63%),
      linear-gradient(0deg, transparent 35%, #fff 35% 65%, transparent 65%),
      linear-gradient(90deg, transparent 45%, #c8102e 45% 55%, transparent 55%),
      linear-gradient(0deg, transparent 43%, #c8102e 43% 57%, transparent 57%),
      #012169 !important;
  }

  body .fire-edge-overlay {
    position: fixed !important;
    inset: 0 !important;
    display: block !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }

  body .fire-edge {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    height: 100dvh !important;
    width: var(--fire-edge-width-mobile) !important;
    opacity: var(--fire-edge-opacity-mobile) !important;
    filter: blur(1.9px) saturate(1.35) !important;
    background:
      linear-gradient(
        to var(--fire-flow-direction, right),
        rgba(255, 250, 240, 0.82) 0%,
        rgba(255, 208, 128, 0.86) 14%,
        rgba(255, 140, 48, 0.76) 42%,
        rgba(212, 62, 0, 0.52) 72%,
        rgba(0, 0, 0, 0) 100%
      ) !important;
    animation:
      fireEdgeRise 0.62s ease-in-out infinite alternate,
      fireEdgeFlicker 0.18s ease-in-out infinite,
      fireEdgeMobilePulse 0.14s ease-in-out infinite,
      fireEdgeTurboFlicker 0.09s steps(2, end) infinite,
      fireEdgeTurboShift 0.22s linear infinite !important;
    box-shadow:
      0 0 52px rgba(255, 121, 26, 0.9),
      inset -2px 0 28px rgba(255, 184, 96, 0.96) !important;
  }

  body .fire-edge::before {
    opacity: 0.96 !important;
    background:
      radial-gradient(20% 28% at 24% 94%, rgba(255, 231, 173, 0.74), transparent 76%),
      radial-gradient(22% 32% at 54% 74%, rgba(255, 187, 96, 0.66), transparent 76%),
      radial-gradient(20% 30% at 74% 56%, rgba(255, 152, 56, 0.58), transparent 78%),
      radial-gradient(20% 28% at 42% 36%, rgba(255, 202, 108, 0.5), transparent 78%) !important;
    animation: emberStream 0.22s linear infinite !important;
  }

  body .fire-edge::after {
    opacity: 0.86 !important;
    animation: fireEdgeFlicker 0.16s ease-in-out infinite !important;
  }

  body .fire-edge-left {
    left: calc(var(--fire-edge-width-mobile) * -1) !important;
    --fire-flow-direction: right !important;
  }

  body .fire-edge-right {
    right: calc(var(--fire-edge-width-mobile) * -1) !important;
    --fire-flow-direction: left !important;
    animation:
      fireEdgeRise 0.62s ease-in-out infinite alternate,
      fireEdgeFlicker 0.18s ease-in-out infinite,
      fireEdgeMobilePulse 0.14s ease-in-out infinite,
      fireEdgeTurboFlicker 0.09s steps(2, end) infinite,
      fireEdgeTurboShift 0.22s linear infinite !important;
  }

  body .fire-edge-bridge {
    position: fixed !important;
    left: calc(var(--fire-edge-width-mobile) / 2) !important;
    right: calc(var(--fire-edge-width-mobile) / 2) !important;
    bottom: 0 !important;
    height: 74px !important;
    opacity: 0.62 !important;
    z-index: -1 !important;
    filter: blur(1.6px) saturate(1.12) !important;
    background:
      linear-gradient(
        180deg,
        rgba(0, 0, 0, 0) 0%,
        rgba(255, 141, 40, 0.18) 46%,
        rgba(255, 108, 16, 0.38) 100%
      ) !important;
    box-shadow: 0 -14px 32px rgba(255, 103, 0, 0.52) !important;
    pointer-events: none !important;
    animation:
      fireBridgePulse 0.86s ease-in-out infinite alternate,
      fireEdgeFlicker 0.62s ease-in-out infinite !important;
  }
}

@media (min-width: 761px) {
  body:not(.home-launcher-only) .mission-category-lane-grid,
  body:not(.home-launcher-only) .mission-category-secondary-grid {
    max-width: 1120px;
    margin-inline: auto;
  }

  body:not(.home-launcher-only) .mission-subcategory-panel {
    max-width: 560px;
    margin-inline: auto;
  }

  body:not(.home-launcher-only) .mission-category-button,
  body:not(.home-launcher-only) .mission-subcategory-button {
    text-align: center !important;
    justify-items: center !important;
  }
}
