:root{
  --bg: #070d0a;
  --panel: rgba(13,20,17,.94);
  --panel2: rgba(18,28,23,.88);
  --text: #f1f7f3;
  --muted: rgba(218,229,222,.72);
  --border: rgba(111,154,131,.18);
  --accent: #68f29b;
  --accent2: #d9ffeb;
  --shadow: 0 18px 38px rgba(0,0,0,.34);
  --ease: cubic-bezier(.2,.8,.2,1);
}

*{ box-sizing:border-box; }
html,body{
  height:100%;
  background-color: var(--bg);
}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji";
  background-color: var(--bg);
  background-image:
    radial-gradient(980px 580px at 14% -6%, rgba(104,242,155,.13), transparent 56%),
    radial-gradient(920px 520px at 88% -4%, rgba(255,255,255,.08), transparent 54%),
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 24%);
  background-attachment: fixed;
  color: var(--text);
  overflow-x: hidden;
}

body::before{
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 240px 240px;
  opacity: .04;
}

body::after{
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E");
  opacity: .02;
  mix-blend-mode: overlay;
}

body.has-pointer-fx > .content,
body.has-pointer-fx > .footer{
  position: relative;
  z-index: 2;
}

body.has-pointer-fx > .topbar{
  z-index: 10;
}

body.has-pointer-fx > .dock{
  z-index: 12;
}

.site-fx{
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: clip;
}

.site-fx__canvas{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  opacity: .74;
  mix-blend-mode: screen;
  filter: saturate(.94) brightness(.98);
}

a{ color: inherit; text-decoration:none; }
a:hover{ color: var(--accent); }

.topbar{
  position: sticky;
  top: 0;
  z-index: 10;
  display:flex;
  justify-content:center;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 18px 12px 18px;
  background: linear-gradient(180deg, rgba(12,16,22,.94), rgba(9,12,18,.88));
  border-bottom: 1px solid rgba(104,242,155,.14);
  backdrop-filter: blur(10px);
}

.brandmark{
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 250px;
  margin-top: 0;
}

@media (prefers-reduced-motion: reduce), (pointer: coarse){
  .site-fx{
    display: none;
  }
}

.brandmark__badge{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 248px;
  min-height: 54px;
  padding: 0 22px;
  border-radius: 18px;
  border: 1px solid rgba(104,242,155,.18);
  background:
    linear-gradient(180deg, rgba(14,20,17,.98), rgba(7,12,10,.98)),
    linear-gradient(90deg, rgba(104,242,155,.16), rgba(255,255,255,0) 38%, rgba(255,255,255,.10));
  box-shadow:
    0 18px 34px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.04);
  overflow: hidden;
}

.brandmark__badge::before{
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.05);
  pointer-events: none;
}

.brandmark__light{
  position: absolute;
  top: -4px;
  width: 72px;
  height: 28px;
  border-radius: 999px;
  filter: blur(16px);
  opacity: .58;
  pointer-events: none;
}

.brandmark__light--blue{
  left: -10px;
  background: radial-gradient(circle, rgba(104,242,155,.95), rgba(104,242,155,0) 68%);
}

.brandmark__light--red{
  right: -10px;
  background: radial-gradient(circle, rgba(255,255,255,.85), rgba(255,255,255,0) 68%);
}

.brandmark__title{
  position: relative;
  z-index: 1;
  font-size: 28px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.05em;
  color: #f7fbff;
  text-transform: uppercase;
  text-shadow:
    0 3px 0 rgba(10,14,19,.95),
    0 10px 22px rgba(0,0,0,.40);
}

.brandmark__sub{
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(237,244,251,.68);
  white-space: nowrap;
}

.auth{
  position: absolute;
  right: 16px;
  top: 18px;
  display: flex;
  gap: 8px;
  align-items: center;
}

.auth__btn{
  border: 1px solid rgba(104,242,155,.14);
  background: rgba(12,18,26,.82);
  color: rgba(237,244,251,.88);
  padding: 8px 10px;
  border-radius: 12px;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  backdrop-filter: blur(6px);
  transition: transform .22s var(--ease), border-color .22s var(--ease), background .22s var(--ease);
}

.auth__btn:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.16);
  background: rgba(0,0,0,.26);
}

.auth__btn:focus-visible{
  outline: none;
  border-color: rgba(104,242,155,.45);
  box-shadow: 0 0 0 3px rgba(104,242,155,.12);
}

.auth__btn--primary{
  border-color: rgba(104,242,155,.28);
  background: rgba(104,242,155,.10);
  color: rgba(219,255,233,.98);
}

.auth__btn--primary:hover{
  border-color: rgba(104,242,155,.45);
  background: rgba(104,242,155,.14);
}

.topbar__right{
  display:flex;
  align-items:center;
}

.clock{
  font-variant-numeric: tabular-nums;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(237,244,251,.84);
  border: 1px solid rgba(104,242,155,.14);
  background: rgba(16,22,31,.82);
  padding: 10px 14px;
  border-radius: 999px;
  backdrop-filter: blur(10px);
}

.content{
  max-width: 980px;
  margin: 0 auto;
  padding: 14px 16px 170px 16px;
  min-height: calc(100vh - 80px);
}

body.is-map .content{
  max-width: none;
  width: 100%;
  padding: 8px 12px 130px 12px;
  min-height: calc(100svh - 82px);
}

body.is-landing .content{
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

body.is-landing #rules{
  min-height: calc(100vh - 160px);
}

.search-wrap{
  display: none;
  margin: 0 0 12px 0;
}

.search-wrap input{
  width: 100%;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
  color: rgba(230,237,246,.9);
  outline: none;
  backdrop-filter: blur(10px);
}

.search-wrap input::placeholder{ color: rgba(230,237,246,.45); }

.meta{
  position: absolute;
  left: 16px;
  top: 18px;
  width: fit-content;
  max-width: calc(100% - 32px);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(237,244,251,.8);
  border: 1px solid rgba(120,147,182,.14);
  background: rgba(12,18,26,.82);
  padding: 6px 10px;
  border-radius: 999px;
  backdrop-filter: blur(10px);
}

.meta kbd{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  font-size: inherit;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: inherit;
  border: none;
  background: transparent;
  padding: 0;
  border-radius: 0;
}

body:not(.is-landing) .meta{ margin-left: 0; margin-right: 0; }

@media (max-width: 520px){
  .topbar{
    gap: 8px;
    padding-left: 10px;
    padding-right: 10px;
  }
  .brandmark{
    min-width: 0;
  }
  .brandmark__badge{
    min-width: 180px;
    min-height: 42px;
    padding: 0 14px;
  }
  .brandmark__title{
    font-size: 22px;
  }
  .brandmark__sub{
    font-size: 9px;
    letter-spacing: .12em;
  }
  .meta{ left: 10px; top: 12px; }
  .auth{ right: 10px; top: 12px; }
}

.section{
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(13,19,28,.96), rgba(9,14,21,.96));
  backdrop-filter: blur(8px);
  margin-bottom: 16px;
  box-shadow: 0 18px 42px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.02);
}

.section__eyebrow{
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 12px;
  margin-bottom: 10px;
  border-radius: 999px;
  border: 1px solid rgba(179,136,86,.12);
  background: rgba(214,166,91,.05);
  color: rgba(235,221,197,.74);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.section h2{
  margin: 0 0 10px 0;
  font-size: 22px;
  letter-spacing: .2px;
}

.section__content{
  margin-top: 10px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.02);
  margin-bottom: 12px;
}

.doc-p{
  margin: 0 0 10px 0;
  line-height: 1.65;
  color: rgba(230,237,246,.84);
}

.doc-list{
  margin: 0;
  padding-left: 18px;
  line-height: 1.65;
  color: rgba(230,237,246,.88);
}

.doc-table{
  width: 100%;
  overflow: auto;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
}

.doc-table table{ width: 100%; border-collapse: collapse; }

.doc-table th,
.doc-table td{
  text-align: left;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  vertical-align: top;
}

.doc-table th{
  font-size: 12px;
  color: rgba(230,237,246,.60);
  text-transform: uppercase;
  letter-spacing: .12em;
  background: rgba(0,0,0,.22);
}

.rule__title{
  font-weight: 650;
}

.rule__id{
  font-size: 12px;
  color: rgba(230,237,246,.68);
  border: 1px solid rgba(255,255,255,.10);
  padding: 2px 8px;
  border-radius: 999px;
}

.rule__body{
  padding: 12px;
  color: rgba(230,237,246,.92);
}

.rule__explanation{
  padding: 0 12px 12px 12px;
  color: rgba(230,237,246,.68);
  line-height: 1.65;
}

.rule__tags{
  margin: 0;
  padding: 0 12px 12px 12px;
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tag{
  font-size: 12px;
  color: rgba(230,237,246,.78);
  border: 1px solid rgba(255,255,255,.10);
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.02);
}

.view{
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .26s var(--ease), transform .26s var(--ease);
}

.view.view--in{
  opacity: 1;
  transform: translateY(0);
}

.view.view--out{
  opacity: 0;
  transform: translateY(-4px);
}

.page-title{
  margin: 0;
  font-size: 30px;
  letter-spacing: .2px;
  line-height: 1.08;
}

.content-grid{
  display: grid;
  gap: 16px;
}

.content-grid--sidebar{
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .8fr);
  align-items: start;
}

.landing{
  padding: 90px 0 30px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}

body.is-landing .landing{
  min-height: calc(100vh - 160px);
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content: center;
  padding: 0 18px;
}

.landing-shell{
  width: min(1100px, calc(100% - 40px));
  margin: 0 auto;
}

.landing-hero{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .72fr);
  gap: 24px;
  align-items: start;
}

.landing-hero__copy{
  text-align: left;
  max-width: none;
}

.landing-hero__title{
  margin-top: 22px;
  max-width: 12ch;
  font-size: clamp(32px, 4.8vw, 56px);
  line-height: 1.04;
  font-weight: 800;
  letter-spacing: -.04em;
  color: rgba(237,244,251,.98);
  text-shadow: 0 18px 42px rgba(0,0,0,.44);
}

.landing-hero__text{
  margin-top: 18px;
  max-width: 50ch;
  color: rgba(237,244,251,.72);
  line-height: 1.7;
  font-size: 15px;
}

.landing-hero__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.landing-panel{
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(120,147,182,.16);
  background: linear-gradient(180deg, rgba(12,18,26,.96), rgba(8,13,20,.96));
  backdrop-filter: blur(10px);
  box-shadow: 0 20px 46px rgba(0,0,0,.34);
  text-align: left;
}

.landing-panel__eyebrow{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(230,237,246,.58);
  margin-bottom: 14px;
}

.landing-panel__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.landing-stats{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.landing-stat{
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}

.landing-stat__label{
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(230,237,246,.52);
}

.landing-stat__value{
  margin-top: 6px;
  font-size: 15px;
  font-weight: 700;
  color: rgba(230,237,246,.94);
}

.landing--cloud::before{
  content: "";
  position: absolute;
  inset: -40px -40px -60px -40px;
  pointer-events: none;
  background:
    radial-gradient(900px 360px at 50% 42%, rgba(255,255,255,.10), transparent 70%),
    radial-gradient(900px 360px at 50% 55%, rgba(255,255,255,.07), transparent 72%),
    radial-gradient(900px 360px at 50% 70%, rgba(255,255,255,.05), transparent 74%),
    radial-gradient(700px 260px at 30% 62%, rgba(255,255,255,.05), transparent 70%),
    radial-gradient(700px 260px at 70% 62%, rgba(255,255,255,.05), transparent 70%);
  opacity: .75;
  filter: blur(1px);
  mask-image: radial-gradient(520px 320px at 50% 55%, rgba(0,0,0,1), rgba(0,0,0,0));
}

.landing--cloud::after{
  content: "";
  position: absolute;
  left: 72%;
  top: 42%;
  width: 440px;
  height: 440px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  pointer-events: none;
  background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.07), rgba(255,255,255,.025) 42%, transparent 72%);
  border: 1px solid rgba(255,255,255,.06);
  box-shadow: 0 24px 64px rgba(0,0,0,.42);
}

.landing__logo{
  position: relative;
  z-index: 1;
  display: inline-grid;
  gap: 8px;
  margin-top: 18px;
}

.landing__logoTop,
.landing__logoBottom{
  font-family: ui-serif, Georgia, "Times New Roman", Times, serif;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: .92;
  text-transform: none;
  font-size: 50px;
}

.landing__logoTop{
  color: rgba(230,237,246,.86);
  text-shadow: 0 18px 60px rgba(0,0,0,.75);
}

.landing__logoBottom{
  margin-top: -20px;
  color: rgba(230,237,246,.72);
  text-shadow: 0 18px 60px rgba(0,0,0,.75);
}

.landing__coming{
  position: relative;
  z-index: 1;
  margin-top: 0;
  font-size: 13px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(230,237,246,.60);
}

.landing-brand{
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 18px;
  width: min(820px, 100%);
  padding: 0;
  align-items: stretch;
}

.landing-brand__banner{
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 278px;
  padding: 24px 28px 30px;
  border-radius: 28px;
  border: 1px solid rgba(120,147,182,.18);
  background:
    linear-gradient(180deg, rgba(16,22,31,.98), rgba(8,12,18,.98)),
    linear-gradient(90deg, rgba(82,142,255,.16), rgba(255,255,255,0) 36%, rgba(255,96,96,.16));
  box-shadow:
    0 24px 58px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.04);
}

.landing-brand__banner::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 18%, rgba(71,142,255,.22), transparent 28%),
    radial-gradient(circle at 82% 18%, rgba(255,82,82,.20), transparent 28%),
    radial-gradient(circle at 50% 52%, rgba(255,193,87,.14), transparent 34%);
}

.landing-brand__banner::after{
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.06);
  pointer-events: none;
}

.landing-brand__light{
  position: absolute;
  top: 10px;
  width: 148px;
  height: 64px;
  filter: blur(22px);
  opacity: .55;
  pointer-events: none;
}

.landing-brand__light--blue{
  left: -12px;
  background: radial-gradient(circle at 50% 50%, rgba(67,143,255,.92), rgba(67,143,255,0) 68%);
}

.landing-brand__light--red{
  right: -12px;
  background: radial-gradient(circle at 50% 50%, rgba(255,85,85,.90), rgba(255,85,85,0) 68%);
}

.landing-brand__skyline{
  position: relative;
  z-index: 1;
  display: flex;
  align-items: end;
  gap: 4px;
  height: 78px;
  margin-bottom: 16px;
  opacity: .56;
}

.landing-brand__building{
  border-radius: 5px 5px 0 0;
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(71,84,98,.88));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}

.landing-brand__chips{
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}

.landing-brand__chip{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(7,11,15,.64);
  color: rgba(230,237,246,.88);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
}

.landing-brand__chip--police{
  border-color: rgba(90,149,255,.24);
  box-shadow: inset 0 0 0 1px rgba(90,149,255,.08);
}

.landing-brand__chip--crime{
  border-color: rgba(255,125,72,.24);
  box-shadow: inset 0 0 0 1px rgba(255,125,72,.08);
}

.landing-brand__chipIcon,
.landing-brand__cash,
.landing-brand__badgeIcon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.landing-brand__chipIcon{
  width: 20px;
  height: 20px;
}

.landing-brand__chipIcon svg{
  width: 16px;
  height: 16px;
  display: block;
}

.landing-brand__title{
  position: relative;
  z-index: 1;
  text-transform: uppercase;
  line-height: .88;
}

.landing-brand__title--wide{
  max-width: none;
  font-size: clamp(44px, 6.4vw, 82px);
  font-weight: 900;
  letter-spacing: -.05em;
  white-space: normal;
  color: #f7fbff;
  text-shadow:
    0 4px 0 rgba(10,14,19,.92),
    0 18px 36px rgba(0,0,0,.4);
}

.landing-brand__road{
  position: relative;
  z-index: 1;
  margin-top: 20px;
  height: 14px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(121,130,142,.34), rgba(56,63,72,.86));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  overflow: hidden;
}

.landing-brand__road::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 56%;
  height: 2px;
  transform: translate(-50%, -50%);
  background: repeating-linear-gradient(90deg, rgba(255,255,255,.92) 0 18px, transparent 18px 30px);
  opacity: .88;
}

.landing-brand__cash{
  position: absolute;
  right: 22px;
  bottom: 24px;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(140,224,150,.20);
  background: linear-gradient(180deg, rgba(98,177,104,.26), rgba(31,67,38,.86));
  color: rgba(217,255,224,.96);
  box-shadow: 0 12px 24px rgba(0,0,0,.24);
}

.landing-brand__cash svg{
  width: 22px;
  height: 22px;
  display: block;
}

.landing-brand__badge{
  display: none;
}

.landing-brand__badge::before{
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.06);
}

.landing-brand__badge::after{
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(66,140,255,.26), rgba(255,255,255,.12) 45%, rgba(255,92,92,.26));
}

.landing-brand__badgeTitle{
  position: relative;
  transform: none;
  font-size: clamp(32px, 4vw, 50px);
  font-weight: 900;
  letter-spacing: -.08em;
  color: #f7fbff;
  text-transform: uppercase;
  text-shadow:
    0 4px 0 rgba(10,14,19,.94),
    0 16px 34px rgba(0,0,0,.46);
  z-index: 1;
}

.landing-brand__badgeIcon{
  position: absolute;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(7,11,15,.68);
  box-shadow: 0 10px 24px rgba(0,0,0,.30);
}

.landing-brand__badgeIcon svg{
  width: 24px;
  height: 24px;
  display: block;
}

.landing-brand__badgeIcon--left{
  left: 18px;
  top: 18px;
  color: #ffc759;
}

.landing-brand__badgeIcon--right{
  right: 18px;
  top: 18px;
  color: #ff9f7b;
}

.quickstart{
  position: relative;
  z-index: 1;
  margin-top: 26px;
  width: min(780px, 100%);
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 50px rgba(0,0,0,.50);
}

.quickstart__title{
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(230,237,246,.70);
  margin-bottom: 12px;
}

.quickstart__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.quickstart__btn{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  color: rgba(230,237,246,.90);
  transition: transform .22s var(--ease), border-color .22s var(--ease), background .22s var(--ease);
}

.quickstart__btn:hover{
  transform: translateY(-1px);
  border-color: rgba(122,182,255,.26);
  background: rgba(255,255,255,.05);
}

.quickstart__btn:focus-visible{
  outline: none;
  border-color: rgba(122,182,255,.45);
  box-shadow: 0 0 0 3px rgba(122,182,255,.12);
}

.quickstart__btn--primary{
  border-color: rgba(122,182,255,.28);
  background: rgba(122,182,255,.10);
}

.quickstart__btn--primary:hover{
  border-color: rgba(122,182,255,.45);
  background: rgba(122,182,255,.14);
}

.quickstart__icon{
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
  font-size: 18px;
  line-height: 1;
}

.quickstart__label{
  font-weight: 700;
  letter-spacing: .2px;
}

.rules-legal{
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.18);
  color: rgba(230,237,246,.55);
  font-size: 12px;
  line-height: 1.55;
  backdrop-filter: blur(12px);
}

@media (max-width: 520px){
  .landing__logoTop,
  .landing__logoBottom{ font-size: 44px; }
  .landing--cloud::after{ width: 420px; height: 420px; }
  .quickstart__grid{ grid-template-columns: 1fr; }
  .players{ grid-template-columns: 1fr; }
  .status-grid{ grid-template-columns: 1fr; }
  .landing-brand{
    grid-template-columns: 1fr;
  }
  .landing-brand__banner{
    padding: 18px 18px 24px;
  }
  .landing-brand__title--wide{
    font-size: clamp(28px, 10vw, 42px);
  }
  .landing-brand__badge{
    min-height: 180px;
  }
}

.breadcrumb{
  display:flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: rgba(230,237,246,.60);
  margin-bottom: 10px;
}

.breadcrumb__sep{ color: rgba(219,197,165,.28); }

.breadcrumb__link{
  color: rgba(237,221,195,.82);
  border: 1px solid rgba(183,137,85,.16);
  border-radius: 999px;
  padding: 2px 8px;
  background: rgba(201,149,87,.06);
  transition: border-color .22s var(--ease), background .22s var(--ease);
}

.breadcrumb__link:hover{
  border-color: rgba(206,150,92,.24);
  background: rgba(201,149,87,.10);
}

.breadcrumb__current{
  color: rgba(223,206,180,.66);
  border: 1px solid rgba(183,137,85,.12);
  border-radius: 999px;
  padding: 2px 8px;
  background: rgba(25,18,14,.56);
}

.cards{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.info-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.info-card{
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.16));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.info-card__title{
  font-weight: 700;
  margin-bottom: 8px;
}

.info-card__text{
  color: rgba(230,237,246,.82);
  line-height: 1.65;
}

.info-links{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.info-link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  color: rgba(230,237,246,.86);
  transition: transform .22s var(--ease), border-color .22s var(--ease), background .22s var(--ease);
}

.info-link:hover{
  transform: translateY(-1px);
  border-color: rgba(201,255,90,.26);
  background: rgba(0,0,0,.22);
}

.info-link:focus-visible{
  outline: none;
  border-color: rgba(201,255,90,.45);
  box-shadow: 0 0 0 3px rgba(201,255,90,.12);
}

.info-faq{
  display: grid;
  gap: 10px;
}

.info-faq__item{
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.14));
  transition: transform .22s var(--ease), border-color .22s var(--ease), background .22s var(--ease);
}

.info-faq__item:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.14);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.17));
}

.info-faq__q{
  font-weight: 650;
  margin-bottom: 6px;
}

.info-faq__a{
  color: rgba(230,237,246,.72);
  line-height: 1.6;
}

.rule-list{
  display:grid;
  gap: 10px;
  margin-top: 12px;
}

.card{
  display:block;
  padding: 16px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.20));
  backdrop-filter: blur(14px);
  box-shadow: 0 12px 30px rgba(0,0,0,.40);
  transition: transform .22s var(--ease), border-color .22s var(--ease), background .22s var(--ease);
  position: relative;
  overflow: hidden;
}

.card::before{
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: linear-gradient(90deg, rgba(201,255,90,.65), rgba(106,188,255,.35));
  opacity: .55;
}

.card:focus-visible{
  outline: none;
  border-color: rgba(201,255,90,.45);
  box-shadow:
    0 12px 30px rgba(0,0,0,.40),
    0 0 0 3px rgba(201,255,90,.12);
}

.card:hover{
  transform: translateY(-2px);
  border-color: rgba(201,255,90,.35);
  background: rgba(0,0,0,.26);
}

.card__title{
  font-weight: 700;
  margin-bottom: 6px;
  font-size: 16px;
}

.card__meta{
  color: rgba(230,237,246,.62);
  font-size: 13px;
}

.rule-card{
  display:block;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.18));
  backdrop-filter: blur(14px);
  position: relative;
  transition: border-color .22s var(--ease), background .22s var(--ease), transform .22s var(--ease);
}

.rule-card:hover{
  transform: translateY(-1px);
  border-color: rgba(201,255,90,.26);
  background: rgba(0,0,0,.24);
}

.rule-card:focus-visible{
  outline: none;
  border-color: rgba(201,255,90,.45);
  box-shadow: 0 0 0 3px rgba(201,255,90,.12);
}

.rule-card::after{
  content: "›";
  position: absolute;
  right: 12px;
  top: 14px;
  color: rgba(230,237,246,.40);
  font-size: 18px;
  line-height: 1;
}

.rule-card__top{
  display:flex;
  gap: 10px;
  align-items: center;
  padding-right: 18px;
}

.rule-card__title{
  font-weight: 650;
  letter-spacing: .1px;
  font-size: 15px;
}

.rule-card__body{
  margin-top: 8px;
  font-size: 13px;
  color: rgba(230,237,246,.82);
  line-height: 1.6;
  padding-right: 18px;
}

.rule-card__section{
  margin-top: 10px;
  color: rgba(230,237,246,.55);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.empty{
  padding: 10px 12px;
  border: 1px dashed rgba(255,255,255,.16);
  border-radius: 14px;
  color: rgba(159,176,199,.95);
}

.footer{
  margin: 0 auto;
  max-width: 980px;
  padding: 0 16px calc(140px + env(safe-area-inset-bottom, 0px)) 16px;
}

.footer__inner{
  border-top: 1px solid var(--border);
  padding-top: 14px;
  color: rgba(159,176,199,.85);
  font-size: 12px;
  line-height: 1.6;
  display: grid;
  gap: 6px;
}

.status-top,
.status-head{
  display:flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.status-top__left,
.status-head__left{ min-width: 0; }

.status-grid{
  margin-top: 12px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.status-page{
  display: grid;
  gap: 14px;
}

.status-live{
  position: relative;
  overflow: hidden;
}

.status-live::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 14% 18%, rgba(91,153,255,.14), transparent 28%),
    radial-gradient(circle at 86% 20%, rgba(255,96,96,.12), transparent 26%),
    radial-gradient(circle at 52% 82%, rgba(201,255,90,.08), transparent 30%);
}

.status-live > *{
  position: relative;
  z-index: 1;
}

.status-live__head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.status-live__copy{
  max-width: 62ch;
}

.status-live__text{
  margin: 10px 0 0 0;
  color: rgba(230,237,246,.72);
  line-height: 1.65;
}

.status-live__actions{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.status-live__highlights{
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.status-live__highlight{
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}

.status-live__label{
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(230,237,246,.56);
}

.status-live__value{
  margin-top: 8px;
  font-size: 16px;
  font-weight: 700;
  color: rgba(230,237,246,.94);
  word-break: break-word;
}

.status-meta{
  margin-top: 8px;
  color: rgba(230,237,246,.66);
  line-height: 1.6;
}

.status-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.08);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.status-pill--online{
  color: #8bf0bc;
  border-color: rgba(84,224,166,.24);
  background: rgba(84,224,166,.10);
}

.status-pill--offline{
  color: #ff9f9f;
  border-color: rgba(255,96,96,.22);
  background: rgba(255,96,96,.10);
}

.status-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.status-card__meta{
  margin-top: 8px;
  color: rgba(230,237,246,.62);
  line-height: 1.5;
  font-size: 13px;
}

.status-note{
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  color: rgba(230,237,246,.72);
  line-height: 1.6;
}

.status-empty{
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}

.status-empty--warning{
  border-color: rgba(255,170,120,.18);
  background: rgba(255,140,84,.05);
}

.status-empty__title{
  font-size: 18px;
  font-weight: 700;
  color: rgba(230,237,246,.95);
}

.status-empty__text{
  margin-top: 8px;
  color: rgba(230,237,246,.68);
  line-height: 1.6;
}

.status-players__searchWrap{
  margin: 8px 0 14px 0;
}

.status-players__search{
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
  color: rgba(230,237,246,.92);
  outline: none;
}

.status-players__search::placeholder{
  color: rgba(230,237,246,.44);
}

.players--status{
  gap: 12px;
}

.player-card{
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}

.player-card.is-hidden{
  display: none;
}

.player-card__top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.player-card__name{
  font-size: 15px;
  font-weight: 700;
  color: rgba(230,237,246,.94);
}

.player-card__badge{
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  color: rgba(230,237,246,.66);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.player-card__meta{
  margin-top: 8px;
  color: rgba(230,237,246,.60);
  font-size: 13px;
}

.map-embed-container {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.map-embed-header {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.map-embed-title {
  font-size: 20px;
  font-weight: 700;
  color: rgba(230,237,246,.95);
}

.map-embed-subtitle {
  font-size: 13px;
  color: rgba(230,237,246,.65);
}

.section--map {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  padding: 0;
  border: none;
  background: transparent;
  backdrop-filter: none;
}

.map-iframe-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 75%;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.3);
}

.map-iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.map-embed-container--custom {
  min-height: inherit;
  gap: 0;
  padding: 0;
}

.map-page {
  display: flex;
  flex-direction: column;
  min-height: calc(100svh - 140px);
}

.map-layout {
  display: grid;
  grid-template-columns: minmax(280px, 320px) minmax(0, 1fr);
  gap: 14px;
  min-height: inherit;
  align-items: stretch;
}

.map-panel {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px;
  position: sticky;
  top: 8px;
  height: calc(100svh - 132px);
  max-height: none;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(120,147,182,.16);
  background: linear-gradient(180deg, rgba(12,18,26,.96), rgba(8,13,20,.96));
  box-shadow: 0 18px 38px rgba(0,0,0,.26);
}

.map-panel__headline {
  margin: 0;
  font-size: 26px;
  line-height: 1.15;
  font-weight: 800;
  color: rgba(237,244,251,.96);
}

.map-panel__title {
  margin: 0;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(230,237,246,.60);
}

.map-panel__title--spaced {
  padding-top: 4px;
}

.map-panel__intro {
  margin: 0 0 12px 0;
  font-size: 13px;
  line-height: 1.6;
  color: rgba(237,244,251,.68);
}

.map-panel__source {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: -2px 0 2px;
  font-size: 12px;
  color: rgba(230,237,246,.62);
}

.map-panel__sourceLabel {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(230,237,246,.46);
}

.map-panel__source a {
  color: rgba(230,237,246,.88);
  border-bottom: 1px solid rgba(255,255,255,.18);
}

.map-panel__source a:hover {
  color: var(--accent);
  border-bottom-color: rgba(201,255,90,.48);
}

.map-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.map-filter {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(120,147,182,.14);
  background: rgba(255,255,255,.02);
  color: rgba(237,244,251,.78);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.map-filter:hover {
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
}

.map-filter.is-active {
  border-color: var(--map-accent, rgba(201,255,90,.36));
  background: linear-gradient(180deg, var(--map-glow, rgba(201,255,90,.14)), rgba(255,255,255,.05));
  color: var(--map-accent, rgba(230,237,246,.94));
}

.map-filter__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  color: rgba(230,237,246,.86);
  font-size: 11px;
}

.map-quick {
  display: grid;
  gap: 12px;
  min-height: 0;
  overflow: auto;
  padding-right: 2px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.18) transparent;
}

.map-quick__group {
  display: grid;
  gap: 8px;
}

.map-quick__heading {
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(230,237,246,.52);
}

.map-quick__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  width: 100%;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(120,147,182,.14);
  background: rgba(255,255,255,.02);
  color: rgba(237,244,251,.92);
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.map-quick__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 10px;
  background: var(--map-glow, rgba(255,255,255,.08));
  color: var(--map-accent, rgba(230,237,246,.92));
  margin-bottom: 2px;
}

.map-quick__icon svg {
  width: 16px;
  height: 16px;
  display: block;
}

.map-quick__item:hover,
.map-quick__item.is-active {
  transform: translateY(-1px);
  border-color: var(--map-accent, rgba(201,255,90,.36));
  background: linear-gradient(180deg, var(--map-glow, rgba(201,255,90,.14)), rgba(255,255,255,.04));
}

.map-quick__meta {
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(230,237,246,.55);
}

.map-quick__name {
  font-size: 15px;
  font-weight: 700;
}

.map-quick__item.is-hidden,
.map-quick__group.is-hidden {
  display: none;
}

.map-stage {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  min-height: inherit;
}

.map-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.map-legend--panel {
  margin-bottom: 2px;
}

.map-legend__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  color: rgba(230,237,246,.78);
  font-size: 12px;
}

.map-legend__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: var(--map-accent, rgba(230,237,246,.92));
}

.map-legend__icon svg {
  width: 14px;
  height: 14px;
  display: block;
}

.map-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 10px 12px;
  border-radius: 18px;
  border: 1px solid rgba(120,147,182,.14);
  background: linear-gradient(180deg, rgba(12,18,26,.96), rgba(8,13,20,.96));
  box-shadow: 0 14px 32px rgba(0,0,0,.22);
}

.map-toolbar__group {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.map-toolbar__hint {
  font-size: 13px;
  color: rgba(230,237,246,.60);
}

.map-toolbar__badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  color: rgba(230,237,246,.74);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.map-tool {
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
  color: rgba(230,237,246,.92);
  font-weight: 700;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, opacity .18s ease;
}

.map-tool:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: rgba(201,255,90,.36);
}

.map-tool:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.map-tool--ghost {
  min-width: auto;
  font-weight: 600;
}

.map-zoom-label {
  min-width: 64px;
  text-align: center;
  font-size: 13px;
  color: rgba(230,237,246,.68);
}

.service-map-shell {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(120,147,182,.16);
  background:
    radial-gradient(circle at top, rgba(82,142,255,.08), transparent 42%),
    linear-gradient(180deg, rgba(10,15,22,.98), rgba(6,10,16,.98));
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
}

.service-map {
  width: 100%;
  min-height: clamp(540px, calc(100svh - 192px), 980px);
  height: calc(100svh - 192px);
}

.leaflet-container.service-map {
  background: #06080b;
  font-family: inherit;
}

.service-map .leaflet-control-zoom {
  border: none;
  margin: 16px !important;
  box-shadow: none;
}

.service-map .leaflet-bar {
  border: none;
  box-shadow: 0 14px 30px rgba(0,0,0,.34);
}

.service-map .leaflet-bar a {
  width: 42px;
  height: 42px;
  line-height: 40px;
  border: 1px solid rgba(120,147,182,.16);
  background: rgba(11,17,25,.92);
  color: rgba(237,244,251,.92);
}

.service-map .leaflet-bar a:hover {
  background: rgba(14,19,25,.94);
  color: var(--accent);
}

.service-map .leaflet-bar a:first-child {
  border-radius: 14px 14px 0 0;
}

.service-map .leaflet-bar a:last-child {
  border-radius: 0 0 14px 14px;
}

.service-map .leaflet-bar a.leaflet-disabled {
  color: rgba(230,237,246,.32);
  background: rgba(8,12,16,.72);
}

.service-map .leaflet-control-attribution {
  display: none;
}

.service-marker {
  background: none;
  border: none;
}

.service-marker__pin {
  position: relative;
  display: block;
  width: 34px;
  height: 34px;
}

.service-marker__halo {
  position: absolute;
  inset: 1px;
  border-radius: 999px;
  background: var(--map-glow, rgba(255,255,255,.16));
  opacity: 0;
}

.service-marker__core {
  position: absolute;
  inset: 3px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(12,18,26,.98), rgba(8,13,20,.96));
  box-shadow:
    0 12px 24px rgba(0,0,0,.28),
    0 0 0 1px rgba(0,0,0,.62);
  transition: transform .18s ease, box-shadow .18s ease;
}

.service-marker__pin--underground .service-marker__core {
  background: linear-gradient(180deg, rgba(34,18,10,.96), rgba(52,28,14,.92));
}

.service-marker__icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--map-accent, #e6edf6);
  z-index: 2;
}

.service-marker__icon svg {
  width: 17px;
  height: 17px;
  display: block;
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.10));
}

.service-marker:hover .service-marker__halo,
.service-marker.is-active .service-marker__halo {
  animation: mapPulse 1.8s ease-out infinite;
  opacity: 1;
}

.service-marker:hover .service-marker__core,
.service-marker.is-active .service-marker__core {
  transform: scale(1.08);
  box-shadow:
    0 14px 28px rgba(0,0,0,.4),
    0 0 0 4px var(--map-glow, rgba(255,255,255,.16));
}

.service-map__tooltip {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 12px;
  background: rgba(7,10,14,.94);
  color: rgba(230,237,246,.94);
  box-shadow: 0 12px 26px rgba(0,0,0,.34);
}

.service-map__tooltip.leaflet-tooltip-top::before {
  border-top-color: rgba(7,10,14,.94);
}

.custom-map-viewport {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  overflow: auto;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at top, rgba(255,255,255,.04), transparent 42%),
    linear-gradient(180deg, rgba(11,16,20,.96), rgba(7,11,15,.98));
  cursor: grab;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.18) transparent;
  overscroll-behavior: contain;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.custom-map-viewport.is-dragging {
  cursor: grabbing;
}

.custom-map-surface {
  position: relative;
  width: 980px;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  user-select: none;
}

.custom-map__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 18px;
  pointer-events: none;
}

.custom-map__marker {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 34px;
  height: 34px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  transition: transform .18s ease, opacity .18s ease;
}

.custom-map__marker.is-hidden {
  display: none;
}

.custom-map__marker--underground {
  width: 36px;
  height: 36px;
}

.custom-map__pulse {
  position: absolute;
  inset: 1px;
  border-radius: 999px;
  background: var(--map-glow, rgba(201,255,90,.26));
  opacity: 0;
}

.custom-map__dot {
  position: absolute;
  inset: 2px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(249,252,255,.98), rgba(219,229,239,.94));
  border: 2px solid rgba(9,13,18,.92);
  box-shadow:
    0 10px 20px rgba(0,0,0,.24),
    0 0 0 1px rgba(255,255,255,.12) inset;
}

.custom-map__marker:hover .custom-map__pulse,
.custom-map__marker:focus-visible .custom-map__pulse,
.custom-map__marker.is-active .custom-map__pulse {
  animation: mapPulse 1.8s ease-out infinite;
  opacity: 1;
}

.custom-map__marker:hover .custom-map__dot,
.custom-map__marker:focus-visible .custom-map__dot,
.custom-map__marker.is-active .custom-map__dot {
  transform: scale(1.04);
  box-shadow:
    0 12px 22px rgba(0,0,0,.28),
    0 0 0 4px var(--map-glow, rgba(201,255,90,.18));
}

.custom-map__marker:focus-visible {
  outline: none;
}

.custom-map__glyph {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--map-accent, #c9ff5a);
  z-index: 2;
}

.custom-map__glyph svg {
  width: 15px;
  height: 15px;
  display: block;
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.12));
}

.custom-map__marker--underground .custom-map__glyph svg {
  width: 17px;
  height: 17px;
}

.custom-map__marker--underground .custom-map__dot {
  background: linear-gradient(180deg, rgba(255,245,236,.98), rgba(250,223,198,.94));
}

.custom-map__marker--underground .custom-map__glyph {
  color: #b75b24;
}

.map-detail {
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.18));
}

.map-detail--panel {
  flex: 0 0 auto;
}

.map-detail__eyebrow {
  margin-bottom: 8px;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(230,237,246,.55);
}

.map-detail__title {
  font-size: 20px;
  font-weight: 700;
  color: rgba(230,237,246,.95);
}

.map-detail__meta {
  margin-top: 8px;
  font-size: 13px;
  color: rgba(230,237,246,.62);
}

.map-detail__body {
  margin-top: 10px;
  color: rgba(230,237,246,.72);
  line-height: 1.6;
}

@keyframes mapPulse {
  from {
    transform: scale(.75);
    opacity: .95;
  }

  to {
    transform: scale(1.75);
    opacity: 0;
  }
}

@media (max-width: 900px) {
  body.is-map .content{
    padding: 8px 10px 118px 10px;
    min-height: auto;
  }

  .map-page {
    min-height: auto;
  }

  .map-layout {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .map-panel {
    position: static;
    height: auto;
    max-height: none;
    overflow: visible;
  }

  .map-panel__headline {
    font-size: 20px;
  }

  .map-quick {
    overflow: visible;
  }

  .map-stage {
    min-height: auto;
  }

  .service-map {
    min-height: clamp(420px, 68vh, 760px);
    height: clamp(420px, 68vh, 760px);
  }
}

.status-card{
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.16));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.status-card__label{
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(230,237,246,.60);
  margin-bottom: 8px;
}

.status-card__value{
  font-weight: 700;
  color: rgba(230,237,246,.92);
  word-break: break-word;
}

.status-card__actions{
  display:flex;
  gap: 8px;
  margin-top: 10px;
  flex-wrap: wrap;
}

.players{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

/* Bottom dock */
.dock{
  position: fixed;
  left: 50%;
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  transform: translateX(-50%);
  display:flex;
  gap: 12px;
  padding: 10px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(17,24,34,.88), rgba(10,15,23,.9));
  backdrop-filter: blur(18px);
  box-shadow: 0 20px 50px rgba(0,0,0,.38);
  z-index: 20;
}

.dock::before{
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0));
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  padding: 1px;
  opacity: .5;
}

.dock__item{
  width: 44px;
  height: 44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  transition: transform .22s var(--ease), border-color .22s var(--ease), background .22s var(--ease);
}

.dock__item:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
}

.dock__item.is-active{
  transform: translateY(-1px);
  border-color: rgba(104,242,155,.5);
  background: rgba(104,242,155,.14);
  box-shadow:
    0 10px 26px rgba(0,0,0,.34),
    0 0 0 1px rgba(104,242,155,.10) inset,
    0 0 18px rgba(104,242,155,.12);
}

.dock__icon{
  font-size: 18px;
  line-height: 1;
  color: rgba(230,237,246,.75);
}

.dock__svg{
  width: 18px;
  height: 18px;
  display: block;
}

.dock__item.is-active .dock__icon{
  color: rgba(230,255,238,.95);
  text-shadow: 0 0 16px rgba(104,242,155,.20);
}

@media (max-width: 900px){
  .cards{ grid-template-columns: 1fr; }
  .info-grid{ grid-template-columns: 1fr; }
  .content-grid--sidebar{ grid-template-columns: 1fr; }
  .feature-grid,
  .feature-grid--compact{ grid-template-columns: 1fr; }
  .page-hero__row{ flex-direction: column; align-items: flex-start; }
  .landing-hero{ grid-template-columns: 1fr; }
  .landing-panel__grid,
  .landing-stats{ grid-template-columns: 1fr; }
  .landing-brand{ grid-template-columns: 1fr; }
  .status-live__highlights,
  .status-grid{ grid-template-columns: 1fr; }
  .status-live__head,
  .player-card__top{ flex-direction: column; align-items: flex-start; }
  .dock{ bottom: 18px; }
}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
/* Final homepage and map overrides */
.home-shell{
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 76px 0 24px;
}

.home-hero{
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, 360px);
  gap: 18px;
  align-items: stretch;
}

.home-main,
.home-side{
  border-radius: 28px;
  border: 1px solid rgba(120,147,182,.16);
  background: linear-gradient(180deg, rgba(12,18,26,.96), rgba(8,13,20,.96));
  box-shadow: 0 24px 54px rgba(0,0,0,.34);
}

.home-main{
  padding: 22px;
}

.home-kicker{
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(237,244,251,.56);
}

.home-banner{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 250px;
  margin-top: 16px;
  padding: 24px;
  border-radius: 24px;
  border: 1px solid rgba(120,147,182,.14);
  background:
    radial-gradient(circle at 16% 14%, rgba(82,142,255,.18), transparent 30%),
    radial-gradient(circle at 84% 18%, rgba(255,96,96,.16), transparent 30%),
    radial-gradient(circle at 50% 64%, rgba(255,198,95,.12), transparent 34%),
    linear-gradient(180deg, rgba(17,24,34,.98), rgba(9,13,20,.98));
  overflow: hidden;
}

.home-banner__image,
.home-side__image{
  display: none;
}

.home-banner__image.is-ready,
.home-side__image.is-ready{
  display: block;
}

.home-banner__image{
  width: 100%;
  max-width: 760px;
  object-fit: contain;
  filter: drop-shadow(0 26px 48px rgba(0,0,0,.38));
}

.home-banner__fallback{
  font-size: clamp(34px, 5vw, 66px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.05em;
  text-transform: uppercase;
  color: #f7fbff;
  text-align: center;
  text-shadow:
    0 4px 0 rgba(10,14,19,.94),
    0 16px 34px rgba(0,0,0,.44);
}

.home-copy{
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.home-title{
  max-width: 15ch;
  font-size: clamp(34px, 4.8vw, 62px);
  line-height: 1.02;
  font-weight: 900;
  letter-spacing: -.05em;
  color: rgba(237,244,251,.98);
}

.home-text{
  max-width: 56ch;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(237,244,251,.72);
}

.home-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.home-side{
  display: grid;
  gap: 14px;
  padding: 18px;
}

.home-side__logo{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  padding: 20px;
  border-radius: 22px;
  border: 1px solid rgba(120,147,182,.14);
  background:
    radial-gradient(circle at 20% 20%, rgba(82,142,255,.16), transparent 32%),
    radial-gradient(circle at 82% 18%, rgba(255,96,96,.16), transparent 32%),
    linear-gradient(180deg, rgba(16,22,31,.98), rgba(8,12,18,.98));
}

.home-side__image{
  width: min(100%, 240px);
  object-fit: contain;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,.36));
}

.home-side__fallback{
  font-size: clamp(36px, 5vw, 56px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.08em;
  text-transform: uppercase;
  color: #f7fbff;
  text-shadow:
    0 4px 0 rgba(10,14,19,.94),
    0 16px 34px rgba(0,0,0,.44);
}

.home-links{
  display: grid;
  gap: 10px;
}

.home-link{
  display: grid;
  gap: 3px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(120,147,182,.12);
  background: rgba(255,255,255,.03);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.home-link:hover{
  transform: translateY(-1px);
  border-color: rgba(120,147,182,.26);
  background: rgba(255,255,255,.05);
}

.home-link__label{
  font-size: 15px;
  font-weight: 700;
  color: rgba(237,244,251,.96);
}

.home-link__meta{
  font-size: 12px;
  color: rgba(237,244,251,.58);
}

.home-stats{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.home-stat{
  display: grid;
  gap: 6px;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(120,147,182,.12);
  background: rgba(255,255,255,.03);
}

.home-stat__label{
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(237,244,251,.5);
}

.home-stat__value{
  font-size: 15px;
  font-weight: 700;
  color: rgba(237,244,251,.96);
}

body.is-map .content{
  padding: 8px 8px 116px !important;
  min-height: calc(100svh - 84px) !important;
}

body.is-map .footer{
  display: none !important;
}

.map-page{
  min-height: calc(100svh - 120px) !important;
}

.map-layout{
  display: grid !important;
  grid-template-columns: 292px minmax(0, 1fr) !important;
  gap: 10px !important;
  height: calc(100svh - 120px) !important;
  min-height: calc(100svh - 120px) !important;
}

.map-panel{
  position: relative !important;
  top: 0 !important;
  height: 100% !important;
  padding: 14px !important;
  gap: 12px !important;
  border-radius: 24px !important;
}

.map-panel__stats{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.map-stat{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(120,147,182,.12);
  background: rgba(255,255,255,.03);
}

.map-stage{
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: 100% !important;
}

.service-map-shell{
  position: relative !important;
  display: flex !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 620px !important;
  border-radius: 26px !important;
}

.service-map{
  flex: 1 1 auto !important;
  width: 100% !important;
  height: calc(100svh - 136px) !important;
  min-height: 620px !important;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.04), transparent 34%),
    linear-gradient(180deg, rgba(9,13,19,.98), rgba(4,7,12,.98)) !important;
}

.map-toolbar--overlay{
  position: absolute !important;
  top: 14px;
  left: 14px;
  z-index: 1000;
}

@media (max-width: 920px){
  .home-hero{
    grid-template-columns: 1fr;
  }

  .home-stats{
    grid-template-columns: 1fr;
  }

  .map-layout{
    grid-template-columns: 1fr !important;
    height: auto !important;
    min-height: auto !important;
  }

  .map-stage{
    order: 1;
    height: auto !important;
  }

  .map-panel{
    order: 2;
    height: auto !important;
  }

  .service-map-shell,
  .service-map{
    min-height: clamp(520px, 70svh, 820px) !important;
    height: clamp(520px, 70svh, 820px) !important;
  }
}

/* Final homepage and map overrides */
.home-shell{
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 76px 0 24px;
}

.home-hero{
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, 360px);
  gap: 18px;
  align-items: stretch;
}

.home-main,
.home-side{
  border-radius: 28px;
  border: 1px solid rgba(120,147,182,.16);
  background: linear-gradient(180deg, rgba(12,18,26,.96), rgba(8,13,20,.96));
  box-shadow: 0 24px 54px rgba(0,0,0,.34);
}

.home-main{
  padding: 22px;
}

.home-kicker{
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(237,244,251,.56);
}

.home-banner{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 250px;
  margin-top: 16px;
  padding: 24px;
  border-radius: 24px;
  border: 1px solid rgba(120,147,182,.14);
  background:
    radial-gradient(circle at 16% 14%, rgba(82,142,255,.18), transparent 30%),
    radial-gradient(circle at 84% 18%, rgba(255,96,96,.16), transparent 30%),
    radial-gradient(circle at 50% 64%, rgba(255,198,95,.12), transparent 34%),
    linear-gradient(180deg, rgba(17,24,34,.98), rgba(9,13,20,.98));
  overflow: hidden;
}

.home-banner__image,
.home-side__image{
  display: none;
}

.home-banner__image.is-ready,
.home-side__image.is-ready{
  display: block;
}

.home-banner__image{
  width: 100%;
  max-width: 760px;
  object-fit: contain;
  filter: drop-shadow(0 26px 48px rgba(0,0,0,.38));
}

.home-banner__fallback{
  font-size: clamp(34px, 5vw, 66px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.05em;
  text-transform: uppercase;
  color: #f7fbff;
  text-align: center;
  text-shadow:
    0 4px 0 rgba(10,14,19,.94),
    0 16px 34px rgba(0,0,0,.44);
}

.home-copy{
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.home-title{
  max-width: 15ch;
  font-size: clamp(34px, 4.8vw, 62px);
  line-height: 1.02;
  font-weight: 900;
  letter-spacing: -.05em;
  color: rgba(237,244,251,.98);
}

.home-text{
  max-width: 56ch;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(237,244,251,.72);
}

.home-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.home-side{
  display: grid;
  gap: 14px;
  padding: 18px;
}

.home-side__logo{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  padding: 20px;
  border-radius: 22px;
  border: 1px solid rgba(120,147,182,.14);
  background:
    radial-gradient(circle at 20% 20%, rgba(82,142,255,.16), transparent 32%),
    radial-gradient(circle at 82% 18%, rgba(255,96,96,.16), transparent 32%),
    linear-gradient(180deg, rgba(16,22,31,.98), rgba(8,12,18,.98));
}

.home-side__image{
  width: min(100%, 240px);
  object-fit: contain;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,.36));
}

.home-side__fallback{
  font-size: clamp(36px, 5vw, 56px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.08em;
  text-transform: uppercase;
  color: #f7fbff;
  text-shadow:
    0 4px 0 rgba(10,14,19,.94),
    0 16px 34px rgba(0,0,0,.44);
}

.home-links{
  display: grid;
  gap: 10px;
}

.home-link{
  display: grid;
  gap: 3px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(120,147,182,.12);
  background: rgba(255,255,255,.03);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.home-link:hover{
  transform: translateY(-1px);
  border-color: rgba(120,147,182,.26);
  background: rgba(255,255,255,.05);
}

.home-link__label{
  font-size: 15px;
  font-weight: 700;
  color: rgba(237,244,251,.96);
}

.home-link__meta{
  font-size: 12px;
  color: rgba(237,244,251,.58);
}

.home-stats{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.home-stat{
  display: grid;
  gap: 6px;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(120,147,182,.12);
  background: rgba(255,255,255,.03);
}

.home-stat__label{
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(237,244,251,.5);
}

.home-stat__value{
  font-size: 15px;
  font-weight: 700;
  color: rgba(237,244,251,.96);
}

body.is-map .content{
  padding: 8px 8px 116px !important;
  min-height: calc(100svh - 84px) !important;
}

body.is-map .footer{
  display: none !important;
}

.map-page{
  min-height: calc(100svh - 120px) !important;
}

.map-layout{
  display: grid !important;
  grid-template-columns: 292px minmax(0, 1fr) !important;
  gap: 10px !important;
  height: calc(100svh - 120px) !important;
  min-height: calc(100svh - 120px) !important;
}

.map-panel{
  position: relative !important;
  top: 0 !important;
  height: 100% !important;
  padding: 14px !important;
  gap: 12px !important;
  border-radius: 24px !important;
}

.map-panel__stats{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.map-stat{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(120,147,182,.12);
  background: rgba(255,255,255,.03);
}

.map-stage{
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: 100% !important;
}

.service-map-shell{
  position: relative !important;
  display: flex !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 620px !important;
  border-radius: 26px !important;
}

.service-map{
  flex: 1 1 auto !important;
  width: 100% !important;
  height: calc(100svh - 136px) !important;
  min-height: 620px !important;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.04), transparent 34%),
    linear-gradient(180deg, rgba(9,13,19,.98), rgba(4,7,12,.98)) !important;
}

.map-toolbar--overlay{
  position: absolute !important;
  top: 14px;
  left: 14px;
  z-index: 1000;
}

@media (max-width: 920px){
  .home-hero{
    grid-template-columns: 1fr;
  }

  .home-stats{
    grid-template-columns: 1fr;
  }

  .map-layout{
    grid-template-columns: 1fr !important;
    height: auto !important;
    min-height: auto !important;
  }

  .map-stage{
    order: 1;
    height: auto !important;
  }

  .map-panel{
    order: 2;
    height: auto !important;
  }

  .service-map-shell,
  .service-map{
    min-height: clamp(520px, 70svh, 820px) !important;
    height: clamp(520px, 70svh, 820px) !important;
  }
}

/* Branding and map layout refresh */
.brandmark__badge{
  min-width: 220px;
  min-height: 62px;
  padding: 8px 18px;
}

.brandmark__logo{
  position: relative;
  z-index: 1;
  display: none;
}

.brandmark__logo.is-ready{
  display: block;
}

.brandmark__logo--badge{
  max-width: 176px;
  max-height: 42px;
  object-fit: contain;
  filter: drop-shadow(0 10px 24px rgba(0,0,0,.32));
}

.brandmark__title[hidden]{
  display: none !important;
}

.landing-brand{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 16px;
  align-items: stretch;
  margin-top: 24px;
}

.landing-brand__main{
  display: grid;
  gap: 14px;
}

.landing-brand__banner{
  min-height: 230px;
  padding: 24px;
  align-items: center;
  justify-content: center;
}

.landing-brand__bannerLogo,
.landing-brand__badgeLogo{
  display: none;
}

.landing-brand__bannerLogo.is-ready,
.landing-brand__badgeLogo.is-ready{
  display: block;
}

.landing-brand__bannerLogo{
  width: 100%;
  max-width: 720px;
  object-fit: contain;
  filter: drop-shadow(0 26px 46px rgba(0,0,0,.36));
}

.landing-brand__bannerFallback{
  position: relative;
  z-index: 1;
  font-size: clamp(34px, 5.2vw, 64px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.05em;
  text-transform: uppercase;
  color: #f7fbff;
  text-align: center;
  text-shadow:
    0 4px 0 rgba(10,14,19,.94),
    0 18px 36px rgba(0,0,0,.42);
}

.landing-brand__support{
  display: grid;
  gap: 12px;
  padding: 18px 20px;
  border-radius: 22px;
  border: 1px solid rgba(120,147,182,.16);
  background: linear-gradient(180deg, rgba(11,17,25,.9), rgba(7,11,16,.96));
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
}

.landing-brand__chips{
  margin: 0;
}

.landing-brand__title--wide{
  max-width: 14ch;
  font-size: clamp(30px, 4vw, 48px);
}

.landing-brand__tag{
  color: rgba(237,244,251,.68);
  font-size: 14px;
  line-height: 1.6;
}

.landing-brand__badge{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  padding: 18px;
  border-radius: 26px;
  border: 1px solid rgba(120,147,182,.18);
  background:
    radial-gradient(circle at 18% 20%, rgba(82,142,255,.14), transparent 34%),
    radial-gradient(circle at 82% 18%, rgba(255,96,96,.14), transparent 34%),
    linear-gradient(180deg, rgba(12,18,26,.98), rgba(8,12,18,.98));
  box-shadow: 0 22px 46px rgba(0,0,0,.32);
}

.landing-brand__badgeLogo{
  width: min(100%, 220px);
  object-fit: contain;
  filter: drop-shadow(0 22px 40px rgba(0,0,0,.34));
}

.landing-brand__badgeFallback{
  font-size: clamp(34px, 5vw, 52px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.08em;
  text-transform: uppercase;
  color: #f7fbff;
  text-shadow:
    0 4px 0 rgba(10,14,19,.94),
    0 16px 34px rgba(0,0,0,.42);
}

body.is-map .content{
  padding: 8px 8px 116px;
  min-height: calc(100svh - 84px);
}

body.is-map .footer{
  display: none;
}

.map-page{
  min-height: calc(100svh - 120px);
  display: block;
}

.map-layout{
  display: grid;
  grid-template-columns: minmax(280px, 308px) minmax(0, 1fr);
  gap: 10px;
  height: calc(100svh - 120px);
  min-height: calc(100svh - 120px);
  width: 100%;
}

.map-panel{
  position: relative;
  top: 0;
  height: 100%;
  padding: 14px;
  gap: 12px;
  border-radius: 24px;
}

.map-panel__top{
  display: grid;
  gap: 8px;
}

.map-panel .section__eyebrow{
  margin-bottom: 0;
}

.map-panel__headline{
  font-size: 22px;
}

.map-panel__intro{
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
}

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

.map-stat{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(120,147,182,.12);
  background: rgba(255,255,255,.03);
}

.map-stat__label{
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(237,244,251,.52);
}

.map-stat__value{
  font-size: 18px;
  font-weight: 800;
  color: rgba(237,244,251,.96);
}

.map-panel__title{
  font-size: 11px;
}

.map-filters{
  gap: 6px;
}

.map-filter{
  min-height: 34px;
  padding: 0 10px;
  font-size: 11px;
}

.map-detail--panel{
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(120,147,182,.14);
  background: rgba(255,255,255,.03);
}

.map-detail__title{
  font-size: 18px;
}

.map-detail__meta{
  margin-top: 6px;
  font-size: 12px;
}

.map-detail__body{
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.55;
}

.map-quick{
  gap: 10px;
  padding-right: 4px;
}

.map-quick__group{
  gap: 6px;
}

.map-quick__item{
  padding: 10px 11px;
  border-radius: 14px;
}

.map-quick__row{
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}

.map-quick__copy{
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.map-quick__icon{
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  margin-bottom: 0;
}

.map-quick__name{
  font-size: 13px;
  line-height: 1.25;
}

.map-quick__meta{
  font-size: 10px;
  letter-spacing: .12em;
}

.map-panel__foot{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 2px;
  font-size: 11px;
  color: rgba(237,244,251,.58);
}

.map-panel__foot a{
  color: rgba(237,244,251,.86);
  border-bottom: 1px solid rgba(255,255,255,.16);
}

.map-stage{
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}

.service-map-shell{
  position: relative;
  display: flex;
  flex: 1 1 auto;
  height: 100%;
  min-height: 620px;
  border-radius: 26px;
}

.service-map{
  flex: 1 1 auto;
  width: 100%;
  height: calc(100svh - 136px);
  min-height: 620px;
}

.map-toolbar--overlay{
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 1000;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  max-width: calc(100% - 28px);
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(120,147,182,.14);
  background: rgba(8,12,18,.78);
  backdrop-filter: blur(12px);
  box-shadow: 0 16px 34px rgba(0,0,0,.32);
}

.map-toolbar--overlay .map-toolbar__group{
  gap: 8px;
}

.map-toolbar--overlay .map-toolbar__hint{
  font-size: 12px;
}

.map-tool{
  height: 36px;
  padding: 0 12px;
  font-size: 11px;
}

.map-toolbar__badge{
  min-height: 30px;
  padding: 0 10px;
  font-size: 10px;
}

.service-map .leaflet-control-zoom{
  margin: 14px !important;
}

@media (max-width: 1024px){
  .map-layout{
    grid-template-columns: minmax(260px, 290px) minmax(0, 1fr);
  }
}

@media (max-width: 860px){
  .landing-brand{
    grid-template-columns: 1fr;
  }

  .landing-brand__badge{
    min-height: 180px;
  }

  .map-page{
    min-height: auto;
  }

  .map-layout{
    grid-template-columns: 1fr;
    height: auto;
    min-height: auto;
  }

  .map-stage{
    order: 1;
    height: auto;
  }

  .map-panel{
    order: 2;
    height: auto;
  }

  .service-map-shell,
  .service-map{
    min-height: clamp(520px, 70svh, 820px);
    height: clamp(520px, 70svh, 820px);
  }
}

/* Wiki Grid */
.wiki-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.wiki-card {
  display: flex;
  flex-direction: column;
  padding: 24px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.18));
  backdrop-filter: blur(14px);
  transition: transform .22s var(--ease), border-color .22s var(--ease), background .22s var(--ease);
  min-height: 200px;
}

.wiki-card:hover {
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.18);
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(0,0,0,.20));
}

.wiki-card__title {
  font-size: 18px;
  font-weight: 700;
  color: rgba(230,237,246,.95);
  margin-bottom: 12px;
}

.wiki-card__text {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(230,237,246,.70);
  margin-bottom: 16px;
  flex-grow: 1;
}

.page-hero{
  position: relative;
  margin-bottom: 16px;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid rgba(183,137,85,.12);
  background:
    radial-gradient(circle at 16% 22%, rgba(206,150,92,.12), transparent 28%),
    radial-gradient(circle at 88% 24%, rgba(125,47,47,.12), transparent 30%),
    linear-gradient(180deg, rgba(28,22,18,.94), rgba(10,10,12,.96));
  backdrop-filter: blur(14px);
  overflow: hidden;
}

.page-hero::before{
  content: "";
  position: absolute;
  inset: -90px auto auto -90px;
  width: 240px;
  height: 240px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(206,150,92,.16) 0%, rgba(206,150,92,0) 72%);
  pointer-events: none;
}

.page-hero > *{
  position: relative;
  z-index: 1;
}

.page-hero__row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.page-hero__badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(206,150,92,.24);
  background: linear-gradient(180deg, rgba(96,62,28,.20), rgba(45,21,21,.18));
  color: rgba(247,236,214,.94);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  white-space: nowrap;
}

.feature-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.feature-grid--compact{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.feature-card{
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
}

.feature-card__label{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(230,237,246,.55);
}

.feature-card__value{
  margin-top: 6px;
  font-size: 16px;
  font-weight: 700;
  color: rgba(230,237,246,.92);
}

.stack-list{
  display: grid;
  gap: 12px;
}

.stack-list--compact{
  gap: 10px;
}

.stack-list__item{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
}

.stack-list__index{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 32px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(201,255,90,.24);
  background: rgba(201,255,90,.08);
  color: rgba(231,255,186,.92);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
