body{
  font-family:Arial,sans-serif;
  background:#f4f7fb;
  margin:30px;
}

h1{
  color:#0b57d0;
  margin-bottom:18px;
}

#cats{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:18px;
}

.cat,
#topbar button,
#clearBtn{
  background:#fff;
  color:#0b57d0;
  border:1px solid #0b57d0;
  padding:8px 14px;
  border-radius:8px;
  font-weight:bold;
  cursor:pointer;
}

.cat.active,
#topbar button,
#clearBtn{
  background:#ff9800;
  color:#000;
  border:none;
}

#selectedInfo{
  font-weight:bold;
  color:#0b57d0;
  margin-bottom:12px;
}

#topbar{
  margin-bottom:16px;
}

#topbar button{
  margin-right:8px;
}

#searchbar{
  margin-bottom:18px;
  display:flex;
  gap:10px;
  align-items:center;
  font-weight:bold;
  color:#0b57d0;
}

#searchInput{
  padding:7px 10px;
  border:1px solid #9dbbe8;
  border-radius:8px;
  width:220px;
}

#counter{
  color:#555;
}

#gold-grid1{
  display:grid;
  grid-template-columns:repeat(20,46px);
  gap:4px;
}

.tile{
  position:relative;
  background:#1e88e5;
  color:#fff;
  border-radius:6px;
  width:46px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:bold;
  font-size:13px;
  cursor:pointer;
}

.tile:hover{
  background:#1565c0;
}

.tile.active{
  background:#ff9800 !important;
  color:#000 !important;
  border:2px solid #000;
}

.tile.hidden{
  display:none;
}

.dot{
  position:absolute;
  width:7px;
  height:7px;
  border-radius:50%;
  z-index:6;
}

.dot.quiz{
  left:5px;
  bottom:3px;
  background:#004cff;
}

.dot.remark{
  right:5px;
  bottom:3px;
  background:#111;
}

.dot.certified{
  left:5px;
  top:3px;
  background:#23a74d;
}

.dot.alcohol{
  right:5px;
  top:3px;
  background:#ff0000;
}

.tooltip{
  display:none;
  position:absolute;
  bottom:38px;
  left:50%;
  transform:translateX(-50%);
  background:#fff;
  color:#0b57d0;
  border:1px solid #9dbbe8;
  border-radius:8px;
  padding:6px 8px;
  white-space:nowrap;
  font-size:12px;
  box-shadow:0 4px 10px rgba(0,0,0,.15);
  z-index:10;
}

.tile:hover .tooltip{
  display:block;
}