:root{
  --bg:#0b1220;
  --card-bg: rgba(255,255,255,.08);
  --card-brd: rgba(255,255,255,.18);
  --text: rgba(233,248,242,1);
  --muted: rgba(233,248,242,.72);
}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  display:grid;
  grid-template-columns:220px minmax(260px, 1fr) 64px;
  gap:18px;
  align-items:center;
  padding:14px 0 16px;
  margin-bottom:18px;
}

.site-header.is-scrolled::before{
  content:"";
  position:fixed;
  left:0;
  right:0;
  top:0;
  height:82px;
  z-index:-1;
  background:rgba(8,18,33,.62);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  pointer-events:none;
}

.brand-block{
  min-width:0;
}

.brand-logo{
  margin:0;
  line-height:1;
}

.brand-logo a{
  display:inline-block;
  color:#f8fafc;
  text-decoration:none;
  font-size:30px;
  line-height:1;
  font-weight:950;
  letter-spacing:.02em;
  text-shadow:
    0 0 14px rgba(57,255,136,.18),
    0 2px 10px rgba(0,0,0,.45);
}

.brand-logo span{
  color:#39ff88;
}

.brand-sub{
  margin-top:6px;
  color:rgba(233,248,242,.72);
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}

.header-search{
  display:flex;
  gap:10px;
  align-items:center;
  min-width:0;
}

.header-search input{
  flex:1;
  min-width:0;
  padding:12px 13px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.28);
  background:#0b0f14 !important;
  color:#f8fafc !important;
  font-size:15px;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  -webkit-text-fill-color:#f8fafc;
  caret-color:#39ff88;
}

.header-search input::placeholder{
  color:rgba(248,250,252,.48);
}

.header-search button{
  border:0;
  border-radius:12px;
  padding:12px 18px;
  color:#062016;
  font-weight:900;
  cursor:pointer;
  background:linear-gradient(135deg,#39ff88,#6ea8ff);
  box-shadow:0 10px 20px rgba(0,0,0,.25);
}

.header-menu{
  position:relative;
  justify-self:end;
}

.menu-button{
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.20);
  background:rgba(11,15,20,.72);
  color:#f8fafc;
  font-size:22px;
  cursor:pointer;
}

.menu-dropdown{
  display:none;
  position:absolute;
  right:0;
  top:52px;
  min-width:220px;
  padding:8px;
  border-radius:14px;
  background:#0b0f14;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 18px 40px rgba(0,0,0,.42);
}

.header-menu:hover .menu-dropdown,
.header-menu:focus-within .menu-dropdown{
  display:block;
}

.menu-dropdown a{
  display:block;
  padding:10px 12px;
  color:#e9f8f2;
  text-decoration:none;
  border-radius:10px;
  font-size:13px;
  font-weight:700;
}

.menu-dropdown a:hover{
  background:rgba(57,255,136,.12);
}

.menu-user{
  padding:10px 12px;
  color:#39ff88;
  font-size:13px;
  font-weight:900;
  border-bottom:1px solid rgba(255,255,255,.12);
  margin-bottom:6px;
}

.footer{
  margin-top:34px;
  padding:22px 0;
  text-align:center;
  color:rgba(233,248,242,.58);
  font-size:12px;
}

@media (max-width:720px){
  .site-header{
    grid-template-columns:1fr 44px;
    gap:10px;
    padding-top:10px;
  }

  .brand-block{
    grid-column:1 / 2;
  }

  .header-menu{
    grid-column:2 / 3;
    grid-row:1 / 2;
  }

  .header-search{
    grid-column:1 / 3;
  }

  .brand-logo a{
    font-size:26px;
  }

  .brand-sub{
    font-size:11px;
  }
}

.site-header.no-search{
  grid-template-columns:220px 1fr;
}

.site-header.no-search .header-menu{
  grid-column:2;
  justify-self:end;
}

.site-header.no-search .header-search{
  display:none;
}