/* ============================================================
   pla6.homes  -  mobile-first stylesheet
   class prefix : shellccfde-
   canvas       : 320-430px, centered phone frame on wide screens
   palette      : #212F3D ink / #ADB5BD mist / #FA8072 flame
   ============================================================ */

/* ---------- design tokens ---------- */
:root {
  --shellccfde-ink: #212F3D;
  --shellccfde-ink-deep: #17222D;
  --shellccfde-ink-raise: #2A3B4C;
  --shellccfde-outside: #0D141B;
  --shellccfde-mist: #ADB5BD;
  --shellccfde-mist-bright: #E9EEF3;
  --shellccfde-mist-dim: #7E8C99;
  --shellccfde-flame: #FA8072;
  --shellccfde-flame-deep: #E4695A;
  --shellccfde-flame-ink: #2A130E;
  --shellccfde-flame-soft: rgba(250, 128, 114, 0.14);
  --shellccfde-line: rgba(173, 181, 189, 0.16);
  --shellccfde-radius-s: 4px;
  --shellccfde-radius-m: 6px;
  --shellccfde-radius-l: 10px;
  --shellccfde-font-display: "Trebuchet MS", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --shellccfde-font-body: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif;
  --shellccfde-topbar-h: 58px;
  --shellccfde-dock-h: 62px;
  --shellccfde-pad: 14px;
}

/* ---------- base ---------- */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--shellccfde-outside);
  color: var(--shellccfde-mist);
  font-family: var(--shellccfde-font-body);
  font-size: 15px;
  line-height: 1.62;
}

img { display: block; max-width: 100%; }

a { color: var(--shellccfde-flame); text-decoration: none; }
a:hover { text-decoration: underline; }

ul, ol { margin: 0; padding: 0; list-style: none; }

h1, h2, h3, h4 {
  margin: 0;
  font-family: var(--shellccfde-font-display);
  font-weight: 800;
  color: var(--shellccfde-mist-bright);
  line-height: 1.22;
  letter-spacing: -0.01em;
}

p { margin: 0 0 10px; }
p:last-child { margin-bottom: 0; }

button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }

:focus-visible {
  outline: 2px solid var(--shellccfde-flame);
  outline-offset: 2px;
  border-radius: 3px;
}

::selection { background: var(--shellccfde-flame); color: var(--shellccfde-flame-ink); }

.shellccfde-visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.shellccfde-noscroll { overflow: hidden; }

/* ---------- phone canvas ---------- */
.shellccfde-canvas {
  position: relative;
  max-width: 430px;
  margin: 0 auto;
  min-height: 100vh;
  overflow-x: hidden;
  background: var(--shellccfde-ink);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.04), 0 0 46px rgba(0, 0, 0, 0.55);
}

.shellccfde-main {
  padding: calc(var(--shellccfde-topbar-h) + 12px) var(--shellccfde-pad) calc(var(--shellccfde-dock-h) + 40px);
  overflow-wrap: break-word;
}

/* ============================================================
   TOPBAR - minimal title action band
   ============================================================ */
.shellccfde-topbar {
  position: fixed;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 430px;
  height: var(--shellccfde-topbar-h);
  z-index: 70;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 12px;
  background: linear-gradient(180deg, #26384A 0%, var(--shellccfde-ink) 100%);
  border-bottom: 1px solid var(--shellccfde-line);
}

/* brand zone: real logo image + site name only */
.shellccfde-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.shellccfde-logo {
  flex: none;
  width: 34px;
  height: 34px;
  border-radius: var(--shellccfde-radius-s);
  border: 1px solid var(--shellccfde-line);
  background: var(--shellccfde-ink-deep);
  object-fit: cover;
}

.shellccfde-sitename {
  font-family: var(--shellccfde-font-display);
  font-weight: 800;
  font-size: 20px;
  letter-spacing: 0.05em;
  color: var(--shellccfde-mist-bright);
  white-space: nowrap;
}

.shellccfde-sitename b { color: var(--shellccfde-flame); font-weight: 800; }

/* action zone */
.shellccfde-actions { display: flex; align-items: center; gap: 6px; flex: none; }

.shellccfde-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 13px;
  border-radius: var(--shellccfde-radius-m);
  font-family: var(--shellccfde-font-display);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.shellccfde-btn-ghost {
  color: var(--shellccfde-mist-bright);
  background: rgba(23, 34, 45, 0.72);
  border: 1px solid var(--shellccfde-line);
}

.shellccfde-btn-ghost:hover { border-color: var(--shellccfde-mist); text-decoration: none; }

.shellccfde-btn-solid {
  background: var(--shellccfde-flame);
  color: var(--shellccfde-flame-ink);
  box-shadow: 0 4px 14px rgba(250, 128, 114, 0.32);
}

.shellccfde-btn-solid:hover { background: var(--shellccfde-flame-deep); text-decoration: none; }

.shellccfde-menubtn {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: var(--shellccfde-radius-m);
  border: 1px solid var(--shellccfde-line);
  background: rgba(23, 34, 45, 0.72);
  color: var(--shellccfde-mist-bright);
}

.shellccfde-menubtn:hover { border-color: var(--shellccfde-mist); }

/* ============================================================
   ROUTE PANEL - slide-up navigation sheet
   ============================================================ */
.shellccfde-scrim {
  position: fixed;
  inset: 0;
  background: rgba(8, 13, 18, 0.66);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.28s ease, visibility 0.28s ease;
  z-index: 80;
}

.shellccfde-scrim.shellccfde-is-open { opacity: 1; visibility: visible; }

.shellccfde-panel {
  position: fixed;
  bottom: var(--shellccfde-dock-h);
  left: 50%;
  transform: translate(-50%, 110%);
  width: 100%;
  max-width: 430px;
  max-height: calc(86vh - var(--shellccfde-dock-h));
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--shellccfde-ink-deep);
  border: 1px solid var(--shellccfde-line);
  border-bottom: 0;
  border-radius: var(--shellccfde-radius-l) var(--shellccfde-radius-l) 0 0;
  padding: 14px 14px 18px;
  z-index: 90;
  visibility: hidden;
  transition: transform 0.32s cubic-bezier(0.22, 0.9, 0.34, 1), visibility 0.32s;
}

.shellccfde-panel.shellccfde-is-open {
  transform: translate(-50%, 0);
  visibility: visible;
}

.shellccfde-panel-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 11px;
  border-bottom: 1px solid var(--shellccfde-line);
}

.shellccfde-panel-head .shellccfde-logo { width: 28px; height: 28px; }

.shellccfde-panel-title {
  font-family: var(--shellccfde-font-display);
  font-weight: 800;
  font-size: 16px;
  color: var(--shellccfde-mist-bright);
  margin-right: auto;
}

.shellccfde-closebtn {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: var(--shellccfde-radius-m);
  color: var(--shellccfde-mist);
  border: 1px solid transparent;
}

.shellccfde-closebtn:hover { color: var(--shellccfde-mist-bright); border-color: var(--shellccfde-line); }

.shellccfde-panel-cta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 12px 0;
}

.shellccfde-panel-cta .shellccfde-btn { width: 100%; }

.shellccfde-routes li + li { margin-top: 2px; }

.shellccfde-route {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 46px;
  padding: 0 11px;
  border-radius: var(--shellccfde-radius-m);
  color: var(--shellccfde-mist-bright);
  font-weight: 600;
  font-size: 14px;
}

.shellccfde-route svg { flex: none; color: var(--shellccfde-mist-dim); }

.shellccfde-route:hover {
  background: var(--shellccfde-flame-soft);
  color: var(--shellccfde-flame);
  text-decoration: none;
}

.shellccfde-route-current {
  background: var(--shellccfde-flame-soft);
  color: var(--shellccfde-flame);
}

.shellccfde-route-current svg { color: var(--shellccfde-flame); }

/* ============================================================
   HERO + CAROUSEL
   ============================================================ */
.shellccfde-hero { margin: 0 0 14px; }

.shellccfde-hero h1 { font-size: 25px; letter-spacing: -0.015em; }

.shellccfde-h1flame { color: var(--shellccfde-flame); }

.shellccfde-herosub {
  margin: 9px 0 13px;
  font-size: 14px;
  color: var(--shellccfde-mist);
}

.shellccfde-carousel {
  position: relative;
  border-radius: var(--shellccfde-radius-l);
  overflow: hidden;
  border: 1px solid var(--shellccfde-line);
  background: var(--shellccfde-ink-deep);
  touch-action: pan-y;
}

.shellccfde-track { display: flex; transition: transform 0.45s ease; }

.shellccfde-slide { flex: 0 0 100%; width: 100%; display: block; padding: 0; }

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

.shellccfde-dots {
  position: absolute;
  left: 0; right: 0; bottom: 8px;
  display: flex;
  justify-content: center;
  gap: 6px;
}

.shellccfde-dot {
  width: 22px;
  height: 7px;
  border-radius: 4px;
  background: rgba(173, 181, 189, 0.42);
  transition: background 0.25s ease, width 0.25s ease;
}

.shellccfde-dot.shellccfde-is-on { background: var(--shellccfde-flame); width: 30px; }

/* ---------- trust strip ---------- */
.shellccfde-trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 0 0 14px;
}

.shellccfde-trustcell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 9px 4px;
  border: 1px solid var(--shellccfde-line);
  border-radius: var(--shellccfde-radius-m);
  background: var(--shellccfde-ink-deep);
  text-align: center;
  font-size: 10.5px;
  line-height: 1.3;
  font-weight: 600;
  color: var(--shellccfde-mist);
}

.shellccfde-trustcell svg { color: var(--shellccfde-flame); }

/* ---------- category jump chips ---------- */
.shellccfde-jump {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 2px 8px;
  margin: 0 0 12px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.shellccfde-jump::-webkit-scrollbar { display: none; }

.shellccfde-jumpchip {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 0 15px;
  border-radius: 99px;
  border: 1px solid var(--shellccfde-line);
  background: var(--shellccfde-ink-deep);
  color: var(--shellccfde-mist-bright);
  font-family: var(--shellccfde-font-display);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.02em;
}

.shellccfde-jumpchip:hover {
  border-color: var(--shellccfde-flame);
  color: var(--shellccfde-flame);
  text-decoration: none;
}

/* ============================================================
   GAME SECTIONS
   ============================================================ */
.shellccfde-section { margin: 0 0 26px; scroll-margin-top: calc(var(--shellccfde-topbar-h) + 10px); }

.shellccfde-sechead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border-left: 3px solid var(--shellccfde-flame);
  padding-left: 10px;
  margin-bottom: 7px;
}

.shellccfde-sechead h2 { font-size: 18.5px; }

.shellccfde-count {
  flex: none;
  font-family: var(--shellccfde-font-display);
  font-weight: 700;
  font-size: 10.5px;
  letter-spacing: 0.05em;
  color: var(--shellccfde-flame);
  background: var(--shellccfde-flame-soft);
  border-radius: 99px;
  padding: 3px 9px;
  white-space: nowrap;
}

.shellccfde-lead {
  font-size: 13.5px;
  color: var(--shellccfde-mist);
  margin-bottom: 12px;
}

.shellccfde-lead a { font-weight: 600; }

/* ---------- game grid: image card + short caption ---------- */
.shellccfde-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px 6px;
}

.shellccfde-game {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 100%;
  text-align: center;
}

.shellccfde-game img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--shellccfde-radius-m);
  border: 1px solid var(--shellccfde-line);
  background: var(--shellccfde-ink-deep);
  transition: transform 0.18s ease, border-color 0.18s ease;
}

.shellccfde-game:hover img { border-color: var(--shellccfde-flame); }

.shellccfde-game:active img { transform: scale(0.93); }

.shellccfde-gname {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.6em;
  font-size: 11px;
  line-height: 1.3;
  color: var(--shellccfde-mist);
}

.shellccfde-game:hover .shellccfde-gname { color: var(--shellccfde-mist-bright); }

/* wider phones get a fifth column */
@media (min-width: 400px) {
  .shellccfde-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px 8px; }
  .shellccfde-hero h1 { font-size: 27px; }
}

/* ============================================================
   CONTENT MODULES - varied presentation per block
   ============================================================ */
.shellccfde-module {
  margin: 0 0 24px;
  padding: 15px 13px 8px;
  border: 1px solid var(--shellccfde-line);
  border-radius: var(--shellccfde-radius-l);
  background: var(--shellccfde-ink-deep);
}

.shellccfde-module > h2 { font-size: 18px; margin-bottom: 7px; }

.shellccfde-modulelead {
  font-size: 13.5px;
  color: var(--shellccfde-mist);
  margin-bottom: 12px;
}

/* module 1: numbered goal rows */
.shellccfde-goalrow {
  display: flex;
  gap: 10px;
  padding: 11px 0;
  border-top: 1px dashed var(--shellccfde-line);
}

.shellccfde-goalnum {
  flex: none;
  width: 26px;
  font-family: var(--shellccfde-font-display);
  font-weight: 800;
  font-size: 14px;
  color: var(--shellccfde-flame);
  padding-top: 2px;
}

.shellccfde-goalrow h3 { font-size: 14.5px; margin-bottom: 4px; }

.shellccfde-goalrow p { font-size: 13px; color: var(--shellccfde-mist); }

/* module 2: compact comparison table */
.shellccfde-cmp {
  border: 1px solid var(--shellccfde-line);
  border-radius: var(--shellccfde-radius-m);
  overflow: hidden;
}

.shellccfde-cmprow {
  display: grid;
  grid-template-columns: 1fr 1.35fr 1fr;
}

.shellccfde-cmprow + .shellccfde-cmprow { border-top: 1px solid var(--shellccfde-line); }

.shellccfde-cmprow > div {
  padding: 8px 9px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--shellccfde-mist);
}

.shellccfde-cmprow > div + div { border-left: 1px solid var(--shellccfde-line); }

.shellccfde-cmpcat {
  font-family: var(--shellccfde-font-display);
  font-weight: 700;
  color: var(--shellccfde-flame);
  font-size: 12.5px;
}

.shellccfde-cmphead { background: var(--shellccfde-ink-raise); }

.shellccfde-cmphead > div {
  font-family: var(--shellccfde-font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--shellccfde-mist-bright);
}

.shellccfde-moduletail { margin-top: 11px; font-size: 13px; color: var(--shellccfde-mist); }

/* module 3: stacked play-style cards */
.shellccfde-stylecard {
  border: 1px solid var(--shellccfde-line);
  border-left: 3px solid var(--shellccfde-flame);
  border-radius: var(--shellccfde-radius-m);
  padding: 11px 12px;
  margin-bottom: 8px;
  background: var(--shellccfde-ink);
}

.shellccfde-stylecard h3 { font-size: 14.5px; margin-bottom: 4px; }

.shellccfde-stylecard p { font-size: 13px; color: var(--shellccfde-mist); }

.shellccfde-watch {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: var(--shellccfde-flame);
  font-weight: 600;
}

/* module 4: milestone timeline */
.shellccfde-mile {
  position: relative;
  padding: 0 0 14px 24px;
}

.shellccfde-mile::before {
  content: "";
  position: absolute;
  left: 4px; top: 5px;
  width: 9px; height: 9px;
  border-radius: 50%;
  background: var(--shellccfde-flame);
  box-shadow: 0 0 0 3px var(--shellccfde-flame-soft);
}

.shellccfde-mile::after {
  content: "";
  position: absolute;
  left: 8px; top: 19px; bottom: 2px;
  width: 1px;
  background: var(--shellccfde-line);
}

.shellccfde-mile:last-child { padding-bottom: 2px; }

.shellccfde-mile:last-child::after { display: none; }

.shellccfde-mile h3 { font-size: 14px; margin-bottom: 3px; }

.shellccfde-mile p { font-size: 13px; color: var(--shellccfde-mist); }

/* module 5: checklist + quick answers */
.shellccfde-check {
  display: flex;
  gap: 9px;
  padding: 7px 0;
  font-size: 13.5px;
  color: var(--shellccfde-mist);
  border-top: 1px dashed var(--shellccfde-line);
}

.shellccfde-check svg { flex: none; width: 17px; height: 17px; margin-top: 3px; color: var(--shellccfde-flame); }

.shellccfde-qa { border-top: 1px solid var(--shellccfde-line); margin-top: 10px; padding-top: 11px; }

.shellccfde-qa h3 { font-size: 14.5px; margin-bottom: 4px; color: var(--shellccfde-flame); }

.shellccfde-qa p { font-size: 13px; color: var(--shellccfde-mist); }

.shellccfde-qa + .shellccfde-qa { margin-top: 10px; }

/* ============================================================
   EXTENDED FOOTER (homepage) - compact groups
   ============================================================ */
.shellccfde-xfoot {
  margin: 28px 0 6px;
  padding-top: 16px;
  border-top: 1px solid var(--shellccfde-line);
}

.shellccfde-xfoot h2 {
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--shellccfde-mist);
  margin: 16px 0 9px;
}

.shellccfde-xfoot h2:first-child { margin-top: 0; }

/* group 1: page directory */
.shellccfde-dirgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.shellccfde-dirlink {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-height: 44px;
  padding: 0 10px;
  border: 1px solid var(--shellccfde-line);
  border-radius: var(--shellccfde-radius-m);
  background: var(--shellccfde-ink-deep);
  color: var(--shellccfde-mist-bright);
  font-size: 12.5px;
  font-weight: 600;
}

.shellccfde-dirlink svg { flex: none; color: var(--shellccfde-mist-dim); }

.shellccfde-dirlink:hover {
  border-color: var(--shellccfde-flame);
  color: var(--shellccfde-flame);
  text-decoration: none;
}

.shellccfde-dirlink:hover svg { color: var(--shellccfde-flame); }

/* group 2: brand note */
.shellccfde-xbrand { font-size: 13px; color: var(--shellccfde-mist); }

/* group 3: promotion entrances */
.shellccfde-promogrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.shellccfde-promo {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 50px;
  padding: 8px 9px;
  border-radius: var(--shellccfde-radius-m);
  font-family: var(--shellccfde-font-display);
  font-weight: 700;
  font-size: 12.5px;
  line-height: 1.3;
  letter-spacing: 0.01em;
}

.shellccfde-promo:hover { text-decoration: none; }

.shellccfde-promo-flame {
  background: var(--shellccfde-flame);
  color: var(--shellccfde-flame-ink);
  box-shadow: 0 4px 14px rgba(250, 128, 114, 0.28);
}

.shellccfde-promo-flame:hover { background: var(--shellccfde-flame-deep); }

.shellccfde-promo-line {
  border: 1px solid var(--shellccfde-flame);
  color: var(--shellccfde-flame);
  background: var(--shellccfde-flame-soft);
}

.shellccfde-promo-line:hover { background: rgba(250, 128, 114, 0.22); }

/* group 4: responsible entertainment note */
.shellccfde-disclaimer {
  margin-top: 14px;
  padding: 10px 11px;
  border: 1px dashed var(--shellccfde-line);
  border-radius: var(--shellccfde-radius-m);
  font-size: 11.5px;
  line-height: 1.55;
  color: var(--shellccfde-mist-dim);
}

/* ---------- common footer ---------- */
.shellccfde-foot {
  padding: 10px 0 4px;
  border-top: 1px solid var(--shellccfde-line);
  text-align: center;
  font-size: 11.5px;
  color: var(--shellccfde-mist-dim);
}

.shellccfde-foot b { color: var(--shellccfde-mist); font-weight: 600; }

/* ============================================================
   DOCK - compact icon rack, sliding active indicator
   ============================================================ */
.shellccfde-dock {
  position: fixed;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 430px;
  height: calc(var(--shellccfde-dock-h) + env(safe-area-inset-bottom, 0px));
  padding-bottom: env(safe-area-inset-bottom, 0px);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  background: rgba(23, 34, 45, 0.97);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border-top: 1px solid var(--shellccfde-line);
  z-index: 75;
}

.shellccfde-docklink {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: var(--shellccfde-dock-h);
  color: var(--shellccfde-mist-dim);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.shellccfde-docklink svg { width: 22px; height: 22px; }

.shellccfde-docklink:hover { color: var(--shellccfde-mist-bright); text-decoration: none; }

/* sliding indicator bar above the active role */
.shellccfde-docklink::before {
  content: "";
  position: absolute;
  top: 0; left: 50%;
  width: 0; height: 3px;
  border-radius: 0 0 3px 3px;
  background: var(--shellccfde-flame);
  transform: translateX(-50%);
  transition: width 0.25s ease;
}

.shellccfde-docklink.shellccfde-is-active { color: var(--shellccfde-flame); font-weight: 700; }

.shellccfde-docklink.shellccfde-is-active::before { width: 28px; }

.shellccfde-docklink.shellccfde-is-active:hover { color: var(--shellccfde-flame); }

/* raised center hub */
.shellccfde-dockhub::before { display: none; }

.shellccfde-dockhub .shellccfde-hubring {
  width: 47px;
  height: 47px;
  margin-top: -18px;
  border-radius: 50%;
  background: var(--shellccfde-flame);
  border: 3px solid var(--shellccfde-ink);
  box-shadow: 0 6px 16px rgba(250, 128, 114, 0.38);
  display: grid;
  place-items: center;
  transition: transform 0.2s ease;
}

.shellccfde-dockhub:hover .shellccfde-hubring { transform: translateY(-2px); }

.shellccfde-dockhub:active .shellccfde-hubring { transform: scale(0.94); }

.shellccfde-hubring svg { width: 21px; height: 21px; }

/* ============================================================
   MOTION PREFERENCES
   ============================================================ */
/* ---------- full-width action ---------- */
.shellccfde-wide {
  display: flex;
  width: 100%;
  margin: 12px 0;
}

/* ---------- payment help: boxed sections ---------- */
.shellccfde-payblock {
  margin: 0 0 16px;
  padding: 12px 12px 6px;
  border: 1px solid var(--shellccfde-line);
  border-radius: var(--shellccfde-radius-l);
  background: var(--shellccfde-ink-deep);
}

.shellccfde-payblock > h2 { font-size: 18px; margin-bottom: 8px; }

.shellccfde-verdict {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-left: 3px solid var(--shellccfde-flame);
  border-radius: 0 var(--shellccfde-radius-m) var(--shellccfde-radius-m) 0;
  background: var(--shellccfde-flame-soft);
  color: var(--shellccfde-mist-bright);
  font-size: 14.5px;
}

.shellccfde-step {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 0;
  border-top: 1px solid var(--shellccfde-line);
}

.shellccfde-stepnum {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: var(--shellccfde-radius-s);
  background: var(--shellccfde-flame);
  color: var(--shellccfde-flame-ink);
  font-family: var(--shellccfde-font-display);
  font-weight: 800;
  font-size: 14px;
}

.shellccfde-step h3 { font-size: 14.5px; margin-bottom: 3px; }

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

.shellccfde-fault { display: grid; gap: 8px; margin-top: 8px; }

.shellccfde-fault article {
  padding: 10px;
  border: 1px solid var(--shellccfde-line);
  border-radius: var(--shellccfde-radius-m);
  background: var(--shellccfde-ink);
}

.shellccfde-fault h3 {
  font-size: 14px;
  margin-bottom: 4px;
  color: var(--shellccfde-flame);
}

.shellccfde-fault p { font-size: 13px; color: var(--shellccfde-mist); }

.shellccfde-nextitem {
  padding: 10px 0;
  border-top: 1px solid var(--shellccfde-line);
}

.shellccfde-nextitem h3 { font-size: 14.5px; margin-bottom: 4px; }

.shellccfde-nextitem p { font-size: 13px; color: var(--shellccfde-mist); }

.shellccfde-facts { margin-top: 4px; }

.shellccfde-facts div {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 8px;
  padding: 8px 0;
  border-top: 1px dashed var(--shellccfde-line);
  font-size: 13px;
}

.shellccfde-facts dt {
  color: var(--shellccfde-flame);
  font-family: var(--shellccfde-font-display);
  font-weight: 700;
}

.shellccfde-facts dd { margin: 0; color: var(--shellccfde-mist); }

/* ---------- deposit help: open editorial sections ---------- */
.shellccfde-depblock {
  margin: 0 0 8px;
  padding: 12px 0 14px;
  border-bottom: 1px solid var(--shellccfde-line);
}

.shellccfde-depblock > h2 { font-size: 18px; margin-bottom: 8px; }

.shellccfde-railitem {
  position: relative;
  margin: 0 0 12px;
  padding: 0 0 2px 22px;
}

.shellccfde-railitem::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 6px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--shellccfde-flame);
}

.shellccfde-railitem h3 { font-size: 14.5px; margin-bottom: 3px; }

.shellccfde-railitem p { font-size: 13.5px; color: var(--shellccfde-mist); }

.shellccfde-limit {
  margin: 0 0 8px;
  padding: 10px 12px;
  border-radius: var(--shellccfde-radius-m);
  background: var(--shellccfde-ink-raise);
}

.shellccfde-limit h3 { font-size: 14.5px; margin-bottom: 4px; }

.shellccfde-limit p { font-size: 13px; color: var(--shellccfde-mist); }

.shellccfde-flow p { font-size: 14px; color: var(--shellccfde-mist); margin-bottom: 10px; }

.shellccfde-tick {
  display: flex;
  gap: 8px;
  padding: 8px 0;
  border-top: 1px dashed var(--shellccfde-line);
  font-size: 13.5px;
  color: var(--shellccfde-mist);
}

.shellccfde-tick svg { flex: none; width: 16px; height: 16px; margin-top: 3px; color: var(--shellccfde-flame); }

.shellccfde-ask { padding: 10px 0; border-top: 1px solid var(--shellccfde-line); }

.shellccfde-ask h3 { font-size: 15px; margin-bottom: 4px; color: var(--shellccfde-mist-bright); }

.shellccfde-ask p { font-size: 13.5px; color: var(--shellccfde-mist); }

.shellccfde-rank {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 8px;
  padding: 9px 0;
  border-top: 1px solid var(--shellccfde-line);
}

.shellccfde-rank b {
  font-family: var(--shellccfde-font-display);
  color: var(--shellccfde-flame);
  font-size: 14px;
}

.shellccfde-rank h3 { font-size: 14.5px; margin-bottom: 3px; }

.shellccfde-rank p { font-size: 13px; color: var(--shellccfde-mist); }

@media (prefers-reduced-motion: reduce) {
  .shellccfde-track,
  .shellccfde-panel,
  .shellccfde-scrim,
  .shellccfde-dot,
  .shellccfde-docklink::before,
  .shellccfde-hubring {
    transition: none !important;
  }
}
