/* =====================================================================
   jili slots  -  jili-slots.click
   canvas stylesheet  -  css/jili-slots-canvas-612a29.css
   ---------------------------------------------------------------------
   palette     : #FFEB3B  #8A2BE2  #1A1A2E  #D4AF37  #A9A9A9  #DA70D6
   canvas      : 320-430px mobile frame, centered on wide screens
   class prefix: view612a2-   (custom properties share the same prefix)
   shape voice : square-corner high-contrast CTAs, small radius,
                 tight square-icon game catalogue, lead-in sections,
                 state-colour-only motion budget, light press feedback
   ===================================================================== */

/* ------------------------------------------------------------------ */
/* 1. design tokens                                                    */
/* ------------------------------------------------------------------ */
:root {
  --view612a2-ink: #1A1A2E;          /* deep base background            */
  --view612a2-ink-2: #212134;        /* raised panel                    */
  --view612a2-ink-3: #272742;        /* hover / pressed panel           */
  --view612a2-line: #3a3a5c;         /* hairline borders                */
  --view612a2-paper: #f4f2ff;        /* main text on dark               */
  --view612a2-mute: #A9A9A9;         /* secondary text                  */
  --view612a2-yellow: #FFEB3B;       /* primary CTA + active accent     */
  --view612a2-violet: #8A2BE2;       /* secondary accent                */
  --view612a2-gold: #D4AF37;         /* premium accent / borders        */
  --view612a2-orchid: #DA70D6;       /* highlight accent                */
  --view612a2-shell: #10101f;        /* page behind the phone canvas    */
  --view612a2-r-1: 2px;              /* CTA corner (square voice)       */
  --view612a2-r-2: 4px;              /* tile corner (small radius)      */
  --view612a2-r-3: 6px;              /* card corner                     */
  --view612a2-head-h: 102px;         /* fixed header height (2 tiers)   */
  --view612a2-bnav-h: 66px;          /* fixed bottom bar height         */
  --view612a2-tap: 44px;             /* minimum touch target            */
  --view612a2-font: -apple-system, BlinkMacSystemFont, "Segoe UI",
                    Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ------------------------------------------------------------------ */
/* 2. reset + phone canvas                                             */
/* ------------------------------------------------------------------ */
* { margin: 0; padding: 0; box-sizing: border-box; }

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

body {
  background: var(--view612a2-shell);
  color: var(--view612a2-paper);
  font-family: var(--view612a2-font);
  font-weight: 400;
  font-size: 15px;
  line-height: 1.6;
  overflow-x: hidden;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  border: 0;
}

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

a {
  color: var(--view612a2-orchid);
  text-decoration: none;
}

a:hover { color: var(--view612a2-yellow); }

ul, ol { list-style: none; }

/* the centered phone canvas - stays 430px wide at most */
.view612a2-canvas {
  position: relative;
  width: 100%;
  max-width: 430px;
  margin: 0 auto;
  min-height: 100vh;
  background: var(--view612a2-ink);
  box-shadow: 0 0 44px rgba(0, 0, 0, .55);
  overflow-x: clip;
}

/* clear both fixed bars so nothing is ever covered */
.view612a2-main {
  padding-top: calc(var(--view612a2-head-h) + 6px);
  padding-bottom: calc(var(--view612a2-bnav-h) + 26px);
}

/* anchor jumps clear the sticky header */
.view612a2-arena,
.view612a2-module {
  scroll-margin-top: calc(var(--view612a2-head-h) + 10px);
}

/* light press feedback shared by every tappable surface */
.view612a2-pressable {
  transition: background-color .16s ease, color .16s ease,
              border-color .16s ease, filter .16s ease, transform .12s ease;
}

.view612a2-pressable:active {
  transform: scale(.97);
  filter: brightness(1.18);
}

:focus-visible {
  outline: 2px solid var(--view612a2-yellow);
  outline-offset: 2px;
}

/* screen-reader only helper (kept minimal, one per page) */
.view612a2-sronly {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ------------------------------------------------------------------ */
/* 3. header - centered identity bar + action row                      */
/* ------------------------------------------------------------------ */
.view612a2-header {
  position: fixed;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 430px;
  z-index: 60;
  background: linear-gradient(180deg, #20203a 0%, var(--view612a2-ink) 100%);
  border-bottom: 1px solid var(--view612a2-line);
}

/* tier 1 - identity bar: burger | logo+name | symmetrical spacer */
.view612a2-idbar {
  display: grid;
  grid-template-columns: var(--view612a2-tap) 1fr var(--view612a2-tap);
  align-items: center;
  min-height: 54px;
  padding: 0 10px;
}

.view612a2-burger {
  width: var(--view612a2-tap);
  height: var(--view612a2-tap);
  border: 1px solid var(--view612a2-line);
  border-radius: var(--view612a2-r-2);
  background: var(--view612a2-ink-2);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  cursor: pointer;
}

.view612a2-burger i {
  display: block;
  width: 18px; height: 2px;
  background: var(--view612a2-yellow);
}

.view612a2-burger i:nth-child(2) { width: 12px; }

.view612a2-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
}

.view612a2-brand-logo {
  width: 30px; height: 30px;
  border-radius: var(--view612a2-r-2);
  object-fit: cover;
  flex: none;
}

.view612a2-brand-name {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .4px;
  color: var(--view612a2-paper);
  white-space: nowrap;
}

.view612a2-brand-name b {
  color: var(--view612a2-yellow);
  font-weight: 800;
}

/* tier 2 - action row: register + login share the width */
.view612a2-actionrow {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 8px;
  padding: 8px 10px 9px;
}

.view612a2-btn-register,
.view612a2-btn-login {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--view612a2-tap);
  font-family: inherit;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .6px;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: var(--view612a2-r-1);
}

.view612a2-btn-register {
  background: var(--view612a2-yellow);
  color: #17172b;
  border: 1px solid var(--view612a2-yellow);
}

.view612a2-btn-register:hover {
  background: var(--view612a2-gold);
  border-color: var(--view612a2-gold);
  color: #17172b;
}

.view612a2-btn-login {
  background: transparent;
  color: var(--view612a2-gold);
  border: 1px solid var(--view612a2-gold);
}

.view612a2-btn-login:hover {
  background: rgba(212, 175, 55, .12);
  color: var(--view612a2-yellow);
}

/* ------------------------------------------------------------------ */
/* 4. full-height drawer menu                                          */
/* ------------------------------------------------------------------ */
.view612a2-scrim {
  position: fixed;
  inset: 0;
  z-index: 70;
  background: rgba(8, 8, 18, .66);
  opacity: 0;
  visibility: hidden;
  transition: opacity .18s ease, visibility .18s ease;
}

.view612a2-drawer {
  position: fixed;
  top: 0; left: 0; bottom: 0;
  z-index: 80;
  width: min(84%, 318px);
  max-width: 430px;
  background: var(--view612a2-ink-2);
  border-right: 1px solid var(--view612a2-line);
  transform: translateX(-102%);
  transition: transform .22s ease;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  padding-bottom: 20px;
}

body.view612a2-noscroll { overflow: hidden; }

.view612a2-menuopen .view612a2-scrim {
  opacity: 1;
  visibility: visible;
}

.view612a2-menuopen .view612a2-drawer {
  transform: translateX(0);
}

.view612a2-menuopen .view612a2-burger i:nth-child(1) { width: 8px; }

.view612a2-drawer-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 14px 12px;
  border-bottom: 1px solid var(--view612a2-line);
}

.view612a2-drawer-head img {
  width: 34px; height: 34px;
  border-radius: var(--view612a2-r-2);
  object-fit: cover;
}

.view612a2-drawer-head strong {
  font-size: 16px;
  font-weight: 800;
  color: var(--view612a2-yellow);
}

.view612a2-drawer-head span {
  display: block;
  font-size: 11px;
  color: var(--view612a2-mute);
  letter-spacing: .4px;
}

.view612a2-drawer-close {
  margin-left: auto;
  width: 38px; height: 38px;
  border: 1px solid var(--view612a2-line);
  border-radius: var(--view612a2-r-2);
  background: var(--view612a2-ink);
  color: var(--view612a2-mute);
  font-size: 17px;
  font-weight: 700;
  cursor: pointer;
  line-height: 1;
}

.view612a2-drawer-close:hover {
  color: var(--view612a2-yellow);
  border-color: var(--view612a2-gold);
}

.view612a2-drawer-group {
  padding: 14px 14px 4px;
}

.view612a2-drawer-group > h3 {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--view612a2-gold);
  margin-bottom: 8px;
}

.view612a2-drawer-link {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: var(--view612a2-tap);
  padding: 10px 10px;
  border-radius: var(--view612a2-r-2);
  color: var(--view612a2-paper);
  font-size: 14px;
  font-weight: 600;
  border-left: 2px solid transparent;
}

.view612a2-drawer-link em {
  font-style: normal;
  font-size: 11px;
  color: var(--view612a2-mute);
  margin-left: auto;
}

.view612a2-drawer-link:hover {
  background: var(--view612a2-ink-3);
  color: var(--view612a2-yellow);
}

.view612a2-drawer-link.view612a2-on {
  background: var(--view612a2-yellow);
  color: #17172b;
  border-left-color: var(--view612a2-violet);
}

.view612a2-drawer-link.view612a2-on em { color: #4a4a33; }

.view612a2-drawer-cta {
  margin: 16px 14px 0;
  display: block;
  width: calc(100% - 28px);
  min-height: var(--view612a2-tap);
  background: var(--view612a2-violet);
  border: 1px solid var(--view612a2-orchid);
  color: #fff;
  border-radius: var(--view612a2-r-1);
  font-family: inherit;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .6px;
  text-transform: uppercase;
  cursor: pointer;
}

.view612a2-drawer-cta:hover {
  background: var(--view612a2-orchid);
  color: #17172b;
}

/* ------------------------------------------------------------------ */
/* 5. hero                                                             */
/* ------------------------------------------------------------------ */
.view612a2-hero {
  padding: 18px 14px 6px;
}

.view612a2-hero h1 {
  font-size: 25px;
  line-height: 1.22;
  font-weight: 800;
  letter-spacing: .2px;
}

.view612a2-hero h1 b {
  color: var(--view612a2-yellow);
}

.view612a2-hero-lead {
  margin-top: 10px;
  font-size: 13.5px;
  font-weight: 300;
  color: #d9d6ec;
}

.view612a2-hero-lead strong {
  color: var(--view612a2-paper);
  font-weight: 700;
}

.view612a2-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

.view612a2-chips li {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .5px;
  color: var(--view612a2-gold);
  border: 1px solid rgba(212, 175, 55, .45);
  border-radius: var(--view612a2-r-2);
  padding: 4px 8px;
  background: rgba(212, 175, 55, .07);
}

.view612a2-hero-cta {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 8px;
  margin-top: 14px;
}

.view612a2-hero-register {
  min-height: 48px;
  background: var(--view612a2-yellow);
  color: #17172b;
  border: 1px solid var(--view612a2-yellow);
  border-radius: var(--view612a2-r-1);
  font-family: inherit;
  font-size: 14.5px;
  font-weight: 800;
  letter-spacing: .5px;
  text-transform: uppercase;
  cursor: pointer;
}

.view612a2-hero-register:hover {
  background: var(--view612a2-gold);
  border-color: var(--view612a2-gold);
}

.view612a2-hero-browse {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--view612a2-orchid);
  color: var(--view612a2-orchid);
  border-radius: var(--view612a2-r-1);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .4px;
  text-transform: uppercase;
}

.view612a2-hero-browse:hover {
  background: rgba(218, 112, 214, .14);
  color: #fff;
}

/* ------------------------------------------------------------------ */
/* 6. promo carousel                                                   */
/* ------------------------------------------------------------------ */
.view612a2-carousel {
  position: relative;
  margin: 14px 10px 0;
  border: 1px solid var(--view612a2-line);
  border-radius: var(--view612a2-r-3);
  background: var(--view612a2-ink-2);
  overflow: hidden;
}

.view612a2-track {
  display: flex;
  transition: transform .38s ease;
}

.view612a2-slide {
  flex: 0 0 100%;
  width: 100%;
  border: 0;
  padding: 0;
  background: var(--view612a2-ink-2);
  cursor: pointer;
  text-align: left;
  font-family: inherit;
}

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

.view612a2-slide-cap {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 9px 12px 10px;
}

.view612a2-slide-title {
  font-size: 13.5px;
  font-weight: 800;
  color: var(--view612a2-yellow);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.view612a2-slide-sub {
  font-size: 11px;
  color: var(--view612a2-mute);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.view612a2-dots {
  position: absolute;
  right: 10px;
  bottom: 40px;
  display: flex;
  gap: 5px;
}

.view612a2-dot {
  width: 16px; height: 4px;
  border: 0;
  border-radius: 1px;
  background: rgba(169, 169, 169, .5);
  cursor: pointer;
}

.view612a2-dot.view612a2-dot-on {
  background: var(--view612a2-yellow);
}

/* ------------------------------------------------------------------ */
/* 7. category jump strip                                              */
/* ------------------------------------------------------------------ */
.view612a2-catstrip {
  display: flex;
  gap: 7px;
  overflow-x: auto;
  padding: 14px 10px 4px;
  scrollbar-width: none;
}

.view612a2-catstrip::-webkit-scrollbar { display: none; }

.view612a2-catjump {
  flex: none;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: .3px;
  color: var(--view612a2-paper);
  background: var(--view612a2-ink-2);
  border: 1px solid var(--view612a2-line);
  border-radius: var(--view612a2-r-2);
}

.view612a2-catjump:hover {
  border-color: var(--view612a2-yellow);
  color: var(--view612a2-yellow);
}

/* ------------------------------------------------------------------ */
/* 8. game arenas - tight square-icon catalogue                        */
/* ------------------------------------------------------------------ */
.view612a2-arena {
  padding: 20px 10px 4px;
}

.view612a2-arena-head {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 0 4px;
  border-left: 3px solid var(--view612a2-yellow);
  padding-left: 10px;
  margin-bottom: 6px;
}

.view612a2-arena-head h2 {
  font-size: 18.5px;
  line-height: 1.25;
  font-weight: 800;
  color: var(--view612a2-paper);
}

.view612a2-arena-count {
  font-size: 11px;
  font-weight: 700;
  color: var(--view612a2-gold);
  white-space: nowrap;
}

.view612a2-lead {
  font-size: 12.8px;
  font-weight: 300;
  color: #cfcbe4;
  padding: 0 4px;
  margin-bottom: 12px;
}

.view612a2-lead strong { color: var(--view612a2-yellow); font-weight: 700; }

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

/* wider phones get a fifth column */
@media (min-width: 391px) {
  .view612a2-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

.view612a2-tile {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 5px 4px 7px;
  background: var(--view612a2-ink-2);
  border: 1px solid rgba(169, 169, 169, .16);
  border-radius: var(--view612a2-r-2);
  cursor: pointer;
  font-family: inherit;
  min-width: 0;
}

.view612a2-tile:hover {
  border-color: var(--view612a2-gold);
  background: var(--view612a2-ink-3);
}

.view612a2-tile img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 3px;
  background: #14142a;
}

.view612a2-tile-name {
  font-size: 10.8px;
  line-height: 1.3;
  font-weight: 600;
  text-align: center;
  color: #e7e4f6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.view612a2-tile:hover .view612a2-tile-name { color: var(--view612a2-yellow); }

/* related-guide chips under each arena */
.view612a2-arena-guides {
  display: flex;
  gap: 7px;
  margin-top: 11px;
  padding: 0 4px;
}

.view612a2-arena-guides a {
  flex: 1;
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--view612a2-orchid);
  border: 1px dashed rgba(218, 112, 214, .5);
  border-radius: var(--view612a2-r-2);
  padding: 6px 8px;
  background: rgba(138, 43, 226, .08);
}

.view612a2-arena-guides a:hover {
  color: var(--view612a2-yellow);
  border-color: var(--view612a2-yellow);
  border-style: solid;
}

/* ------------------------------------------------------------------ */
/* 9. activity board (latest winners role)                             */
/* ------------------------------------------------------------------ */
.view612a2-module { padding: 24px 12px 4px; }

.view612a2-module-head {
  border-left: 3px solid var(--view612a2-orchid);
  padding-left: 10px;
  margin-bottom: 6px;
}

.view612a2-module-head h2 {
  font-size: 18px;
  line-height: 1.25;
  font-weight: 800;
}

.view612a2-feed {
  border: 1px solid var(--view612a2-line);
  border-radius: var(--view612a2-r-3);
  background: var(--view612a2-ink-2);
  overflow: hidden;
}

.view612a2-feed-row {
  display: grid;
  grid-template-columns: 74px 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 9px 11px;
  border-bottom: 1px solid rgba(169, 169, 169, .12);
}

.view612a2-feed-row:last-of-type { border-bottom: 0; }

.view612a2-feed-who {
  font-size: 12px;
  font-weight: 800;
  color: var(--view612a2-yellow);
  letter-spacing: .3px;
}

.view612a2-feed-what {
  font-size: 12px;
  font-weight: 300;
  color: #d5d1ea;
  min-width: 0;
}

.view612a2-feed-what b {
  color: var(--view612a2-gold);
  font-weight: 700;
}

.view612a2-feed-tag {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: var(--view612a2-orchid);
  border: 1px solid rgba(218, 112, 214, .45);
  border-radius: var(--view612a2-r-1);
  padding: 2px 6px;
  white-space: nowrap;
}

.view612a2-feed-note {
  font-size: 11px;
  font-weight: 300;
  color: var(--view612a2-mute);
  padding: 9px 11px;
  border-top: 1px dashed var(--view612a2-line);
  background: rgba(16, 16, 31, .4);
}

/* ------------------------------------------------------------------ */
/* 10. trick list                                                      */
/* ------------------------------------------------------------------ */
.view612a2-tricklist {
  display: grid;
  gap: 9px;
  margin-top: 10px;
}

.view612a2-trick {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  padding: 11px 11px 12px;
  background: var(--view612a2-ink-2);
  border: 1px solid var(--view612a2-line);
  border-radius: var(--view612a2-r-3);
}

.view612a2-trick-no {
  width: 34px; height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 235, 59, .1);
  border: 1px solid rgba(255, 235, 59, .4);
  border-radius: var(--view612a2-r-1);
  color: var(--view612a2-yellow);
  font-size: 14px;
  font-weight: 800;
}

.view612a2-trick h3 {
  font-size: 14px;
  font-weight: 800;
  color: var(--view612a2-paper);
  margin-bottom: 3px;
}

.view612a2-trick p {
  font-size: 12.6px;
  font-weight: 300;
  color: #cfcbe4;
}

.view612a2-trick p a { color: var(--view612a2-orchid); font-weight: 600; }

.view612a2-trick p a:hover { color: var(--view612a2-yellow); }

/* ------------------------------------------------------------------ */
/* 11. pick-by-goal rows (selection guide role)                        */
/* ------------------------------------------------------------------ */
.view612a2-picks { display: grid; gap: 8px; margin-top: 10px; }

.view612a2-pick {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  padding: 11px 12px;
  border: 1px solid var(--view612a2-line);
  border-left: 3px solid var(--view612a2-violet);
  border-radius: var(--view612a2-r-3);
  background: var(--view612a2-ink-2);
}

.view612a2-pick-goal {
  font-size: 13.5px;
  font-weight: 800;
  color: var(--view612a2-yellow);
}

.view612a2-pick-body {
  font-size: 12.6px;
  font-weight: 300;
  color: #d5d1ea;
}

.view612a2-pick-body b { color: var(--view612a2-gold); font-weight: 700; }

/* ------------------------------------------------------------------ */
/* 12. scenario answers                                                */
/* ------------------------------------------------------------------ */
.view612a2-scenes { display: grid; gap: 9px; margin-top: 10px; }

.view612a2-scene {
  background: var(--view612a2-ink-2);
  border: 1px solid var(--view612a2-line);
  border-top: 2px solid var(--view612a2-gold);
  border-radius: var(--view612a2-r-3);
  padding: 11px 12px 12px;
}

.view612a2-scene h3 {
  font-size: 13.6px;
  font-weight: 800;
  color: var(--view612a2-paper);
  margin-bottom: 5px;
}

.view612a2-scene h3::before {
  content: "Q";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px; height: 18px;
  margin-right: 7px;
  background: var(--view612a2-yellow);
  color: #17172b;
  font-size: 11px;
  font-weight: 800;
  border-radius: 2px;
  vertical-align: 1px;
}

.view612a2-scene p {
  font-size: 12.6px;
  font-weight: 300;
  color: #d5d1ea;
}

.view612a2-scene p + p { margin-top: 6px; }

.view612a2-scene a { color: var(--view612a2-orchid); font-weight: 600; }

.view612a2-scene a:hover { color: var(--view612a2-yellow); }

/* ------------------------------------------------------------------ */
/* 13. extended footer (brand > promotions > directory > note)         */
/* ------------------------------------------------------------------ */
.view612a2-extended {
  margin: 26px 10px 0;
  border: 1px solid var(--view612a2-line);
  border-radius: var(--view612a2-r-3);
  background: var(--view612a2-ink-2);
  overflow: hidden;
}

.view612a2-ext-brand {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 13px 12px;
  border-bottom: 1px solid var(--view612a2-line);
}

.view612a2-ext-brand img {
  width: 38px; height: 38px;
  border-radius: var(--view612a2-r-2);
  object-fit: cover;
  flex: none;
}

.view612a2-ext-brand p {
  font-size: 12.2px;
  font-weight: 300;
  color: #cfcbe4;
}

.view612a2-ext-brand strong { color: var(--view612a2-yellow); font-weight: 800; }

.view612a2-ext-block { padding: 12px 12px 13px; }

.view612a2-ext-block + .view612a2-ext-block {
  border-top: 1px dashed var(--view612a2-line);
}

.view612a2-ext-block h3 {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.3px;
  text-transform: uppercase;
  color: var(--view612a2-gold);
  margin-bottom: 9px;
}

.view612a2-ext-promos {
  display: grid;
  gap: 7px;
}

.view612a2-ext-promo {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 8px 10px;
  text-align: left;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  color: var(--view612a2-paper);
  background: rgba(138, 43, 226, .13);
  border: 1px solid rgba(138, 43, 226, .5);
  border-radius: var(--view612a2-r-2);
  cursor: pointer;
}

.view612a2-ext-promo::before {
  content: "";
  width: 6px; height: 6px;
  flex: none;
  background: var(--view612a2-yellow);
  border-radius: 1px;
}

.view612a2-ext-promo:hover {
  border-color: var(--view612a2-yellow);
  color: var(--view612a2-yellow);
  background: rgba(255, 235, 59, .07);
}

.view612a2-ext-dir {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
}

@media (min-width: 380px) {
  .view612a2-ext-dir { grid-template-columns: 1fr 1fr; }
}

.view612a2-ext-dir a {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 7px 9px;
  font-size: 12.4px;
  font-weight: 600;
  color: #d9d6ec;
  background: var(--view612a2-ink);
  border: 1px solid var(--view612a2-line);
  border-radius: var(--view612a2-r-2);
}

.view612a2-ext-dir a::before {
  content: "\203A";
  color: var(--view612a2-gold);
  font-weight: 800;
  font-size: 14px;
}

.view612a2-ext-dir a:hover {
  color: var(--view612a2-yellow);
  border-color: var(--view612a2-gold);
}

.view612a2-ext-note {
  padding: 11px 12px 13px;
  border-top: 1px dashed var(--view612a2-line);
  background: rgba(16, 16, 31, .45);
}

.view612a2-ext-note h3 {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.3px;
  text-transform: uppercase;
  color: var(--view612a2-orchid);
  margin-bottom: 6px;
}

.view612a2-ext-note p {
  font-size: 11.6px;
  font-weight: 300;
  color: var(--view612a2-mute);
}

/* ------------------------------------------------------------------ */
/* 14. common footer + layered bottom bar                              */
/* ------------------------------------------------------------------ */
.view612a2-footer {
  text-align: center;
  padding: 18px 14px 10px;
}

.view612a2-footer p {
  font-size: 11.5px;
  font-weight: 300;
  color: var(--view612a2-mute);
}

.view612a2-footer b {
  color: var(--view612a2-gold);
  font-weight: 700;
}

.view612a2-bnav {
  position: fixed;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 430px;
  z-index: 65;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  min-height: var(--view612a2-bnav-h);
  background: #20203a;
  border-top: 1px solid var(--view612a2-line);
  padding: 4px 2px calc(4px + env(safe-area-inset-bottom, 0px));
}

.view612a2-bnav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: 54px;
  padding: 4px 2px;
  border: 0;
  background: transparent;
  font-family: inherit;
  color: var(--view612a2-mute);
  cursor: pointer;
  border-radius: var(--view612a2-r-2);
}

.view612a2-bnav-item svg {
  width: 21px; height: 21px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.view612a2-bnav-txt {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .4px;
  text-transform: uppercase;
}

.view612a2-bnav-item:hover { color: var(--view612a2-paper); }

/* active role - contrast inversion against the dark bar */
.view612a2-bnav-item.view612a2-on {
  background: var(--view612a2-yellow);
  color: #17172b;
}

.view612a2-bnav-item.view612a2-promo {
  color: var(--view612a2-orchid);
}

.view612a2-bnav-item.view612a2-promo:hover { color: var(--view612a2-yellow); }

/* ------------------------------------------------------------------ */
/* 15. narrow-canvas guards (320px floor)                              */
/* ------------------------------------------------------------------ */
@media (max-width: 339px) {
  .view612a2-hero h1 { font-size: 22px; }
  .view612a2-arena-head h2 { font-size: 16.5px; }
  .view612a2-tile-name { font-size: 10px; }
  .view612a2-brand-name { font-size: 16px; }
}

/* ------------------------------------------------------------------ */
/* 16. help-page reading tools                                          */
/* ------------------------------------------------------------------ */
.view612a2-help-intro {
  margin: 14px 10px 0;
  padding: 15px 13px 16px;
  border-top: 3px solid var(--view612a2-yellow);
  border-bottom: 1px solid var(--view612a2-line);
  background: linear-gradient(135deg, rgba(138, 43, 226, .22), rgba(32, 32, 58, .9));
}

.view612a2-help-intro h1 {
  font-size: 25px;
  line-height: 1.18;
  font-weight: 800;
  letter-spacing: .1px;
}

.view612a2-help-intro h1 b { color: var(--view612a2-yellow); }

.view612a2-help-intro p {
  margin-top: 10px;
  color: #d9d6ec;
  font-size: 13.2px;
  font-weight: 300;
}

.view612a2-help-intro p strong { color: var(--view612a2-paper); }

.view612a2-proofline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 13px;
}

.view612a2-proofline span {
  min-height: 52px;
  padding: 7px 6px;
  border-left: 2px solid var(--view612a2-gold);
  background: rgba(16, 16, 31, .6);
  color: var(--view612a2-mute);
  font-size: 10.5px;
  line-height: 1.35;
}

.view612a2-proofline b {
  display: block;
  color: var(--view612a2-yellow);
  font-size: 15px;
  line-height: 1.1;
}

.view612a2-help-rail {
  display: flex;
  gap: 7px;
  overflow-x: auto;
  padding: 14px 10px 2px;
  scrollbar-width: none;
}

.view612a2-help-rail::-webkit-scrollbar { display: none; }

.view612a2-help-rail a {
  flex: 0 0 auto;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  padding: 0 11px;
  border: 1px solid var(--view612a2-line);
  border-radius: var(--view612a2-r-2);
  color: var(--view612a2-paper);
  background: var(--view612a2-ink-2);
  font-size: 11.5px;
  font-weight: 700;
}

.view612a2-help-rail a:hover {
  border-color: var(--view612a2-yellow);
  color: var(--view612a2-yellow);
}

.view612a2-answer-stack {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.view612a2-answer {
  padding: 12px 12px 13px;
  border: 1px solid var(--view612a2-line);
  border-left: 4px solid var(--view612a2-violet);
  border-radius: var(--view612a2-r-2);
  background: var(--view612a2-ink-2);
}

.view612a2-answer h3 {
  color: var(--view612a2-yellow);
  font-size: 14px;
  line-height: 1.3;
  font-weight: 800;
}

.view612a2-answer p {
  margin-top: 6px;
  color: #d5d1ea;
  font-size: 12.6px;
  font-weight: 300;
}

.view612a2-answer p strong { color: var(--view612a2-paper); }

.view612a2-term-table {
  margin-top: 10px;
  border: 1px solid var(--view612a2-line);
  border-radius: var(--view612a2-r-2);
  overflow: hidden;
  background: var(--view612a2-ink-2);
}

.view612a2-term-row {
  display: grid;
  grid-template-columns: 34% 66%;
  border-bottom: 1px solid rgba(169, 169, 169, .15);
}

.view612a2-term-row:last-child { border-bottom: 0; }

.view612a2-term-row dt,
.view612a2-term-row dd {
  padding: 10px 9px;
  font-size: 12px;
}

.view612a2-term-row dt {
  color: var(--view612a2-gold);
  font-weight: 800;
  background: rgba(138, 43, 226, .13);
}

.view612a2-term-row dd {
  color: #d5d1ea;
  font-weight: 300;
}

.view612a2-route-map {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  counter-reset: view612a2-route;
}

.view612a2-route {
  counter-increment: view612a2-route;
  position: relative;
  padding: 12px 12px 12px 45px;
  border: 1px solid var(--view612a2-line);
  background: rgba(32, 32, 58, .82);
  border-radius: var(--view612a2-r-3);
}

.view612a2-route::before {
  content: counter(view612a2-route);
  position: absolute;
  left: 11px;
  top: 12px;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  color: #17172b;
  background: var(--view612a2-yellow);
  border-radius: var(--view612a2-r-1);
  font-size: 12px;
  font-weight: 800;
}

.view612a2-route h3 {
  color: var(--view612a2-paper);
  font-size: 13.5px;
  line-height: 1.3;
  font-weight: 800;
}

.view612a2-route p {
  margin-top: 4px;
  color: #cfcbe4;
  font-size: 12.3px;
  font-weight: 300;
}

.view612a2-compare-grid {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.view612a2-compare-item {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 9px;
  padding: 10px;
  border-top: 2px solid var(--view612a2-gold);
  background: var(--view612a2-ink-2);
  border-radius: var(--view612a2-r-2);
}

.view612a2-compare-item strong {
  color: var(--view612a2-yellow);
  font-size: 12.3px;
  line-height: 1.35;
}

.view612a2-compare-item span {
  color: #d5d1ea;
  font-size: 12.1px;
  font-weight: 300;
}

.view612a2-review-meter {
  display: grid;
  gap: 7px;
  margin-top: 10px;
  padding: 12px;
  border: 1px solid var(--view612a2-line);
  background: rgba(16, 16, 31, .62);
  border-radius: var(--view612a2-r-3);
}

.view612a2-meter-line {
  display: grid;
  grid-template-columns: 92px 1fr 30px;
  align-items: center;
  gap: 7px;
  color: #d5d1ea;
  font-size: 11.5px;
}

.view612a2-meter-line i {
  display: block;
  height: 7px;
  border-radius: 1px;
  background: linear-gradient(90deg, var(--view612a2-violet), var(--view612a2-orchid));
}

.view612a2-meter-line b {
  color: var(--view612a2-gold);
  font-size: 11px;
  text-align: right;
}

.view612a2-support-board {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.view612a2-support-row {
  display: grid;
  grid-template-columns: 29px 1fr;
  gap: 9px;
  padding: 10px;
  border: 1px solid var(--view612a2-line);
  background: var(--view612a2-ink-2);
  border-radius: var(--view612a2-r-2);
}

.view612a2-support-row > b {
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  color: #17172b;
  background: var(--view612a2-gold);
  border-radius: 50%;
  font-size: 12px;
}

.view612a2-support-row h3 {
  color: var(--view612a2-paper);
  font-size: 13px;
  line-height: 1.3;
  font-weight: 800;
}

.view612a2-support-row p {
  margin-top: 3px;
  color: #cfcbe4;
  font-size: 12.2px;
  font-weight: 300;
}

.view612a2-caution {
  margin-top: 10px;
  padding: 12px;
  border: 1px solid rgba(255, 235, 59, .5);
  border-radius: var(--view612a2-r-2);
  background: rgba(255, 235, 59, .07);
}

.view612a2-caution h3 {
  color: var(--view612a2-yellow);
  font-size: 13px;
  font-weight: 800;
}

.view612a2-caution p {
  margin-top: 4px;
  color: #d9d6ec;
  font-size: 12.3px;
  font-weight: 300;
}

.view612a2-review-notes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin-top: 10px;
}

.view612a2-review-note {
  padding: 10px;
  border: 1px solid var(--view612a2-line);
  border-radius: var(--view612a2-r-2);
  background: var(--view612a2-ink-2);
}

.view612a2-review-note h3 {
  color: var(--view612a2-gold);
  font-size: 12.3px;
  line-height: 1.3;
}

.view612a2-review-note p {
  margin-top: 4px;
  color: #cfcbe4;
  font-size: 11.7px;
  font-weight: 300;
}

@media (max-width: 339px) {
  .view612a2-help-intro h1 { font-size: 22px; }
  .view612a2-proofline span { font-size: 10px; }
  .view612a2-term-row { grid-template-columns: 37% 63%; }
  .view612a2-compare-item { grid-template-columns: 78px 1fr; }
  .view612a2-meter-line { grid-template-columns: 78px 1fr 28px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .view612a2-track { transition: none; }
  .view612a2-pressable { transition: none; }
}
