/* ==========================================================================
   jilievocasinoapk.sbs - layered mobile canvas stylesheet
   File   : css/responsive-ead37c-layers.css
   Prefix : every class and variable uses "surfaceead37-"
   Canvas : 320-430px phone layout, centered on wide screens
   Palette: #5F9EA0 / #BA55D3 / #9400D3 / #9AFF9A / #999999 / #3A3A3A
   Tone   : rounded headings, compact body, low-radius partitioned zones,
            mixed large+small game tiles, compact dual CTA pairs.
   ========================================================================== */

:root{
  --surfaceead37-ink:#f2edfb;
  --surfaceead37-ink-soft:#c3b8d9;
  --surfaceead37-ink-dim:#9a90ad;
  --surfaceead37-mint:#9AFF9A;
  --surfaceead37-teal:#5F9EA0;
  --surfaceead37-orchid:#BA55D3;
  --surfaceead37-violet:#9400D3;
  --surfaceead37-steel:#999999;
  --surfaceead37-coal:#3A3A3A;
  --surfaceead37-bg-0:#191019;
  --surfaceead37-bg-1:#241726;
  --surfaceead37-bg-2:#2e1c33;
  --surfaceead37-bg-3:#37223c;
  --surfaceead37-edge:rgba(186,85,211,.30);
  --surfaceead37-edge-soft:rgba(95,158,160,.24);
  --surfaceead37-shadow:0 10px 26px rgba(0,0,0,.42);
  --surfaceead37-r:8px;
  --surfaceead37-r-lg:12px;
  --surfaceead37-head-font:"Segoe UI Rounded","Yuanti UI","Trebuchet MS","Segoe UI",Verdana,sans-serif;
  --surfaceead37-body-font:"Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  --surfaceead37-canvas-max:430px;
  --surfaceead37-dock-h:60px;
  --surfaceead37-head-h:96px;
}

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

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

body{
  margin:0;
  font-family:var(--surfaceead37-body-font);
  font-size:14px;
  line-height:1.55;
  color:var(--surfaceead37-ink);
  background:
    radial-gradient(1200px 500px at 50% -140px,rgba(148,0,211,.38),transparent 70%),
    linear-gradient(180deg,var(--surfaceead37-bg-1) 0%,var(--surfaceead37-bg-0) 55%);
  background-attachment:fixed;
  min-height:100vh;
  display:flex;
  justify-content:center;
  overflow-x:hidden;
}

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

a{color:var(--surfaceead37-mint);text-decoration:none;}
a:hover,a:focus-visible{text-decoration:underline;}

:focus-visible{outline:2px solid var(--surfaceead37-mint);outline-offset:2px;border-radius:4px;}

button{font-family:inherit;}

/* --------------------------------------------------------------------------
   Phone canvas layer
   -------------------------------------------------------------------------- */

.surfaceead37-canvas{
  width:100%;
  max-width:var(--surfaceead37-canvas-max);
  min-height:100vh;
  position:relative;
  background:linear-gradient(180deg,var(--surfaceead37-bg-2) 0%,var(--surfaceead37-bg-1) 30%,var(--surfaceead37-bg-0) 100%);
  box-shadow:0 0 0 1px var(--surfaceead37-edge),0 0 44px rgba(0,0,0,.55);
}

/* --------------------------------------------------------------------------
   Fixed top masthead : centered identity bar + separate action strip
   -------------------------------------------------------------------------- */

.surfaceead37-masthead{
  position:fixed;
  top:0;left:50%;
  transform:translateX(-50%);
  width:100%;
  max-width:var(--surfaceead37-canvas-max);
  z-index:60;
  background:linear-gradient(180deg,rgba(26,15,28,.98) 0%,rgba(26,15,28,.94) 78%,rgba(26,15,28,.86) 100%);
  border-bottom:1px solid var(--surfaceead37-edge);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}

.surfaceead37-masthead-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:9px 12px 6px;
}

.surfaceead37-masthead-logo{
  width:34px;height:34px;
  border-radius:9px;
  border:1px solid var(--surfaceead37-edge);
  background:var(--surfaceead37-bg-3);
  object-fit:cover;
  flex:0 0 auto;
}

.surfaceead37-masthead-word{
  font-family:var(--surfaceead37-head-font);
  font-size:19px;
  font-weight:800;
  letter-spacing:.4px;
  color:var(--surfaceead37-ink);
  line-height:1.1;
}
.surfaceead37-masthead-word em{
  font-style:normal;
  color:var(--surfaceead37-orchid);
}

.surfaceead37-masthead-actions{
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 10px 9px;
}

/* compact dual button group */
.surfaceead37-btn{
  -webkit-tap-highlight-color:transparent;
  cursor:pointer;
  border-radius:var(--surfaceead37-r);
  font-weight:700;
  font-size:13px;
  letter-spacing:.3px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  transition:transform .12s ease,filter .12s ease,background-color .12s ease;
  text-decoration:none;
}
.surfaceead37-btn:hover{text-decoration:none;}
.surfaceead37-btn-solid{
  flex:1 1 auto;
  color:#1c0f22;
  background:linear-gradient(135deg,var(--surfaceead37-mint) 0%,#7ddf7d 100%);
  border:1px solid rgba(154,255,154,.65);
  box-shadow:0 3px 12px rgba(154,255,154,.22);
}
.surfaceead37-btn-line{
  flex:1 1 auto;
  color:var(--surfaceead37-ink);
  background:rgba(186,85,211,.12);
  border:1px solid var(--surfaceead37-orchid);
}
.surfaceead37-btn-ghost{
  flex:0 0 46px;
  width:46px;
  color:var(--surfaceead37-ink-soft);
  background:transparent;
  border:1px solid var(--surfaceead37-edge);
}
/* motion budget : only key CTAs give feedback */
.surfaceead37-btn-solid:active,
.surfaceead37-btn-line:active{
  transform:scale(.955);
  filter:brightness(1.18);
}
.surfaceead37-btn-ghost:active{filter:brightness(1.4);}

.surfaceead37-ghost-glyph{
  width:20px;height:20px;
  display:block;
  margin:0 auto;
}

/* --------------------------------------------------------------------------
   Side drawer menu
   -------------------------------------------------------------------------- */

.surfaceead37-scrim{
  position:fixed;
  inset:0;
  background:rgba(12,7,14,.62);
  z-index:70;
  opacity:0;
  visibility:hidden;
  transition:opacity .22s ease,visibility .22s ease;
}
.surfaceead37-scrim.surfaceead37-open{opacity:1;visibility:visible;}

.surfaceead37-drawer{
  position:fixed;
  top:0;right:0;
  height:100vh;
  width:min(82vw,320px);
  max-width:82vw;
  z-index:80;
  background:linear-gradient(180deg,var(--surfaceead37-bg-3) 0%,var(--surfaceead37-bg-1) 90%);
  border-left:1px solid var(--surfaceead37-edge);
  transform:translateX(102%);
  transition:transform .26s cubic-bezier(.32,.72,.28,1);
  display:flex;
  flex-direction:column;
  overflow-y:auto;
  padding:14px 14px calc(24px + var(--surfaceead37-dock-h));
}
.surfaceead37-drawer.surfaceead37-open{transform:translateX(0);}

.surfaceead37-drawer-cap{
  font-family:var(--surfaceead37-head-font);
  font-size:15px;
  font-weight:800;
  color:var(--surfaceead37-mint);
  letter-spacing:.6px;
  text-transform:uppercase;
  padding:6px 6px 10px;
  border-bottom:1px solid var(--surfaceead37-edge-soft);
  margin-bottom:8px;
}

.surfaceead37-drawer-list{
  list-style:none;
  margin:0;
  padding:0;
}

.surfaceead37-drawer-item{margin:2px 0;}

.surfaceead37-drawer-link{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:8px 10px;
  border-radius:var(--surfaceead37-r);
  color:var(--surfaceead37-ink-soft);
  font-size:14px;
  font-weight:600;
  border:1px solid transparent;
  position:relative;
  overflow:hidden;
}
.surfaceead37-drawer-link::before{
  /* sliding indicator that rests at the left rail */
  content:"";
  position:absolute;
  left:0;top:50%;
  width:3px;height:0;
  transform:translateY(-50%);
  background:var(--surfaceead37-mint);
  border-radius:0 3px 3px 0;
  transition:height .2s ease;
}
.surfaceead37-drawer-link:hover,
.surfaceead37-drawer-link:focus-visible{
  background:rgba(186,85,211,.14);
  color:var(--surfaceead37-ink);
  text-decoration:none;
}
.surfaceead37-drawer-link.surfaceead37-here{
  background:rgba(154,255,154,.10);
  border-color:var(--surfaceead37-edge-soft);
  color:var(--surfaceead37-mint);
}
.surfaceead37-drawer-link.surfaceead37-here::before{height:60%;}

.surfaceead37-drawer-glyph{
  width:20px;height:20px;
  flex:0 0 auto;
  color:var(--surfaceead37-steel);
}
.surfaceead37-drawer-link.surfaceead37-here .surfaceead37-drawer-glyph{
  color:var(--surfaceead37-mint);
}

.surfaceead37-drawer-split{
  margin:10px 6px 6px;
  font-size:11px;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:var(--surfaceead37-ink-dim);
  border-top:1px solid var(--surfaceead37-edge-soft);
  padding-top:10px;
}

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

.surfaceead37-main{
  padding:calc(var(--surfaceead37-head-h) + 12px) 12px
          calc(var(--surfaceead37-dock-h) + 30px);
}

/* --------------------------------------------------------------------------
   Hero : H1, lead, banner carousel
   -------------------------------------------------------------------------- */

.surfaceead37-hero{
  margin:2px 0 18px;
}

.surfaceead37-h1{
  font-family:var(--surfaceead37-head-font);
  font-size:24px;
  line-height:1.22;
  font-weight:800;
  margin:0 0 8px;
  color:var(--surfaceead37-ink);
}
.surfaceead37-h1 .surfaceead37-h1-hue{color:var(--surfaceead37-mint);}

.surfaceead37-lead{
  margin:0 0 14px;
  color:var(--surfaceead37-ink-soft);
  font-size:13.5px;
}
.surfaceead37-lead strong{color:var(--surfaceead37-ink);font-weight:700;}

.surfaceead37-carousel{
  position:relative;
  border-radius:var(--surfaceead37-r-lg);
  overflow:hidden;
  border:1px solid var(--surfaceead37-edge);
  box-shadow:var(--surfaceead37-shadow);
  background:var(--surfaceead37-bg-3);
}

.surfaceead37-track{
  display:flex;
  transition:transform .45s cubic-bezier(.33,.68,.3,1);
  touch-action:pan-y;
}

.surfaceead37-slide{
  position:relative;
  flex:0 0 100%;
  width:100%;
  padding:0;
  border:0;
  background:var(--surfaceead37-bg-3);
  cursor:pointer;
  display:block;
  -webkit-tap-highlight-color:transparent;
}
.surfaceead37-slide img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
}
.surfaceead37-slide-caption{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:22px 12px 10px;
  background:linear-gradient(180deg,transparent 0%,rgba(20,11,22,.88) 78%);
  text-align:left;
  font-family:var(--surfaceead37-head-font);
  font-size:13px;
  font-weight:700;
  color:var(--surfaceead37-ink);
  letter-spacing:.3px;
}
.surfaceead37-slide-caption small{
  display:block;
  font-size:10.5px;
  font-weight:600;
  color:var(--surfaceead37-mint);
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:2px;
}

.surfaceead37-dots{
  position:absolute;
  right:10px;bottom:9px;
  display:flex;
  gap:6px;
  z-index:2;
}
.surfaceead37-dot{
  width:7px;height:7px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.34);
  cursor:pointer;
  transition:width .18s ease,background-color .18s ease;
}
.surfaceead37-dot.surfaceead37-on{
  width:18px;
  border-radius:4px;
  background:var(--surfaceead37-mint);
}

/* --------------------------------------------------------------------------
   Content zones : partitioned, low radius, numbered
   -------------------------------------------------------------------------- */

.surfaceead37-zone{
  margin:0 0 18px;
  border:1px solid var(--surfaceead37-edge-soft);
  border-radius:var(--surfaceead37-r-lg);
  background:
    linear-gradient(180deg,rgba(55,34,60,.55) 0%,rgba(36,23,38,.85) 100%);
  padding:14px 13px 15px;
}

.surfaceead37-zone-head{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-bottom:10px;
}

.surfaceead37-zone-index{
  flex:0 0 auto;
  min-width:26px;
  height:26px;
  padding:0 6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--surfaceead37-r);
  background:linear-gradient(135deg,var(--surfaceead37-violet),var(--surfaceead37-orchid));
  color:#fff;
  font-family:var(--surfaceead37-head-font);
  font-size:12px;
  font-weight:800;
  letter-spacing:.5px;
}

.surfaceead37-h2{
  font-family:var(--surfaceead37-head-font);
  font-size:17.5px;
  line-height:1.3;
  font-weight:800;
  margin:0;
  color:var(--surfaceead37-ink);
}

.surfaceead37-h3{
  font-family:var(--surfaceead37-head-font);
  font-size:14.5px;
  font-weight:800;
  letter-spacing:.4px;
  margin:14px 0 7px;
  color:var(--surfaceead37-mint);
  display:flex;
  align-items:center;
  gap:8px;
}
.surfaceead37-h3::after{
  content:"";
  flex:1 1 auto;
  height:1px;
  background:linear-gradient(90deg,var(--surfaceead37-edge-soft),transparent);
}

.surfaceead37-prose{
  margin:0 0 10px;
  color:var(--surfaceead37-ink-soft);
  font-size:13.5px;
}
.surfaceead37-prose:last-child{margin-bottom:0;}
.surfaceead37-prose strong{color:var(--surfaceead37-ink);}
.surfaceead37-prose em{font-style:normal;color:var(--surfaceead37-orchid);font-weight:600;}

/* first paragraph under each explanatory H2 opens with the direct answer */
.surfaceead37-answer{
  border-left:3px solid var(--surfaceead37-teal);
  padding:2px 0 2px 10px;
  color:var(--surfaceead37-ink);
}

/* compact dual CTA pair */
.surfaceead37-ctapair{
  display:flex;
  gap:8px;
  margin-top:12px;
}
.surfaceead37-ctapair .surfaceead37-btn{flex:1 1 50%;}

/* chips */
.surfaceead37-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:10px 0 4px;
  padding:0;
  list-style:none;
}
.surfaceead37-chip{
  font-size:11px;
  font-weight:700;
  letter-spacing:.4px;
  color:var(--surfaceead37-ink-soft);
  background:rgba(95,158,160,.14);
  border:1px solid var(--surfaceead37-edge-soft);
  border-radius:999px;
  padding:4px 10px;
}

/* step list */
.surfaceead37-steps{
  list-style:none;
  margin:8px 0 4px;
  padding:0;
  counter-reset:s1;
}
.surfaceead37-step{
  counter-increment:s1;
  position:relative;
  padding:0 0 10px 30px;
  font-size:13px;
  color:var(--surfaceead37-ink-soft);
}
.surfaceead37-step::before{
  content:counter(s1);
  position:absolute;
  left:0;top:0;
  width:21px;height:21px;
  border-radius:6px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:800;
  color:#1d1220;
  background:var(--surfaceead37-mint);
}
.surfaceead37-step strong{color:var(--surfaceead37-ink);}
.surfaceead37-step:last-child{padding-bottom:0;}

/* definition rows */
.surfaceead37-defs{
  margin:8px 0 2px;
  border:1px solid var(--surfaceead37-edge-soft);
  border-radius:var(--surfaceead37-r);
  overflow:hidden;
}
.surfaceead37-def{
  display:flex;
  gap:10px;
  padding:9px 11px;
  font-size:12.5px;
  color:var(--surfaceead37-ink-soft);
  border-bottom:1px solid rgba(95,158,160,.14);
  background:rgba(30,18,32,.5);
}
.surfaceead37-def:last-child{border-bottom:0;}
.surfaceead37-def dt{
  flex:0 0 92px;
  margin:0;
  color:var(--surfaceead37-mint);
  font-weight:700;
}
.surfaceead37-def dd{margin:0;flex:1 1 auto;}

/* category "go deeper" line */
.surfaceead37-catline{
  margin:10px 0 0;
  padding:9px 11px;
  border:1px dashed var(--surfaceead37-edge);
  border-radius:var(--surfaceead37-r);
  font-size:12.5px;
  color:var(--surfaceead37-ink-dim);
  background:rgba(42,25,45,.55);
}
.surfaceead37-catline a{font-weight:700;}

/* --------------------------------------------------------------------------
   Game grids : mixed large + small tiles
   -------------------------------------------------------------------------- */

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

.surfaceead37-tile{
  -webkit-tap-highlight-color:transparent;
  border:1px solid rgba(95,158,160,.20);
  border-radius:var(--surfaceead37-r);
  background:linear-gradient(180deg,var(--surfaceead37-bg-3) 0%,var(--surfaceead37-bg-2) 100%);
  padding:5px 5px 7px;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
  transition:border-color .15s ease;
}
.surfaceead37-tile:hover,
.surfaceead37-tile:focus-visible{
  border-color:var(--surfaceead37-orchid);
  text-decoration:none;
}
.surfaceead37-tile:active{filter:brightness(1.22);}

.surfaceead37-tile-img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:6px;
  background:var(--surfaceead37-bg-1);
}

.surfaceead37-tile-name{
  font-size:10.5px;
  line-height:1.25;
  font-weight:700;
  color:var(--surfaceead37-ink-soft);
  text-align:center;
  display:block;
  overflow-wrap:anywhere;
  /* long names wrap in a controlled way instead of overflowing */
}

/* large feature tile : spans 2x2 inside the same grid */
.surfaceead37-tile-hero{
  grid-column:span 2;
  grid-row:span 2;
  padding:7px;
  border-color:var(--surfaceead37-edge);
  background:
    linear-gradient(180deg,rgba(148,0,211,.24) 0%,var(--surfaceead37-bg-3) 46%);
}
.surfaceead37-tile-tag{
  display:block;
  font-size:9.5px;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--surfaceead37-mint);
  text-align:center;
}
.surfaceead37-tile-hero .surfaceead37-tile-name{font-size:12px;color:var(--surfaceead37-ink);}

/* --------------------------------------------------------------------------
   Extended footer (homepage only) : brand > directory > promos > disclaimer
   -------------------------------------------------------------------------- */

.surfaceead37-ext{
  margin:20px 0 14px;
  border:1px solid var(--surfaceead37-edge);
  border-radius:var(--surfaceead37-r-lg);
  background:linear-gradient(180deg,rgba(55,34,60,.72) 0%,rgba(25,16,25,.94) 100%);
  padding:14px 13px;
}

.surfaceead37-ext-brand{
  display:flex;
  align-items:center;
  gap:10px;
  padding-bottom:11px;
  border-bottom:1px solid var(--surfaceead37-edge-soft);
  margin-bottom:11px;
}
.surfaceead37-ext-logo{
  width:38px;height:38px;
  border-radius:9px;
  border:1px solid var(--surfaceead37-edge);
  flex:0 0 auto;
  object-fit:cover;
}
.surfaceead37-ext-brandtext{
  font-size:12.5px;
  color:var(--surfaceead37-ink-soft);
  margin:0;
}
.surfaceead37-ext-brandtext strong{
  display:block;
  font-family:var(--surfaceead37-head-font);
  font-size:15px;
  color:var(--surfaceead37-ink);
  letter-spacing:.3px;
}

.surfaceead37-ext-title{
  font-family:var(--surfaceead37-head-font);
  font-size:12px;
  font-weight:800;
  letter-spacing:1.1px;
  text-transform:uppercase;
  color:var(--surfaceead37-teal);
  margin:0 0 8px;
}

.surfaceead37-ext-dir{
  column-count:2;
  column-gap:10px;
  margin:0 0 13px;
  padding:0;
  list-style:none;
}
.surfaceead37-ext-dir li{
  margin:0 0 7px;
  break-inside:avoid;
}
.surfaceead37-ext-dir a{
  display:block;
  font-size:12px;
  font-weight:600;
  color:var(--surfaceead37-ink-soft);
  padding:6px 8px;
  border:1px solid rgba(95,158,160,.18);
  border-radius:7px;
  background:rgba(30,18,32,.5);
}
.surfaceead37-ext-dir a:hover,
.surfaceead37-ext-dir a:focus-visible{
  color:var(--surfaceead37-mint);
  border-color:var(--surfaceead37-orchid);
  text-decoration:none;
}

.surfaceead37-ext-promos{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:0 0 13px;
}
.surfaceead37-ext-promos .surfaceead37-btn{min-height:44px;font-size:12.5px;}

.surfaceead37-ext-note{
  margin:0;
  font-size:11px;
  line-height:1.5;
  color:var(--surfaceead37-ink-dim);
  border-top:1px solid var(--surfaceead37-edge-soft);
  padding-top:10px;
}

/* --------------------------------------------------------------------------
   Common footer : 2026 copyright line only
   -------------------------------------------------------------------------- */

.surfaceead37-foot{
  text-align:center;
  font-size:11.5px;
  color:var(--surfaceead37-ink-dim);
  padding:2px 4px 0;
  margin:0 0 6px;
}
.surfaceead37-foot a{color:var(--surfaceead37-steel);}

/* --------------------------------------------------------------------------
   Fixed layered bottom dock : 5 roles
   -------------------------------------------------------------------------- */

.surfaceead37-dock{
  position:fixed;
  bottom:0;left:50%;
  transform:translateX(-50%);
  width:100%;
  max-width:var(--surfaceead37-canvas-max);
  z-index:65;
  background:linear-gradient(180deg,rgba(30,17,32,.97) 0%,rgba(18,11,19,.99) 100%);
  border-top:1px solid var(--surfaceead37-edge);
  padding-bottom:env(safe-area-inset-bottom,0px);
}

.surfaceead37-dock-row{
  display:flex;
  align-items:stretch;
  height:var(--surfaceead37-dock-h);
}

.surfaceead37-dock-item{
  flex:1 1 20%;
  min-width:0;
  min-height:44px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  padding:6px 2px 7px;
  border:0;
  background:transparent;
  color:var(--surfaceead37-steel);
  font-size:10px;
  font-weight:700;
  letter-spacing:.3px;
  cursor:pointer;
  position:relative;
  -webkit-tap-highlight-color:transparent;
  text-decoration:none;
}
.surfaceead37-dock-item:hover,
.surfaceead37-dock-item:focus-visible{text-decoration:none;}

/* monochrome icons get an accent when the role is active */
.surfaceead37-dock-glyph{
  width:21px;height:21px;
  color:currentColor;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  transition:color .18s ease;
}

.surfaceead37-dock-item.surfaceead37-here{color:var(--surfaceead37-mint);}
.surfaceead37-dock-item.surfaceead37-here .surfaceead37-dock-glyph{
  fill:rgba(154,255,154,.22);
  stroke:var(--surfaceead37-mint);
}

/* sliding indicator layer under the active role */
.surfaceead37-dock-item::after{
  content:"";
  position:absolute;
  left:50%;bottom:0;
  width:0;height:3px;
  border-radius:3px 3px 0 0;
  background:var(--surfaceead37-mint);
  transform:translateX(-50%);
  transition:width .2s ease;
}
.surfaceead37-dock-item.surfaceead37-here::after{width:64%;}

/* promo roles carry a subtle warm tint to separate intent */
.surfaceead37-dock-item.surfaceead37-dock-promo{color:var(--surfaceead37-orchid);}
.surfaceead37-dock-item.surfaceead37-dock-promo:active{filter:brightness(1.5);}

/* --------------------------------------------------------------------------
   Utilities
   -------------------------------------------------------------------------- */

.surfaceead37-skip{
  position:absolute;
  left:-999px;top:0;
  background:var(--surfaceead37-mint);
  color:#1c0f22;
  padding:8px 12px;
  border-radius:0 0 8px 0;
  font-weight:800;
  z-index:100;
}
.surfaceead37-skip:focus{left:0;}

.surfaceead37-noscroll{overflow:hidden;}

/* inline text-style promo trigger used inside paragraphs */
.surfaceead37-textlink{
  background:none;
  border:0;
  padding:0;
  margin:0;
  display:inline;
  color:var(--surfaceead37-mint);
  font:inherit;
  font-weight:700;
  text-decoration:underline;
  cursor:pointer;
}
.surfaceead37-textlink:active{filter:brightness(1.4);}

/* --------------------------------------------------------------------------
   Review page : verdict strip, device stack, letter rail, ticks, matrix
   -------------------------------------------------------------------------- */

.surfaceead37-verdict{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin:0 0 12px;
}
.surfaceead37-verdict div{
  border:1px solid var(--surfaceead37-edge-soft);
  border-radius:var(--surfaceead37-r);
  background:rgba(30,18,32,.55);
  padding:8px 6px;
  text-align:center;
}
.surfaceead37-verdict strong{
  display:block;
  font-family:var(--surfaceead37-head-font);
  font-size:13px;
  color:var(--surfaceead37-mint);
}
.surfaceead37-verdict span{
  display:block;
  margin-top:2px;
  font-size:10.5px;
  color:var(--surfaceead37-ink-dim);
  line-height:1.3;
}

.surfaceead37-duo{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:8px 0 4px;
}
.surfaceead37-panel{
  border:1px solid var(--surfaceead37-edge);
  border-radius:var(--surfaceead37-r);
  padding:10px 11px;
  background:rgba(36,23,38,.72);
}
.surfaceead37-panel h3{
  margin:0 0 4px;
  font-family:var(--surfaceead37-head-font);
  font-size:14px;
  color:var(--surfaceead37-teal);
}
.surfaceead37-panel p{
  margin:0;
  font-size:13px;
  color:var(--surfaceead37-ink-soft);
}

.surfaceead37-rail{
  list-style:none;
  margin:8px 0 4px;
  padding:0 0 0 4px;
  border-left:2px solid var(--surfaceead37-orchid);
}
.surfaceead37-rail li{
  position:relative;
  margin:0 0 10px;
  padding:0 0 0 28px;
  font-size:13px;
  color:var(--surfaceead37-ink-soft);
}
.surfaceead37-rail li:last-child{margin-bottom:0;}
.surfaceead37-rail b{
  position:absolute;
  left:-11px;top:0;
  width:20px;height:20px;
  border-radius:50%;
  background:var(--surfaceead37-violet);
  color:#fff;
  font-size:11px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.surfaceead37-rail strong{color:var(--surfaceead37-ink);}

.surfaceead37-ticks{
  list-style:none;
  margin:8px 0 4px;
  padding:0;
}
.surfaceead37-ticks li{
  display:flex;
  gap:8px;
  align-items:flex-start;
  margin:0 0 8px;
  font-size:13px;
  color:var(--surfaceead37-ink-soft);
}
.surfaceead37-ticks li:last-child{margin-bottom:0;}
.surfaceead37-tickmark{
  flex:0 0 18px;
  width:18px;height:18px;
  margin-top:1px;
  color:var(--surfaceead37-mint);
}

.surfaceead37-matrix{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:8px 0 4px;
}
.surfaceead37-band{
  border-radius:var(--surfaceead37-r);
  border:1px solid var(--surfaceead37-edge-soft);
  background:rgba(25,16,25,.45);
  padding:9px 11px;
}
.surfaceead37-band em{
  display:block;
  font-style:normal;
  font-size:11px;
  font-weight:800;
  letter-spacing:.6px;
  text-transform:uppercase;
  color:var(--surfaceead37-orchid);
  margin-bottom:3px;
}
.surfaceead37-band p{margin:0;font-size:13px;color:var(--surfaceead37-ink-soft);}

/* --------------------------------------------------------------------------
   Tips page : direct answer, glossary, questions, trail
   -------------------------------------------------------------------------- */

.surfaceead37-direct{
  border-radius:var(--surfaceead37-r-lg);
  border:1px solid var(--surfaceead37-orchid);
  background:
    linear-gradient(160deg,rgba(148,0,211,.28) 0%,rgba(36,23,38,.92) 55%);
  padding:14px 13px;
  margin:0 0 16px;
}
.surfaceead37-direct p{
  margin:0 0 8px;
  font-size:14.5px;
  line-height:1.5;
  color:var(--surfaceead37-ink);
}
.surfaceead37-direct p:last-child{margin-bottom:0;color:var(--surfaceead37-ink-soft);font-size:13.5px;}

.surfaceead37-gloss{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:8px 0 4px;
}
.surfaceead37-term{
  padding:8px 0 8px 10px;
  border-left:3px solid var(--surfaceead37-teal);
}
.surfaceead37-term h3{
  margin:0 0 3px;
  font-size:14px;
  font-family:var(--surfaceead37-head-font);
  color:var(--surfaceead37-mint);
}
.surfaceead37-term p{margin:0;font-size:13px;color:var(--surfaceead37-ink-soft);}

.surfaceead37-qa{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:8px 0 4px;
}
.surfaceead37-q{
  border-radius:var(--surfaceead37-r);
  background:rgba(95,158,160,.08);
  padding:10px 11px;
}
.surfaceead37-q h3{
  margin:0 0 4px;
  font-size:14px;
  color:var(--surfaceead37-ink);
  font-family:var(--surfaceead37-head-font);
}
.surfaceead37-q p{margin:0;font-size:13px;color:var(--surfaceead37-ink-soft);}

.surfaceead37-trail{
  list-style:none;
  margin:8px 0 4px;
  padding:0;
}
.surfaceead37-trail li{
  position:relative;
  margin:0;
  padding:0 0 12px 22px;
}
.surfaceead37-trail li::before{
  content:"";
  position:absolute;
  left:5px;top:6px;bottom:0;
  width:2px;
  background:var(--surfaceead37-edge);
}
.surfaceead37-trail li:last-child::before{display:none;}
.surfaceead37-trail li::after{
  content:"";
  position:absolute;
  left:1px;top:4px;
  width:10px;height:10px;
  border-radius:50%;
  background:var(--surfaceead37-mint);
}
.surfaceead37-trail a{
  font-weight:800;
  font-family:var(--surfaceead37-head-font);
}
.surfaceead37-trail p{
  margin:2px 0 0;
  font-size:12.5px;
  color:var(--surfaceead37-ink-soft);
}

/* --------------------------------------------------------------------------
   Responsive layer : >=375px
   -------------------------------------------------------------------------- */

@media (min-width:375px){
  .surfaceead37-h1{font-size:26px;}
  .surfaceead37-h2{font-size:18.5px;}
  .surfaceead37-grid{gap:9px;}
  .surfaceead37-tile-name{font-size:11px;}
  .surfaceead37-ext-dir{column-gap:12px;}
}

/* --------------------------------------------------------------------------
   Responsive layer : >=430px keeps the same phone canvas and navigation
   -------------------------------------------------------------------------- */

@media (min-width:430px){
  .surfaceead37-grid{gap:10px;}
  .surfaceead37-grid.surfaceead37-grid-five{grid-template-columns:repeat(5,minmax(0,1fr));}
  .surfaceead37-h1{font-size:27px;}
  .surfaceead37-main{padding-left:16px;padding-right:16px;}
  .surfaceead37-ext{padding:16px 15px;}
}

/* --------------------------------------------------------------------------
   Motion preferences
   -------------------------------------------------------------------------- */

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