/* ==========================================================================
   Filibet Casino Login - tokens-responsive-2ee1cb.css
   Mobile-first phone canvas (320-430px), centered frame on wide screens.
   Palette: deep #2E4057 / mist #AFEEEE / sea #5F9EA0 / steel #999999.
   Design language: stroke-led frames, restrained corners, square CTAs,
   rounded display type over compact body type, icon-state micro motion.
   Every class and custom property carries the c1cbc8- prefix.
   ========================================================================== */

:root {
  --c1cbc8-bg: #2E4057;
  --c1cbc8-bg-sunk: #273a4f;
  --c1cbc8-bg-raise: #354963;
  --c1cbc8-bg-night: #1d2c3d;
  --c1cbc8-line: rgba(175, 238, 238, 0.16);
  --c1cbc8-line-strong: rgba(175, 238, 238, 0.34);
  --c1cbc8-mist: #AFEEEE;
  --c1cbc8-mist-dim: rgba(175, 238, 238, 0.76);
  --c1cbc8-mist-faint: rgba(175, 238, 238, 0.58);
  --c1cbc8-sea: #5F9EA0;
  --c1cbc8-sea-hi: #8ccfd1;
  --c1cbc8-steel: #999999;
  --c1cbc8-ink-deep: #1c2b3c;
  --c1cbc8-font-round: "Baloo 2", "Quicksand", "Comfortaa", ui-rounded, "Trebuchet MS", "Segoe UI", sans-serif;
  --c1cbc8-font-body: "Segoe UI", "Helvetica Neue", Arial, system-ui, sans-serif;
  --c1cbc8-r: 3px;
  --c1cbc8-r-soft: 6px;
  --c1cbc8-shell: 480px;
  --c1cbc8-top-h: 56px;
  --c1cbc8-tab-h: 64px;
}

/* --------------------------------------------------------------------------
   Base canvas
   -------------------------------------------------------------------------- */

* {
  box-sizing: border-box;
}

html {
  background: var(--c1cbc8-bg-night);
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0 auto;
  max-width: var(--c1cbc8-shell);
  min-height: 100vh;
  background: var(--c1cbc8-bg);
  color: var(--c1cbc8-mist);
  font-family: var(--c1cbc8-font-body);
  font-size: 15px;
  line-height: 1.55;
  border-inline: 1px solid var(--c1cbc8-line);
  overflow-x: hidden;
}

img {
  max-width: 100%;
}

button {
  font: inherit;
  color: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

ul,
ol,
dl,
dd,
figure,
p {
  margin: 0;
}

h1,
h2,
h3 {
  font-family: var(--c1cbc8-font-round);
  font-weight: 700;
  line-height: 1.22;
  margin: 0;
  color: var(--c1cbc8-mist);
}

a {
  color: var(--c1cbc8-sea-hi);
}

:focus-visible {
  outline: 2px solid var(--c1cbc8-mist);
  outline-offset: 2px;
  border-radius: 2px;
}

::selection {
  background: var(--c1cbc8-sea);
  color: var(--c1cbc8-ink-deep);
}

/* Skip link stays hidden until focused */
.c1cbc8-skip {
  position: absolute;
  left: 8px;
  top: -48px;
  z-index: 120;
  background: var(--c1cbc8-mist);
  color: var(--c1cbc8-ink-deep);
  font-weight: 700;
  font-size: 13px;
  padding: 8px 12px;
  border-radius: 0 0 var(--c1cbc8-r) var(--c1cbc8-r);
  text-decoration: none;
  transition: top 0.25s ease;
}

.c1cbc8-skip:focus {
  top: 0;
}

/* --------------------------------------------------------------------------
   Top bar: minimal brand strip with a separate action band
   -------------------------------------------------------------------------- */

.c1cbc8-topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  max-width: var(--c1cbc8-shell);
  height: var(--c1cbc8-top-h);
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  background: rgba(39, 58, 79, 0.96);
  border-bottom: 1px solid var(--c1cbc8-line-strong);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  z-index: 90;
}

.c1cbc8-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
}

.c1cbc8-brand__logo {
  display: block;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border: 1px solid var(--c1cbc8-line-strong);
  border-radius: var(--c1cbc8-r);
  object-fit: cover;
  background: var(--c1cbc8-bg-sunk);
}

.c1cbc8-brand__name {
  font-family: var(--c1cbc8-font-round);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.c1cbc8-topacts {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}

/* Square-corner, high-contrast CTAs */
.c1cbc8-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 2px;
  border: 1px solid transparent;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.3px;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.c1cbc8-cta--reg {
  background: var(--c1cbc8-mist);
  border-color: var(--c1cbc8-mist);
  color: var(--c1cbc8-ink-deep);
}

.c1cbc8-cta--reg:active {
  background: var(--c1cbc8-sea-hi);
  border-color: var(--c1cbc8-sea-hi);
}

.c1cbc8-cta--log {
  background: transparent;
  border-color: var(--c1cbc8-line-strong);
  color: var(--c1cbc8-mist);
}

.c1cbc8-cta--log:active {
  border-color: var(--c1cbc8-mist);
  background: rgba(175, 238, 238, 0.08);
}

.c1cbc8-burger {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid var(--c1cbc8-line-strong);
  border-radius: 2px;
  color: var(--c1cbc8-mist);
}

.c1cbc8-burger:active {
  border-color: var(--c1cbc8-mist);
}

.c1cbc8-burger svg {
  width: 18px;
  height: 18px;
  display: block;
}

/* --------------------------------------------------------------------------
   Stacked overlay menu
   -------------------------------------------------------------------------- */

.c1cbc8-scrim {
  position: fixed;
  inset: 0;
  background: rgba(20, 30, 42, 0.68);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 95;
}

body.c1cbc8-menu-on .c1cbc8-scrim {
  opacity: 1;
  pointer-events: auto;
}

.c1cbc8-drawer {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  max-width: var(--c1cbc8-shell);
  background: var(--c1cbc8-bg-sunk);
  border-right: 1px solid var(--c1cbc8-line-strong);
  box-shadow: 8px 0 28px rgba(15, 24, 34, 0.55);
  overflow-y: auto;
  padding: 14px 14px 28px;
  z-index: 100;
  transform: translateX(-102%);
  visibility: hidden;
  transition: transform 0.32s ease, visibility 0s linear 0.32s;
}

body.c1cbc8-menu-on .c1cbc8-drawer {
  transform: translateX(0);
  visibility: visible;
  transition: transform 0.32s ease;
}

.c1cbc8-drawer__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 4px;
  padding: 4px 2px 12px;
  border-bottom: 1px solid var(--c1cbc8-line);
}

.c1cbc8-drawer__ttl {
  font-family: var(--c1cbc8-font-round);
  font-size: 17px;
  font-weight: 700;
}

.c1cbc8-drawer__hint {
  display: block;
  font-size: 11px;
  color: var(--c1cbc8-mist-faint);
  margin-top: 1px;
}

.c1cbc8-shut {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid var(--c1cbc8-line-strong);
  border-radius: 2px;
  color: var(--c1cbc8-mist);
}

.c1cbc8-shut:active {
  border-color: var(--c1cbc8-mist);
}

.c1cbc8-shut svg {
  width: 16px;
  height: 16px;
  display: block;
}

.c1cbc8-stack {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}

.c1cbc8-stack li {
  transition: transform 0.3s ease, opacity 0.3s ease;
  opacity: 0;
  transform: translateY(10px);
}

body.c1cbc8-menu-on .c1cbc8-stack li {
  opacity: 1;
  transform: none;
}

body.c1cbc8-menu-on .c1cbc8-stack li:nth-child(1) { transition-delay: 0.05s; }
body.c1cbc8-menu-on .c1cbc8-stack li:nth-child(2) { transition-delay: 0.09s; }
body.c1cbc8-menu-on .c1cbc8-stack li:nth-child(3) { transition-delay: 0.13s; }
body.c1cbc8-menu-on .c1cbc8-stack li:nth-child(4) { transition-delay: 0.17s; }
body.c1cbc8-menu-on .c1cbc8-stack li:nth-child(5) { transition-delay: 0.21s; }

.c1cbc8-stack a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 46px;
  padding: 9px 12px;
  margin: 0 0 6px;
  border: 1px solid var(--c1cbc8-line);
  border-radius: 2px;
  background: var(--c1cbc8-bg-raise);
  color: var(--c1cbc8-mist);
  text-decoration: none;
  font-family: var(--c1cbc8-font-round);
  font-size: 14px;
  transition: border-color 0.25s ease, background-color 0.25s ease;
}

.c1cbc8-stack a::after {
  content: "\203A";
  color: var(--c1cbc8-sea);
  font-size: 17px;
  line-height: 1;
}

.c1cbc8-stack a:active {
  border-color: var(--c1cbc8-sea);
}

.c1cbc8-stack a[aria-current="page"] {
  border-color: var(--c1cbc8-mist);
  background: var(--c1cbc8-bg-sunk);
}

.c1cbc8-stack__grp {
  margin: 14px 0 6px;
}

.c1cbc8-stack__cap {
  display: block;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--c1cbc8-sea-hi);
  padding: 0 2px 5px;
  border-bottom: 1px solid var(--c1cbc8-line);
}

.c1cbc8-stack__sub {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
}

/* --------------------------------------------------------------------------
   Page flow
   -------------------------------------------------------------------------- */

.c1cbc8-page {
  padding: calc(var(--c1cbc8-top-h) + 12px) 12px calc(var(--c1cbc8-tab-h) + 40px + env(safe-area-inset-bottom, 0px));
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */

.c1cbc8-hero {
  padding: 10px 0 2px;
}

.c1cbc8-hero__chip {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--c1cbc8-sea-hi);
  border: 1px solid var(--c1cbc8-line-strong);
  border-radius: 2px;
  padding: 4px 8px;
  margin-bottom: 10px;
}

.c1cbc8-hero__title {
  font-size: 24px;
  letter-spacing: 0.2px;
  margin-bottom: 10px;
}

.c1cbc8-hero__lead {
  font-size: 14px;
  color: var(--c1cbc8-mist-dim);
}

/* --------------------------------------------------------------------------
   Hero reel (3 local banners, JS-driven, content lives in HTML)
   -------------------------------------------------------------------------- */

.c1cbc8-reel {
  position: relative;
  margin: 16px 0 4px;
  border: 1px solid var(--c1cbc8-line-strong);
  border-radius: var(--c1cbc8-r);
  overflow: hidden;
  background: var(--c1cbc8-bg-sunk);
}

.c1cbc8-reel__belt {
  display: flex;
  transition: transform 0.45s ease;
}

.c1cbc8-slide {
  position: relative;
  display: block;
  flex: 0 0 100%;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  text-align: left;
  min-height: 44px;
}

.c1cbc8-slide img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.c1cbc8-slide__cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 30px 12px 30px;
  background: linear-gradient(180deg, rgba(39, 58, 79, 0) 0%, rgba(24, 37, 51, 0.94) 88%);
}

.c1cbc8-slide__cap b {
  display: block;
  font-family: var(--c1cbc8-font-round);
  font-size: 15.5px;
  line-height: 1.25;
  margin-bottom: 2px;
}

.c1cbc8-slide__cap span {
  font-size: 12px;
  color: var(--c1cbc8-mist-dim);
}

.c1cbc8-reel__dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 8px;
  display: flex;
  justify-content: center;
  gap: 7px;
}

.c1cbc8-dot {
  width: 22px;
  height: 5px;
  padding: 0;
  border: 1px solid var(--c1cbc8-mist);
  border-radius: 2px;
  background: transparent;
  transition: background-color 0.25s ease;
}

.c1cbc8-dot--on {
  background: var(--c1cbc8-mist);
}

.c1cbc8-reel__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(29, 44, 61, 0.78);
  border: 1px solid var(--c1cbc8-line-strong);
  border-radius: 2px;
  color: var(--c1cbc8-mist);
}

.c1cbc8-reel__arrow svg {
  width: 15px;
  height: 15px;
  display: block;
}

.c1cbc8-reel__arrow--prev {
  left: 6px;
}

.c1cbc8-reel__arrow--next {
  right: 6px;
}

.c1cbc8-reel__arrow:active {
  background: rgba(95, 158, 160, 0.65);
}

/* --------------------------------------------------------------------------
   Quick-question band
   -------------------------------------------------------------------------- */

.c1cbc8-quick {
  display: grid;
  gap: 8px;
  margin: 16px 0 0;
}

.c1cbc8-quick__row {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--c1cbc8-line);
  border-left: 3px solid var(--c1cbc8-sea);
  border-radius: var(--c1cbc8-r);
  padding: 9px 10px;
  background: var(--c1cbc8-bg-raise);
  min-height: 44px;
}

.c1cbc8-quick__body {
  flex: 1 1 auto;
  min-width: 0;
}

.c1cbc8-quick__q {
  display: block;
  font-family: var(--c1cbc8-font-round);
  font-size: 13.5px;
  font-weight: 700;
}

.c1cbc8-quick__a {
  display: block;
  font-size: 12.3px;
  color: var(--c1cbc8-mist-faint);
  line-height: 1.4;
}

.c1cbc8-quick__go {
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 700;
  color: var(--c1cbc8-sea-hi);
  background: transparent;
  border: 1px solid var(--c1cbc8-line-strong);
  border-radius: 2px;
  padding: 7px 9px;
  min-height: 34px;
  transition: border-color 0.25s ease, color 0.25s ease;
}

.c1cbc8-quick__go:active {
  border-color: var(--c1cbc8-mist);
  color: var(--c1cbc8-mist);
}

/* --------------------------------------------------------------------------
   Game clans: grouped cover cards
   -------------------------------------------------------------------------- */

.c1cbc8-clan {
  margin: 24px 0 0;
  border: 1px solid var(--c1cbc8-line-strong);
  border-radius: var(--c1cbc8-r);
  overflow: hidden;
  background: var(--c1cbc8-bg-sunk);
}

.c1cbc8-clan__head {
  padding: 12px 12px 11px;
  background: var(--c1cbc8-bg-raise);
  border-bottom: 1px solid var(--c1cbc8-line);
}

.c1cbc8-clan__tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--c1cbc8-sea-hi);
  margin-bottom: 5px;
}

.c1cbc8-clan__title {
  font-size: 17.5px;
  margin-bottom: 5px;
}

.c1cbc8-clan__note {
  font-size: 12.8px;
  color: var(--c1cbc8-mist-faint);
  line-height: 1.5;
}

.c1cbc8-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--c1cbc8-line);
}

.c1cbc8-tile {
  display: flex;
  margin: 0;
  padding: 0;
  background: var(--c1cbc8-bg-sunk);
}

.c1cbc8-tile__hit {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 9px 6px 8px;
  border: 0;
  background: var(--c1cbc8-bg-sunk);
  text-align: center;
  min-height: 44px;
  transition: background-color 0.25s ease;
}

.c1cbc8-tile__frame {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  border: 1px solid var(--c1cbc8-line-strong);
  border-radius: var(--c1cbc8-r);
  overflow: hidden;
  background: var(--c1cbc8-bg-raise);
  transition: border-color 0.25s ease;
}

.c1cbc8-tile__frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.c1cbc8-tile__hit:active {
  background: var(--c1cbc8-bg-raise);
}

.c1cbc8-tile__hit:active .c1cbc8-tile__frame {
  border-color: var(--c1cbc8-sea-hi);
}

.c1cbc8-tile__hit:active .c1cbc8-tile__frame img {
  transform: scale(1.07);
}

.c1cbc8-tile__name {
  font-size: 11px;
  line-height: 1.28;
  color: var(--c1cbc8-mist);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 28px;
  word-break: break-word;
}

/* --------------------------------------------------------------------------
   Prose tracts (question-driven information rhythm)
   -------------------------------------------------------------------------- */

.c1cbc8-tract {
  margin: 26px 0 0;
}

.c1cbc8-tract__title {
  font-size: 19px;
  padding-left: 10px;
  border-left: 3px solid var(--c1cbc8-sea);
  margin-bottom: 10px;
}

.c1cbc8-tract__lead {
  font-size: 14px;
  color: var(--c1cbc8-mist-dim);
  margin-bottom: 12px;
}

.c1cbc8-p {
  font-size: 13.4px;
  color: var(--c1cbc8-mist-dim);
  margin: 0 0 10px;
}

.c1cbc8-p b,
.c1cbc8-tract__lead b {
  color: var(--c1cbc8-mist);
  font-weight: 700;
}

.c1cbc8-p a,
.c1cbc8-tract__lead a,
.c1cbc8-path a,
.c1cbc8-fact a,
.c1cbc8-step a,
.c1cbc8-doubt a {
  color: var(--c1cbc8-sea-hi);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.c1cbc8-p a:active,
.c1cbc8-tract__lead a:active {
  color: var(--c1cbc8-mist);
}

/* Goal picker rows */
.c1cbc8-paths {
  display: grid;
  gap: 8px;
  margin: 12px 0;
}

.c1cbc8-path {
  border: 1px solid var(--c1cbc8-line);
  border-radius: var(--c1cbc8-r);
  background: var(--c1cbc8-bg-raise);
  padding: 10px 11px;
}

.c1cbc8-path__goal {
  display: block;
  font-family: var(--c1cbc8-font-round);
  font-size: 13.5px;
  font-weight: 700;
  margin-bottom: 3px;
}

.c1cbc8-path__goal::before {
  content: "\25B8";
  color: var(--c1cbc8-sea);
  margin-right: 6px;
}

.c1cbc8-path p {
  font-size: 12.8px;
  color: var(--c1cbc8-mist-faint);
}

/* Numbered steps */
.c1cbc8-steps {
  list-style: none;
  margin: 12px 0;
  padding: 0;
  counter-reset: c1cbc8-step;
  display: grid;
  gap: 8px;
}

.c1cbc8-step {
  counter-increment: c1cbc8-step;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid var(--c1cbc8-line);
  border-radius: var(--c1cbc8-r);
  background: var(--c1cbc8-bg-sunk);
  padding: 10px 11px;
}

.c1cbc8-step::before {
  content: counter(c1cbc8-step);
  flex: 0 0 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--c1cbc8-sea);
  border-radius: 2px;
  font-family: var(--c1cbc8-font-round);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--c1cbc8-mist);
  margin-top: 1px;
}

.c1cbc8-step p {
  font-size: 13px;
  color: var(--c1cbc8-mist-dim);
}

/* Comparison ledger */
.c1cbc8-ledger {
  margin: 12px 0;
  border: 1px solid var(--c1cbc8-line-strong);
  border-radius: var(--c1cbc8-r);
  overflow: hidden;
}

.c1cbc8-ledger__row {
  display: flex;
  gap: 10px;
  padding: 10px 11px;
  background: var(--c1cbc8-bg-raise);
  border-bottom: 1px solid var(--c1cbc8-line);
}

.c1cbc8-ledger__row:last-child {
  border-bottom: 0;
}

.c1cbc8-ledger dt {
  flex: 0 0 96px;
  font-family: var(--c1cbc8-font-round);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--c1cbc8-sea-hi);
  padding-top: 1px;
}

.c1cbc8-ledger dd {
  flex: 1 1 auto;
  font-size: 13px;
  color: var(--c1cbc8-mist-dim);
}

/* Single doubt block */
.c1cbc8-doubt {
  border: 1px dashed var(--c1cbc8-line-strong);
  border-radius: var(--c1cbc8-r);
  padding: 11px 12px;
  margin: 12px 0;
}

.c1cbc8-doubt__q {
  display: block;
  font-family: var(--c1cbc8-font-round);
  font-size: 13.8px;
  font-weight: 700;
  margin-bottom: 4px;
}

.c1cbc8-doubt p {
  font-size: 13px;
  color: var(--c1cbc8-mist-dim);
}

/* Fact strip */
.c1cbc8-facts {
  display: grid;
  gap: 6px;
  margin: 12px 0;
}

.c1cbc8-fact {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  border: 1px solid var(--c1cbc8-line);
  border-left: 3px solid var(--c1cbc8-sea);
  border-radius: 2px;
  background: var(--c1cbc8-bg-sunk);
  padding: 9px 10px;
  font-size: 12.7px;
  color: var(--c1cbc8-mist-dim);
  line-height: 1.5;
}

.c1cbc8-fact b {
  font-family: var(--c1cbc8-font-round);
  color: var(--c1cbc8-mist);
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   Extended footer: sectioned list, brand > directory > promos > disclaimer
   -------------------------------------------------------------------------- */

.c1cbc8-xfoot {
  margin: 28px 0 0;
  border: 1px solid var(--c1cbc8-line-strong);
  border-radius: var(--c1cbc8-r);
  overflow: hidden;
}

.c1cbc8-xfoot__block {
  padding: 13px 12px;
  background: var(--c1cbc8-bg-sunk);
  border-bottom: 1px solid var(--c1cbc8-line);
}

.c1cbc8-xfoot__block:last-child {
  border-bottom: 0;
}

.c1cbc8-xfoot__cap {
  font-family: var(--c1cbc8-font-round);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--c1cbc8-sea-hi);
  margin: 0 0 8px;
}

.c1cbc8-xfoot__brand p {
  font-size: 12.8px;
  color: var(--c1cbc8-mist-faint);
}

.c1cbc8-dir {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 12px;
}

.c1cbc8-dir a {
  display: inline-block;
  font-size: 12px;
  line-height: 1.4;
  color: var(--c1cbc8-mist);
  text-decoration: none;
  border-bottom: 1px dotted var(--c1cbc8-sea);
  padding: 2px 0;
  transition: color 0.25s ease, border-color 0.25s ease;
}

.c1cbc8-dir a:active {
  color: var(--c1cbc8-sea-hi);
  border-bottom-style: solid;
}

.c1cbc8-deals {
  display: grid;
  gap: 8px;
}

.c1cbc8-deal {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--c1cbc8-line-strong);
  border-radius: 2px;
  background: var(--c1cbc8-bg-raise);
  padding: 9px 10px;
  text-align: left;
  min-height: 44px;
  transition: border-color 0.25s ease;
}

.c1cbc8-deal:active {
  border-color: var(--c1cbc8-mist);
}

.c1cbc8-deal__body {
  flex: 1 1 auto;
  min-width: 0;
}

.c1cbc8-deal__tx {
  display: block;
  font-family: var(--c1cbc8-font-round);
  font-size: 13.2px;
  font-weight: 700;
}

.c1cbc8-deal__sub {
  display: block;
  font-family: var(--c1cbc8-font-body);
  font-size: 11.4px;
  color: var(--c1cbc8-mist-faint);
  line-height: 1.35;
}

.c1cbc8-deal__cue {
  flex: 0 0 auto;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 1px;
  color: var(--c1cbc8-ink-deep);
  background: var(--c1cbc8-mist);
  border-radius: 2px;
  padding: 5px 8px;
}

.c1cbc8-xfoot__note p {
  font-size: 11.6px;
  color: var(--c1cbc8-steel);
  line-height: 1.55;
}

/* Review page: ledger cards and deliberate evidence layout */
.c1cbc8-review-board {
  display: grid;
  gap: 10px;
  margin: 20px 0 0;
  padding: 12px;
  border: 1px solid var(--c1cbc8-line-strong);
  background: linear-gradient(135deg, var(--c1cbc8-bg-raise), var(--c1cbc8-bg-sunk));
  border-radius: var(--c1cbc8-r);
}

.c1cbc8-review-board__lead .c1cbc8-tract__title {
  margin-bottom: 8px;
  padding-left: 0;
  border-left: 0;
  font-size: 18px;
}

.c1cbc8-review-score {
  display: flex;
  align-items: baseline;
  gap: 9px;
  padding: 10px;
  border-left: 3px solid var(--c1cbc8-mist);
  background: var(--c1cbc8-bg-night);
}

.c1cbc8-review-score span,
.c1cbc8-review-score small {
  color: var(--c1cbc8-mist-faint);
  font-size: 10px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.c1cbc8-review-score strong {
  font-family: var(--c1cbc8-font-round);
  font-size: 20px;
}

.c1cbc8-review-signals,
.c1cbc8-review-fit,
.c1cbc8-requirements,
.c1cbc8-payment-lane {
  display: grid;
  gap: 8px;
  margin: 12px 0;
}

.c1cbc8-review-signal {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 9px;
  padding: 10px;
  border-top: 1px solid var(--c1cbc8-line-strong);
  background: var(--c1cbc8-bg-raise);
}

.c1cbc8-review-signal__mark {
  display: grid;
  place-items: center;
  min-height: 30px;
  border: 1px solid var(--c1cbc8-sea);
  color: var(--c1cbc8-mist);
  font-family: var(--c1cbc8-font-round);
  font-weight: 700;
}

.c1cbc8-review-signal h3,
.c1cbc8-review-fit h3,
.c1cbc8-requirements h3 {
  font-size: 14px;
  margin-bottom: 3px;
}

.c1cbc8-review-signal p,
.c1cbc8-review-fit p,
.c1cbc8-requirements p {
  color: var(--c1cbc8-mist-faint);
  font-size: 12.8px;
}

.c1cbc8-payment-lane__item {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 8px;
  padding: 10px;
  border-bottom: 1px solid var(--c1cbc8-line);
  background: var(--c1cbc8-bg-raise);
}

.c1cbc8-payment-lane__item strong {
  color: var(--c1cbc8-sea-hi);
  font-family: var(--c1cbc8-font-round);
}

.c1cbc8-payment-lane__item span {
  color: var(--c1cbc8-mist-dim);
  font-size: 12.8px;
}

.c1cbc8-review-fit {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.c1cbc8-review-fit > div,
.c1cbc8-requirements article {
  padding: 10px;
  border: 1px solid var(--c1cbc8-line);
  background: var(--c1cbc8-bg-sunk);
}

.c1cbc8-requirements {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.c1cbc8-requirements article:last-child {
  grid-column: 1 / -1;
}

.c1cbc8-requirements article > span {
  display: block;
  margin-bottom: 5px;
  color: var(--c1cbc8-sea-hi);
  font-size: 11px;
  letter-spacing: 1px;
}

.c1cbc8-inline-deal {
  display: inline-flex;
  width: 100%;
  margin: 5px 0;
  text-decoration: none;
  color: var(--c1cbc8-mist);
  cursor: pointer;
}

@media (min-width: 375px) {
  .c1cbc8-review-board {
    grid-template-columns: minmax(0, 1fr) 112px;
  }

  .c1cbc8-review-board__lead {
    grid-column: 1 / -1;
  }

  .c1cbc8-review-board .c1cbc8-ledger {
    grid-column: 1 / -1;
  }
}

/* Tips page: route rail, support sheet, answers, and glossary */
.c1cbc8-tips-map {
  margin: 20px 0 0;
  padding: 12px;
  border: 1px solid var(--c1cbc8-line-strong);
  background: var(--c1cbc8-bg-sunk);
}

.c1cbc8-tips-map__intro .c1cbc8-tract__title {
  border: 0;
  padding-left: 0;
  font-size: 18px;
}

.c1cbc8-tips-map__rail {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 13px;
}

.c1cbc8-tips-map__rail span {
  flex: 0 0 auto;
  width: 52px;
  padding: 7px 2px;
  border: 1px solid var(--c1cbc8-sea);
  color: var(--c1cbc8-sea-hi);
  font-size: 10px;
  line-height: 1.25;
  text-align: center;
}

.c1cbc8-tips-map__rail span b {
  color: var(--c1cbc8-mist);
  font-family: var(--c1cbc8-font-round);
  font-size: 11px;
}

.c1cbc8-tips-map__rail i {
  flex: 1 1 auto;
  height: 1px;
  background: var(--c1cbc8-line-strong);
}

.c1cbc8-support-sheet,
.c1cbc8-term-list {
  margin: 12px 0;
  border-top: 1px solid var(--c1cbc8-line-strong);
}

.c1cbc8-support-sheet__row,
.c1cbc8-term-list > div {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 9px;
  padding: 10px 8px;
  border-bottom: 1px solid var(--c1cbc8-line);
  background: var(--c1cbc8-bg-raise);
}

.c1cbc8-support-sheet__row strong,
.c1cbc8-term-list dt {
  color: var(--c1cbc8-sea-hi);
  font-family: var(--c1cbc8-font-round);
  font-size: 12.5px;
}

.c1cbc8-support-sheet__row span,
.c1cbc8-term-list dd {
  color: var(--c1cbc8-mist-dim);
  font-size: 12.8px;
}

.c1cbc8-qa-ribbon {
  display: grid;
  gap: 7px;
  margin: 12px 0;
}

.c1cbc8-qa-ribbon details {
  border-left: 3px solid var(--c1cbc8-sea);
  background: var(--c1cbc8-bg-raise);
  padding: 9px 10px;
}

.c1cbc8-qa-ribbon summary {
  cursor: pointer;
  font-family: var(--c1cbc8-font-round);
  font-size: 13.5px;
  font-weight: 700;
  padding-right: 12px;
}

.c1cbc8-qa-ribbon p {
  margin-top: 6px;
  color: var(--c1cbc8-mist-faint);
  font-size: 12.8px;
}

.c1cbc8-diagnostic {
  display: grid;
  gap: 8px;
  margin: 12px 0;
}

.c1cbc8-diagnostic__case {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 9px;
  padding: 10px;
  border: 1px solid var(--c1cbc8-line);
  background: var(--c1cbc8-bg-sunk);
}

.c1cbc8-diagnostic__flag {
  display: grid;
  place-items: center;
  height: 30px;
  border: 1px solid var(--c1cbc8-mist);
  color: var(--c1cbc8-mist);
  font-family: var(--c1cbc8-font-round);
  font-weight: 700;
}

.c1cbc8-diagnostic__case h3 {
  margin-bottom: 3px;
  font-size: 14px;
}

.c1cbc8-diagnostic__case p {
  color: var(--c1cbc8-mist-faint);
  font-size: 12.8px;
}

.c1cbc8-term-list dt,
.c1cbc8-term-list dd {
  margin: 0;
}

.c1cbc8-term-list dt {
  text-transform: uppercase;
  letter-spacing: 0.6px;
}

/* --------------------------------------------------------------------------
   Common footer line
   -------------------------------------------------------------------------- */

.c1cbc8-foot {
  margin: 20px 0 0;
  padding: 14px 12px 6px;
  border-top: 1px solid var(--c1cbc8-line);
  text-align: center;
}

.c1cbc8-foot__line {
  font-size: 11.5px;
  color: var(--c1cbc8-steel);
}

/* --------------------------------------------------------------------------
   Bottom tab bar: outlined function rail with two-tone role icons
   -------------------------------------------------------------------------- */

.c1cbc8-tabbar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  max-width: var(--c1cbc8-shell);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
  padding: 7px 4px calc(7px + env(safe-area-inset-bottom, 0px));
  background: rgba(39, 58, 79, 0.97);
  border-top: 1px solid var(--c1cbc8-line-strong);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  z-index: 90;
}

.c1cbc8-tab {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: 48px;
  padding: 3px 2px;
  border: 1px solid transparent;
  border-radius: var(--c1cbc8-r);
  background: none;
  text-decoration: none;
  transition: border-color 0.25s ease, background-color 0.25s ease;
}

.c1cbc8-tab__ic {
  width: 24px;
  height: 24px;
  color: var(--c1cbc8-sea);
  transition: transform 0.25s ease, color 0.25s ease;
}

.c1cbc8-tab__ic svg {
  width: 100%;
  height: 100%;
  display: block;
}

.c1cbc8-tab__tx {
  font-size: 10.5px;
  letter-spacing: 0.3px;
  color: var(--c1cbc8-steel);
  transition: color 0.25s ease;
}

.c1cbc8-tab:active .c1cbc8-tab__ic {
  transform: translateY(-2px);
  color: var(--c1cbc8-mist);
}

.c1cbc8-tab:active .c1cbc8-tab__tx {
  color: var(--c1cbc8-mist);
}

.c1cbc8-tab--on {
  border-color: var(--c1cbc8-line-strong);
  background: var(--c1cbc8-bg-raise);
}

.c1cbc8-tab--on .c1cbc8-tab__ic {
  color: var(--c1cbc8-mist);
}

.c1cbc8-tab--on .c1cbc8-tab__tx {
  color: var(--c1cbc8-mist);
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   Wide-phone tuning and desktop phone frame
   -------------------------------------------------------------------------- */

@media (min-width: 375px) {
  .c1cbc8-hero__title {
    font-size: 27px;
  }

  .c1cbc8-clan__title {
    font-size: 18.5px;
  }

  .c1cbc8-tract__title {
    font-size: 20px;
  }

  .c1cbc8-tile__name {
    font-size: 11.3px;
  }

  .c1cbc8-brand__name {
    font-size: 16px;
  }
}

/* 5 covers per row on the widest phone canvas */
@media (min-width: 401px) and (max-width: 430px) {
  .c1cbc8-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (min-width: 431px) {
  .c1cbc8-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .c1cbc8-hero__lead,
  .c1cbc8-tract__lead {
    font-size: 14.5px;
  }

  .c1cbc8-dir {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* --------------------------------------------------------------------------
   Reduced motion
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .c1cbc8-reel__belt {
    transition: none;
  }

  .c1cbc8-stack li,
  .c1cbc8-drawer,
  .c1cbc8-tab__ic,
  .c1cbc8-tile__frame img,
  .c1cbc8-tile__frame {
    transition: none;
  }
}
