/* ==========================================================================
   Winph Casino - compact-813ca0-frame.css
   Mobile-first stylesheet tuned for a 320-430px phone canvas.
   All class names use the view813ca- prefix.
   Palette anchors:
     ink    #0D1117  (page background)
     slate  #5D5D5D  (secondary surface)
     steel  #808080  (muted text / hairlines)
     mist   #D3D3D3  (body text)
     lav    #E6E6FA  (headings)
     violet #EE82EE  (accent / active states)
   ========================================================================== */

:root {
  --view813ca-ink: #0D1117;
  --view813ca-slate: #5D5D5D;
  --view813ca-steel: #808080;
  --view813ca-mist: #D3D3D3;
  --view813ca-lav: #E6E6FA;
  --view813ca-violet: #EE82EE;
  --view813ca-panel: rgba(93, 93, 93, 0.18);
  --view813ca-panel-2: rgba(93, 93, 93, 0.32);
  --view813ca-line: rgba(211, 211, 211, 0.14);
  --view813ca-line-2: rgba(238, 130, 238, 0.22);
  --view813ca-glow: rgba(238, 130, 238, 0.30);
  --view813ca-r-lg: 18px;
  --view813ca-r-md: 12px;
  --view813ca-r-sm: 8px;
  --view813ca-ease: 180ms cubic-bezier(0.22, 0.61, 0.36, 1);
  --view813ca-headh: 96px;
  --view813ca-barh: 72px;
  --view813ca-font-head: "Trebuchet MS", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --view813ca-font-body: "Segoe UI", "Trebuchet MS", "Helvetica Neue", Arial, sans-serif;
}

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

* { box-sizing: border-box; }

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

body {
  margin: 0;
  background: #0D1117;
  color: var(--view813ca-mist);
  font-family: var(--view813ca-font-body);
  font-size: 14.5px;
  line-height: 1.62;
  min-height: 100vh;
  overflow-x: hidden;
}

h1, h2, h3, h4 {
  font-family: var(--view813ca-font-head);
  color: var(--view813ca-lav);
  font-weight: 700;
  line-height: 1.28;
  margin: 0 0 0.55em;
  text-wrap: balance;
}

h1 { font-size: clamp(24px, 6.6vw, 30px); letter-spacing: -0.01em; }
h2 { font-size: clamp(19px, 5.2vw, 22px); }
h3 { font-size: 15.5px; }
h4 { font-size: 13.5px; color: var(--view813ca-mist); }

p { margin: 0 0 0.9em; }
p:last-child { margin-bottom: 0; }

a { color: var(--view813ca-violet); text-decoration: none; }
a:hover { text-decoration: underline; }

img { max-width: 100%; }

ul, ol { margin: 0 0 0.9em; padding-left: 1.25em; }

::selection { background: rgba(238, 130, 238, 0.35); color: #0D1117; }

a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--view813ca-violet);
  outline-offset: 2px;
  border-radius: 6px;
}

/* --------------------------------------------------------------------------
   Phone canvas: centered 430px shell on any screen width
   -------------------------------------------------------------------------- */

.view813ca-shell {
  position: relative;
  width: 100%;
  max-width: 430px;
  margin: 0 auto;
  min-height: 100vh;
  background: var(--view813ca-ink);
  border-inline: 1px solid rgba(211, 211, 211, 0.07);
  box-shadow: 0 0 46px rgba(0, 0, 0, 0.55);
  overflow-x: clip;
}

/* --------------------------------------------------------------------------
   Fixed top bar: two layers (brand row above action row)
   -------------------------------------------------------------------------- */

.view813ca-topbar {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 430px;
  z-index: 70;
  background: rgba(13, 17, 23, 0.96);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--view813ca-line);
  transition: box-shadow var(--view813ca-ease);
}

.view813ca-topbar--scrolled {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45);
}

.view813ca-brandrow {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 46px;
  padding: 5px 12px 3px;
  border-bottom: 1px solid rgba(211, 211, 211, 0.08);
}

.view813ca-logo {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid var(--view813ca-line-2);
  object-fit: cover;
  display: block;
  background: rgba(93, 93, 93, 0.3);
}

.view813ca-brandname {
  font-family: var(--view813ca-font-head);
  font-size: 17.5px;
  font-weight: 700;
  color: var(--view813ca-lav);
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.view813ca-brandname b { color: var(--view813ca-violet); font-weight: 700; }

.view813ca-actrow {
  display: grid;
  grid-template-columns: 1fr 1fr 52px;
  gap: 8px;
  align-items: center;
  padding: 6px 12px 8px;
}

.view813ca-btn {
  min-height: 44px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-family: var(--view813ca-font-head);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: transform var(--view813ca-ease), box-shadow var(--view813ca-ease),
    background-color var(--view813ca-ease), border-color var(--view813ca-ease);
}

.view813ca-btn--register {
  background: linear-gradient(135deg, #EE82EE 0%, rgba(238, 130, 238, 0.72) 100%);
  color: #0D1117;
}

.view813ca-btn--register:hover {
  box-shadow: 0 0 14px var(--view813ca-glow);
  text-decoration: none;
}

.view813ca-btn--login {
  background: rgba(93, 93, 93, 0.22);
  border-color: var(--view813ca-line-2);
  color: var(--view813ca-lav);
}

.view813ca-btn--login:hover { border-color: var(--view813ca-violet); text-decoration: none; }

.view813ca-btn:active { transform: scale(0.97); }

.view813ca-burger {
  width: 48px;
  height: 44px;
  border-radius: 10px;
  border: 1px solid var(--view813ca-line);
  background: rgba(93, 93, 93, 0.18);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  cursor: pointer;
  transition: border-color var(--view813ca-ease), background-color var(--view813ca-ease);
}

.view813ca-burgerbar {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 2px;
  background: var(--view813ca-lav);
  transition: transform var(--view813ca-ease), opacity var(--view813ca-ease);
}

.view813ca-burger--on .view813ca-burgerbar:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.view813ca-burger--on .view813ca-burgerbar:nth-child(2) { opacity: 0; }
.view813ca-burger--on .view813ca-burgerbar:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.view813ca-burger:hover { border-color: var(--view813ca-violet); }

/* --------------------------------------------------------------------------
   Layered dropdown menu (opens under the top bar)
   -------------------------------------------------------------------------- */

.view813ca-drawer {
  position: fixed;
  top: var(--view813ca-headh);
  left: 50%;
  transform: translateX(-50%) translateY(-8px);
  width: 100%;
  max-width: 430px;
  z-index: 65;
  background: rgba(13, 17, 23, 0.985);
  border-bottom: 1px solid var(--view813ca-line-2);
  max-height: calc(100vh - var(--view813ca-headh));
  overflow-y: auto;
  padding: 12px 14px 14px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--view813ca-ease), transform var(--view813ca-ease), visibility var(--view813ca-ease);
}

.view813ca-drawer--open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.view813ca-drawer::-webkit-scrollbar { width: 4px; }
.view813ca-drawer::-webkit-scrollbar-thumb { background: rgba(128, 128, 128, 0.6); border-radius: 4px; }

.view813ca-drawergroup { margin-bottom: 12px; }

.view813ca-drawerhead {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--view813ca-violet);
  margin: 0 0 7px;
  padding-bottom: 5px;
  border-bottom: 1px dashed rgba(128, 128, 128, 0.35);
}

.view813ca-drawercols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.view813ca-drawerlink {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 11px;
  border-radius: var(--view813ca-r-sm);
  border: 1px solid var(--view813ca-line);
  background: var(--view813ca-panel);
  color: var(--view813ca-lav);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  transition: border-color var(--view813ca-ease), background-color var(--view813ca-ease);
}

.view813ca-drawerlink:hover {
  border-color: var(--view813ca-violet);
  background: rgba(238, 130, 238, 0.10);
  text-decoration: none;
}

.view813ca-drawerpromo {
  width: 100%;
  min-height: 46px;
  margin-top: 4px;
  border-radius: var(--view813ca-r-md);
  border: 1px solid var(--view813ca-line-2);
  background: linear-gradient(120deg, rgba(238, 130, 238, 0.20), rgba(93, 93, 93, 0.25));
  color: var(--view813ca-lav);
  font-family: var(--view813ca-font-head);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: box-shadow var(--view813ca-ease), transform var(--view813ca-ease);
}

.view813ca-drawerpromo:hover { box-shadow: 0 0 12px var(--view813ca-glow); }
.view813ca-drawerpromo:active { transform: scale(0.98); }

/* --------------------------------------------------------------------------
   Main column
   -------------------------------------------------------------------------- */

.view813ca-main {
  padding: calc(var(--view813ca-headh) + 10px) 14px 0;
  /* Keep content clear of the fixed bottom bar on every phone. */
  padding-bottom: calc(var(--view813ca-barh) + 30px + env(safe-area-inset-bottom));
}

.view813ca-section { margin: 0 0 30px; }

.view813ca-kicker {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--view813ca-violet);
  margin: 0 0 6px;
}

.view813ca-lede {
  font-size: 15px;
  color: var(--view813ca-mist);
}

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

.view813ca-hero {
  padding: 16px 2px 6px;
}

.view813ca-ctarow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 14px 0 4px;
}

.view813ca-cta {
  border: 1px solid transparent;
  font-family: var(--view813ca-font-head);
  font-weight: 700;
  cursor: pointer;
  border-radius: 14px;
  transition: transform var(--view813ca-ease), box-shadow var(--view813ca-ease);
}

/* Primary CTA: full-width oversized; secondary CTA: compact outline. */
.view813ca-cta--primary {
  flex: 1 1 100%;
  min-height: 52px;
  font-size: 16px;
  letter-spacing: 0.02em;
  color: #0D1117;
  background: linear-gradient(120deg, #EE82EE 0%, rgba(238, 130, 238, 0.62) 100%);
  box-shadow: 0 6px 20px rgba(238, 130, 238, 0.18);
}

.view813ca-cta--primary:hover { box-shadow: 0 8px 26px var(--view813ca-glow); }

.view813ca-cta--ghost {
  flex: 0 1 auto;
  min-height: 44px;
  padding: 0 18px;
  font-size: 13.5px;
  color: var(--view813ca-lav);
  border-color: var(--view813ca-line-2);
  background: rgba(93, 93, 93, 0.16);
}

.view813ca-cta--ghost:hover { border-color: var(--view813ca-violet); }
.view813ca-cta:active { transform: scale(0.97); }

/* --------------------------------------------------------------------------
   Promo carousel
   -------------------------------------------------------------------------- */

.view813ca-carousel {
  position: relative;
  margin: 14px 0 6px;
  border-radius: var(--view813ca-r-lg);
  overflow: hidden;
  border: 1px solid var(--view813ca-line-2);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.4);
}

.view813ca-belt {
  display: flex;
  transition: transform 320ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.view813ca-slide {
  position: relative;
  flex: 0 0 100%;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  border: 0;
  background: var(--view813ca-slate);
  cursor: pointer;
  text-align: left;
}

.view813ca-slide img {
  display: block;
  width: 100%;
  aspect-ratio: 8 / 3;
  object-fit: cover;
}

.view813ca-slidecap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 26px 14px 10px;
  background: linear-gradient(180deg, rgba(13, 17, 23, 0) 0%, rgba(13, 17, 23, 0.92) 78%);
  color: var(--view813ca-lav);
  font-family: var(--view813ca-font-head);
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.35;
}

.view813ca-slidecap small {
  display: block;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--view813ca-violet);
}

.view813ca-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(211, 211, 211, 0.35);
  border-radius: var(--view813ca-r-sm);
  background: rgba(13, 17, 23, 0.55);
  color: var(--view813ca-lav);
  cursor: pointer;
  z-index: 5;
  transition: background-color var(--view813ca-ease), border-color var(--view813ca-ease);
}

.view813ca-arrow:hover { border-color: var(--view813ca-violet); background: rgba(13, 17, 23, 0.8); }
.view813ca-arrow--prev { left: 6px; }
.view813ca-arrow--next { right: 6px; }

.view813ca-dots {
  position: absolute;
  right: 12px;
  bottom: 10px;
  display: flex;
  gap: 6px;
  z-index: 5;
}

.view813ca-dot {
  width: 12px;
  height: 12px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid rgba(238, 130, 238, 0.55);
  background: rgba(13, 17, 23, 0.5);
  cursor: pointer;
  transition: background-color var(--view813ca-ease), transform var(--view813ca-ease);
}

.view813ca-dot--on {
  background: var(--view813ca-violet);
  transform: scale(1.15);
  box-shadow: 0 0 8px var(--view813ca-glow);
}

/* --------------------------------------------------------------------------
   Quick facts rail (horizontal chips)
   -------------------------------------------------------------------------- */

.view813ca-facts {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 4px 1px 8px;
  margin: 0 0 8px;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}

.view813ca-fact {
  flex: 0 0 auto;
  scroll-snap-align: start;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid var(--view813ca-line);
  background: var(--view813ca-panel);
  color: var(--view813ca-lav);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.view813ca-fact b { color: var(--view813ca-violet); }

/* --------------------------------------------------------------------------
   Game shelf: section head + compact icon grid with bottom name bars
   -------------------------------------------------------------------------- */

.view813ca-secthead {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}

.view813ca-sectcount {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 700;
  color: var(--view813ca-steel);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.view813ca-sectlead {
  font-size: 13.5px;
  color: var(--view813ca-mist);
  margin: 0 0 12px;
}

.view813ca-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px 7px;
}

.view813ca-tile {
  padding: 0;
  border: 1px solid var(--view813ca-line);
  border-radius: var(--view813ca-r-md);
  background: var(--view813ca-panel);
  overflow: hidden;
  text-align: center;
  cursor: pointer;
  transition: transform var(--view813ca-ease), border-color var(--view813ca-ease),
    box-shadow var(--view813ca-ease);
}

.view813ca-tile:hover {
  border-color: rgba(238, 130, 238, 0.6);
  box-shadow: 0 0 12px rgba(238, 130, 238, 0.14);
}

.view813ca-tile:active { transform: scale(0.96); }

.view813ca-tilepic {
  display: block;
  aspect-ratio: 1 / 1;
  background: rgba(13, 17, 23, 0.65);
  overflow: hidden;
}

.view813ca-tilepic img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.view813ca-tilename {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding: 5px 4px 6px;
  min-height: 36px;
  font-family: var(--view813ca-font-head);
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.28;
  color: var(--view813ca-lav);
  background: rgba(13, 17, 23, 0.85);
  border-top: 1px solid rgba(238, 130, 238, 0.16);
}

.view813ca-morerow {
  margin-top: 12px;
  text-align: center;
}

.view813ca-morlink {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 8px 20px;
  border-radius: 999px;
  border: 1px solid var(--view813ca-line-2);
  background: var(--view813ca-panel);
  color: var(--view813ca-lav);
  font-family: var(--view813ca-font-head);
  font-size: 13px;
  font-weight: 700;
  transition: border-color var(--view813ca-ease), box-shadow var(--view813ca-ease);
}

.view813ca-morlink:hover { border-color: var(--view813ca-violet); box-shadow: 0 0 10px var(--view813ca-glow); text-decoration: none; }

/* --------------------------------------------------------------------------
   Direct answer panel (lead-first highlight block)
   -------------------------------------------------------------------------- */

.view813ca-panel {
  border-left: 3px solid var(--view813ca-violet);
  border-radius: 4px 16px 16px 4px;
  background: linear-gradient(135deg, rgba(238, 130, 238, 0.10), rgba(93, 93, 93, 0.18));
  padding: 14px 14px 12px;
}

.view813ca-panel p { font-size: 13.8px; }

/* --------------------------------------------------------------------------
   Player feedback bubbles
   -------------------------------------------------------------------------- */

.view813ca-quotes {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.view813ca-quote {
  border: 1px solid var(--view813ca-line);
  border-radius: 4px 16px 16px 16px;
  background: var(--view813ca-panel-2);
  padding: 12px 13px 10px;
}

.view813ca-quote p {
  font-size: 13.5px;
  color: var(--view813ca-lav);
  margin-bottom: 8px;
}

.view813ca-quotemeta {
  display: block;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--view813ca-violet);
  letter-spacing: 0.04em;
}

/* --------------------------------------------------------------------------
   Trick list with numbered chips
   -------------------------------------------------------------------------- */

.view813ca-tricks {
  counter-reset: view813ca-trick;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.view813ca-trick {
  counter-increment: view813ca-trick;
  position: relative;
  padding: 10px 12px 10px 48px;
  border: 1px solid var(--view813ca-line);
  border-radius: 14px;
  background: var(--view813ca-panel);
  font-size: 13.5px;
}

.view813ca-trick::before {
  content: counter(view813ca-trick, decimal-leading-zero);
  position: absolute;
  left: 12px;
  top: 12px;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid var(--view813ca-line-2);
  background: rgba(13, 17, 23, 0.8);
  color: var(--view813ca-violet);
  font-family: var(--view813ca-font-head);
  font-size: 11px;
  font-weight: 700;
}

.view813ca-trick b { color: var(--view813ca-lav); }

/* --------------------------------------------------------------------------
   RTP definition rows
   -------------------------------------------------------------------------- */

.view813ca-defrow {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px dashed rgba(128, 128, 128, 0.35);
}

.view813ca-defrow:last-child { border-bottom: 0; }

.view813ca-defterm {
  font-family: var(--view813ca-font-head);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--view813ca-violet);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.view813ca-defrow p { font-size: 13.2px; margin: 0; }

/* --------------------------------------------------------------------------
   Mobile access step rail
   -------------------------------------------------------------------------- */

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

.view813ca-step {
  position: relative;
  padding: 0 0 16px 40px;
}

.view813ca-step::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 30px;
  bottom: 2px;
  width: 1px;
  background: rgba(238, 130, 238, 0.3);
}

.view813ca-step:last-child::before { display: none; }

.view813ca-stepnum {
  position: absolute;
  left: 0;
  top: 0;
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--view813ca-ink);
  border: 2px solid var(--view813ca-violet);
  color: var(--view813ca-violet);
  font-family: var(--view813ca-font-head);
  font-size: 13px;
  font-weight: 700;
}

.view813ca-step h3 { margin-bottom: 4px; }
.view813ca-step p { font-size: 13.5px; margin-bottom: 0; }

/* --------------------------------------------------------------------------
   Use case scenarios
   -------------------------------------------------------------------------- */

.view813ca-usecases {
  display: grid;
  gap: 10px;
}

.view813ca-usecase {
  border: 1px solid var(--view813ca-line);
  border-top: 2px solid var(--view813ca-violet);
  border-radius: 6px 14px 14px 14px;
  background: var(--view813ca-panel);
  padding: 12px 13px;
}

.view813ca-usecase h3 { margin-bottom: 5px; }
.view813ca-usecase p { font-size: 13.5px; margin-bottom: 8px; }

.view813ca-usecaselink {
  display: inline-block;
  min-height: 24px;
  font-size: 12.5px;
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   Extended footer: brand > page directory > promotions > disclaimer
   -------------------------------------------------------------------------- */

.view813ca-xfoot {
  margin-top: 34px;
  border-top: 1px solid var(--view813ca-line-2);
  padding: 18px 2px 6px;
}

.view813ca-xfootbrand {
  padding: 0 2px 14px;
  font-size: 13.2px;
  color: var(--view813ca-mist);
}

.view813ca-xfootbrand img {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  float: left;
  margin: 2px 10px 4px 0;
  border: 1px solid var(--view813ca-line-2);
}

.view813ca-dirgrid {
  display: grid;
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid var(--view813ca-line);
  border-bottom: 1px solid var(--view813ca-line);
}

.view813ca-dirhead {
  margin: 0 0 7px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--view813ca-violet);
}

.view813ca-dirlist {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 10px;
}

.view813ca-dirlink {
  display: inline-block;
  padding: 6px 0;
  font-size: 12.5px;
  color: var(--view813ca-mist);
  border-bottom: 1px dotted transparent;
}

.view813ca-dirlink:hover { color: var(--view813ca-violet); border-bottom-color: rgba(238, 130, 238, 0.5); }

.view813ca-promos {
  padding: 14px 0 12px;
  border-bottom: 1px solid var(--view813ca-line);
}

.view813ca-promorow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.view813ca-promoact {
  min-height: 46px;
  padding: 8px 10px;
  border-radius: var(--view813ca-r-md);
  border: 1px solid var(--view813ca-line-2);
  background: linear-gradient(140deg, rgba(238, 130, 238, 0.14), rgba(93, 93, 93, 0.22));
  color: var(--view813ca-lav);
  font-family: var(--view813ca-font-head);
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.3;
  cursor: pointer;
  transition: box-shadow var(--view813ca-ease), transform var(--view813ca-ease);
}

.view813ca-promoact:hover { box-shadow: 0 0 12px var(--view813ca-glow); }
.view813ca-promoact:active { transform: scale(0.97); }

.view813ca-note {
  padding: 12px 2px 0;
  font-size: 11.8px;
  line-height: 1.55;
  color: var(--view813ca-steel);
}

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

.view813ca-foot {
  padding: 16px 14px 6px;
  text-align: center;
  font-size: 11.5px;
  color: var(--view813ca-steel);
  border-top: 1px solid var(--view813ca-line);
}

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

/* --------------------------------------------------------------------------
   Layered mobile bottom bar (fixed, 5 roles)
   -------------------------------------------------------------------------- */

.view813ca-bottombar {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 430px;
  z-index: 80;
  background: rgba(13, 17, 23, 0.97);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--view813ca-line-2);
  padding-bottom: env(safe-area-inset-bottom);
}

/* Top hairline layer of the bar */
.view813ca-bottombar::before {
  content: "";
  display: block;
  height: 3px;
  background: linear-gradient(90deg, rgba(238, 130, 238, 0) 0%, rgba(238, 130, 238, 0.7) 50%, rgba(238, 130, 238, 0) 100%);
}

.view813ca-bnav {
  display: flex;
  align-items: stretch;
  min-height: 66px;
}

.view813ca-bnavitem {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: 64px;
  padding: 6px 2px 7px;
  background: none;
  border: 0;
  cursor: pointer;
  color: var(--view813ca-mist);
  font-family: var(--view813ca-font-body);
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.2;
  transition: color var(--view813ca-ease);
}

.view813ca-bnavitem:hover { color: var(--view813ca-lav); text-decoration: none; }

.view813ca-bnavicon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: var(--view813ca-lav);
  transition: background-color var(--view813ca-ease), color var(--view813ca-ease),
    box-shadow var(--view813ca-ease);
}

.view813ca-bnavicon svg { display: block; }

/* Active role: contrast inversion (violet chip, ink glyph) */
.view813ca-bnavitem--on { color: #0D1117; }
.view813ca-bnavitem--on .view813ca-bnavicon {
  background: var(--view813ca-violet);
  color: #0D1117;
  box-shadow: 0 0 12px var(--view813ca-glow);
}

/* --------------------------------------------------------------------------
   Back-to-top control (stays inside the phone canvas at any width)
   -------------------------------------------------------------------------- */

.view813ca-totop {
  position: fixed;
  right: max(12px, calc(50% - 203px));
  bottom: calc(var(--view813ca-barh) + 14px + env(safe-area-inset-bottom));
  z-index: 60;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid var(--view813ca-line-2);
  background: rgba(13, 17, 23, 0.92);
  color: var(--view813ca-violet);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity var(--view813ca-ease), transform var(--view813ca-ease), visibility var(--view813ca-ease);
}

.view813ca-totop--show { opacity: 1; visibility: visible; transform: translateY(0); }
.view813ca-totop:hover { box-shadow: 0 0 12px var(--view813ca-glow); }

/* --------------------------------------------------------------------------
   Responsive refinements inside the 320-430px band and beyond
   -------------------------------------------------------------------------- */

/* 5-column icon grid from 375px upward */
@media (min-width: 375px) {
  .view813ca-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px 8px; }
  .view813ca-main { padding-left: 16px; padding-right: 16px; }
  .view813ca-usecases { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .view813ca-fact { font-size: 12.5px; }
}

/* At the full 430px canvas edge: slightly roomier hero and directory */
@media (min-width: 430px) {
  .view813ca-hero { padding-top: 22px; }
  .view813ca-cta--primary { min-height: 54px; }
  .view813ca-defrow { grid-template-columns: 104px 1fr; }
  .view813ca-dirlist { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .view813ca-tilename { font-size: 11px; }
}

/* Wide screens: keep the centered phone canvas readable */
@media (min-width: 480px) {
  .view813ca-shell { border-inline-color: rgba(238, 130, 238, 0.14); }
}

@media (hover: none) {
  .view813ca-tile:hover { box-shadow: none; }
  .view813ca-arrow { width: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

/* --------------------------------------------------------------------------
   Help-page components: symptom rows, mistake cards, checklists,
   comparison table, Q&A rows and pros/limits columns
   -------------------------------------------------------------------------- */

/* Symptom -> cause -> fix rows (troubleshooting) */
.view813ca-symrow {
  border: 1px solid var(--view813ca-line);
  border-radius: var(--view813ca-r-md);
  background: var(--view813ca-panel);
  padding: 12px 13px;
  margin-bottom: 10px;
}

.view813ca-symrow h3 {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin-bottom: 6px;
}

.view813ca-symtag {
  flex: 0 0 auto;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0D1117;
  background: var(--view813ca-violet);
  border-radius: 4px;
  padding: 2px 7px;
  transform: translateY(-2px);
}

.view813ca-symrow p { font-size: 13.2px; margin-bottom: 6px; }
.view813ca-symrow p:last-child { margin-bottom: 0; }
.view813ca-symrow b { color: var(--view813ca-lav); }

/* Mistake cards with a warning glyph column */
.view813ca-mislist { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }

.view813ca-misitem {
  position: relative;
  border: 1px solid rgba(238, 130, 238, 0.18);
  border-left: 3px solid rgba(238, 130, 238, 0.55);
  border-radius: 5px 14px 14px 5px;
  background: var(--view813ca-panel);
  padding: 10px 12px 10px 14px;
  font-size: 13.4px;
}

.view813ca-misitem b { color: var(--view813ca-lav); display: block; margin-bottom: 3px; }
.view813ca-misitem em { color: var(--view813ca-violet); font-style: normal; font-weight: 700; }

/* Checklist with tick marks (selection criteria) */
.view813ca-checklist { margin: 0; padding: 0; list-style: none; display: grid; gap: 9px; }

.view813ca-checkitem {
  position: relative;
  padding: 9px 12px 9px 40px;
  border: 1px dashed rgba(128, 128, 128, 0.45);
  border-radius: 12px;
  background: rgba(13, 17, 23, 0.5);
  font-size: 13.4px;
}

.view813ca-checkitem::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 14px;
  width: 16px;
  height: 9px;
  border-left: 2.5px solid var(--view813ca-violet);
  border-bottom: 2.5px solid var(--view813ca-violet);
  transform: rotate(-45deg);
}

.view813ca-checkitem b { color: var(--view813ca-lav); }

/* Compact comparison table */
.view813ca-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

.view813ca-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.8px;
  min-width: 300px;
}

.view813ca-table caption {
  caption-side: top;
  text-align: left;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--view813ca-steel);
  padding-bottom: 6px;
}

.view813ca-table th,
.view813ca-table td {
  border: 1px solid var(--view813ca-line);
  padding: 8px 9px;
  text-align: left;
  vertical-align: top;
  line-height: 1.45;
}

.view813ca-table th {
  background: rgba(238, 130, 238, 0.12);
  color: var(--view813ca-lav);
  font-family: var(--view813ca-font-head);
  font-size: 12px;
  font-weight: 700;
}

.view813ca-table td { color: var(--view813ca-mist); background: rgba(93, 93, 93, 0.14); }
.view813ca-table td:first-child { color: var(--view813ca-lav); font-weight: 600; }

/* Q&A rows (visible full answers) */
.view813ca-faq { display: grid; gap: 10px; }

.view813ca-qa {
  border: 1px solid var(--view813ca-line);
  border-radius: 12px 12px 4px 12px;
  background: var(--view813ca-panel-2);
  padding: 11px 13px;
}

.view813ca-qa h3 {
  font-size: 14px;
  color: var(--view813ca-violet);
  margin-bottom: 5px;
}

.view813ca-qa p { font-size: 13.2px; margin-bottom: 0; }

/* Pros and limits twin columns */
.view813ca-proscols { display: grid; gap: 10px; }

.view813ca-proscol {
  border: 1px solid var(--view813ca-line);
  border-radius: var(--view813ca-r-md);
  padding: 12px 13px;
  background: var(--view813ca-panel);
}

.view813ca-proscol--up { border-top: 3px solid var(--view813ca-violet); }
.view813ca-proscol--down { border-top: 3px solid var(--view813ca-steel); }

.view813ca-proscol h3 { margin-bottom: 6px; }
.view813ca-proscol ul { margin: 0; padding-left: 1.1em; font-size: 13.2px; }
.view813ca-proscol li { margin-bottom: 6px; }
.view813ca-proscol li:last-child { margin-bottom: 0; }

@media (min-width: 375px) {
  .view813ca-proscols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
