/* Savelto: dark arcade / red edition. Loaded after the structural styles. */
:root {
  --ink: #0c090d;
  --panel: #1a1117;
  --line: #71404a88;
  --muted: #c5afb5;
  --acid: #ff706e;
  --hot: #ffad83;
  --cyan: #ff706e;
  --sv-black: #0c090d;
  --sv-panel: #1a1117;
  --sv-border: #60404a;
  --sv-text: #fff3f0;
  --sv-soft: #cdbbc0;
  --sv-lime: #ff706e;
}

body {
  color: #fff3f0;
  background: radial-gradient(circle at 8% 10%, #2a1019 0, transparent 28%),
              radial-gradient(circle at 92% 47%, #2a1118 0, transparent 30%),
              #0c090d;
}

.topline {
  height: 6px;
  background: linear-gradient(90deg, #7d1725 0 18%, #d8303c 18% 56%, #f66653 56% 84%, #ff9c76 84%);
}

.nav {
  border-bottom: 1px solid #ad4b5440;
}

.nav-links { color: #e1cdd0; }
.nav-links a,
.footer a,
.sv-jump a,
.sv-feature-card { transition: color .2s, border-color .2s, background-color .2s, box-shadow .2s; }
.nav-links .active { color: #ff827c; }
.nav-links a:hover,
.footer a:hover { color: #ff9288; }

.brand-mark {
  background: linear-gradient(145deg, #ff8176, #c92335);
  filter: drop-shadow(0 0 8px #df344266);
}

.btn {
  color: #fff;
  background: #d7323c;
  border: 1px solid #f15f62;
  box-shadow: 4px 4px 0 #621c27;
  transition: transform .2s, background-color .2s, box-shadow .2s;
}
.btn:hover {
  color: #fff;
  background: #ef4b50;
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 #621c27;
}
.btn.ghost {
  border-color: #bd666b;
  background: #160d13c9;
  box-shadow: none;
}
.btn.ghost:hover { background: #3b1722; }

.sv-kicker,
.eyebrow { color: #ff8e86; }
.sv-kicker:before,
.eyebrow:before { color: #ffb287; }
.sv-hero h1 em,
.sv-page-head h1 em,
.sv-about-head h1 em { color: #ff7770; }
.sv-text-link,
.sv-feature-content small,
.sv-feature-content b,
.sv-guide-grid span,
.sv-game-notes h3,
.sv-about-contact address span { color: #ff8980; }
.sv-text-link { border-bottom-color: #ff8980; }

.sv-hero { border-color: #70404b; }
.sv-hero>img { filter: saturate(.96) contrast(1.07); }
.sv-hero-dim {
  background: linear-gradient(90deg, #10080df7 0%, #1d0b13e8 32%, #3d0d1a79 67%, #14090b16 100%),
              linear-gradient(0deg, #120a0de0, transparent 39%);
}
.sv-image-credit { color: #f4d6d6; }
.sv-intro,
.sv-about-story { border-color: #75424a; }

.sv-feature-card {
  border-color: #6e424b;
  background: #190f15;
}
.sv-feature-card:hover,
.sv-feature-card:focus-visible {
  border-color: #ff7770;
  box-shadow: 0 0 0 1px #ff777088, 0 16px 40px #3d101a99;
}
.sv-feature-card:before {
  background: linear-gradient(0deg, #12070d 0%, #170910e8 26%, #190a1040 74%);
}
.sv-feature-content>span { color: #f0dfe0; }

.sv-wide-shot,
.sv-about-image { border-color: #71404a; }
.sv-wide-shot:before,
.sv-about-image:before {
  background: linear-gradient(90deg, #15090ff5, #2a0d19bd 42%, #17080d25 90%);
}
.sv-guide-grid article {
  background: linear-gradient(160deg, #24131b, #171016 66%);
  border-color: #62404a;
  box-shadow: inset 3px 0 0 #d53b46;
}
.sv-guide-grid p,
.sv-game-notes p,
.sv-buying p { color: #d5c1c5; }
.sv-endnote {
  background: radial-gradient(circle at 50% 0%, #58202e 0, #241019 48%, #110b11 100%);
  border-top: 1px solid #8b4b55;
}
.sv-page-head {
  border-bottom-color: #75424a;
  background: radial-gradient(circle at 88% 12%, #43172375, transparent 34%);
}
.sv-jump a {
  background: #22131a;
  border-color: #71404a;
}
.sv-jump a:hover {
  color: #fff;
  background: #9e2735;
  border-color: #f2686a;
}
.sv-game { border-bottom-color: #75424a; }
.sv-gallery a { border-color: #65404a; }
.sv-gallery a:hover,
.sv-gallery a:focus-visible { border-color: #ff807b; }
.sv-buying,
.sv-about-contact address {
  background: linear-gradient(145deg, #2b141d, #1a1117);
  border-color: #874653;
}
.sv-about-head figure {
  background: #22131b;
  border-color: #874653;
}
.sv-about-contact address div { border-bottom-color: #67404a; }
.sv-about-contact address a:hover { color: #ff8980; }

.policy-toc {
  background: #1b1118;
  border-color: #67404a;
}
.policy-toc a,
.policy-body p,
.policy-body li,
.policy-table td { color: #d3c1c6; }
.policy-toc a.subitem { color: #bda8b0; }
.policy-toc .policy-switch { color: #ff9d90; }
.page-hero .eyebrow time { white-space: nowrap; }
.policy-lead {
  background: #29151f;
  border-left-color: #eb5058;
}
.policy-body section { border-bottom-color: #63404a; }
.policy-table th { background: #2b1620; }
.policy-table th,
.policy-table td { border-color: #754650; }

.footer {
  background: #100a0f;
  border-top: 1px solid #8b404d;
}
.footer p,
.footer a { color: #cbb8bd; }
.footer h4 { color: #ffaaa2; }
.copyright {
  border-top-color: #653944;
  color: #a88c95;
}
.sv-lightbox { background: #10060aed; }
.sv-lightbox::backdrop { background: #10060aed; }
.sv-lightbox button { background: #7d202d; }
:focus-visible { outline-color: #ff8980; }

@media(max-width:760px) {
  .sv-hero-dim {
    background: linear-gradient(0deg, #12080dfb 0%, #210a14e7 33%, #2c0c186e 87%);
  }
  .sv-wide-shot:before,
  .sv-about-image:before {
    background: linear-gradient(0deg, #170910f7, #2c0c18c4 64%, #1c0a1266);
  }
}
