
.saWrap{margin-top:16px}.saGameGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.saGameCard{position:relative;overflow:hidden;text-align:left;border:1px solid #334663;background:linear-gradient(145deg,#111d32,#172641);color:#fff;border-radius:20px;padding:18px;cursor:pointer;min-height:132px;transition:.15s ease}
.saGameCard:hover{transform:translateY(-2px);border-color:#65d9ba}.saGameCard.on{border-color:#61e4ba;box-shadow:inset 0 0 0 1px #61e4ba}
.saGameCard .saIcon{font-size:34px}.saGameCard b{display:block;font-size:20px;margin:7px 0 4px}.saGameCard span{font-size:13px;color:#9fb0c9;line-height:1.35}
.saSetup,.saScores,.saEnd{margin-top:14px;background:#10192c;border:1px solid #33425f;border-radius:18px;padding:16px}
.saSetupGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;align-items:end}.saSetup label{display:block;color:#9fb0c9;font-size:11px;font-weight:900;letter-spacing:.07em;margin-bottom:6px}
.saSetup select,.saSetup input,.saEnd input{width:100%;background:#0c1425;color:#fff;border:1px solid #3b4c6b;border-radius:10px;padding:10px}
.saBtn{border:0;border-radius:11px;padding:11px 14px;font-weight:950;cursor:pointer}.saStart{background:linear-gradient(135deg,#68aaff,#61e4ba);color:#07131f}.saStop{background:linear-gradient(135deg,#87223f,#c7335d);color:white}.saSecondary{background:#1a2943;color:#fff;border:1px solid #405270}
.saHint{margin-top:10px;color:#aebed3;font-size:13px}.saStopBar{position:sticky;top:8px;z-index:90;display:flex;justify-content:center;margin:8px 0}
.saHud{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:8px 0}.saHud span{background:#0d172a;border:1px solid #344663;border-radius:999px;padding:7px 11px;font-weight:900}.saHud b{color:#ffd45d}
.saArena{position:relative;overflow:hidden;height:500px;max-width:900px;margin:8px auto;border:2px solid #435a78;border-radius:24px;outline:none;isolation:isolate;user-select:none;background:linear-gradient(#12345b 0 48%,#9fd6df 49% 57%,#56845b 58% 100%);box-shadow:inset 0 0 70px #0004}
.saArena:after{content:"";position:absolute;inset:0;z-index:50;pointer-events:none;background:linear-gradient(180deg,#fff1,transparent 22%,transparent 78%,#0003)}
.saInstruction{position:absolute;z-index:40;left:50%;top:10px;transform:translateX(-50%);min-width:52%;max-width:90%;background:#081326ee;border:1px solid #5b7395;border-radius:13px;padding:9px 14px;text-align:center;font-weight:950;box-shadow:0 8px 22px #0005}
.saLane{position:absolute;top:0;bottom:0;width:33.333%;border-right:1px dashed #ffffff22}.saLane.l0{left:0}.saLane.l1{left:33.333%}.saLane.l2{left:66.666%;border-right:0}
.saHill{position:absolute;z-index:1;bottom:0;width:52%;height:44%;background:#315f48;clip-path:polygon(0 100%,22% 52%,43% 78%,66% 25%,100% 100%);opacity:.72}.saHill.a{left:-12%}.saHill.b{right:-12%;transform:scaleX(-1)}
.saSun{position:absolute;right:8%;top:44px;width:58px;height:58px;border-radius:50%;background:#ffe392;box-shadow:0 0 30px #ffe39277;z-index:1}
.saChoice{position:absolute;z-index:20;width:25%;min-height:72px;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(#fff,#dce7f2);color:#10223b;border:2px solid #edf5ff;border-radius:28px;padding:10px;font-size:19px;font-weight:950;box-shadow:0 11px 26px #0a1b2c55}
.saPlane{position:absolute;z-index:30;bottom:22px;width:105px;height:68px;transition:left .1s ease;filter:drop-shadow(0 9px 6px #0006)}.saPlane .b{position:absolute;left:18px;top:27px;width:67px;height:21px;border-radius:50%;background:linear-gradient(90deg,#f4b92b,#ffe182);border:2px solid #9a6f1e}.saPlane .n{position:absolute;right:3px;top:29px;border-left:28px solid #efb52d;border-top:9px solid transparent;border-bottom:9px solid transparent}.saPlane .w{position:absolute;left:42px;top:7px;border-bottom:33px solid #ed698e;border-left:11px solid transparent;border-right:29px solid transparent}.saPlane .t{position:absolute;left:15px;top:9px;border-bottom:22px solid #63aef5;border-right:16px solid transparent}
.saBasket{position:absolute;z-index:30;bottom:22px;width:96px;height:54px;transition:left .1s ease;filter:drop-shadow(0 8px 5px #0005)}.saBasket:before{content:"";position:absolute;left:8px;top:17px;width:80px;height:35px;border:5px solid #71482c;border-radius:7px 7px 17px 17px;background:repeating-linear-gradient(90deg,#c98343 0 8px,#e1a15a 8px 16px)}.saBasket:after{content:"";position:absolute;left:25px;top:0;width:46px;height:34px;border:5px solid #71482c;border-bottom:0;border-radius:25px 25px 0 0}
.saFeedback{position:absolute;z-index:70;left:50%;top:46%;transform:translate(-50%,-50%);font-size:38px;font-weight:1000;padding:8px 13px;border-radius:13px;background:#081326aa;text-shadow:0 3px 8px #000}.saGood{color:#70edc4}.saBad{color:#ff91b2}
.saRace{background:#1d2938}.saSky{position:absolute;inset:0 0 70%;background:radial-gradient(circle at 80% 24%,#ffe79d 0 31px,transparent 32px),linear-gradient(#17466f,#82bed4)}.saRoad{position:absolute;left:7%;right:7%;top:25%;bottom:-10%;z-index:3;background:linear-gradient(90deg,#171c24 0 3%,#414a56 3% 97%,#171c24 97%);clip-path:polygon(39% 0,61% 0,100% 100%,0 100%)}.saRoad:before,.saRoad:after{content:"";position:absolute;top:0;bottom:0;width:5px;background:repeating-linear-gradient(#f8efc5 0 22px,transparent 22px 48px);animation:saLaneMove .62s linear infinite}.saRoad:before{left:43%}.saRoad:after{right:43%}@keyframes saLaneMove{to{background-position:0 48px}}
.saGate{position:absolute;z-index:20;width:24%;height:76px;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(#fff,#d4dfeb);color:#10223b;border:4px solid #ffd25b;border-radius:10px;font-size:18px;font-weight:950;box-shadow:0 11px 28px #0007}.saGate:before,.saGate:after{content:"";position:absolute;bottom:-62px;width:7px;height:62px;background:#dce5ef}.saGate:before{left:10px}.saGate:after{right:10px}
.saCar{position:absolute;z-index:30;bottom:29px;width:94px;height:130px;transition:left .1s ease;filter:drop-shadow(0 12px 7px #0007)}.saCar .body{position:absolute;left:12px;top:16px;width:70px;height:106px;border-radius:27px 27px 16px 16px;border:2px solid #7d1735;background:linear-gradient(90deg,#b11d42,#ef5072 24% 74%,#ad1b40)}.saCar .glass{position:absolute;left:23px;top:31px;width:48px;height:30px;border-radius:9px;background:linear-gradient(#bce9f5,#5ca7ca);border:2px solid #315f78}.saCar .wh{position:absolute;top:70px;width:16px;height:34px;background:#111;border-radius:5px}.saCar .w1{left:1px}.saCar .w2{right:1px}.saCar:after{content:"";position:absolute;left:31px;bottom:-12px;width:32px;height:30px;background:linear-gradient(#ff8d38,transparent);clip-path:polygon(50% 100%,0 0,100% 0);opacity:0}.saCar.boost:after{opacity:1;animation:saFlame .16s linear infinite alternate}@keyframes saFlame{to{transform:scaleY(1.35)}}
.saGoalScene{max-width:880px;margin:8px auto;padding:18px;border-radius:22px;border:2px solid #435a78;background:linear-gradient(#14345b 0 35%,#2d617d 35% 48%,#438153 49%);text-align:center;overflow:hidden}.saGoal{position:relative;height:235px;max-width:560px;margin:5px auto 15px;border:8px solid white;border-bottom-width:12px;background:repeating-linear-gradient(0deg,transparent 0 18px,#ffffff25 19px 20px),repeating-linear-gradient(90deg,transparent 0 18px,#ffffff25 19px 20px)}.saKeeper{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);font-size:70px;transition:left .4s ease}.saBall{position:absolute;bottom:-48px;left:50%;transform:translateX(-50%);font-size:44px}.saQuestion{background:#0a1529e8;border:1px solid #405273;border-radius:15px;padding:15px}.saQ{font-size:25px;font-weight:950}.saAnswers{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.saAnswer{border:1px solid #405273;background:#172640;color:#fff;border-radius:10px;padding:11px;font-weight:850;cursor:pointer}.saAnswer:hover{border-color:#61e4ba}
.saScores h3{margin:0 0 8px;color:#61e4ba}.saScoreRow{display:grid;grid-template-columns:32px 1fr auto;gap:8px;padding:7px;border-bottom:1px solid #293752}.saScoreRow:last-child{border-bottom:0}.saScoreRow b{color:#ffd45d}.saEnd{text-align:center}.saEnd h2{font-size:38px;margin:5px}.saNameRow{display:flex;gap:8px;justify-content:center;max-width:520px;margin:12px auto}
@media(max-width:800px){.saGameGrid,.saSetupGrid,.saAnswers{grid-template-columns:1fr}.saArena{height:460px}.saChoice,.saGate{font-size:15px}.saNameRow{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.saRoad:before,.saRoad:after,.saCar:after{animation:none}}

/* D2 mobile/touch hardening */
.saBtn,.saGameCard,.saAnswer{min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media(max-width:520px){
  .saWrap{margin-top:10px}
  .saGameCard{min-height:0;padding:15px}
  .saArena{height:min(430px,70vh)}
  .saChoice,.saGate{width:28%;font-size:13px;padding:7px}
  .saPlane{transform:scale(.84);transform-origin:bottom center}
  .saCar{transform:scale(.84);transform-origin:bottom center}
  .saQuestion{padding:11px}
  .saQ{font-size:21px}
  .saEnd h2{font-size:31px}
}

/* D3 score timing */
.saScoreRow small{display:block;margin-top:2px;color:#9fb0c9}.saEnd p b{color:#ffd45d}


.saFixedRounds{min-height:46px;display:flex;align-items:center;padding:0 14px;border:1px solid #3d4d70;border-radius:12px;background:#121d34;color:#fff;font-weight:900}
.saRecord{display:inline-block;margin:7px auto 4px;padding:8px 13px;border-radius:999px;background:#4b3d17;color:#ffe28a;border:1px solid #806b27;font-weight:950}


/* D8 Games 2.0 – genuinely different mechanics */
.saShotChoices{margin-top:13px;display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}.saShotChoices button,.saVerbChips button{border:1px solid #526986;background:#172942;color:#fff;border-radius:12px;padding:11px 15px;font-weight:950;cursor:pointer}.saShotChoices button:hover,.saVerbChips button:hover{border-color:#61e4ba;transform:translateY(-1px)}.saGoodText{display:inline-block;margin-top:9px;color:#70edc4;font-weight:950}.saBadText{display:inline-block;margin-top:9px;color:#ff91b2;font-weight:950}
.saMemoryIntro{text-align:center;font-weight:900;font-size:19px;margin:14px}.saMemoryGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:880px;margin:0 auto}.saMemoryCard{min-height:88px;border:1px solid #405372;border-radius:15px;background:linear-gradient(145deg,#162640,#1d3150);color:#fff;font-size:17px;font-weight:900;padding:10px;cursor:pointer;transition:.15s}.saMemoryCard:hover{border-color:#61e4ba}.saMemoryCard.selected{outline:3px solid #ffd45d;transform:translateY(-2px)}.saMemoryCard.matched{background:#173d35;border-color:#61e4ba;opacity:.58;pointer-events:none}.saMemoryFb{text-align:center;min-height:38px;margin:10px;font-size:18px}
.saFlightScene,.saGrandPrix{max-width:900px;margin:10px auto;background:#10192c;border:1px solid #405270;border-radius:20px;padding:18px}.saAltitude{height:48px;border-radius:999px;background:#0b1424;position:relative;overflow:hidden;border:1px solid #3b4d69}.saAltitudeFill{height:100%;background:linear-gradient(90deg,#68aaff,#61e4ba);transition:width .35s}.saAltitude span{position:absolute;left:12px;top:6px;font-size:28px}.saFlightPrompt{text-align:center}.saFlightPrompt h2{font-size:36px;margin:5px}.saVerbSlots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.saVerbSlot{background:#0c1526;border:2px solid #30435e;border-radius:14px;padding:13px;text-align:center;min-height:72px}.saVerbSlot.active{border-color:#ffd45d}.saVerbSlot small{display:block;color:#9fb0c9;font-weight:900}.saVerbSlot b{display:block;margin-top:7px;font-size:21px}.saVerbChips{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.saVerbChips button:disabled{opacity:.25}.saFlightScene #saFlightFb{text-align:center;min-height:42px}
.saRaceTrack{height:92px;background:linear-gradient(#303a49,#1e2530);border:4px solid #545e6c;border-radius:20px;position:relative;margin:8px 0 20px;overflow:hidden}.saRaceTrack:before{content:"";position:absolute;left:0;right:0;top:43px;border-top:4px dashed #f7e5a3}.saRaceProgress{position:absolute;left:0;top:0;bottom:0;background:#61e4ba22;transition:width .4s}.saRaceCar{position:absolute;z-index:3;top:22px;font-size:40px;transition:left .4s}.saFinishFlag{position:absolute;right:8px;top:19px;font-size:40px}.saRaceQuestion{text-align:center}.saTurbo{margin-top:12px;font-size:23px;color:#70edc4;font-weight:1000;animation:saTurboPulse .45s ease}.saPit{margin-top:12px;font-size:19px;color:#ff91b2;font-weight:950}@keyframes saTurboPulse{50%{transform:scale(1.08)}}
@media(max-width:700px){.saMemoryGrid{grid-template-columns:repeat(3,1fr)}.saMemoryCard{min-height:76px;font-size:14px}.saVerbSlots{grid-template-columns:1fr}.saFlightPrompt h2{font-size:29px}.saShotChoices{flex-direction:column}.saShotChoices button{width:100%}}
