/* GSBP Electron launcher icons · 1.0.0-review
 * Only gsbp-launcher-* selectors. No production .app/.dock/global overrides.
 * The tile is opaque; wallpaper must not change its colors. */
.gsbp-launcher-item {
  --tile-size: 92px;
  --label-color: #f5f8ff;
  --tile-top: #536880;
  --tile-bottom: #26394f;
  --glyph-primary: #f5f8ff;
  --glyph-accent: #d8e7f8;
  --glyph-cutout: #12223a;
  --focus-ring: #fff2c3;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--label-color);
  font: inherit;
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.gsbp-launcher-item[data-launcher-icon="s7"] { --tile-top: #f2d38b; --tile-bottom: #bb8836; }
.gsbp-launcher-item[data-launcher-icon="judge"] { --tile-top: #687589; --tile-bottom: #344054; }
.gsbp-launcher-item[data-launcher-icon="director"] { --tile-top: #428abd; --tile-bottom: #205075; }
.gsbp-launcher-item[data-launcher-icon="player"] { --tile-top: #518c93; --tile-bottom: #26535e; }
.gsbp-launcher-item[data-launcher-icon="exhibition"] { --tile-top: #a38957; --tile-bottom: #68502d; }
.gsbp-launcher-item[data-launcher-icon="ranking"] { --tile-top: #60779e; --tile-bottom: #344766; }
.gsbp-launcher-item[data-launcher-icon="homepage"] { --tile-top: #517f9a; --tile-bottom: #2b5067; }
.gsbp-launcher-item[data-launcher-icon="history"] { --tile-top: #797591; --tile-bottom: #47445f; }
.gsbp-launcher-item[data-launcher-icon="wallpaper"] { --tile-top: #a47e9b; --tile-bottom: #654960; }
.gsbp-launcher-item[data-launcher-icon="operations"] { --tile-top: #627086; --tile-bottom: #323e52; }
.gsbp-launcher-item[data-launcher-icon="cache"] { --tile-top: #568e7d; --tile-bottom: #2c5d52; }
.gsbp-launcher-item[data-launcher-icon="help"] { --tile-top: #627895; --tile-bottom: #354963; }
.gsbp-launcher-tile {
  position: relative;
  display: grid;
  place-items: center;
  isolation: isolate;
  pointer-events: none;
  box-sizing: border-box;
  flex: none;
  width: var(--tile-size);
  height: var(--tile-size);
  border-radius: 24%;
  background: linear-gradient(150deg, var(--tile-top), var(--tile-bottom));
  box-shadow: inset 0 1px 1px #ffffff52, inset 0 -1px 1px #00000042,
    0 2px 3px #06101f2e, 0 10px 18px -6px #05101f70;
  transition: transform 160ms ease, filter 160ms ease;
}
.gsbp-launcher-tile::before {
  position: absolute;
  inset: 0;
  border: 1px solid #ffffff1f;
  border-radius: inherit;
  background: linear-gradient(145deg, #ffffff0d, transparent 55%);
  content: "";
  pointer-events: none;
}
.gsbp-launcher-glyph {
  display: block;
  position: relative;
  width: 65.22%;
  height: 65.22%;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
.gsbp-launcher-label {
  box-sizing: border-box;
  max-width: 100%;
  color: var(--label-color);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
  text-shadow: 0 1px 3px #030c1bd9, 0 2px 8px #030c1b8c;
}
.gsbp-launcher-item:focus-visible { outline: none; }
.gsbp-launcher-item:focus-visible .gsbp-launcher-tile {
  outline: 3px solid var(--focus-ring);
  outline-offset: 4px;
  box-shadow: 0 0 0 5px #18273e, 0 10px 22px #0000003d;
}
@media (hover: hover) {
  .gsbp-launcher-item:not(:disabled):hover .gsbp-launcher-tile { transform: translateY(-3px); filter: brightness(1.065); }
}
.gsbp-launcher-item:not(:disabled):active .gsbp-launcher-tile { transform: scale(.95); filter: brightness(.94); }
.gsbp-launcher-item:disabled { opacity: .45; cursor: not-allowed; }
.gsbp-launcher-item--dock { --tile-size: 62px; }
.gsbp-launcher-item--dock .gsbp-launcher-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .gsbp-launcher-tile { transition: none; }
  .gsbp-launcher-item:not(:disabled):hover .gsbp-launcher-tile,
  .gsbp-launcher-item:not(:disabled):active .gsbp-launcher-tile { transform: none; }
}
