/* Ice Cream Truck (2D canvas, arcade-kit stage + DOM serving buttons) */
.ic-shop h3 { margin-top: 0; }
.ic-sub { opacity: .8; margin-top: -4px; }
.ic-sec h4 { margin: 14px 0 8px; }
.ic-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; }
.ic-item { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 6px; border-radius: 14px; border: 2px solid rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .05); color: inherit; font: 700 14px system-ui, sans-serif; cursor: pointer; }
.ic-item small { font-size: 12px; opacity: .85; }
.ic-item.is-owned { border-color: rgba(74, 222, 128, .5); }
.ic-item.is-on { border-color: #facc15; box-shadow: 0 0 0 3px rgba(250, 204, 21, .3); }
.ic-item:disabled { opacity: .45; cursor: default; }
.ic-scoop { display: inline-block; width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(0, 0, 0, .15); }
.ic-ico { font-size: 26px; line-height: 30px; }
.ic-wrap { position: relative; width: 100%; }
.ic-wrap .ak-stage { border-radius: 14px; overflow: hidden; }
.ic-hud { position: absolute; inset: 0; pointer-events: none; }
.ic-hud__l { position: absolute; left: 12px; top: 10px; display: flex; gap: 12px; background: rgba(8, 16, 28, .6); border-radius: 12px; padding: 5px 12px; font: 800 15px system-ui, sans-serif; color: #fff; }
.ic-hud .sim-banner { position: absolute; left: 50%; top: 28%; transform: translateX(-50%); }
.ic-tb { position: absolute; right: 10px; top: 10px; display: flex; gap: 6px; }
.ic-tb button { background: rgba(8, 16, 28, .7); color: #fff; border: 1px solid rgba(255, 255, 255, .18); border-radius: 10px; padding: 6px 10px; font: 700 15px system-ui, sans-serif; cursor: pointer; }
.ic-panel { margin-top: 10px; }
.ic-drive { display: flex; gap: 10px; }
.ic-drive button { flex: 1; min-height: 72px; border-radius: 18px; border: 2px solid rgba(255, 255, 255, .2); color: #fff; font: 900 22px system-ui, sans-serif; cursor: pointer; touch-action: none; user-select: none; -webkit-user-select: none; }
.ic-jingle { background: #db2777; }
.ic-go { background: #16a34a; flex: 2 !important; }
.ic-go:active { filter: brightness(1.25); }
.ic-make { display: flex; flex-direction: column; gap: 8px; }
.ic-row { display: flex; flex-wrap: wrap; gap: 8px; }
.ic-row button:not(.btn) { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 76px; min-height: 64px; padding: 6px 10px; border-radius: 14px; border: 2px solid rgba(255, 255, 255, .15); background: rgba(255, 255, 255, .07); color: inherit; font: 800 18px system-ui, sans-serif; cursor: pointer; }
.ic-row button small { font-size: 11px; font-weight: 700; }
.ic-base button:not(.btn) { flex-direction: row; justify-content: center; gap: 6px; }
.ic-row button:active { transform: scale(.96); }
.ic-act { justify-content: flex-end; }
.ic-act .btn { min-height: 52px; font-size: 18px; }
@media (max-width: 560px) { .ic-row button:not(.btn) { min-width: 64px; } .ic-hud__l { font-size: 13px; } }
.ic-wrap > .sim-result { border-radius: 14px; }
