/* ==========================================================================
   1xbet in login - mobile shell styles
   Canvas: 320-430px phone layout, wide screens keep a centered phone canvas
   Class prefix: surface1053c-
   Visual language: dark slate base, light-yellow ink, rose / leaf / sand
   accents, border-led cards with restrained rounding, soft fade feedback.
   ========================================================================== */

:root{
  --surface1053c-bg:#34495E;
  --surface1053c-bg-deep:#2A3A4B;
  --surface1053c-bg-outer:#22303F;
  --surface1053c-panel:rgba(255,255,255,.055);
  --surface1053c-panel-strong:rgba(255,255,255,.09);
  --surface1053c-line:rgba(222,184,135,.36);
  --surface1053c-line-soft:rgba(222,184,135,.18);
  --surface1053c-ink:#FFEF94;
  --surface1053c-ink-soft:rgba(255,239,148,.8);
  --surface1053c-ink-faint:rgba(255,239,148,.58);
  --surface1053c-rose:#FFB6C1;
  --surface1053c-rose-deep:rgba(255,182,193,.16);
  --surface1053c-leaf:#228B22;
  --surface1053c-leaf-tint:rgba(34,139,34,.22);
  --surface1053c-sand:#DEB887;
  --surface1053c-radius:6px;
  --surface1053c-radius-lg:10px;
  --surface1053c-shadow:0 10px 26px rgba(15,23,34,.4);
  --surface1053c-shadow-soft:0 4px 14px rgba(15,23,34,.28);
  --surface1053c-head-h:54px;
  --surface1053c-tabbar-h:62px;
  --surface1053c-font:"Segoe UI",Roboto,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
}

/* ---------- base ---------- */

*{box-sizing:border-box;}

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

body{
  margin:0;
  background:var(--surface1053c-bg-outer);
  color:var(--surface1053c-ink);
  font-family:var(--surface1053c-font);
  font-weight:400;
  font-size:15px;
  line-height:1.62;
  min-height:100vh;
}

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

h1,h2,h3{
  font-weight:800;
  line-height:1.28;
  letter-spacing:.2px;
  margin:0 0 .5em;
}

p{margin:0 0 .85em;}

a{color:var(--surface1053c-rose);text-decoration:none;}
a:hover,a:focus-visible{color:var(--surface1053c-ink);text-decoration:underline;}

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

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

.surface1053c-skipLink{
  position:absolute;
  left:-999px;
  top:6px;
  z-index:200;
  background:var(--surface1053c-sand);
  color:#26313D;
  font-weight:700;
  padding:8px 14px;
  border-radius:var(--surface1053c-radius);
}
.surface1053c-skipLink:focus{left:6px;}

/* ---------- phone canvas ---------- */

.surface1053c-shell{
  position:relative;
  width:100%;
  max-width:430px;
  margin:0 auto;
  background:var(--surface1053c-bg);
  min-height:100vh;
  overflow-x:hidden;
}

@media (min-width:431px){
  body{background:var(--surface1053c-bg-outer);}
  .surface1053c-shell{
    border-left:1px solid var(--surface1053c-line-soft);
    border-right:1px solid var(--surface1053c-line-soft);
    box-shadow:0 0 40px rgba(10,18,28,.5);
  }
}

/* ---------- fixed top action bar ---------- */

.surface1053c-topbar{
  position:fixed;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:100%;
  max-width:430px;
  height:var(--surface1053c-head-h);
  z-index:90;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 10px;
  background:linear-gradient(180deg,var(--surface1053c-bg-deep) 0%,rgba(42,58,75,.96) 100%);
  border-bottom:1px solid var(--surface1053c-line);
}

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

.surface1053c-logo{
  width:34px;
  height:34px;
  border-radius:8px;
  border:1px solid var(--surface1053c-line);
  object-fit:cover;
  flex:0 0 auto;
  background:var(--surface1053c-panel);
}

.surface1053c-brandName{
  font-weight:800;
  font-size:15px;
  letter-spacing:.3px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.surface1053c-topActions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:6px;
}

.surface1053c-btnRegister{
  min-height:34px;
  padding:6px 12px;
  border-radius:var(--surface1053c-radius);
  background:var(--surface1053c-leaf);
  color:#F4FFE9;
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.2px;
  box-shadow:var(--surface1053c-shadow-soft);
  transition:filter .25s ease,transform .25s ease;
}
.surface1053c-btnRegister:hover{filter:brightness(1.12);color:#F4FFE9;text-decoration:none;}

.surface1053c-btnLogin{
  min-height:34px;
  padding:5px 11px;
  border-radius:var(--surface1053c-radius);
  border:1px solid var(--surface1053c-sand);
  color:var(--surface1053c-sand);
  font-weight:700;
  font-size:12.5px;
  transition:background .25s ease,color .25s ease;
}
.surface1053c-btnLogin:hover{background:var(--surface1053c-sand);color:#2A3A4B;text-decoration:none;}

.surface1053c-menuBtn{
  width:44px;
  height:44px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  border-radius:var(--surface1053c-radius);
  border:1px solid var(--surface1053c-line-soft);
}
.surface1053c-menuBtn span{
  display:block;
  width:20px;
  height:2px;
  border-radius:2px;
  background:var(--surface1053c-ink);
  transition:transform .3s ease,opacity .3s ease;
}
.surface1053c-menuBtn[aria-expanded="true"] span:nth-child(1){transform:translateY(3.5px) rotate(45deg);}
.surface1053c-menuBtn[aria-expanded="true"] span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg);}

/* ---------- expandable menu panel ---------- */

.surface1053c-navPanel{
  position:fixed;
  top:var(--surface1053c-head-h);
  left:50%;
  transform:translateX(-50%);
  width:100%;
  max-width:430px;
  z-index:85;
  background:var(--surface1053c-bg-deep);
  border-bottom:1px solid var(--surface1053c-line);
  box-shadow:var(--surface1053c-shadow);
  max-height:0;
  overflow:hidden;
  transition:max-height .38s ease;
}
.surface1053c-navPanel.surface1053c-is-open{max-height:520px;}

.surface1053c-navGroup{
  padding:10px 14px 4px;
}
.surface1053c-navGroup + .surface1053c-navGroup{
  border-top:1px dashed var(--surface1053c-line-soft);
}

.surface1053c-navLabel{
  font-size:10.5px;
  font-weight:700;
  letter-spacing:1.4px;
  text-transform:uppercase;
  color:var(--surface1053c-ink-faint);
  padding:4px 2px 6px;
}

.surface1053c-navLinks{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px 10px;
  padding-bottom:8px;
}

.surface1053c-navLink{
  position:relative;
  display:block;
  min-height:40px;
  padding:9px 2px 7px;
  font-size:13.5px;
  font-weight:600;
  color:var(--surface1053c-ink-soft);
  border-bottom:2px solid transparent;
  transition:color .25s ease,border-color .25s ease;
}
.surface1053c-navLink:hover,
.surface1053c-navLink:focus-visible{
  color:var(--surface1053c-ink);
  text-decoration:none;
  border-bottom-color:var(--surface1053c-rose);
}
.surface1053c-navLink[aria-current="page"]{
  color:var(--surface1053c-rose);
  border-bottom-color:var(--surface1053c-rose);
}

/* ---------- main flow ---------- */

.surface1053c-main{
  padding-top:calc(var(--surface1053c-head-h) + 10px);
  /* keep clear of the fixed bottom tab bar */
  padding-bottom:calc(var(--surface1053c-tabbar-h) + 30px + env(safe-area-inset-bottom,0px));
}

.surface1053c-strip{
  padding:0 12px 6px;
}

/* ---------- banner carousel ---------- */

.surface1053c-carousel{
  position:relative;
  border:1px solid var(--surface1053c-line);
  border-radius:var(--surface1053c-radius-lg);
  overflow:hidden;
  box-shadow:var(--surface1053c-shadow-soft);
  background:var(--surface1053c-bg-deep);
}

.surface1053c-track{
  display:flex;
  transition:transform .45s ease;
}

.surface1053c-slide{
  position:relative;
  flex:0 0 100%;
  width:100%;
  display:block;
  text-align:left;
}

.surface1053c-slideImg{
  width:100%;
  height:172px;
  object-fit:cover;
}

.surface1053c-slideVeil{
  position:absolute;
  inset:auto 0 0 0;
  padding:26px 12px 12px;
  background:linear-gradient(180deg,rgba(42,58,75,0) 0%,rgba(30,42,55,.92) 78%);
}

.surface1053c-slideTitle{
  display:block;
  font-size:15.5px;
  font-weight:800;
  color:#FFFFFF;
  line-height:1.3;
}

.surface1053c-slideCta{
  display:inline-block;
  margin-top:7px;
  font-size:12.5px;
  font-weight:700;
  color:var(--surface1053c-rose);
  border-bottom:2px solid var(--surface1053c-rose);
  padding-bottom:1px;
}

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

.surface1053c-dot{
  width:8px;
  height:8px;
  padding:0;
  border-radius:50%;
  border:1px solid var(--surface1053c-ink);
  background:transparent;
  transition:background .25s ease,transform .25s ease;
}
.surface1053c-dot.surface1053c-is-active{
  background:var(--surface1053c-ink);
  transform:scale(1.15);
}

/* ---------- hero ---------- */

.surface1053c-hero{
  padding:14px 12px 4px;
}

.surface1053c-heroTitle{
  font-size:21px;
  margin-bottom:8px;
}

.surface1053c-heroTitle em{
  font-style:normal;
  color:var(--surface1053c-rose);
}

.surface1053c-lead{
  color:var(--surface1053c-ink-soft);
  font-size:14px;
}

.surface1053c-statRow{
  display:flex;
  gap:8px;
  margin:12px 0 4px;
}

.surface1053c-stat{
  flex:1;
  min-width:0;
  border:1px solid var(--surface1053c-line-soft);
  border-radius:var(--surface1053c-radius);
  background:var(--surface1053c-panel);
  padding:8px 6px 7px;
  text-align:center;
}

.surface1053c-stat b{
  display:block;
  font-size:16px;
  font-weight:800;
  color:var(--surface1053c-sand);
}

.surface1053c-stat span{
  display:block;
  font-size:10.5px;
  letter-spacing:.6px;
  text-transform:uppercase;
  color:var(--surface1053c-ink-faint);
}

/* ---------- full-width CTA ---------- */

.surface1053c-ctaFull{
  display:block;
  width:100%;
  min-height:48px;
  margin:10px 0 2px;
  border-radius:var(--surface1053c-radius);
  background:var(--surface1053c-leaf);
  color:#F4FFE9;
  font-size:15px;
  font-weight:800;
  letter-spacing:.4px;
  box-shadow:var(--surface1053c-shadow-soft);
  transition:filter .25s ease;
}
.surface1053c-ctaFull:hover{filter:brightness(1.12);color:#F4FFE9;text-decoration:none;}

.surface1053c-ctaAlt{
  display:block;
  width:100%;
  min-height:46px;
  margin:8px 0 2px;
  border-radius:var(--surface1053c-radius);
  border:1px solid var(--surface1053c-sand);
  color:var(--surface1053c-sand);
  font-size:14px;
  font-weight:700;
  transition:background .25s ease,color .25s ease;
}
.surface1053c-ctaAlt:hover{background:var(--surface1053c-sand);color:#2A3A4B;text-decoration:none;}

/* ---------- section shell ---------- */

.surface1053c-block{
  padding:16px 12px 4px;
}

.surface1053c-blockHead{
  display:flex;
  align-items:baseline;
  gap:8px;
  border-left:3px solid var(--surface1053c-sand);
  padding-left:9px;
  margin-bottom:8px;
}

.surface1053c-blockTitle{
  font-size:17.5px;
  margin:0;
}

.surface1053c-note{
  color:var(--surface1053c-ink-soft);
  font-size:13.5px;
}

/* ---------- game floors ---------- */

.surface1053c-floor{
  padding:18px 12px 2px;
}

.surface1053c-floorHead{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:4px;
}

.surface1053c-floorTitle{
  font-size:16.5px;
  margin:0;
}

.surface1053c-floorCount{
  flex:0 0 auto;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.8px;
  text-transform:uppercase;
  color:var(--surface1053c-sand);
  border:1px solid var(--surface1053c-line);
  border-radius:20px;
  padding:2px 8px;
}

.surface1053c-floorNote{
  color:var(--surface1053c-ink-faint);
  font-size:12.5px;
  margin:0 0 10px;
  padding-left:2px;
}

/* game grid: 4 columns at 320px, 5 columns from 375px up to 430px */
.surface1053c-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px 7px;
}
@media (min-width:375px){
  .surface1053c-grid{grid-template-columns:repeat(5,1fr);}
}

.surface1053c-tile{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  min-width:0;
  padding:7px 4px 6px;
  border-radius:var(--surface1053c-radius);
  border:1px solid var(--surface1053c-line-soft);
  background:var(--surface1053c-panel);
  box-shadow:0 6px 14px rgba(15,23,34,.18);
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.surface1053c-tile:hover,
.surface1053c-tile:focus-visible{
  transform:translateY(-3px);
  border-color:var(--surface1053c-rose);
  background:var(--surface1053c-panel-strong);
}

.surface1053c-tileImg{
  width:100%;
  aspect-ratio:1/1;
  border-radius:5px;
  object-fit:cover;
  border:1px solid rgba(222,184,135,.22);
}

.surface1053c-tileName{
  font-size:10.8px;
  font-weight:600;
  line-height:1.25;
  text-align:center;
  color:var(--surface1053c-ink-soft);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:1.25em;
  word-break:break-word;
}

/* ---------- tricks list ---------- */

.surface1053c-trickList{
  list-style:none;
  margin:0;
  padding:0;
  counter-reset:surface1053c-trick;
}

.surface1053c-trick{
  position:relative;
  counter-increment:surface1053c-trick;
  padding:0 0 12px 40px;
}

.surface1053c-trick::before{
  content:counter(surface1053c-trick);
  position:absolute;
  left:0;
  top:1px;
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--surface1053c-sand);
  border-radius:50%;
  color:var(--surface1053c-sand);
  font-size:13px;
  font-weight:800;
}

.surface1053c-trick p{
  margin:0;
  font-size:13.5px;
  color:var(--surface1053c-ink-soft);
}

/* ---------- winners rail ---------- */

.surface1053c-winRail{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:4px 2px 10px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:var(--surface1053c-sand) transparent;
}

.surface1053c-winCard{
  flex:0 0 148px;
  border:1px solid var(--surface1053c-line-soft);
  border-left:3px solid var(--surface1053c-rose);
  border-radius:var(--surface1053c-radius);
  background:var(--surface1053c-panel);
  padding:8px 9px;
}

.surface1053c-winWho{
  font-size:11px;
  letter-spacing:.4px;
  text-transform:uppercase;
  color:var(--surface1053c-ink-faint);
}

.surface1053c-winGame{
  font-size:13.5px;
  font-weight:800;
  color:var(--surface1053c-ink);
  margin:2px 0 3px;
}

.surface1053c-winAmt{
  font-size:15px;
  font-weight:800;
  color:var(--surface1053c-rose);
}

/* ---------- category rows ---------- */

.surface1053c-catRow{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:9px 0;
  border-bottom:1px dashed var(--surface1053c-line-soft);
}
.surface1053c-catRow:last-of-type{border-bottom:0;}

.surface1053c-catTag{
  flex:0 0 86px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.4px;
  text-transform:uppercase;
  color:var(--surface1053c-sand);
  border:1px solid var(--surface1053c-line);
  border-radius:var(--surface1053c-radius);
  text-align:center;
  padding:5px 4px;
  background:var(--surface1053c-panel);
}

.surface1053c-catBody{
  min-width:0;
}

.surface1053c-catBody b{
  display:block;
  font-size:13.5px;
  color:var(--surface1053c-ink);
}

.surface1053c-catBody p{
  margin:2px 0 0;
  font-size:12.5px;
  color:var(--surface1053c-ink-faint);
}

/* ---------- scenario answer ---------- */

.surface1053c-scenarioBox{
  border:1px solid var(--surface1053c-line);
  border-radius:var(--surface1053c-radius-lg);
  background:var(--surface1053c-panel);
  padding:12px 12px 6px;
  box-shadow:var(--surface1053c-shadow-soft);
}

.surface1053c-scenarioQ{
  margin:0 0 10px;
  padding-left:10px;
  border-left:3px solid var(--surface1053c-rose);
  font-size:14px;
  font-weight:700;
  color:var(--surface1053c-rose);
  line-height:1.5;
}

.surface1053c-scenarioA{
  font-size:13.5px;
  color:var(--surface1053c-ink-soft);
}

.surface1053c-scenarioA b{color:var(--surface1053c-ink);}

.surface1053c-miniList{
  list-style:none;
  margin:6px 0 10px;
  padding:0;
}

.surface1053c-miniList li{
  position:relative;
  padding:0 0 8px 18px;
  font-size:13px;
  color:var(--surface1053c-ink-soft);
}
.surface1053c-miniList li::before{
  content:"";
  position:absolute;
  left:2px;
  top:8px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--surface1053c-leaf);
}

/* ---------- steps timeline ---------- */

.surface1053c-steps{
  list-style:none;
  margin:4px 0 10px;
  padding:0;
}

.surface1053c-step{
  position:relative;
  padding:0 0 14px 34px;
}

.surface1053c-step::before{
  content:"";
  position:absolute;
  left:10px;
  top:4px;
  bottom:-4px;
  width:2px;
  background:var(--surface1053c-line-soft);
}
.surface1053c-step:last-child::before{bottom:auto;height:calc(100% - 6px);}

.surface1053c-step::after{
  content:"";
  position:absolute;
  left:4px;
  top:5px;
  width:12px;
  height:12px;
  border-radius:50%;
  border:2px solid var(--surface1053c-sand);
  background:var(--surface1053c-bg);
}

.surface1053c-step b{
  display:block;
  font-size:13.5px;
  color:var(--surface1053c-ink);
  margin-bottom:2px;
}

.surface1053c-step p{
  margin:0;
  font-size:13px;
  color:var(--surface1053c-ink-faint);
}

/* ---------- pros and limits ---------- */

.surface1053c-duo{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}

@media (max-width:340px){
  .surface1053c-duo{grid-template-columns:1fr;}
}

.surface1053c-duoPanel{
  border:1px solid var(--surface1053c-line-soft);
  border-radius:var(--surface1053c-radius);
  background:var(--surface1053c-panel);
  padding:10px 10px 4px;
  min-width:0;
}

.surface1053c-duoPanel--good{border-top:3px solid var(--surface1053c-leaf);}
.surface1053c-duoPanel--bad{border-top:3px solid var(--surface1053c-rose);}

.surface1053c-duoTitle{
  font-size:12px;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
  margin:0 0 8px;
}
.surface1053c-duoPanel--good .surface1053c-duoTitle{color:#7FDD8B;}
.surface1053c-duoPanel--bad .surface1053c-duoTitle{color:var(--surface1053c-rose);}

.surface1053c-duoList{
  list-style:none;
  margin:0;
  padding:0;
}

.surface1053c-duoList li{
  font-size:12.5px;
  color:var(--surface1053c-ink-soft);
  padding:0 0 8px 14px;
  position:relative;
}
.surface1053c-duoList li::before{
  content:"";
  position:absolute;
  left:0;
  top:7px;
  width:7px;
  height:2px;
  border-radius:2px;
}
.surface1053c-duoPanel--good .surface1053c-duoList li::before{background:#7FDD8B;}
.surface1053c-duoPanel--bad .surface1053c-duoList li::before{background:var(--surface1053c-rose);}

/* ---------- extended footer ---------- */

.surface1053c-extFooter{
  margin-top:20px;
  border-top:1px solid var(--surface1053c-line);
  background:var(--surface1053c-bg-deep);
  padding:16px 12px 8px;
}

.surface1053c-extLabel{
  font-size:10.5px;
  font-weight:800;
  letter-spacing:1.6px;
  text-transform:uppercase;
  color:var(--surface1053c-ink-faint);
  margin:0 0 8px;
}

.surface1053c-chipRail{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:10px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:var(--surface1053c-sand) transparent;
}

.surface1053c-chip{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  padding:9px 14px;
  border-radius:24px;
  border:1px solid var(--surface1053c-rose);
  background:var(--surface1053c-rose-deep);
  color:var(--surface1053c-rose);
  font-size:12.5px;
  font-weight:700;
  white-space:nowrap;
  transition:background .25s ease,color .25s ease;
}
.surface1053c-chip:hover{
  background:var(--surface1053c-rose);
  color:#34202A;
  text-decoration:none;
}
.surface1053c-chip svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.surface1053c-brandIntro{
  font-size:13px;
  color:var(--surface1053c-ink-soft);
  margin:2px 0 14px;
}

.surface1053c-directory{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin-bottom:14px;
}
@media (min-width:375px){
  .surface1053c-directory{grid-template-columns:repeat(3,1fr);}
}

.surface1053c-dirLink{
  display:flex;
  align-items:center;
  min-height:44px;
  padding:8px 9px;
  border:1px solid var(--surface1053c-line-soft);
  border-radius:var(--surface1053c-radius);
  background:var(--surface1053c-panel);
  font-size:12px;
  font-weight:600;
  color:var(--surface1053c-ink-soft);
  line-height:1.3;
  transition:color .25s ease,border-color .25s ease;
}
.surface1053c-dirLink:hover,
.surface1053c-dirLink:focus-visible{
  color:var(--surface1053c-ink);
  border-color:var(--surface1053c-rose);
  text-decoration:none;
}

.surface1053c-disclaimer{
  border:1px dashed var(--surface1053c-line);
  border-radius:var(--surface1053c-radius);
  padding:10px 11px;
  font-size:11.5px;
  line-height:1.6;
  color:var(--surface1053c-ink-faint);
  margin:0 0 12px;
}

/* ---------- common footer ---------- */

.surface1053c-footer{
  padding:6px 12px 14px;
  text-align:center;
  font-size:11.5px;
  color:var(--surface1053c-ink-faint);
  border-top:1px solid var(--surface1053c-line-soft);
}

/* ---------- fixed bottom tab bar ---------- */

.surface1053c-tabbar{
  position:fixed;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:100%;
  max-width:430px;
  z-index:95;
  display:flex;
  align-items:flex-end;
  background:linear-gradient(180deg,rgba(42,58,75,.97) 0%,var(--surface1053c-bg-deep) 100%);
  border-top:1px solid var(--surface1053c-line);
  padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));
}

.surface1053c-tab{
  position:relative;
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  min-height:44px;
  padding:6px 2px 4px;
  color:var(--surface1053c-ink-faint);
  font-size:10px;
  font-weight:600;
  letter-spacing:.2px;
  transition:color .25s ease;
}
.surface1053c-tab::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:1px;
  width:0;
  height:2px;
  border-radius:2px;
  background:var(--surface1053c-rose);
  transition:width .25s ease;
}
.surface1053c-tab:hover{color:var(--surface1053c-ink-soft);}
.surface1053c-tab.surface1053c-is-active{color:var(--surface1053c-rose);}
.surface1053c-tab.surface1053c-is-active::after{width:22px;}

.surface1053c-tab svg{
  width:21px;
  height:21px;
}
.surface1053c-tab svg path{
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:fill .25s ease;
}
.surface1053c-tab.surface1053c-is-active svg path{fill:currentColor;}

/* raised center action */
.surface1053c-tab--raise{
  padding-top:0;
}

.surface1053c-raiseBtn{
  width:50px;
  height:50px;
  margin-top:-26px;
  border-radius:50%;
  background:var(--surface1053c-leaf);
  border:2px solid rgba(255,239,148,.65);
  box-shadow:0 8px 18px rgba(15,23,34,.45);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#F4FFE9;
  transition:filter .25s ease,transform .25s ease;
}
.surface1053c-raiseBtn:hover{filter:brightness(1.12);transform:translateY(-2px);}
.surface1053c-raiseBtn svg{
  width:24px;
  height:24px;
}
.surface1053c-raiseBtn svg path{
  fill:currentColor;
  stroke:none;
}

.surface1053c-raiseCap{
  color:var(--surface1053c-ink-soft);
}

/* ---------- restrained reveal motion ---------- */

.surface1053c-reveal{
  opacity:0;
  transform:translateY(10px);
}
.surface1053c-reveal.surface1053c-is-in{
  opacity:1;
  transform:none;
  transition:opacity .5s ease,transform .5s ease;
}

@media (prefers-reduced-motion:reduce){
  .surface1053c-track{transition:none;}
  .surface1053c-navPanel{transition:none;}
  .surface1053c-reveal{opacity:1;transform:none;transition:none;}
  .surface1053c-tile,
  .surface1053c-chip,
  .surface1053c-raiseBtn{transition:none;}
}

/* ---------- narrow canvas safety (320px) ---------- */

@media (max-width:330px){
  .surface1053c-btnRegister{padding:6px 9px;}
  .surface1053c-btnLogin{padding:5px 8px;}
  .surface1053c-brandName{font-size:13.5px;}
  .surface1053c-slideTitle{font-size:14px;}
  .surface1053c-heroTitle{font-size:19px;}
  .surface1053c-blockTitle{font-size:16px;}
  .surface1053c-floorTitle{font-size:15px;}
}
