:root {
  color-scheme: light;
  /* Ink */
  --ink: #33200b;
  --ink-strong: #1c1004;
  --muted: #7d6444;
  --muted-bright: #57411f;
  /* Surfaces — parchment and stone */
  --parchment: #eddcb4;
  --parchment-deep: #e2c99d;
  --parchment-raised: #f8ecc9;
  --panel: rgba(255, 247, 222, 0.9);
  --panel-solid: #fdf3d6;
  --line: rgba(101, 69, 28, 0.3);
  --line-strong: rgba(101, 69, 28, 0.6);
  /* Carved wood frame (matches the bot control window) */
  --wood-dark: #251506;
  --wood: #6e4317;
  --wood-light: #be8b36;
  --wood-bar: linear-gradient(#be8b36, #6e4317 48%, #251506 49%, #402611);
  /* Accents */
  --gold: #a5741a;
  --gold-bright: #f0c96a;
  --gold-pale: #ffedae;
  --sea: #17557f;
  --sea-bright: #0f4165;
  --sea-deep: #0c2740;
  --green: #159006;
  --danger: #a2140b;
  --shell: min(1160px, calc(100vw - 40px));
  --radius: 14px;
  --shadow: 0 22px 50px rgba(74, 46, 12, 0.18);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 90px;
}

body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(circle at 14% 6%, rgba(255, 250, 230, 0.85), transparent 28rem),
    radial-gradient(circle at 88% 0%, rgba(190, 214, 226, 0.5), transparent 30rem),
    var(--parchment);
  background-attachment: fixed;
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  overflow-x: hidden;
}

body.nav-open {
  overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  color: inherit;
}

:focus-visible {
  outline: 3px solid var(--sea);
  outline-offset: 3px;
}

::selection {
  background: var(--gold-bright);
  color: var(--ink-strong);
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  padding: 10px 16px;
  border: 1px solid var(--wood-dark);
  border-radius: 4px;
  background: linear-gradient(var(--gold-pale), #e4b94f);
  color: var(--ink-strong);
  font-weight: 800;
  transform: translateY(-150%);
}

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

.page-noise {
  position: fixed;
  z-index: 50;
  inset: 0;
  pointer-events: none;
  opacity: 0.05;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}

.shell {
  width: var(--shell);
  margin-inline: auto;
}

.site-header {
  position: fixed;
  z-index: 100;
  top: 0;
  width: 100%;
  border-bottom: 1px solid transparent;
  transition: background 180ms ease, border-color 180ms ease, backdrop-filter 180ms ease;
}

.site-header.is-scrolled {
  border-bottom: 2px solid var(--wood-dark);
  background: rgba(248, 236, 201, 0.9);
  box-shadow: 0 6px 18px rgba(74, 46, 12, 0.16);
  backdrop-filter: blur(14px);
}

.nav-shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 78px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 0.94rem;
  font-weight: 450;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.brand strong {
  color: var(--sea);
  font-weight: 850;
}

.brand-mark {
  position: relative;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 2px solid var(--wood-dark);
  border-radius: 50%;
  background: linear-gradient(var(--gold-pale), #dda93f);
  box-shadow: inset 0 1px rgba(255, 255, 235, 0.85), 0 2px 4px rgba(74, 46, 12, 0.3);
}

.brand-mark span:first-child,
.brand-mark span:nth-child(2) {
  position: absolute;
  width: 13px;
  height: 2px;
  border-radius: 2px;
  background: var(--wood-dark);
  transform-origin: right center;
}

.brand-mark span:first-child {
  transform: translate(-4px, 4px) rotate(-62deg);
}

.brand-mark span:nth-child(2) {
  transform: translate(4px, 4px) rotate(62deg);
}

.brand-mark span:last-child {
  position: absolute;
  bottom: 8px;
  width: 19px;
  height: 2px;
  background: var(--sea-deep);
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 30px;
  color: var(--muted-bright);
  font-size: 0.86rem;
  font-weight: 650;
}

.site-nav > a:not(.button) {
  transition: color 150ms ease;
}

.site-nav > a:not(.button):hover {
  color: var(--sea);
}

.site-nav .nav-signin {
  margin-left: 10px;
  color: var(--ink);
}

.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid var(--wood);
  border-radius: 6px;
  background: linear-gradient(#fff6cf, #e4b94f);
  box-shadow: inset 0 1px #fff7d2, 0 1px 0 rgba(74, 46, 12, 0.35);
}

.nav-toggle span {
  display: block;
  width: 19px;
  height: 2px;
  margin: 5px auto;
  border-radius: 2px;
  background: var(--wood-dark);
  transition: transform 180ms ease;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 52px;
  padding: 0 24px;
  border: 1px solid var(--wood);
  border-radius: 5px;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.01em;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button-small {
  min-height: 42px;
  padding-inline: 18px;
  border-color: var(--wood);
  background: linear-gradient(#fff6cf, #e4b94f);
  color: var(--ink-strong);
  box-shadow: inset 0 1px #fff8d8, 0 2px 0 rgba(74, 46, 12, 0.32);
}

.button-small:hover {
  background: linear-gradient(#fffbe4, #eec55e);
}

.button-primary {
  border-color: var(--wood-dark);
  background: linear-gradient(var(--gold-pale), #e0aa38);
  color: var(--ink-strong);
  text-shadow: 0 1px 0 rgba(255, 255, 235, 0.6);
  box-shadow: inset 0 1px rgba(255, 255, 235, 0.85), 0 3px 0 rgba(74, 46, 12, 0.4), 0 12px 26px rgba(74, 46, 12, 0.22);
}

.button-primary:hover {
  background: linear-gradient(#fff5cb, #edbb4c);
  box-shadow: inset 0 1px rgba(255, 255, 235, 0.9), 0 3px 0 rgba(74, 46, 12, 0.4), 0 16px 32px rgba(74, 46, 12, 0.26);
}

.button-ghost {
  border-color: var(--line-strong);
  background: rgba(255, 250, 232, 0.72);
  color: var(--muted-bright);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.8);
}

.button-ghost:hover {
  border-color: var(--wood);
  background: rgba(255, 252, 240, 0.95);
  color: var(--ink);
}

.hero {
  position: relative;
  min-height: 900px;
  padding: 160px 0 0;
  overflow: hidden;
  background:
    linear-gradient(rgba(101, 69, 28, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(101, 69, 28, 0.06) 1px, transparent 1px);
  background-size: 72px 72px;
}

.hero::after {
  position: absolute;
  z-index: -1;
  right: -10%;
  bottom: 5%;
  left: -10%;
  height: 300px;
  background: linear-gradient(to bottom, transparent, var(--parchment));
  content: "";
}

.hero-glow {
  position: absolute;
  z-index: -2;
  border-radius: 50%;
  filter: blur(90px);
  pointer-events: none;
}

.hero-glow-one {
  top: 5%;
  right: -10%;
  width: 620px;
  height: 620px;
  background: rgba(160, 199, 219, 0.5);
}

.hero-glow-two {
  top: 36%;
  left: -18%;
  width: 440px;
  height: 440px;
  background: rgba(240, 201, 106, 0.35);
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(480px, 1.08fr);
  align-items: center;
  gap: 70px;
}

.eyebrow,
.kicker {
  color: var(--gold);
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 13px;
  border: 1px solid var(--line-strong);
  border-radius: 100px;
  background: rgba(255, 249, 227, 0.8);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.9);
}

.status-pulse {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 0 rgba(21, 144, 6, 0.45);
  animation: pulse 2.2s infinite;
}

.hero h1,
.section h2 {
  margin: 22px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.hero h1 {
  max-width: 700px;
  font-size: clamp(4rem, 7.2vw, 7rem);
}

.hero h1 span,
.section h2 span {
  background: linear-gradient(100deg, var(--sea) 5%, #2c7ba8 45%, #b9821f);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.hero-lead {
  max-width: 610px;
  margin: 30px 0 0;
  color: var(--muted-bright);
  font-size: 1.07rem;
  line-height: 1.8;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 35px;
}

.hero-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 22px;
  margin: 25px 0 0;
  padding: 0;
  color: var(--muted);
  font-size: 0.78rem;
  list-style: none;
}

.hero-facts span {
  margin-right: 5px;
  color: var(--gold);
}

.command-visual {
  position: relative;
  min-height: 590px;
  padding: 74px 20px 60px;
}

.visual-halo {
  position: absolute;
  z-index: -1;
  inset: 7% 0 0 5%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(190, 139, 54, 0.28), transparent 65%);
  filter: blur(12px);
}

.command-card {
  position: relative;
  overflow: hidden;
  border: 2px solid var(--wood-dark);
  border-radius: 6px;
  background: linear-gradient(160deg, #0f3050, #0a2036);
  color: #f4e2ad;
  box-shadow: 0 0 0 2px rgba(101, 69, 28, 0.9), var(--shadow);
  transform: perspective(1000px) rotateY(-3deg) rotateX(1deg);
}

.command-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  color: #ffe9a6;
  text-shadow: 1px 1px 1px #000;
  border-bottom: 2px solid var(--wood-dark);
  background: var(--wood-bar);
}

.command-topline > div {
  display: grid;
  gap: 2px;
}

.mini-label {
  color: #e5c98a;
  font-size: 0.66rem;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.command-topline strong {
  font-size: 0.93rem;
}

.online-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 10px;
  border: 1px solid #1b3a12;
  border-radius: 3px;
  background: linear-gradient(#3ecb2a, #159006);
  color: #f4ffe6;
  font-size: 0.66rem;
  font-weight: 800;
  text-shadow: 1px 1px 1px #08260a;
  text-transform: uppercase;
}

.online-pill i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #eaffdf;
}

.map-stage {
  position: relative;
  height: 330px;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 55% 48%, rgba(240, 201, 106, 0.14), transparent 32%),
    linear-gradient(135deg, rgba(16, 56, 88, 0.35), rgba(6, 24, 40, 0.6));
}

.map-art {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  opacity: 0.66;
}

.map-art::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(6, 24, 40, 0.34), transparent 42%),
    linear-gradient(0deg, rgba(6, 24, 40, 0.36), transparent 45%);
  content: "";
}

.map-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.map-stage::before,
.map-stage::after {
  position: absolute;
  border: 1px solid rgba(247, 218, 128, 0.1);
  border-radius: 48% 52% 61% 39% / 54% 39% 61% 46%;
  background: rgba(247, 218, 128, 0.04);
  content: "";
  transform: rotate(-12deg);
}

.map-stage::before {
  top: 36px;
  left: 40px;
  width: 165px;
  height: 130px;
}

.map-stage::after {
  right: 25px;
  bottom: 30px;
  width: 210px;
  height: 125px;
  transform: rotate(16deg);
}

.map-grid {
  position: absolute;
  z-index: 2;
  inset: 0;
  opacity: 0.6;
  background-image:
    linear-gradient(rgba(247, 218, 128, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(247, 218, 128, 0.06) 1px, transparent 1px);
  background-size: 33px 33px;
  mask-image: radial-gradient(circle, #000 30%, transparent 85%);
}

.city-node {
  position: absolute;
  z-index: 5;
  display: grid;
  justify-items: center;
  gap: 5px;
  color: #d8bd83;
  font-size: 0.57rem;
}

.city-node span {
  display: block;
  width: 12px;
  height: 12px;
  border: 2px solid #ffd873;
  border-radius: 50%;
  background: #3a2a12;
  box-shadow: 0 0 0 6px rgba(240, 201, 106, 0.1), 0 0 18px rgba(240, 201, 106, 0.55);
}

.city-main {
  top: 46%;
  left: 48%;
  color: #ffe9a6;
  transform: scale(1.08);
}

.city-one { top: 19%; left: 23%; }
.city-two { top: 23%; right: 18%; }
.city-three { right: 25%; bottom: 18%; }

.route {
  position: absolute;
  z-index: 3;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(247, 218, 128, 0.85), transparent);
  box-shadow: 0 0 8px rgba(240, 201, 106, 0.45);
  transform-origin: left center;
}

.route::after {
  position: absolute;
  top: -2px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #fff3cf;
  box-shadow: 0 0 8px var(--gold-bright);
  content: "";
  animation: routeTravel 3.2s linear infinite;
}

.route-a { top: 50%; left: 26%; width: 135px; transform: rotate(29deg); }
.route-b { top: 51%; left: 52%; width: 145px; transform: rotate(-35deg); }
.route-c { top: 52%; left: 51%; width: 150px; transform: rotate(38deg); }
.route-d { top: 29%; left: 27%; width: 240px; transform: rotate(4deg); opacity: 0.55; }
.route-b::after { animation-delay: -1.4s; }
.route-c::after { animation-delay: -2.3s; }
.route-d::after { animation-delay: -0.6s; }

.plan-chip {
  position: absolute;
  z-index: 7;
  padding: 6px 9px;
  border: 1px solid var(--wood-dark);
  border-radius: 3px;
  background: linear-gradient(rgba(255, 235, 174, 0.96), rgba(255, 214, 122, 0.92));
  color: #2b1808;
  font-size: 0.57rem;
  font-weight: 700;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 215, 0.5), 0 6px 16px rgba(0, 0, 0, 0.35);
}

.plan-chip-one { top: 39%; left: 16%; }
.plan-chip-two { right: 9%; bottom: 32%; }

.command-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 20px 12px;
  border-top: 1px solid rgba(247, 218, 128, 0.28);
  background: linear-gradient(rgba(255, 237, 183, 0.06), rgba(0, 0, 0, 0.18));
}

.command-stats div {
  display: grid;
  gap: 2px;
  padding: 0 13px;
  border-right: 1px solid rgba(247, 218, 128, 0.2);
}

.command-stats div:last-child {
  border: 0;
}

.command-stats span {
  color: #cdb984;
  font-size: 0.58rem;
  text-transform: uppercase;
}

.command-stats strong {
  color: #ffe9a6;
  font-family: Georgia, serif;
  font-size: 1.3rem;
  font-weight: 400;
}

.floating-card {
  position: absolute;
  z-index: 9;
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 188px;
  padding: 12px 14px;
  border: 2px solid var(--wood-dark);
  border-radius: 5px;
  background: linear-gradient(#fffaea, #f2ddaf);
  color: var(--ink);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.9), 0 0 0 2px rgba(101, 69, 28, 0.85), 0 14px 32px rgba(74, 46, 12, 0.28);
  animation: float 5s ease-in-out infinite;
}

.floating-card-top {
  top: 27px;
  right: -13px;
}

.floating-card-bottom {
  bottom: 12px;
  left: -18px;
  animation-delay: -2.2s;
}

.floating-card > div {
  display: grid;
  flex: 1;
}

.floating-card small {
  color: var(--muted);
  font-size: 0.58rem;
}

.floating-card strong {
  font-size: 0.74rem;
}

.floating-card > i {
  color: var(--green);
  font-size: 0.65rem;
  font-style: normal;
  font-weight: 700;
}

.floating-icon {
  display: grid;
  place-items: center;
  width: 33px;
  height: 33px;
  border: 1px solid var(--wood);
  border-radius: 4px;
  background: linear-gradient(#fff6cf, #e4b94f);
  color: var(--ink-strong);
}

.shield-icon {
  color: #f4ffe6;
  border-color: #1b3a12;
  background: linear-gradient(#3ecb2a, #159006);
}

.proof-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 85px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.proof-bar div {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 25px 26px;
  border-right: 1px solid var(--line);
}

.proof-bar div:first-child { padding-left: 0; }
.proof-bar div:last-child { border: 0; }

.proof-bar strong {
  color: var(--sea);
  font-family: Georgia, serif;
  font-size: 1.45rem;
  font-weight: 400;
}

.proof-bar span {
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.35;
  text-transform: uppercase;
}

.section {
  position: relative;
  padding: 140px 0;
}

.section-heading {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  align-items: end;
  gap: 80px;
  margin-bottom: 60px;
}

.section h2 {
  font-size: clamp(2.8rem, 5.3vw, 5.2rem);
}

.section-heading > p,
.workflow-copy > p,
.security-copy > p,
.faq-heading > p {
  margin: 0;
  color: var(--muted-bright);
  line-height: 1.8;
}

.modules-section {
  background:
    radial-gradient(circle at 83% 43%, rgba(255, 251, 234, 0.75), transparent 30rem),
    linear-gradient(to bottom, var(--parchment), var(--parchment-deep) 50%, var(--parchment));
}

.module-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.module-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 315px;
  padding: 28px;
  overflow: hidden;
  border: 2px solid var(--wood-dark);
  border-radius: 5px;
  background: linear-gradient(160deg, #fffaea, #f2ddaf);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.9), 0 0 0 2px rgba(101, 69, 28, 0.55), 0 8px 20px rgba(74, 46, 12, 0.15);
  transition: transform 220ms ease, box-shadow 220ms ease, background 220ms ease;
}

.module-card:hover {
  background: linear-gradient(160deg, #fffdf3, #f7e6bd);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.95), 0 0 0 2px rgba(101, 69, 28, 0.85), 0 16px 32px rgba(74, 46, 12, 0.22);
  transform: translateY(-5px);
}

.module-featured {
  grid-column: span 2;
  background:
    radial-gradient(circle at 88% 40%, rgba(255, 255, 255, 0.75), transparent 16rem),
    linear-gradient(160deg, #fffaea, #efd6a2);
}

.module-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin-bottom: 40px;
  border: 1px solid var(--wood);
  border-radius: 4px;
  background: linear-gradient(#fff6cf, #e4b94f);
  box-shadow: inset 0 1px #fff7d2, 0 1px 0 rgba(74, 46, 12, 0.35);
  color: var(--ink-strong);
  font-size: 1.2rem;
}

.module-number {
  position: absolute;
  top: 28px;
  right: 28px;
  color: rgba(101, 69, 28, 0.42);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.15em;
}

.module-card h3 {
  margin: 0;
  font-family: Georgia, serif;
  font-size: 1.55rem;
  font-weight: 400;
  letter-spacing: -0.025em;
}

.module-card p {
  max-width: 620px;
  margin: 12px 0 20px;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.72;
}

.module-tag {
  margin-top: auto;
  color: var(--gold);
  font-size: 0.62rem;
  font-weight: 750;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.mini-chart {
  position: absolute;
  right: 35px;
  bottom: 34px;
  display: flex;
  align-items: end;
  gap: 6px;
  width: 200px;
  height: 90px;
  padding: 10px;
  border-bottom: 1px solid rgba(101, 69, 28, 0.4);
}

.mini-chart span {
  flex: 1;
  height: var(--bar);
  border: 1px solid rgba(101, 69, 28, 0.55);
  border-bottom: 0;
  border-radius: 2px 2px 0 0;
  background: linear-gradient(to top, rgba(190, 139, 54, 0.55), rgba(255, 237, 174, 0.95));
}

.mini-chart span:nth-child(1) { --bar: 34%; }
.mini-chart span:nth-child(2) { --bar: 52%; }
.mini-chart span:nth-child(3) { --bar: 46%; }
.mini-chart span:nth-child(4) { --bar: 72%; }
.mini-chart span:nth-child(5) { --bar: 88%; }
.mini-chart span:nth-child(6) { --bar: 68%; }
.mini-chart span:nth-child(7) { --bar: 96%; }

.workflow-section {
  overflow: hidden;
}

.workflow-section::before {
  position: absolute;
  z-index: -1;
  top: 12%;
  right: -10%;
  width: 600px;
  height: 600px;
  border: 1px solid rgba(101, 69, 28, 0.1);
  border-radius: 50%;
  box-shadow: 0 0 0 90px rgba(101, 69, 28, 0.03), 0 0 0 180px rgba(101, 69, 28, 0.02);
  content: "";
}

.workflow-grid {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  align-items: start;
  gap: 90px;
}

.workflow-copy {
  position: sticky;
  top: 130px;
}

.workflow-copy > p {
  margin-top: 28px;
}

.check-list {
  display: grid;
  gap: 12px;
  margin: 28px 0 0;
  padding: 0;
  color: var(--muted-bright);
  font-size: 0.82rem;
  list-style: none;
}

.check-list span {
  display: inline-grid;
  place-items: center;
  width: 21px;
  height: 21px;
  margin-right: 10px;
  border: 1px solid #1b3a12;
  border-radius: 50%;
  background: linear-gradient(#3ecb2a, #159006);
  color: #f4ffe6;
  font-size: 0.7rem;
}

.workflow-steps {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.workflow-steps li {
  position: relative;
  display: grid;
  grid-template-columns: 80px 1fr 28px;
  align-items: center;
  min-height: 175px;
  padding: 30px 12px;
  border-bottom: 1px solid var(--line);
}

.workflow-steps li:first-child {
  border-top: 1px solid var(--line);
}

.step-number {
  color: var(--gold);
  font-family: Georgia, serif;
  font-size: 1.6rem;
}

.workflow-steps small {
  color: var(--gold);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.workflow-steps h3 {
  margin: 2px 0 6px;
  font-family: Georgia, serif;
  font-size: 1.7rem;
  font-weight: 400;
}

.workflow-steps p {
  max-width: 560px;
  margin: 0;
  color: var(--muted);
  font-size: 0.84rem;
}

.workflow-steps i {
  color: rgba(101, 69, 28, 0.45);
  font-size: 1.4rem;
  font-style: normal;
  transform: rotate(90deg);
}

.security-section {
  padding-top: 70px;
}

.security-card {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  align-items: center;
  min-height: 620px;
  padding: 70px;
  overflow: hidden;
  border: 2px solid var(--wood-dark);
  border-radius: 6px;
  background:
    radial-gradient(circle at 22% 52%, rgba(255, 255, 255, 0.7), transparent 24rem),
    linear-gradient(130deg, #fdf4dc, #ecd4a4);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.9), 0 0 0 2px rgba(101, 69, 28, 0.7), var(--shadow);
}

.security-orbit {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 380px;
}

.orbit {
  position: absolute;
  border: 1px solid rgba(101, 69, 28, 0.3);
  border-radius: 50%;
}

.orbit::after {
  position: absolute;
  top: 50%;
  left: -4px;
  width: 8px;
  height: 8px;
  border: 1px solid var(--wood-dark);
  border-radius: 50%;
  background: linear-gradient(#fff6cf, #e0aa38);
  box-shadow: 0 2px 6px rgba(74, 46, 12, 0.4);
  content: "";
}

.orbit-one {
  width: 285px;
  height: 285px;
  animation: spin 14s linear infinite;
}

.orbit-two {
  width: 205px;
  height: 205px;
  border-style: dashed;
  animation: spin 10s linear infinite reverse;
}

.security-core {
  display: grid;
  place-items: center;
  width: 112px;
  height: 112px;
  border: 2px solid var(--wood-dark);
  border-radius: 10px;
  background: linear-gradient(160deg, #1a5c8b, #0c2740);
  box-shadow: 0 0 0 2px rgba(101, 69, 28, 0.9), 0 14px 30px rgba(74, 46, 12, 0.35), inset 0 0 26px rgba(0, 0, 0, 0.55);
  color: var(--gold-bright);
  font-size: 3rem;
  transform: rotate(45deg);
}

.security-core span {
  transform: rotate(-45deg);
}

.security-copy > p {
  max-width: 650px;
  margin-top: 24px;
}

.security-points {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 26px 38px;
  margin-top: 35px;
}

.security-points div {
  display: grid;
  gap: 5px;
  padding-left: 15px;
  border-left: 3px solid var(--wood-light);
}

.security-points strong {
  font-size: 0.9rem;
}

.security-points span {
  color: var(--muted);
  font-size: 0.77rem;
  line-height: 1.55;
}

.trial-section {
  padding-bottom: 110px;
}

.trial-card {
  position: relative;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  align-items: center;
  min-height: 470px;
  padding: 75px 85px;
  overflow: hidden;
  border: 2px solid var(--wood-dark);
  border-radius: 6px;
  background:
    linear-gradient(rgba(247, 218, 128, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(247, 218, 128, 0.05) 1px, transparent 1px),
    linear-gradient(125deg, #16537f, #0f3a5c 55%, #0a2136);
  background-size: 44px 44px, 44px 44px, auto;
  color: #fdf2d2;
  box-shadow: 0 0 0 2px rgba(101, 69, 28, 0.9), inset 0 0 0 1px rgba(247, 218, 128, 0.4), 0 28px 60px rgba(74, 46, 12, 0.3);
}

.trial-card::after {
  position: absolute;
  top: -50%;
  right: -10%;
  width: 500px;
  height: 500px;
  border: 1px solid rgba(247, 218, 128, 0.14);
  border-radius: 50%;
  box-shadow: 0 0 0 60px rgba(247, 218, 128, 0.04), 0 0 0 120px rgba(247, 218, 128, 0.025);
  content: "";
}

.trial-copy {
  position: relative;
  z-index: 2;
}

.trial-copy .kicker {
  color: var(--gold-bright);
}

.trial-copy h2 {
  margin-top: 16px;
  font-size: clamp(2.9rem, 5vw, 4.9rem);
}

.trial-copy p {
  max-width: 620px;
  margin: 24px 0 28px;
  color: rgba(253, 242, 210, 0.82);
}

.button-light {
  border-color: var(--wood-dark);
  background: linear-gradient(var(--gold-pale), #e0aa38);
  color: var(--ink-strong);
  text-shadow: 0 1px 0 rgba(255, 255, 235, 0.6);
  box-shadow: inset 0 1px rgba(255, 255, 235, 0.85), 0 3px 0 rgba(20, 12, 3, 0.45), 0 12px 26px rgba(0, 0, 0, 0.3);
}

.trial-copy > small {
  display: block;
  margin-top: 16px;
  color: rgba(253, 242, 210, 0.66);
  font-size: 0.7rem;
}

.trial-time {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: center;
  padding-left: 50px;
  border-left: 1px solid rgba(247, 218, 128, 0.28);
  line-height: 1;
  color: var(--gold-bright);
}

.trial-time strong {
  font-family: Georgia, serif;
  font-size: clamp(7rem, 13vw, 11rem);
  font-weight: 400;
  letter-spacing: -0.08em;
}

.trial-time span {
  margin-top: -4px;
  font-family: Georgia, serif;
  font-size: 2.2rem;
}

.trial-time i {
  margin-top: 20px;
  padding: 7px 12px;
  border: 1px solid rgba(247, 218, 128, 0.35);
  border-radius: 100px;
  color: #fdf2d2;
  font-size: 0.65rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.faq-section {
  background: linear-gradient(var(--parchment), var(--parchment-deep));
  border-block: 1px solid rgba(101, 69, 28, 0.25);
}

.faq-grid {
  display: grid;
  grid-template-columns: 0.65fr 1.35fr;
  align-items: start;
  gap: 100px;
}

.faq-heading {
  position: sticky;
  top: 125px;
}

.faq-heading > p {
  margin-top: 25px;
}

.faq-list {
  border-top: 1px solid var(--line);
}

.faq-list details {
  border-bottom: 1px solid var(--line);
}

.faq-list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 28px 4px;
  cursor: pointer;
  font-family: Georgia, serif;
  font-size: 1.3rem;
  list-style: none;
}

.faq-list summary::-webkit-details-marker {
  display: none;
}

.faq-list summary span {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border: 1px solid var(--wood);
  border-radius: 50%;
  background: linear-gradient(#fff6cf, #e4b94f);
  color: var(--ink-strong);
  font-family: system-ui, sans-serif;
  font-size: 1rem;
  transition: transform 180ms ease;
}

.faq-list details[open] summary span {
  transform: rotate(45deg);
}

.faq-list details p {
  max-width: 730px;
  margin: -5px 50px 28px 4px;
  color: var(--muted);
  font-size: 0.9rem;
}

.site-footer {
  padding: 80px 0 30px;
  border-top: 3px solid var(--wood-dark);
  background:
    linear-gradient(rgba(247, 218, 128, 0.07), transparent 240px),
    linear-gradient(160deg, #123f60, #0a2136);
  color: #e8d6ab;
  box-shadow: inset 0 3px 0 rgba(190, 139, 54, 0.65);
}

.site-footer .brand strong { color: var(--gold-bright); }
.site-footer .brand-mark { box-shadow: inset 0 1px rgba(255, 255, 235, 0.85), 0 2px 6px rgba(0, 0, 0, 0.45); }

.footer-main {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 80px;
  padding-bottom: 65px;
}

.footer-main > div:first-child p {
  max-width: 350px;
  margin-top: 20px;
  color: rgba(232, 214, 171, 0.72);
  font-size: 0.85rem;
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.footer-links div {
  display: grid;
  align-content: start;
  gap: 11px;
  color: rgba(232, 214, 171, 0.78);
  font-size: 0.78rem;
}

.footer-links strong {
  margin-bottom: 5px;
  color: var(--gold-bright);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.footer-links a:hover {
  color: #fff3cf;
}

.footer-links span {
  opacity: 0.58;
}

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding-top: 28px;
  border-top: 1px solid rgba(247, 218, 128, 0.2);
  color: rgba(232, 214, 171, 0.7);
  font-size: 0.66rem;
}

.footer-bottom p {
  margin: 0;
  text-align: right;
}

.footer-bottom a:hover {
  color: var(--gold-bright);
}

.legal-body .site-header {
  position: relative;
  border-bottom: 2px solid var(--wood-dark);
  background: rgba(248, 236, 201, 0.92);
}

.legal-nav {
  min-height: 78px;
}

.legal-home-link {
  color: var(--muted-bright);
  font-size: 0.78rem;
  font-weight: 700;
}

.legal-home-link:hover {
  color: var(--sea);
}

.legal-main {
  padding: 90px 0 130px;
}

.legal-hero {
  max-width: 870px;
}

.legal-hero h1 {
  max-width: 800px;
  margin: 18px 0 24px;
  font-family: Georgia, serif;
  font-size: clamp(3.25rem, 8vw, 6.8rem);
  font-weight: 400;
  line-height: 0.94;
  letter-spacing: -0.055em;
}

.legal-hero h1 span,
.legal-content a {
  color: var(--sea);
}

.legal-hero p {
  max-width: 740px;
  margin: 0;
  color: var(--muted-bright);
  font-size: 1.02rem;
  line-height: 1.8;
}

.legal-updated {
  display: block;
  margin-top: 20px;
  color: var(--muted);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.legal-layout {
  display: grid;
  grid-template-columns: 230px minmax(0, 760px);
  gap: 80px;
  align-items: start;
  margin-top: 75px;
}

.legal-toc {
  position: sticky;
  top: 28px;
  display: grid;
  gap: 10px;
  padding: 22px;
  border: 2px solid var(--wood-dark);
  border-radius: 5px;
  background: linear-gradient(#fffaea, #f2ddaf);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.9), 0 0 0 2px rgba(101, 69, 28, 0.5);
}

.legal-toc strong {
  margin-bottom: 5px;
  color: var(--gold);
  font-size: 0.67rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.legal-toc a {
  color: var(--muted);
  font-size: 0.78rem;
}

.legal-toc a:hover {
  color: var(--sea);
}

.legal-content {
  display: grid;
  gap: 52px;
}

.legal-content section {
  scroll-margin-top: 28px;
  padding-bottom: 52px;
  border-bottom: 1px solid var(--line);
}

.legal-content section:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.legal-content h2 {
  margin: 0 0 18px;
  font-family: Georgia, serif;
  font-size: clamp(1.8rem, 4vw, 2.55rem);
  font-weight: 400;
  line-height: 1.1;
}

.legal-content h3 {
  margin: 28px 0 8px;
  font-size: 0.95rem;
}

.legal-content p,
.legal-content li {
  color: var(--muted-bright);
  font-size: 0.91rem;
  line-height: 1.8;
}

.legal-content p {
  margin: 12px 0 0;
}

.legal-content ul {
  display: grid;
  gap: 8px;
  margin: 16px 0 0;
  padding-left: 22px;
}

.legal-notice {
  padding: 20px 22px;
  border: 1px solid var(--wood);
  border-left: 5px solid var(--wood-light);
  border-radius: 4px;
  background: linear-gradient(rgba(255, 246, 207, 0.9), rgba(240, 214, 150, 0.75));
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.8);
}

.legal-notice strong {
  color: var(--ink-strong);
}

.development-login-layout {
  width: min(100%, 620px);
  margin-top: 56px;
}

.development-login-card {
  padding: clamp(24px, 5vw, 38px);
  border: 2px solid var(--wood-dark);
  border-radius: 5px;
  background: linear-gradient(160deg, #fffaea, #f2ddaf);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.9), 0 0 0 2px rgba(101, 69, 28, 0.6), var(--shadow);
}

.development-login-card form {
  display: grid;
  gap: 16px;
}

.development-login-card label {
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.development-login-card input {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid var(--wood);
  border-radius: 3px;
  color: var(--ink-strong);
  background: linear-gradient(#fffdf4, #f6e6bd);
  box-shadow: inset 0 1px 2px rgba(74, 46, 12, 0.25);
}

.development-login-card .button {
  justify-self: start;
  margin-top: 6px;
}

.legal-footer {
  padding-top: 30px;
}

.toast {
  position: fixed;
  z-index: 200;
  right: 22px;
  bottom: 22px;
  display: flex;
  align-items: start;
  gap: 20px;
  width: min(430px, calc(100vw - 44px));
  padding: 17px 18px;
  border: 2px solid var(--wood-dark);
  border-radius: 5px;
  background: linear-gradient(#fffaea, #f2ddaf);
  color: var(--ink);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.9), 0 0 0 2px rgba(162, 20, 11, 0.5), var(--shadow);
}

.toast[hidden] {
  display: none;
}

.toast > div {
  display: grid;
  gap: 3px;
}

.toast strong {
  font-size: 0.84rem;
}

.toast span {
  color: var(--muted-bright);
  font-size: 0.76rem;
  line-height: 1.5;
}

.toast button {
  margin-left: auto;
  padding: 0;
  border: 0;
  background: none;
  color: var(--muted);
  cursor: pointer;
  font-size: 1.3rem;
}

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

.js .reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 650ms ease, transform 650ms ease;
}

.js .reveal.is-visible {
  opacity: 1;
  transform: none;
}

@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(21, 144, 6, 0.45); }
  50% { box-shadow: 0 0 0 7px rgba(21, 144, 6, 0); }
}

@keyframes routeTravel {
  from { left: 0; opacity: 0; }
  15%, 85% { opacity: 1; }
  to { left: 100%; opacity: 0; }
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-9px); }
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 1020px) {
  .site-nav { gap: 18px; }
  .site-nav > a:not(.button):nth-child(3),
  .site-nav > a:not(.button):nth-child(4) { display: none; }
  .hero { padding-top: 135px; }
  .hero-grid { grid-template-columns: 1fr; gap: 35px; }
  .hero-copy { max-width: 770px; }
  .command-visual { width: min(680px, 100%); margin: 0 auto; }
  .proof-bar { margin-top: 45px; }
  .module-grid { grid-template-columns: repeat(2, 1fr); }
  .workflow-grid { grid-template-columns: 1fr; gap: 60px; }
  .workflow-copy, .faq-heading { position: static; }
  .security-card { grid-template-columns: 1fr; padding: 50px; }
  .security-orbit { min-height: 330px; }
  .trial-card { padding: 60px; }
  .faq-grid { grid-template-columns: 1fr; gap: 60px; }
}

@media (max-width: 760px) {
  :root { --shell: min(100% - 28px, 1160px); --radius: 20px; }
  html { scroll-padding-top: 72px; }
  .nav-shell { min-height: 68px; }
  .brand { font-size: 0.77rem; letter-spacing: 0.08em; }
  .brand-mark { width: 34px; height: 34px; }
  .nav-toggle { display: block; }
  .nav-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .site-nav {
    position: fixed;
    top: 68px;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 25px 24px;
    border-bottom: 2px solid var(--wood-dark);
    background: rgba(248, 236, 201, 0.98);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-12px);
    transition: opacity 180ms ease, transform 180ms ease;
  }
  .site-nav.is-open { opacity: 1; pointer-events: auto; transform: none; }
  .site-nav > a:not(.button),
  .site-nav > a:not(.button):nth-child(3),
  .site-nav > a:not(.button):nth-child(4) {
    display: block;
    margin: 0;
    padding: 15px 4px;
    border-bottom: 1px solid var(--line);
    font-size: 1rem;
  }
  .site-nav .button { margin-top: 22px; }
  .hero { min-height: auto; padding-top: 120px; }
  .hero h1 { font-size: clamp(3.5rem, 17vw, 5rem); }
  .hero-lead { margin-top: 24px; font-size: 0.97rem; }
  .hero-actions { display: grid; }
  .hero-facts { display: grid; gap: 8px; }
  .command-visual { min-height: 500px; margin-top: 15px; padding: 58px 0 55px; }
  .command-card { transform: none; }
  .map-stage { height: 275px; }
  .floating-card-top { top: 12px; right: -5px; }
  .floating-card-bottom { bottom: 6px; left: -4px; }
  .command-stats div { padding-inline: 7px; }
  .command-stats span { font-size: 0.5rem; }
  .command-stats strong { font-size: 1.05rem; }
  .proof-bar { grid-template-columns: repeat(2, 1fr); }
  .proof-bar div { padding: 18px 13px; }
  .proof-bar div:first-child { padding-left: 13px; }
  .proof-bar div:nth-child(2) { border-right: 0; }
  .proof-bar div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .section { padding: 95px 0; }
  .section-heading { grid-template-columns: 1fr; gap: 28px; margin-bottom: 40px; }
  .section h2 { font-size: clamp(2.75rem, 14vw, 4rem); }
  .module-grid { grid-template-columns: 1fr; }
  .module-featured { grid-column: auto; min-height: 390px; }
  .mini-chart { right: 20px; bottom: 28px; width: 170px; }
  .workflow-steps li { grid-template-columns: 55px 1fr; }
  .workflow-steps i { display: none; }
  .workflow-steps h3 { font-size: 1.4rem; }
  .security-card { padding: 35px 22px; border-radius: 24px; }
  .security-orbit { min-height: 290px; transform: scale(0.85); }
  .security-points { grid-template-columns: 1fr; gap: 20px; }
  .trial-card { grid-template-columns: 1fr; gap: 45px; padding: 45px 25px; border-radius: 24px; }
  .trial-time { padding: 35px 0 0; border-top: 1px solid rgba(247, 218, 128, 0.28); border-left: 0; }
  .trial-time strong { font-size: 8rem; }
  .faq-list summary { font-size: 1.1rem; }
  .footer-main { grid-template-columns: 1fr; gap: 50px; }
  .footer-links { grid-template-columns: repeat(2, 1fr); }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .footer-bottom p { text-align: left; }
  .legal-main { padding: 55px 0 90px; }
  .legal-hero h1 { font-size: clamp(3rem, 15vw, 4.7rem); }
  .legal-layout { grid-template-columns: 1fr; gap: 45px; margin-top: 55px; }
  .legal-toc { position: static; }
}

@media (max-width: 430px) {
  .eyebrow { font-size: 0.61rem; }
  .command-visual { min-height: 465px; }
  .floating-card { min-width: 160px; padding: 9px 10px; }
  .plan-chip { display: none; }
  .map-art img { object-position: 64% center; }
  .proof-bar strong { font-size: 1.2rem; }
  .proof-bar span { font-size: 0.58rem; }
  .footer-links { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .js .reveal { opacity: 1; transform: none; }
}

@media (prefers-contrast: more) {
  :root { --muted: #5a4526; --line: rgba(60, 38, 10, 0.55); --line-strong: rgba(60, 38, 10, 0.8); }
  .button-ghost, .module-card, .security-card { border-width: 2px; }
}

.dashboard-body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 80% 5%, rgba(190, 214, 226, 0.5), transparent 30rem),
    radial-gradient(circle at 15% 60%, rgba(255, 250, 230, 0.8), transparent 28rem),
    var(--parchment);
  background-attachment: fixed;
}

.dashboard-header {
  position: relative;
  border-bottom: 2px solid var(--wood-dark);
  background: var(--wood-bar);
  box-shadow: 0 4px 14px rgba(37, 21, 6, 0.35);
}

.dashboard-header .brand {
  color: #ffe9a6;
  text-shadow: 1px 1px 1px #000;
}

.dashboard-header .brand strong {
  color: var(--gold-bright);
}

.dashboard-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 56px;
}

.dashboard-identity {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.dashboard-hello {
  color: #ffe9a6;
  font-size: 0.78rem;
  text-shadow: 1px 1px 1px #000;
  white-space: nowrap;
}

.dashboard-hello strong {
  color: var(--gold-bright);
}

.dashboard-signout {
  padding: 8px 14px;
  border: 1px solid var(--wood-dark);
  border-radius: 3px;
  background: linear-gradient(#fff2c2, #d9ad48);
  color: var(--ink-strong);
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: inset 0 1px rgba(255, 255, 235, 0.8), 0 1px 0 rgba(0, 0, 0, 0.45);
}

.dashboard-signout:hover {
  background: linear-gradient(#fff8d8, #e6bd5a);
}

.dashboard-main {
  padding-block: 22px 32px;
}

.dashboard-welcome {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 20px;
}

.dashboard-welcome h1 {
  margin: 6px 0 6px;
  font-family: Georgia, serif;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.dashboard-welcome h1 span {
  color: var(--gold);
}

.dashboard-welcome p {
  max-width: 690px;
  margin: 0;
  color: var(--muted-bright);
}

.account-badge {
  flex: 0 0 auto;
  max-width: 320px;
  padding: 9px 14px;
  overflow: hidden;
  border: 1px solid var(--wood);
  border-radius: 100px;
  background: rgba(255, 249, 227, 0.85);
  color: var(--sea);
  font-size: 0.72rem;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  align-items: start;
  gap: 12px;
}

.dashboard-card {
  position: relative;
  padding: 14px 16px;
  border: 1px solid var(--wood-dark);
  border-radius: 4px;
  background: linear-gradient(160deg, #fffaea, #f2ddaf);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.9), 0 0 0 1px rgba(101, 69, 28, 0.32), 0 3px 10px rgba(74, 46, 12, 0.12);
}

.access-card {
  background:
    radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.8), transparent 12rem),
    linear-gradient(160deg, #fffdf3, #f0d7a5);
}

.dashboard-label {
  display: block;
  margin-bottom: 6px;
  color: var(--gold);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.dashboard-card strong {
  display: block;
  font-family: Georgia, serif;
  font-size: 1.05rem;
  font-weight: 400;
}

.dashboard-card p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 0.8rem;
}

.dashboard-soon {
  position: absolute;
  right: 24px;
  bottom: 22px;
  color: var(--gold);
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.dashboard-action,
.dashboard-download,
.dashboard-link-code button,
.dashboard-device-row button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--wood-dark);
  border-radius: 3px;
  background: linear-gradient(#fff2c2, #d9ad48);
  color: var(--ink-strong);
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  padding: 0.6rem 0.85rem;
  box-shadow: inset 0 1px rgba(255, 255, 235, 0.85), 0 1px 0 rgba(74, 46, 12, 0.4);
}

.dashboard-action:hover,
.dashboard-download:hover,
.dashboard-link-code button:hover,
.dashboard-device-row button:hover {
  background: linear-gradient(#fff8d8, #e6bd5a);
}

.dashboard-action,
.dashboard-download { align-self: flex-start; margin-top: auto; }
.dashboard-action:disabled,
.dashboard-device-row button:disabled { cursor: wait; opacity: 0.65; }
.dashboard-download {
  margin-top: 0.7rem;
  text-decoration: none;
}
.dashboard-download[aria-disabled="true"] {
  cursor: wait;
  opacity: 0.55;
  pointer-events: none;
}
.dashboard-link-code { margin-top: 0.6rem; }
.dashboard-link-code label,
.dashboard-link-code small { color: var(--muted); display: block; font-size: 0.78rem; }
.dashboard-link-code > div { display: flex; gap: 0.5rem; margin: 0.4rem 0; }
.dashboard-link-code input {
  min-width: 0;
  flex: 1;
  border: 1px solid var(--wood);
  border-radius: 3px;
  background: linear-gradient(#fffdf4, #f6e6bd);
  box-shadow: inset 0 1px 2px rgba(74, 46, 12, 0.25);
  color: var(--ink-strong);
  font: 0.78rem ui-monospace, SFMono-Regular, Consolas, monospace;
  padding: 0.6rem;
}
.dashboard-device-list {
  display: grid;
  align-content: start;
  margin-top: 6px;
  max-height: 232px;
  overflow-y: auto;
  border: 1px solid rgba(101, 69, 28, 0.3);
  border-radius: 4px;
  background: rgba(255, 250, 232, 0.6);
}
.dashboard-device-list > p { margin: 0; padding: 12px; color: var(--muted); font-size: 0.8rem; }
.dashboard-device-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border-top: 1px solid rgba(101, 69, 28, 0.2);
  padding: 7px 10px;
}
.dashboard-device-row:first-child { border-top: 0; }
.dashboard-device-row div { display: grid; gap: 0; min-width: 0; }
.dashboard-device-row strong {
  font: 600 0.84rem/1.35 inherit;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dashboard-device-row span {
  color: var(--muted);
  font-size: 0.72rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dashboard-device-row button { padding: 3px 9px; font-size: 0.72rem; }

.trial-progress {
  position: absolute;
  right: 28px;
  bottom: 28px;
  left: 28px;
  height: 6px;
  overflow: hidden;
  border: 1px solid var(--wood);
  border-radius: 3px;
  background: rgba(101, 69, 28, 0.2);
  color: var(--green);
  appearance: none;
}

.trial-progress::-webkit-progress-bar {
  border-radius: inherit;
  background: rgba(101, 69, 28, 0.2);
}

.trial-progress::-webkit-progress-value {
  border-radius: inherit;
  background: linear-gradient(#3ecb2a, #159006);
}

.trial-progress::-moz-progress-bar {
  border-radius: inherit;
  background: linear-gradient(#3ecb2a, #159006);
}

.dashboard-card-wide {
  grid-column: 1 / -1;
  min-height: 220px;
}

.dashboard-card-wide .dashboard-label {
  margin-bottom: 25px;
}

.dashboard-installer-card {
  background: linear-gradient(160deg, #fffdf3, #f0d7a5);
}

.dashboard-installer-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(320px, 1.15fr);
  gap: 36px;
}

.dashboard-compatibility {
  margin-top: 16px;
}

.dashboard-build-metadata {
  display: grid;
  gap: 1px;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--wood);
  border-radius: 3px;
  background: var(--wood);
}

.dashboard-build-metadata div {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 12px;
  padding: 11px 13px;
  background: rgba(255, 250, 232, 0.94);
}

.dashboard-build-metadata dt {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dashboard-build-metadata dd {
  min-width: 0;
  margin: 0;
  color: var(--muted-bright);
  font-size: 0.78rem;
  overflow-wrap: anywhere;
}

.dashboard-build-metadata code,
.dashboard-install-steps code {
  padding: 1px 5px;
  border: 1px solid rgba(101, 69, 28, 0.3);
  border-radius: 3px;
  background: rgba(255, 246, 207, 0.85);
  color: var(--sea);
  font: 0.76rem ui-monospace, SFMono-Regular, Consolas, monospace;
}

.dashboard-install-steps {
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}

.dashboard-install-steps h2 {
  margin: 0;
  font: 400 1.25rem Georgia, serif;
}

.dashboard-install-steps ol {
  display: grid;
  gap: 8px;
  margin: 14px 0;
  padding-left: 1.3rem;
  color: var(--muted-bright);
  font-size: 0.82rem;
  line-height: 1.6;
}

.dashboard-module-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.45fr);
  gap: 28px;
  align-items: end;
}

.dashboard-module-heading label,
.dashboard-module-form label {
  color: var(--muted-bright);
  font-size: 0.78rem;
}

.dashboard-module {
  margin-top: 26px;
  padding: 24px 26px;
  border: 2px solid var(--wood-dark);
  border-radius: 5px;
  background: linear-gradient(160deg, #fffaea, #f2ddaf);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.9), 0 0 0 2px rgba(101, 69, 28, 0.55), 0 6px 16px rgba(74, 46, 12, 0.15);
}

.dashboard-module h2 {
  margin: 6px 0 0;
  font: 400 1.5rem Georgia, serif;
}

.dashboard-module-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.dashboard-module .dashboard-label { margin-bottom: 0; }

.dashboard-module-heading select,
.dashboard-module-fields input,
.dashboard-module-form input:not([type="checkbox"]),
.dashboard-module-form select {
  width: 100%;
  box-sizing: border-box;
  margin-top: 7px;
  padding: 9px 10px;
  border: 1px solid var(--wood);
  border-radius: 3px;
  background: linear-gradient(#fffdf4, #f6e6bd);
  box-shadow: inset 0 1px 2px rgba(74, 46, 12, 0.22);
  color: var(--ink-strong);
  font-weight: 600;
}

.dashboard-module-form {
  display: grid;
  gap: 18px;
  margin-top: 26px;
  padding: 20px;
  border: 1px solid rgba(101, 69, 28, 0.4);
  border-radius: 4px;
  background: rgba(255, 251, 236, 0.6);
}

.dashboard-toggle { display: flex; align-items: center; gap: 10px; }
.dashboard-toggle input { width: 18px; height: 18px; accent-color: var(--green); }
.dashboard-module-fields { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.dashboard-module-fields label { position: relative; }
.dashboard-module-fields span { position: absolute; right: 11px; bottom: 10px; color: var(--muted); }
.dashboard-module-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.dashboard-module-actions .dashboard-action { margin-top: 0; }
.dashboard-module-actions small { color: var(--muted-bright); }
.dashboard-module-activity {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin: 20px 0 0;
  overflow: hidden;
  border: 1px solid var(--wood);
  border-radius: 3px;
  background: var(--wood);
}
.dashboard-module-activity div { padding: 13px; background: rgba(255, 250, 232, 0.94); }
.dashboard-module-activity dt { color: var(--gold); font-size: 0.65rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; }
.dashboard-module-activity dd { margin: 5px 0 0; color: var(--muted-bright); font-size: 0.78rem; }

.dashboard-modules {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}

.dashboard-modules span {
  padding: 6px 11px;
  border: 1px solid var(--wood);
  border-radius: 3px;
  background: rgba(255, 246, 207, 0.7);
  color: var(--muted-bright);
  font-size: 0.72rem;
  font-weight: 600;
}

/* Compact command center: status strip, disclosure sections, module bar. */
.status-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-bottom: 10px;
  overflow: hidden;
  border: 1px solid var(--wood-dark);
  border-radius: 4px;
  background: var(--wood);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.9), 0 3px 10px rgba(74, 46, 12, 0.12);
}

.status-item {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
  padding: 9px 14px;
  background: linear-gradient(160deg, #fffaea, #f4e2b9);
}

.status-label {
  color: var(--gold);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.status-item strong {
  overflow: hidden;
  font: 600 0.95rem/1.3 inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.status-item .trial-progress {
  position: static;
  width: 100%;
  height: 5px;
  margin-top: 3px;
}

.status-item .dashboard-action {
  align-self: flex-start;
  margin-top: 4px;
  padding: 3px 9px;
  font-size: 0.72rem;
}

.status-notice:empty { display: none; }
.status-notice {
  display: block;
  margin-bottom: 10px;
  padding: 8px 12px;
  border: 1px solid var(--wood);
  border-radius: 4px;
  background: rgba(255, 246, 207, 0.8);
  color: var(--muted-bright);
  font-size: 0.78rem;
}

.status-detail { margin-bottom: 10px; }
.status-detail dl { display: grid; gap: 5px; margin: 6px 0 0; }
.status-detail dl > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 12px; }
.status-detail dt {
  padding-top: 1px;
  color: var(--gold);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.status-detail dd { margin: 0; color: var(--muted-bright); font-size: 0.8rem; }

.status-detail > summary,
.card-details > summary {
  padding: 3px 0;
  color: var(--sea);
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 700;
  list-style: none;
}
.status-detail > summary::-webkit-details-marker,
.card-details > summary::-webkit-details-marker { display: none; }
.status-detail > summary::before,
.card-details > summary::before { content: "\25B8  "; }
.status-detail[open] > summary::before,
.card-details[open] > summary::before { content: "\25BE  "; }

.userscript-card,
.installs-card {
  display: flex;
  height: 100%;
  flex-direction: column;
  gap: 5px;
}

.card-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.card-head .dashboard-label { margin-bottom: 0; }
.card-version { color: var(--sea); font: 700 0.78rem ui-monospace, SFMono-Regular, Consolas, monospace; }

.card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 2px; }
.card-actions .dashboard-action,
.card-actions .dashboard-download { margin-top: 0; padding: 6px 11px; font-size: 0.8rem; }

.userscript-card .dashboard-compatibility { margin: 0; color: var(--muted); font-size: 0.76rem; }

.card-details ol {
  display: grid;
  gap: 6px;
  margin: 8px 0 0;
  padding-left: 1.2rem;
  color: var(--muted-bright);
  font-size: 0.78rem;
  line-height: 1.5;
}
.card-details p { margin: 8px 0 0; color: var(--muted); font-size: 0.78rem; }
.card-details .dashboard-build-metadata { margin-top: 8px; }
.card-details .dashboard-build-metadata div { padding: 7px 10px; }

.installs-foot { margin-top: auto; padding-top: 8px; }
.installs-foot .dashboard-action { margin-top: 0; padding: 6px 11px; font-size: 0.8rem; }

.module-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 12px;
}
.module-bar .dashboard-label { margin-bottom: 2px; }
.module-bar strong {
  color: var(--muted-bright);
  font-family: inherit;
  font-size: 0.82rem;
  font-weight: 600;
}
.module-bar .dashboard-action { margin-top: 0; }

@media (max-width: 900px) {
  .dashboard-grid { grid-template-columns: 1fr; }
  .status-strip { grid-template-columns: 1fr 1fr; }
  .dashboard-installer-grid, .dashboard-module-heading { grid-template-columns: 1fr; }
  .dashboard-module-fields { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
  .dashboard-main { padding-top: 18px; }
  .dashboard-welcome { align-items: start; flex-direction: column; }
  .account-badge { max-width: 100%; }
  .dashboard-hello { display: none; }
  .status-strip { grid-template-columns: 1fr; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-card-wide { grid-column: auto; }
  .dashboard-module-fields, .dashboard-module-activity { grid-template-columns: 1fr; }
}
.dashboard-recruiter-card fieldset { border: 1px solid rgba(101, 69, 28, .4); border-radius: 4px; padding: 14px; display: flex; gap: 18px; flex-wrap: wrap; }
.dashboard-recruiter-card fieldset label { display: flex; align-items: center; gap: 7px; }
.dashboard-recruiter-toggles { display: flex; gap: 18px; align-items: end; flex-wrap: wrap; }
.dashboard-recruiter-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.dashboard-recruiter-grid section { background: rgba(255, 250, 232, .8); border: 1px solid rgba(101, 69, 28, .35); border-radius: 4px; padding: 16px; }
.dashboard-recruiter-grid h2 { margin: 0; font-size: 1rem; }
.dashboard-unit-row { display: grid !important; grid-template-columns: auto 1fr auto 90px; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid rgba(101,69,28,.22); }
.dashboard-unit-row span { text-transform: capitalize; }
.dashboard-unit-row small { color: var(--muted); }
.dashboard-unit-row input[type=number], .dashboard-sequence-add input { width: 90px; }
.dashboard-sequence-row { display: grid; grid-template-columns: auto 1fr auto auto auto; align-items: center; gap: 8px; padding: 7px 0; }
.dashboard-sequence-add { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
@media (max-width: 760px) { .dashboard-recruiter-grid { grid-template-columns: 1fr; } .dashboard-unit-row { grid-template-columns: auto 1fr 80px; } .dashboard-unit-row small { grid-column: 2 / 4; } }
.dashboard-festival-toggles { display: flex; gap: 22px; flex-wrap: wrap; }
.dashboard-festival-fields { grid-template-columns: repeat(3, 1fr); }
.dashboard-module-help { margin: 0; color: var(--muted); font-size: .78rem; }
.dashboard-festival-table-wrap { margin-top: 20px; overflow-x: auto; border: 1px solid var(--wood); border-radius: 3px; background: rgba(255, 250, 232, .78); }
.dashboard-festival-table { width: 100%; min-width: 780px; border-collapse: collapse; font-size: .76rem; }
.dashboard-festival-table th,
.dashboard-festival-table td { padding: 11px 12px; border-bottom: 1px solid rgba(101,69,28,.22); text-align: left; }
.dashboard-festival-table th { background: linear-gradient(rgba(255,237,183,.85), rgba(240,214,150,.7)); color: var(--ink-strong); font-weight: 800; text-transform: uppercase; letter-spacing: .06em; font-size: .65rem; }
.dashboard-festival-table tr[data-festival-status="ready"] td:nth-child(3) { color: var(--green); font-weight: 700; }
.dashboard-festival-table tr[data-festival-status="needs_resources"] td:nth-child(3),
.dashboard-festival-table tr[data-festival-status="preloading"] td:nth-child(3) { color: var(--sea); font-weight: 700; }
@media (max-width: 900px) { .dashboard-festival-fields { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .dashboard-festival-fields { grid-template-columns: 1fr; } }

/* ===================== Bot Control Panel (/control) ===================== */
.control-nav-actions { display: flex; align-items: center; gap: 12px; }
.control-back { text-decoration: none; }
.control-main { padding-top: 20px; padding-bottom: 28px; }
.control-toolbar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap; margin-bottom: 10px;
}
.control-toolbar h1 { margin: 0; font-size: 1.25rem; }
.control-account-picker { display: flex; flex-direction: row; align-items: center; gap: 9px; min-width: 280px; }
.control-account-picker span { font-size: 0.66rem; letter-spacing: 0.09em; text-transform: uppercase; color: var(--gold); font-weight: 800; white-space: nowrap; }
.control-account-picker select {
  flex: 1; min-width: 0;
  padding: 6px 10px; color: var(--ink-strong); font-size: 0.85rem; font-weight: 700;
  background: linear-gradient(#fffdf4, #f6e6bd); border: 1px solid var(--wood); border-radius: 3px;
  box-shadow: inset 0 1px 2px rgba(74, 46, 12, 0.22);
}
.control-access-notice {
  margin: 0 0 10px; padding: 9px 13px; border-radius: 4px;
  border: 1px solid #7c1109; border-left-width: 5px;
  background: linear-gradient(rgba(255, 236, 232, 0.95), rgba(250, 214, 208, 0.9));
  color: #7c1109; font-weight: 600;
}

/* --- Grepolis-style window frame --- */
.control-window {
  border: 2px solid #0b0904; border-radius: 6px; overflow: hidden;
  background: #0c2740;
  box-shadow: 0 0 0 2px rgba(101, 69, 28, 0.9), 0 18px 44px rgba(0, 0, 0, 0.5);
}
.control-tabs {
  display: flex; flex-wrap: wrap; gap: 2px; padding: 6px 8px 0;
  background: linear-gradient(#be8b36, #6e4317 48%, #251506 49%, #402611);
  border-bottom: 2px solid #0b0904;
}
.control-tab {
  appearance: none; cursor: pointer; padding: 7px 14px; margin: 0;
  color: #f4e2ad; font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-weight: bold;
  text-shadow: 1px 1px 1px #000; border: 1px solid #0b0904; border-bottom: none;
  border-radius: 5px 5px 0 0;
  background: linear-gradient(#3a2a12, #21160a);
  box-shadow: inset 0 1px rgba(247, 218, 128, 0.25);
  transition: background 120ms ease, color 120ms ease;
}
.control-tab:hover:not(:disabled) { color: #fff3cf; background: linear-gradient(#54401d, #2c1e0c); }
.control-tab.is-active {
  color: #2b1808; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  background: linear-gradient(#ffedae, #f0c96a);
  box-shadow: inset 0 1px rgba(255, 255, 235, 0.7);
}
.control-tab:disabled { opacity: 0.55; cursor: not-allowed; }
/* Locked tabs are the subscription modules seen from the free farming tier. */
.control-tab.is-locked::after { content: " 🔒"; font-size: 0.7em; }
.control-panel-view { display: none; }
.control-panel-view.is-active { display: block; }

.control-window .bot-control-panel {
  margin: 9px; color: #f8dd89; border: 2px solid #0b0904; border-radius: 4px;
  background: linear-gradient(90deg, rgba(9,34,58,0.98), rgba(18,58,87,0.97) 52%, rgba(7,28,48,0.98)), #0c2740;
  box-shadow: inset 0 0 0 1px rgba(247, 218, 128, 0.55), inset 0 0 18px rgba(0, 0, 0, 0.75),
    0 0 0 2px rgba(101, 69, 28, 0.9), 0 6px 18px rgba(0, 0, 0, 0.45);
  overflow: hidden; font-family: Arial, Helvetica, sans-serif;
}
.control-window .bot-panel-title {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  min-height: 28px; padding: 4px 12px; color: #ffe9a6; font-size: 14px; font-weight: bold;
  text-shadow: 1px 1px 1px #000; border-bottom: 2px solid #0b0904;
  background: linear-gradient(#be8b36, #6e4317 48%, #251506 49%, #d5a23e);
}
.control-window .bot-save-state { color: #fff7c9; font-size: 11px; font-weight: bold; text-align: right; }
.control-window .bot-panel-body {
  padding: 10px 12px;
  background: linear-gradient(rgba(255, 237, 183, 0.1), rgba(0, 0, 0, 0.16)),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.03) 0, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 24px);
}
.control-window .bot-setting-row {
  display: grid; grid-template-columns: minmax(170px, 1fr) minmax(240px, 1.25fr) 98px;
  gap: 8px; align-items: center; min-height: 42px; padding: 6px 9px;
  border: 1px solid rgba(15, 9, 2, 0.95); border-bottom-color: rgba(245, 201, 90, 0.35);
  background: linear-gradient(90deg, rgba(255, 235, 174, 0.94), rgba(255, 214, 122, 0.88));
  color: #2b1808; box-shadow: inset 0 0 0 1px rgba(255, 255, 215, 0.45);
}
.control-window .bot-setting-row + .bot-setting-row { margin-top: 4px; }
.control-window .bot-setting-row.is-placeholder { opacity: 0.82; }
.control-window .bot-setting-label { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.control-window .bot-setting-name { color: #2b1808; font-size: 14px; font-weight: bold; text-shadow: 0 1px 0 rgba(255,255,255,0.5); }
.control-window .bot-setting-status {
  width: 44px; color: #fff; border: 1px solid #241003; border-radius: 2px;
  background: linear-gradient(#a90907, #6d0201); font-size: 11px; font-weight: bold; line-height: 17px;
  text-align: center; text-shadow: 1px 1px 1px #000; box-shadow: inset 0 1px rgba(255,255,255,0.3);
}
.control-window .bot-setting-status.is-on { background: linear-gradient(#24d700, #098a00); }
.control-window .bot-setting-status.is-soon { background: linear-gradient(#5a6472, #333a44); }
.control-window .bot-setting-controls { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; color: #2b1808; font-weight: 600; font-size: 13px; }
.control-window .bot-toggle-cell { display: flex; justify-content: flex-end; }

/* toggle switch */
.control-window .bot-toggle-input { position: absolute; opacity: 0; pointer-events: none; }
.control-window .bot-toggle {
  position: relative; display: block; width: 82px; height: 27px; cursor: pointer;
  border: 2px solid #f8f8f8; border-radius: 16px; background: linear-gradient(#f50000, #c70000);
  box-shadow: inset 0 1px 4px rgba(0,0,0,0.42), 0 0 0 1px rgba(0,0,0,0.85), 0 2px 5px rgba(0,0,0,0.35);
  transition: background 140ms ease;
}
.control-window .bot-toggle:before { content: "OFF"; position: absolute; left: 10px; top: 5px; color: #fff; font-size: 14px; line-height: 14px; text-shadow: 1px 1px 1px rgba(0,0,0,0.65); }
.control-window .bot-toggle:after {
  content: ""; position: absolute; right: 3px; top: 3px; width: 19px; height: 19px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.9);
  background: radial-gradient(circle at 68% 38%, #fff 0, #fff 24%, #e8e8e8 25%, #c8c8c8 64%, #f7f7f7 100%);
  box-shadow: -4px 0 10px rgba(0,0,0,0.25), inset 0 1px 2px #fff; transition: right 140ms ease;
}
.control-window .bot-toggle-input:checked + .bot-toggle { background: linear-gradient(#21ee00, #09ba00); }
.control-window .bot-toggle-input:checked + .bot-toggle:before { content: "ON"; left: auto; right: 12px; }
.control-window .bot-toggle-input:checked + .bot-toggle:after { right: 56px; }
.control-window .bot-toggle-input:disabled + .bot-toggle { opacity: 0.55; cursor: not-allowed; }

.control-window .bot-mini-toggle { display: inline-flex; align-items: center; gap: 7px; cursor: pointer; color: #2b1808; font-weight: bold; }
.control-window .bot-number-input {
  height: 24px; width: 84px; color: #211204; border: 1px solid #30200b; border-radius: 2px;
  background: linear-gradient(#fff6cf, #e4b94f); box-sizing: border-box; font-weight: bold; text-align: center;
  box-shadow: inset 0 1px #fff7d2, 0 1px 0 rgba(0,0,0,0.35);
}
.control-window .bot-select {
  height: 27px; min-width: 140px; color: #211204; border: 2px solid #30200b; border-radius: 2px;
  background: linear-gradient(#fff6cf, #e4b94f); font-weight: bold; box-shadow: inset 0 1px #fff7d2, 0 1px 0 rgba(0,0,0,0.35);
}
.control-window .bot-inline-button {
  padding: 4px 9px; border: 1px solid #30200b; border-radius: 3px; cursor: pointer;
  background: linear-gradient(#fff2c2, #d9ad48); color: #241305; font-weight: bold;
}
.control-window .bot-inline-button:hover { background: linear-gradient(#fff8d8, #e6bd5a); }
.control-window .bot-primary-button {
  padding: 8px 16px; border: 1px solid #1b3a12; border-radius: 3px; cursor: pointer;
  background: linear-gradient(#3ecb2a, #159006); color: #f4ffe6; font-weight: bold; text-shadow: 1px 1px 1px #08260a;
}
.control-window .bot-primary-button:hover { background: linear-gradient(#4ede39, #17a007); }
.control-window .bot-primary-button:disabled { opacity: 0.5; cursor: not-allowed; }
.control-window .bot-recruiter-new-disable-all {
  min-width: 92px; padding: 6px 9px; border: 1px solid #3a0b05; border-radius: 3px; cursor: pointer;
  background: linear-gradient(#bd3727, #711309); color: #fff8dc; font-weight: bold; text-shadow: 1px 1px 1px #210000;
}
.control-window .bot-recruiter-new-disable-all:disabled { opacity: 0.5; cursor: default; }

/* --- module forms inside panels --- */
.control-panel-help { margin: 0 0 12px; color: #f4e2ad; font-size: 13px; line-height: 1.45; }
.control-coming-soon { margin: 6px 2px; color: #f4e2ad; font-size: 13px; line-height: 1.5; }

/* Per-panel explanation: worth reading once, not worth permanent height. */
.control-help { margin: 0 0 10px; }
.control-help > summary {
  padding: 2px 0; color: #f8dd89; cursor: pointer; list-style: none;
  font-size: 12px; font-weight: bold; text-shadow: 1px 1px 1px #000;
}
.control-help > summary::-webkit-details-marker { display: none; }
.control-help > summary::before { content: "\25B8  "; }
.control-help[open] > summary::before { content: "\25BE  "; }
.control-help p { margin: 6px 0 0; color: #f4e2ad; font-size: 13px; line-height: 1.45; }

.control-form { display: flex; flex-direction: column; gap: 11px; color: #f4e2ad; }
.control-form > label { display: inline-flex; align-items: center; gap: 6px; color: #f4e2ad; font-weight: 600; font-size: 13px; }
.control-field-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.control-field-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.control-field-grid label { display: flex; align-items: center; gap: 6px; color: #f4e2ad; font-weight: 600; font-size: 13px; flex-wrap: wrap; }
.control-form-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.control-recruiter-toggles { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
.control-town-picker { display: inline-flex; align-items: center; gap: 8px; }
.control-fieldset { border: 1px solid rgba(247, 218, 128, 0.3); border-radius: 4px; padding: 12px 14px; display: flex; gap: 18px; flex-wrap: wrap; }
.control-fieldset legend { color: #ffe9a6; font-weight: bold; padding: 0 6px; }
.control-recruiter-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.control-recruiter-grid section { background: rgba(5, 18, 25, 0.72); border: 1px solid rgba(247, 218, 128, 0.2); border-radius: 4px; padding: 11px 12px; }
.control-recruiter-grid h2 { margin: 0 0 3px; font-size: 0.92rem; color: #ffe9a6; }
.control-recruiter-grid p { margin: 0 0 7px; font-size: 12px; color: #cdb984; }
/* Unit-target and building lists are long; they scroll instead of stretching the tab. */
.control-recruiter-units { display: flex; flex-direction: column; gap: 6px; max-height: 260px; overflow-y: auto; }
.control-unit-row { display: grid; grid-template-columns: auto 1fr 90px; align-items: center; column-gap: 10px; row-gap: 2px; color: #f4e2ad; }
.control-unit-row small { grid-column: 2 / 4; color: #cdb984; font-size: 11px; }
.control-unit-row input[type=number] { grid-row: 1; }
.control-farming-islands-section > h2 { margin: 0 0 3px; font-size: 0.92rem; color: #ffe9a6; }
.control-farming-islands-section > p { margin: 0 0 7px; font-size: 12px; color: #cdb984; }
.control-sequence-add { display: flex; gap: 8px; align-items: center; margin-top: 8px; flex-wrap: wrap; }
.control-sequence-row { display: flex; gap: 8px; align-items: center; padding: 6px 8px; margin-bottom: 6px; border: 1px solid rgba(247,218,128,0.22); border-radius: 3px; background: rgba(5, 18, 25, 0.55); color: #f4e2ad; font-size: 13px; }
.control-sequence-row span { flex: 1; }
.control-activity {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 10px 0 0;
}
.control-activity div { padding: 6px 9px; background: rgba(5, 18, 25, 0.94); border: 1px solid rgba(247,218,128,0.16); border-radius: 4px; }
.control-activity dt { color: #f8dd89; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.08em; }
.control-activity dd { margin: 2px 0 0; color: #e8f0ef; font-size: 0.74rem; word-break: break-word; }
.control-table-wrap { margin-top: 10px; max-height: 240px; overflow: auto; border: 1px solid rgba(247,218,128,0.2); border-radius: 4px; }
.control-table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 0.76rem; color: #f4e2ad; }
.control-table th, .control-table td { padding: 6px 11px; border-bottom: 1px solid rgba(247,218,128,0.14); text-align: left; }
.control-table th {
  position: sticky; top: 0; z-index: 1; background: #0c2740;
  color: #ffe9a6; text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.64rem;
}

@media (max-width: 860px) {
  .control-recruiter-grid { grid-template-columns: 1fr; }
  .control-field-grid, .control-field-grid-3 { grid-template-columns: 1fr 1fr; }
  .control-activity { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .control-main { padding-top: 16px; }
  .control-account-picker { min-width: 0; }
  .control-window .bot-setting-row { grid-template-columns: 1fr; }
  .control-window .bot-toggle-cell { justify-content: flex-start; }
  .control-field-grid, .control-field-grid-3 { grid-template-columns: 1fr; }
}

/* --- dodge target cards --- */
.control-dodge-target {
  border: 1px solid rgba(247, 218, 128, 0.24); border-radius: 4px;
  background: rgba(5, 18, 25, 0.55); padding: 12px; margin-bottom: 10px;
  display: flex; flex-direction: column; gap: 10px;
}
.control-dodge-target-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.control-dodge-cats { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 8px; }
.control-dodge-cat {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 5px 8px; border: 1px solid rgba(247, 218, 128, 0.16); border-radius: 3px;
}
.control-dodge-mod { display: inline-flex; align-items: center; gap: 5px; color: #cdb984; font-size: 12px; white-space: nowrap; }
.control-dodge-mod .bot-number-input { width: 58px; }

/* --- events / sends list + form --- */
.control-events-list { display: flex; flex-direction: column; gap: 6px; margin-bottom: 10px; max-height: 260px; overflow-y: auto; }
.control-event-row {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 9px 12px; border: 1px solid rgba(247, 218, 128, 0.22); border-radius: 4px;
  background: rgba(5, 18, 25, 0.55);
}
.control-event-row.is-off { opacity: 0.6; }
.control-event-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.control-event-info strong { color: #ffe9a6; font-size: 13px; }
.control-event-info small { color: #cdb984; font-size: 11px; }
.control-event-actions { display: flex; gap: 8px; flex-shrink: 0; }
.control-event-fields { border: 1px solid rgba(247, 218, 128, 0.18); border-radius: 4px; padding: 12px; background: rgba(5, 18, 25, 0.4); }
.control-event-units { margin-top: 10px; display: flex; flex-direction: column; gap: 8px; }
.control-event-units > div:first-child { display: flex; flex-wrap: wrap; gap: 6px; }
.control-unit-chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 3px 6px 3px 9px;
  border: 1px solid rgba(247, 218, 128, 0.24); border-radius: 12px; background: rgba(5, 18, 25, 0.7);
  color: #f4e2ad; font-size: 12px;
}
.control-unit-chip .bot-inline-button { padding: 0 6px; line-height: 18px; }
.control-datetime { width: auto; min-width: 190px; }
.control-unit-id { width: auto; min-width: 150px; text-align: left; }

/* --- construction planner v2 --- */
.control-construction-toolbar,
.control-construction-batch-heading,
.control-construction-batch-actions {
  display: flex; align-items: center; gap: 7px; flex-wrap: wrap;
}
.control-construction-toolbar { margin-bottom: 9px; }
.control-construction-toolbar label { display: inline-flex; align-items: center; gap: 6px; color: #cdb984; font-size: 12px; }
.control-construction-batches {
  display: flex; flex-direction: column; gap: 9px; max-height: 310px; overflow: auto;
  padding-right: 4px; margin: 8px 0;
}
.control-construction-batch {
  padding: 9px; border: 1px solid rgba(247, 218, 128, 0.24); border-radius: 4px;
  background: rgba(5, 18, 25, 0.58);
}
.control-construction-warning {
  margin: 0; padding: 8px 10px; border: 1px solid rgba(224, 151, 53, 0.7); border-radius: 4px;
  background: rgba(117, 58, 19, 0.35); color: #ffe9a6; font-size: 12px;
}
.control-construction-batch-heading { margin-bottom: 7px; }
.control-construction-batch-heading > input { flex: 1; min-width: 150px; color: #ffe9a6; font-weight: 700; }
.control-construction-target {
  display: grid; grid-template-columns: minmax(140px, 1.1fr) 72px minmax(230px, 2fr) auto auto auto;
  align-items: center; gap: 6px; padding: 5px 0; border-top: 1px solid rgba(247, 218, 128, 0.1);
}
.control-construction-target.is-auto { border-left: 3px solid #d9b44a; padding-left: 7px; }
.control-construction-progress { color: #cdb984; font-size: 11px; }
.control-construction-batch-actions { margin-top: 7px; }
.control-construction-town-list {
  display: flex; gap: 5px 12px; flex-wrap: wrap; max-height: 90px; overflow: auto; margin: 7px 0;
}
.control-construction-town-list label { color: #f4e2ad; font-size: 12px; white-space: nowrap; }
[data-construction-json] { width: 100%; min-height: 130px; resize: vertical; }

@media (max-width: 900px) {
  .control-construction-target { grid-template-columns: minmax(130px, 1fr) 68px repeat(3, auto); }
  .control-construction-progress { grid-column: 1 / -1; }
}
