.theme-control{
  justify-self:end;
  display:inline-grid;
  grid-template-columns:repeat(3,minmax(42px,1fr));
  gap:2px;
  padding:3px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--surface);
  box-shadow:var(--shadow);
}
.theme-control button{
  min-height:32px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:var(--muted);
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.theme-control button:hover{
  color:var(--accent);
}
.theme-control button.active{
  background:var(--accent);
  color:#fff;
}
.support-float{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:40;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:7px 14px 7px 8px;
  border-radius:999px;
  background:#1aad19;
  color:#fff;
  box-shadow:0 16px 42px rgba(0,0,0,.18);
  font-size:14px;
  font-weight:850;
  line-height:1;
  white-space:nowrap;
}
.support-float:hover{
  background:#139913;
  color:#fff;
  transform:translateY(-1px);
}
.support-float:focus-visible{
  outline:3px solid color-mix(in srgb,#1aad19 34%,transparent);
  outline-offset:3px;
}
.support-float-icon{
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.18);
  flex:0 0 auto;
}
.support-float-icon svg{
  width:20px;
  height:20px;
  display:block;
}
@media(max-width:960px){
  .theme-control{
    justify-self:start;
    margin-bottom:16px;
  }
}
@media(max-width:560px){
  .support-float{
    right:14px;
    bottom:14px;
    min-height:42px;
    padding:7px 12px 7px 8px;
    font-size:13px;
  }
  .support-float-icon{
    width:28px;
    height:28px;
  }
}
