/* Grok Tower Defense: game-specific bits on top of ggkit.css. Six tower buttons with costs, then upgrade, sell, target, next wave, strike and speed. */
.gs-pad { grid-template-columns: repeat(4, var(--pk, 56px)); grid-template-rows: repeat(3, var(--pk, 56px)); grid-template-areas: none; gap: 4px; }
.gs-k { position: relative; font-size: calc(var(--pk, 56px) * .32); }
.gs-k small { font-size: max(8px, calc(var(--pk, 56px) * .16)); white-space: nowrap; }
.gs-k i { position: absolute; top: 2px; right: 3px; font-style: normal; font-weight: 700; font-size: max(8px, calc(var(--pk, 56px) * .17)); }
.gs-k.tw { background: linear-gradient(180deg, #3a4a8a, #232e60); box-shadow: 0 4px 0 #111838; }
.gs-k.f { background: linear-gradient(180deg, #8a8f9c, #5a5f6c); box-shadow: 0 4px 0 #2a2e38; }
.gs-k.v { background: linear-gradient(180deg, #4fc28a, #22844f); box-shadow: 0 4px 0 #0f4a2a; }
.gs-k.sel { outline: 3px solid #ffe14f; outline-offset: -3px; }
.gs-k.none { opacity: .45; }
.td-maps { margin: 6px 0 2px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 3px; } .td-maps button { padding: 4px 1px; font-size: .7rem; white-space: nowrap; }
.td-best { font-size: .76rem; margin: 4px 2px 0; }
.td-bot { justify-content: space-between; font-size: .78rem; } .td-bot #hInfo { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; flex: 1; text-align: left; }
.cz-theme[data-theme=classic] i:first-child { background: #0b1026; } .cz-theme[data-theme=classic] i:nth-child(2) { background: #3dfcff; }
.cz-theme[data-theme=retro] i:first-child { background: #000; } .cz-theme[data-theme=retro] i:nth-child(2) { background: #33ff66; }
.cz-theme[data-theme=starport] i:first-child { background: #070a1e; } .cz-theme[data-theme=starport] i:nth-child(2) { background: #ff4fd8; }
#cv { touch-action: none; cursor: crosshair; }
#main.narrow .gs-pad { gap: 2px; }
@media (max-width: 640px) { .groktd-body .cz-title { font-size: .95rem; } }
