*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none}
html,body{width:100%;height:100%;margin:0;overflow:hidden}
body{display:flex;align-items:center;justify-content:center;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#07111f;color:#f8fafc}
#app{position:relative;width:min(100vw,calc(100vh*9/16));height:min(100vh,calc(100vw*16/9));background:linear-gradient(180deg,#88c9ff 0%,#c9ecff 48%,#17462a 49%,#0c2e1c 100%);overflow:hidden}
#game{position:absolute;inset:0}
canvas{display:block;width:100%;height:100%;touch-action:none}
.hidden{display:none!important}
.loadingOverlay{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;background:linear-gradient(180deg,#74c7ff 0%,#b9ecff 45%,#16723a 46%,#0c2e1c 100%);color:#fff;text-align:center;transition:opacity .28s ease,visibility .28s ease}
.loadingOverlay.done{opacity:0;visibility:hidden;pointer-events:none}
.loadingBrand{font-size:32px;font-weight:950;letter-spacing:0;text-shadow:0 4px 18px rgba(0,0,0,.35)}
.loadingTitle{font-size:18px;font-weight:950;text-shadow:0 2px 10px rgba(0,0,0,.32)}
.loadingText{min-height:20px;color:#dbeafe;font-size:13px;font-weight:850;text-shadow:0 2px 8px rgba(0,0,0,.38)}
.loadingBar{width:min(72%,300px);height:10px;border-radius:999px;overflow:hidden;background:rgba(15,23,42,.48);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.loadingBar span{display:block;width:8%;height:100%;border-radius:999px;background:linear-gradient(90deg,#fef08a,#22c55e,#38bdf8);transition:width .22s ease}
.loadingRetryBtn{height:38px;border:0;border-radius:8px;padding:0 16px;background:#f8fafc;color:#0f172a;font-size:13px;font-weight:950;box-shadow:0 12px 24px rgba(0,0,0,.28)}
.hud{position:absolute;inset:0;pointer-events:none;z-index:5}
.topbar{position:absolute;left:10px;right:10px;top:8px;display:grid;grid-template-columns:1fr auto auto 1fr;gap:6px;align-items:center}
.chip{min-height:40px;display:flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:8px;background:rgba(8,20,36,.84);box-shadow:0 10px 24px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.08);font-size:13px;font-weight:800;letter-spacing:.02em;backdrop-filter:blur(8px)}
.score{font-size:24px;min-width:106px;color:#fff}
.timer{min-width:76px;color:#fef08a}
.phase{justify-self:end}
.cameraFollowBtn{position:absolute;right:10px;top:58px;height:34px;min-width:92px;border:0;border-radius:8px;padding:0 10px;background:rgba(8,20,36,.84);color:#dbeafe;font-size:12px;font-weight:950;box-shadow:0 10px 24px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.1);pointer-events:auto}
.cameraFollowBtn.active{background:#f8fafc;color:#0f172a;box-shadow:0 10px 24px rgba(0,0,0,.22),0 0 0 3px rgba(14,165,233,.34)}
.skillHint{position:absolute;left:50%;top:62px;transform:translateX(-50%);max-width:calc(100% - 20px);padding:8px 12px;border-radius:8px;background:rgba(15,23,42,.76);font-size:13px;font-weight:800;text-align:center;color:#e0f2fe;box-shadow:0 10px 26px rgba(0,0,0,.2)}
.goalToast{position:absolute;left:50%;top:108px;transform:translateX(-50%);max-width:calc(100% - 24px);padding:10px 14px;border-radius:8px;background:rgba(250,204,21,.95);color:#422006;font-size:15px;font-weight:950;text-align:center;box-shadow:0 14px 34px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.24);pointer-events:none;z-index:7}
.goalToast.miss{background:rgba(100,116,139,.94);color:#f8fafc}
.statusLine{position:absolute;right:10px;top:118px;min-height:28px;max-width:44%;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.88);color:#0f172a;font-size:12px;font-weight:900;opacity:.94;text-align:center;box-shadow:0 8px 18px rgba(0,0,0,.18)}
.statusLine:empty{display:none}
.hudSettingsBtn{position:absolute;left:10px;bottom:76px;width:64px;height:38px;border:0;border-radius:8px;background:rgba(8,20,36,.9);color:#e2e8f0;font-size:12px;font-weight:950;box-shadow:0 12px 26px rgba(0,0,0,.26),inset 0 0 0 1px rgba(255,255,255,.1);pointer-events:auto;z-index:6}
.cameraZoomDock{position:absolute;left:84px;bottom:76px;width:148px;height:38px;display:flex;align-items:center;padding:0 12px;border-radius:8px;background:rgba(8,20,36,.82);box-shadow:0 12px 26px rgba(0,0,0,.26),inset 0 0 0 1px rgba(255,255,255,.1);pointer-events:auto;z-index:6}
.cameraZoomSlider{width:100%;accent-color:#38bdf8;touch-action:none}
.skillRow{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,minmax(54px,76px));gap:8px;pointer-events:auto}
.skillBtn{height:48px;border:0;border-radius:8px;background:rgba(15,23,42,.84);color:#e2e8f0;font-size:15px;font-weight:900;box-shadow:0 12px 26px rgba(0,0,0,.26),inset 0 0 0 1px rgba(255,255,255,.08);touch-action:manipulation}
.skillBtn.active{background:#f8fafc;color:#0f172a;box-shadow:0 12px 26px rgba(0,0,0,.26),0 0 0 3px rgba(14,165,233,.42)}
.skillBtn:disabled{opacity:.46}
.panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 20px);max-height:calc(100% - 20px);overflow:hidden;display:flex;flex-direction:column;gap:12px;padding:48px 16px 16px;border-radius:8px;background:#081424;box-shadow:0 28px 70px rgba(0,0,0,.44),inset 0 0 0 1px rgba(255,255,255,.1);z-index:10}
.homeControls{position:absolute;right:12px;top:10px;display:flex;gap:8px;align-items:center}
.topTextBtn,.topIconBtn{height:34px;border:0;border-radius:8px;background:rgba(255,255,255,.1);color:#f8fafc;font-weight:950;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.topTextBtn{min-width:76px;padding:0 10px;font-size:12px}
.topIconBtn{width:38px;font-size:18px;line-height:1}
.panelTitle{font-size:32px;line-height:1;font-weight:950;text-align:center;color:#fff}
.panelSub,.panelNote{text-align:center;color:#cbd5e1;font-size:14px;font-weight:700}
.walletChip{align-self:center;padding:6px 12px;border-radius:999px;background:linear-gradient(180deg,#f59e0b,#d97706);color:#fff;font-size:13px;font-weight:900;box-shadow:0 10px 24px rgba(0,0,0,.24)}
.walletChip.compact{align-self:flex-start}
.pickerGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;overflow:auto;padding:2px 4px 4px;min-height:0}
.pickerGrid,.customPanel,.shopList,.customMatchList{scrollbar-width:none;-ms-overflow-style:none}
.pickerGrid::-webkit-scrollbar,.customPanel::-webkit-scrollbar,.shopList::-webkit-scrollbar,.customMatchList::-webkit-scrollbar{width:0;height:0;display:none}
.teamChoice{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px;min-height:62px;padding:8px;border:0;border-radius:8px;background:rgba(255,255,255,.08);color:#f8fafc;text-align:left;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.teamChoice.active{background:rgba(14,165,233,.24);box-shadow:inset 0 0 0 2px #7dd3fc}
.flagBox{width:42px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:5px;background:#0f172a;font-size:25px;overflow:hidden}
.flagBox img{width:100%;height:100%;object-fit:cover}
.teamName{font-size:13px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.teamMeta{margin-top:2px;font-size:11px;font-weight:800;color:#a7f3d0}
.panelActions{display:flex;justify-content:center;gap:8px}
.homeBottomActions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.homeBottomActions .secondaryBtn{width:100%;padding:12px 10px;font-size:15px}
.primaryBtn{border:0;border-radius:8px;padding:13px 20px;background:#16a34a;color:#fff;font-size:16px;font-weight:950;box-shadow:0 12px 24px rgba(0,0,0,.28)}
.secondaryBtn{border:0;border-radius:8px;padding:13px 20px;background:#334155;color:#fff;font-size:16px;font-weight:950;box-shadow:0 12px 24px rgba(0,0,0,.24)}
.primaryBtn:disabled{opacity:.45}
.primaryBtn.small{padding:10px 16px;font-size:14px}
.secondaryBtn.small{padding:10px 16px;font-size:14px}
.secondaryBtn.full{width:100%;padding:12px 16px;font-size:15px}
.eventPanel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 20px);height:auto;max-height:calc(100% - 28px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding:16px;border-radius:8px;background:#081424;box-shadow:0 24px 70px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.1);z-index:12;text-align:center;overflow:hidden}
.eventPanel:has(.matchStatsView),.eventPanel.statsMode{height:calc(100% - 28px)}
.eventTitle{font-size:24px;font-weight:950}
.eventBody{font-size:14px;line-height:1.5;color:#cbd5e1;font-weight:700;overflow-y:auto;overflow-x:hidden;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-right:2px}
.eventActions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
.eventActions .primaryBtn,.eventActions .secondaryBtn{width:100%}
.eventActions .primaryBtn:only-child{grid-column:1/-1}
.matchStatsView{display:grid;gap:10px;text-align:left;padding-bottom:8px}
.matchStatGrid{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center}
.matchStatCell{min-height:34px;padding:7px 8px;border-radius:8px;background:rgba(255,255,255,.08);font-size:12px;font-weight:900;color:#f8fafc;text-align:center}
.matchStatLabel{font-size:11px;font-weight:950;color:#93c5fd;text-align:center}
.playerRatings{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ratingColumn{display:grid;gap:5px}
.ratingTitle{font-size:12px;font-weight:950;color:#fef08a;text-align:center}
.ratingRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;padding:6px 8px;border-radius:7px;background:rgba(255,255,255,.07);font-size:11px;font-weight:850;color:#e2e8f0}
.ratingRow span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ratingScore{color:#fff;font-weight:950}
.customPanel,.betPanel,.settingsPanel,.shopPanel,.customMatchPanel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 14px);max-height:calc(100% - 14px);display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:8px;background:#081424;box-shadow:0 24px 70px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.1);z-index:13}
.customPanel{height:calc(100% - 14px);overflow-y:auto;overscroll-behavior:contain}
.customMatchPanel{height:calc(100% - 28px);overflow:hidden}
.betPanel{overflow:hidden}
.settingsPanel{overflow:hidden;max-width:360px}
.shopPanel{height:calc(100% - 32px);overflow:hidden}
.settingRow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.08);font-size:15px;font-weight:900;color:#f8fafc;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.toggleBtn{position:relative;width:62px;height:34px;border:0;border-radius:999px;background:#475569;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.toggleBtn::after{content:"";position:absolute;left:4px;top:4px;width:26px;height:26px;border-radius:50%;background:#f8fafc;transition:transform .18s ease}
.toggleBtn.on{background:#16a34a}
.toggleBtn.on::after{transform:translateX(28px)}
.customHeader{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.customPanel>.customHeader{position:sticky;top:0;z-index:5;margin:-12px -12px 0;padding:12px;background:#081424;box-shadow:0 14px 28px rgba(0,0,0,.28),inset 0 -1px 0 rgba(255,255,255,.08);backdrop-filter:blur(10px);align-items:center}
.customTitle{font-size:24px;font-weight:950}
.customSummary{font-size:13px;color:#cbd5e1;font-weight:700}
.iconBtn{border:0;border-radius:8px;width:40px;height:40px;background:#1e293b;color:#fff;font-size:26px;line-height:1}
.customToolbar{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.flagStrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.flagChoice{border:0;border-radius:8px;padding:6px;background:#0f172a;color:#fff;height:88px;display:flex;align-items:center;justify-content:center;font-size:46px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.flagChoice.active{box-shadow:inset 0 0 0 2px #f59e0b}
.flagChoice img{width:100%;height:100%;object-fit:contain;border-radius:6px}
.customBody{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start}
.lineupPane,.cardsPane{display:flex;flex-direction:column;gap:8px;min-height:0}
.allCardsBtn{border:0;border-radius:8px;min-height:42px;padding:10px 12px;background:#0f172a;color:#f8fafc;font-size:13px;font-weight:950;text-align:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.allCardsBtn.active{background:#f8fafc;color:#0f172a;box-shadow:0 8px 20px rgba(0,0,0,.24),0 0 0 3px rgba(14,165,233,.32)}
.lineupSlots{display:grid;grid-template-columns:1fr;gap:6px;min-height:0;overflow:visible;padding-right:0}
.slot{border:0;border-radius:8px;min-height:72px;padding:6px;background:rgba(255,255,255,.08);color:#e2e8f0;font-size:11px;font-weight:800;text-align:left;display:flex;flex-direction:column;justify-content:space-between;gap:4px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.slot.selected{box-shadow:inset 0 0 0 2px #38bdf8}
.slot.empty{opacity:.78}
.slot small{color:#94a3b8}
.packRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.packBtn{border:0;border-radius:8px;padding:10px 8px;background:#0f172a;color:#f8fafc;font-size:13px;font-weight:950;line-height:1.2;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.packBtn span{font-size:11px;color:#cbd5e1;font-weight:700}
.inventoryTitle{font-size:14px;font-weight:900}
.drawResult{min-height:30px;padding:6px 10px;border-radius:8px;background:rgba(255,255,255,.08);color:#fff;font-size:12px;font-weight:800}
.cardInventory{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:8px;overflow:visible;min-height:0;padding-bottom:4px}
.emptyInventory{grid-column:1/-1;min-height:62px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:rgba(255,255,255,.08);color:#cbd5e1;font-size:13px;font-weight:800;text-align:center;padding:12px}
.cardTile{border:0;border-radius:8px;padding:6px;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.07));color:#fff;min-height:148px;display:flex;flex-direction:column;gap:5px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);text-align:left}
.cardTile.selected{box-shadow:inset 0 0 0 2px #fbbf24}
.cardArt{position:relative;width:100%;aspect-ratio:3/4;border-radius:6px;background:#111827;background-size:cover;background-position:center;display:flex;align-items:flex-end;justify-content:flex-start;padding:6px;overflow:hidden}
.cardArt.generatedArt{background-color:#111827}
.cardArt.generatedArt::before{content:"";position:absolute;inset:8px;border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.02));box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.cardArt.hasPhoto .photoFallback{display:none}
.cardArt.hasPhoto .photoSilhouette{display:none}
.cardArt.generatedArt .photoSilhouette{display:none}
.photoSilhouette{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:1;width:58%;aspect-ratio:1;border-radius:42% 42% 18% 18%;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(248,250,252,.24),rgba(148,163,184,.08));color:rgba(248,250,252,.78);font-size:13px;font-weight:950;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.photoFallback{position:absolute;left:8px;right:8px;bottom:8px;z-index:1;padding:5px 6px;border-radius:6px;background:rgba(15,23,42,.78);color:#e2e8f0;font-size:10px;font-weight:900;line-height:1.25;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.gradeTag{align-self:flex-start;padding:2px 6px;border-radius:999px;background:rgba(15,23,42,.8);font-size:10px;font-weight:900}
.cardName{font-size:12px;font-weight:900}
.cardMeta{font-size:10px;color:#cbd5e1}
.levelTag{color:#fef08a;font-weight:950}
.customActionDock{position:sticky;bottom:0;z-index:5;display:grid;gap:8px;margin:0 -12px -12px;padding:10px 12px 12px;background:#081424;box-shadow:0 -16px 34px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(10px)}
.customFooter{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.customFooter .secondaryBtn,.customFooter .primaryBtn{padding:11px 10px;font-size:14px}
.customFooter #saveCustomBtn{grid-column:1/-1}
.shopTop{display:flex;align-items:center;justify-content:space-between;gap:8px}
.shopList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:auto;min-height:0;padding:2px 2px 8px}
.customMatchColumns{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-height:0;flex:1}
.customMatchSide{display:flex;flex-direction:column;gap:6px;min-height:0}
.customMatchList{display:grid;grid-template-columns:1fr;gap:6px;overflow:auto;min-height:0;padding:1px 1px 6px}
.customMatchChoice{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:7px;min-height:58px;padding:7px;border:0;border-radius:8px;background:rgba(255,255,255,.08);color:#f8fafc;text-align:left;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.customMatchChoice.active{background:rgba(22,163,74,.24);box-shadow:inset 0 0 0 2px #86efac}
.customMatchChoice:disabled{opacity:.5}
.customMatchChoice .flagBox{width:38px;height:28px;font-size:23px}
.customMatchToggle{display:flex;align-items:center;gap:10px;min-height:42px;padding:9px 10px;border-radius:8px;background:rgba(255,255,255,.08);font-size:14px;font-weight:950;color:#f8fafc;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.customMatchToggle input{width:20px;height:20px;accent-color:#16a34a}
.shopCard{display:flex;flex-direction:column;gap:7px;min-height:252px;padding:8px;border-radius:8px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.shopCard .cardArt{height:auto;aspect-ratio:3/4}
.shopBuyRow{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:auto}
.priceTag{font-size:12px;font-weight:950;color:#fef08a}
.buyBtn{border:0;border-radius:8px;padding:8px 10px;background:#16a34a;color:#fff;font-size:12px;font-weight:950}
.buyBtn:disabled{opacity:.45;background:#475569}
.betMatch{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;font-size:18px;font-weight:950}
.betSide{display:flex;flex-direction:column;align-items:center;gap:4px}
.versus{font-size:14px;color:#fef08a}
.miniFlag,.miniFlagText{display:inline-flex;align-items:center;justify-content:center;width:48px;height:34px;margin:0 auto 4px;border-radius:6px;background:#0f172a;font-size:26px;overflow:hidden}
.miniFlag img{width:100%;height:100%;object-fit:cover}
.betOdds,.betPool{font-size:14px;color:#cbd5e1;font-weight:700;line-height:1.45;text-align:center;white-space:pre-line}
.betActions{display:grid;grid-template-columns:1fr auto 1fr;gap:8px}
#labelLayer{position:absolute;inset:0;pointer-events:none;z-index:4}
.toast{position:absolute;left:50%;bottom:84px;transform:translateX(-50%);z-index:30;max-width:calc(100% - 28px);padding:10px 14px;border-radius:8px;background:rgba(15,23,42,.94);color:#f8fafc;font-size:13px;font-weight:900;text-align:center;box-shadow:0 16px 38px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.1);pointer-events:none}
.nameLabel{position:absolute;transform:translate(-50%,-100%);padding:2px 5px;border-radius:5px;background:rgba(15,23,42,.74);color:#fff;font-size:10px;font-weight:900;text-shadow:0 1px 2px #000;white-space:nowrap;opacity:.96}
.nameLabel.home{background:rgba(22,101,52,.82)}
.nameLabel.away{background:rgba(30,64,175,.82)}
@media (max-width:720px){
  .topbar{grid-template-columns:1fr auto auto;right:8px;left:8px}
  .phase{display:none}
  .chip{font-size:11px;padding:7px 9px}
  .score{font-size:20px;min-width:92px}
  .cameraFollowBtn{right:8px;top:54px;height:32px;min-width:82px;font-size:11px}
  .skillRow{grid-template-columns:repeat(5,58px);gap:6px;bottom:12px}
  .hudSettingsBtn{left:8px;bottom:64px;width:56px;height:34px;font-size:11px}
  .cameraZoomDock{left:72px;bottom:64px;width:130px;height:34px;padding:0 10px}
  .skillBtn{height:44px;font-size:14px}
  .nameLabel{font-size:8px;padding:1px 4px;border-radius:4px;max-width:112px;overflow:hidden;text-overflow:ellipsis}
  .panelTitle{font-size:26px}
  .pickerGrid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}
  .flagStrip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .customBody{grid-template-columns:1fr 1fr}
  .lineupSlots{grid-template-columns:1fr}
  .slot{min-height:68px}
  .shopList{grid-template-columns:repeat(2,minmax(0,1fr))}
}
