/* ICEDYNASTY V28.11 — Gameplay Revolution live shell */
:root{
  --r11-cyan:#53d7ff;--r11-blue:#0e8ef0;--r11-ice:#cfefff;--r11-red:#ff5067;--r11-gold:#f7b942;--r11-green:#42f59b;
  --r11-panel:rgba(3,13,26,.88);--r11-panel2:rgba(5,21,38,.92);--r11-line:rgba(123,210,255,.28);--r11-shadow:0 26px 90px rgba(0,0,0,.65)
}
#iceRevolutionV2811{position:fixed;inset:0;z-index:880;display:none;background:#020710;color:#fff;font-family:Arial,Helvetica,sans-serif;overflow:hidden;isolation:isolate}
#iceRevolutionV2811.open{display:block}.r11-shell{position:absolute;inset:0;overflow:hidden;background:#020710}.r11-shell *{box-sizing:border-box}.r11-bg{position:absolute;inset:-2%;background:#06101c center/cover no-repeat;filter:saturate(1.08) contrast(1.08);transform:scale(1.025);transition:filter .3s}.r11-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,7,15,.26),rgba(1,7,15,.12) 45%,rgba(1,6,14,.75) 100%),radial-gradient(circle at 50% 40%,transparent 0 38%,rgba(0,0,0,.42) 100%)}
.r11-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 120px rgba(0,0,0,.55);z-index:2}.r11-grain{position:absolute;inset:0;opacity:.07;z-index:3;pointer-events:none;background-image:radial-gradient(circle at 20% 20%,white 0 1px,transparent 1.2px),radial-gradient(circle at 70% 50%,white 0 1px,transparent 1.2px);background-size:19px 19px,29px 29px;animation:r11grain 5s linear infinite}@keyframes r11grain{to{transform:translate3d(8px,-9px,0)}}
.r11-scorebar{position:absolute;z-index:20;left:0;right:0;top:0;height:82px;padding:12px 22px calc(8px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;background:linear-gradient(180deg,rgba(1,7,14,.94),rgba(2,12,23,.78),transparent);text-shadow:0 2px 8px #000}.r11-side{display:flex;gap:10px;align-items:center;min-width:0}.r11-side.right{justify-content:flex-end;text-align:right}.r11-team-badge{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:900;border:1px solid rgba(255,255,255,.28);background:linear-gradient(145deg,#123758,#071528);box-shadow:0 0 24px rgba(62,190,255,.22);flex:none}.r11-side.right .r11-team-badge{background:linear-gradient(145deg,#5b1723,#1f0c13);box-shadow:0 0 24px rgba(255,67,92,.2)}.r11-name{font-weight:900;letter-spacing:.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px}.r11-meta{font-size:10px;letter-spacing:.14em;color:#9ab2c5;text-transform:uppercase}.r11-score-mid{display:flex;align-items:center;gap:12px;font-weight:900}.r11-score-mid b{font-size:35px;line-height:1}.r11-score-mid b:first-child{color:var(--r11-cyan)}.r11-score-mid b:last-child{color:var(--r11-red)}.r11-score-mid span{text-align:center;font-size:11px;line-height:1.25;letter-spacing:.08em;color:#c7d4df}.r11-close,.r11-sound{position:absolute;z-index:60;top:16px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(3,13,24,.72);backdrop-filter:blur(12px);font-size:22px;font-weight:800;display:grid;place-items:center;box-shadow:0 8px 30px rgba(0,0,0,.35)}.r11-close{right:18px}.r11-sound{right:72px;font-size:17px}.r11-main{position:absolute;z-index:10;inset:74px 0 0;display:flex;flex-direction:column;justify-content:flex-end;padding:18px 18px max(18px,env(safe-area-inset-bottom))}.r11-panel{background:linear-gradient(180deg,rgba(5,22,39,.9),rgba(2,10,20,.96));border:1px solid var(--r11-line);border-radius:22px;box-shadow:var(--r11-shadow),inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(16px);overflow:hidden}.r11-kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#79dcff;font-weight:800}.r11-title{margin:4px 0 0;font-size:clamp(34px,8vw,64px);line-height:.94;font-style:italic;font-weight:1000;letter-spacing:-.045em;text-shadow:0 5px 24px rgba(0,0,0,.65)}.r11-subtitle{font-size:13px;color:#b6c6d3;line-height:1.45}.r11-gold{color:var(--r11-gold)}.r11-red{color:var(--r11-red)}.r11-cyan{color:var(--r11-cyan)}
.r11-btn{appearance:none;border:1px solid rgba(108,203,255,.34);background:linear-gradient(180deg,#0a2c49,#061a2e);color:#fff;border-radius:15px;min-height:54px;padding:11px 16px;font:inherit;font-weight:900;letter-spacing:.06em;text-transform:uppercase;box-shadow:inset 0 1px rgba(255,255,255,.06),0 8px 24px rgba(0,0,0,.34);touch-action:manipulation}.r11-btn:active{transform:translateY(1px);filter:brightness(1.15)}.r11-btn.gold{border-color:#ffca63;background:linear-gradient(180deg,#a66610,#70400a);box-shadow:0 0 30px rgba(246,168,46,.24)}.r11-btn.red{border-color:#ff6675;background:linear-gradient(180deg,#8d2130,#4b101b)}.r11-btn.green{border-color:#62ffad;background:linear-gradient(180deg,#14734b,#0b3d2a)}.r11-btn.ghost{background:rgba(4,16,29,.68)}
/* Rivalry */
.r11-rivalry .r11-bg{background-image:linear-gradient(90deg,rgba(12,92,149,.22),transparent 48%,rgba(148,37,50,.22)),url('assets/revolution-v2811/arena-hub.jpg');filter:brightness(.62) saturate(.9) blur(.3px)}.r11-rivalry .r11-main{justify-content:center;padding-top:70px}.r11-rival-card{width:min(880px,96vw);margin:auto;padding:20px 26px 22px;text-align:center;position:relative;background:linear-gradient(120deg,rgba(4,27,48,.94),rgba(8,12,22,.94) 50%,rgba(53,13,20,.9))}.r11-rival-head{font-size:clamp(26px,5vw,52px);font-style:italic;font-weight:1000;color:#ff6b71;letter-spacing:.04em;text-shadow:0 0 22px rgba(255,62,72,.32)}.r11-rival-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;margin-top:12px}.r11-rival-player{display:grid;justify-items:center}.r11-rival-player img{width:110px;height:110px;border-radius:50%;object-fit:cover;border:3px solid var(--r11-cyan);box-shadow:0 0 36px rgba(65,202,255,.26)}.r11-rival-player.opp img{border-color:#ff6978;box-shadow:0 0 36px rgba(255,67,87,.22)}.r11-rival-player b{font-size:21px;margin-top:8px}.r11-rival-player small{color:#c3d1dc;font-size:12px}.r11-vs{font-size:46px;font-weight:1000;font-style:italic}.r11-series{font-size:44px;font-weight:1000;line-height:1}.r11-rival-banner{margin:16px -10px -4px;border:1px solid rgba(255,194,84,.55);background:linear-gradient(90deg,transparent,#805217 20%,#9a681b 50%,#805217 80%,transparent);padding:11px;font-size:22px;font-weight:1000;font-style:italic;letter-spacing:.05em;color:#fff4c7}.r11-primary-cta{width:min(860px,94vw);margin:16px auto 0}
/* Faceoff */
.r11-faceoff .r11-bg{background-image:url('assets/revolution-v2811/faceoff-scene.jpg');background-position:center 46%;filter:brightness(.88) contrast(1.08) saturate(.93)}.r11-faceoff .r11-main{justify-content:space-between;padding-top:16px}.r11-countdown{align-self:center;margin-top:18px;padding:9px 24px;border-radius:12px;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.24);text-align:center}.r11-countdown small{font-size:11px;letter-spacing:.15em}.r11-countdown b{display:block;font-size:42px;line-height:1}.r11-faceoff-instruction{text-align:center;margin-bottom:8px;font-size:clamp(22px,4vw,40px);font-weight:1000;font-style:italic;text-shadow:0 3px 20px #000}.r11-tap{width:min(680px,96vw);align-self:center;height:80px;border-radius:20px;font-size:25px;background:linear-gradient(180deg,#108fda,#075388);border-color:#75e5ff;box-shadow:0 0 44px rgba(32,184,255,.35)}
/* possession */
.r11-possession .r11-bg{background-image:url('assets/revolution-v2811/possession-scene.jpg');background-position:center 44%;filter:brightness(.88) saturate(.96)}.r11-action-rail{display:flex;gap:10px;align-items:stretch;margin-top:auto}.r11-action-rail .r11-btn{flex:1;min-height:74px;font-size:18px}.r11-action-rail .r11-btn b{display:block;font-size:20px}.r11-action-rail .r11-btn span{display:block;font-size:9px;color:#b9c8d4;margin-top:4px;letter-spacing:.12em}.r11-ice-meter{position:absolute;z-index:25;left:18px;top:110px;width:64px;padding:10px 8px;border-radius:16px;background:rgba(3,15,28,.88);border:1px solid rgba(87,200,255,.35);text-align:center}.r11-ice-meter b{font-size:26px}.r11-ice-bars{display:grid;gap:3px;margin-top:8px}.r11-ice-bars i{height:8px;border-radius:3px;background:#0a2b47}.r11-ice-bars i.on{background:linear-gradient(90deg,#0b83e4,#4ce6ff);box-shadow:0 0 9px rgba(51,210,255,.35)}.r11-live-card{position:absolute;z-index:22;right:16px;top:108px;width:122px;border-radius:14px;padding:7px;background:linear-gradient(180deg,#181105,#040303);border:2px solid #db9f34;box-shadow:0 0 24px rgba(245,172,57,.28)}.r11-live-card img{width:100%;aspect-ratio:.685;object-fit:contain;object-position:center;background:#020812;border-radius:8px}.r11-live-card b{display:block;text-align:center;font-size:15px;margin-top:4px}.r11-live-card small{display:block;text-align:center;color:#f4d49b;font-size:9px}
/* goalie */
.r11-goalie .r11-bg{background-image:url('assets/revolution-v2811/goalie-scene.jpg');background-position:center 38%;filter:brightness(.9) contrast(1.06)}.r11-save-zones{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin-top:auto}.r11-save-zones .r11-btn{min-height:76px;font-size:17px}.r11-save-zones .r11-btn:nth-child(1){border-color:#3d9dff;background:linear-gradient(#14569a,#092f59)}.r11-save-zones .r11-btn:nth-child(2){border-color:#ffc96a;background:linear-gradient(#816027,#493311)}.r11-save-zones .r11-btn:nth-child(3){border-color:#ff667a;background:linear-gradient(#8e2432,#4b121c)}.r11-swipe{margin-top:8px;text-align:center;font-weight:1000;font-style:italic;font-size:18px;text-shadow:0 3px 15px #000}
/* duel */
.r11-duel .r11-bg{background-image:url('assets/revolution-v2811/arena-hub.jpg');filter:brightness(.34) blur(1px)}.r11-duel .r11-main{justify-content:center;padding-top:80px}.r11-duel-wrap{width:min(920px,96vw);margin:auto;display:grid;grid-template-columns:minmax(125px,1fr) auto minmax(125px,1fr);gap:18px;align-items:center}.r11-duel-card{position:relative;border-radius:18px;overflow:hidden;background:#07121f;border:2px solid #4bf0a0;box-shadow:0 0 30px rgba(62,245,156,.22)}.r11-duel-card.you{border-color:#f2b94e;box-shadow:0 0 34px rgba(244,178,56,.23)}.r11-duel-card img{width:100%;display:block;aspect-ratio:.685;object-fit:contain;object-position:center;background:#020812}.r11-duel-card .tag{position:absolute;top:8px;left:8px;padding:6px 10px;border-radius:999px;background:rgba(2,8,16,.82);font-size:10px;font-weight:800;letter-spacing:.12em}.r11-duel-center{text-align:center}.r11-duel-center .r11-vs{font-size:54px}.r11-duel-stat{display:flex;gap:8px;justify-content:center;margin-top:9px}.r11-duel-stat span{padding:8px 10px;border-radius:12px;background:rgba(4,19,34,.84);font-weight:900}.r11-timing{width:min(720px,90vw);margin:16px auto 0}.r11-timing b{display:block;text-align:center;color:#61f8a9;font-size:30px;font-style:italic}.r11-timeline{height:22px;border-radius:999px;margin-top:8px;background:linear-gradient(90deg,#92202c,#233c20 35%,#33c778 47%,#33c778 53%,#233c20 65%,#92202c);position:relative;border:1px solid rgba(255,255,255,.18)}.r11-timeline::after{content:"";position:absolute;top:-9px;left:49%;width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:13px solid #fff;filter:drop-shadow(0 0 5px #6affae)}
/* goal */
.r11-goal .r11-bg{background-image:url('assets/revolution-v2811/arena-hub.jpg');filter:brightness(.52) saturate(1.18)}.r11-goal::before{content:"";position:absolute;inset:0;z-index:5;background:radial-gradient(circle at 50% 38%,rgba(255,190,66,.54),transparent 24%),radial-gradient(circle at 18% 30%,rgba(255,163,46,.32),transparent 4%),radial-gradient(circle at 80% 20%,rgba(255,206,92,.3),transparent 3%);animation:r11goalFlash 1.5s ease-out both;pointer-events:none}@keyframes r11goalFlash{0%{opacity:0}16%{opacity:1}100%{opacity:.55}}.r11-goal .r11-main{justify-content:center;align-items:center;text-align:center}.r11-goal-title{font-size:clamp(70px,16vw,150px);font-weight:1000;font-style:italic;color:#ffd36a;letter-spacing:-.05em;text-shadow:0 5px 0 #8e5810,0 0 60px rgba(255,189,51,.55)}.r11-goal-score{font-size:60px;font-weight:1000}.r11-goal-card{display:flex;align-items:center;gap:14px;background:rgba(4,14,24,.86);border:1px solid #e9ae43;padding:9px 16px;border-radius:18px;margin-top:10px}.r11-goal-card img{width:74px;height:auto;aspect-ratio:.685;object-fit:contain;object-position:center;background:#020812;border-radius:10px}.r11-momentum{width:min(720px,88vw);margin-top:16px}.r11-momentum small{font-weight:800;letter-spacing:.14em}.r11-momentum-line{height:20px;border-radius:999px;margin-top:6px;background:linear-gradient(90deg,#168bff,#27d3ff,#52ed8a,#ffbd43,#ef4c5e);position:relative;box-shadow:0 0 25px rgba(52,197,255,.3)}.r11-momentum-line i{position:absolute;width:5px;height:34px;background:white;left:59%;top:-7px;box-shadow:0 0 10px #fff}.r11-momentum b{display:block;color:#63ff9f;font-size:28px;margin-top:4px}
/* coach */
.r11-coach .r11-bg{background-image:url('assets/revolution-v2811/arena-hub.jpg');filter:brightness(.28) blur(2px)}.r11-coach .r11-main{justify-content:center}.r11-coach-card{width:min(920px,96vw);margin:auto;padding:18px;display:grid;grid-template-columns:150px 1fr;gap:18px}.r11-coach-card img{width:150px;height:210px;object-fit:cover;object-position:center top;border-radius:16px;border:1px solid rgba(100,203,255,.32)}.r11-coach-copy h2{margin:0;font-size:28px}.r11-coach-copy ul{margin:10px 0;padding-left:20px;color:#d7e1e8;line-height:1.65}.r11-strategy{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.r11-strategy .r11-btn{font-size:12px}.r11-strategy .r11-btn:nth-child(1){border-color:#4d9eff}.r11-strategy .r11-btn:nth-child(2){border-color:#ff5c6e}.r11-strategy .r11-btn:nth-child(3){border-color:#56e99a}
/* remote status */
.r11-authority{position:absolute;z-index:70;left:50%;bottom:max(5px,env(safe-area-inset-bottom));transform:translateX(-50%);font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:#7f9bae;white-space:nowrap;opacity:.78}.r11-authority i{display:inline-block;width:6px;height:6px;background:#54ffac;border-radius:50%;box-shadow:0 0 8px #54ffac;margin-right:5px}.r11-transition{animation:r11in .35s cubic-bezier(.2,.8,.2,1)}@keyframes r11in{from{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}
/* queue / ready hub */
.r11-match-hub .r11-bg{background-image:url('assets/revolution-v2811/arena-hub.jpg');filter:brightness(.55)}.r11-hub-card{width:min(820px,96vw);margin:auto;padding:22px}.r11-mode-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:15px}.r11-mode-grid .r11-btn{min-height:92px;text-align:left}.r11-mode-grid small{display:block;color:#81ddff;font-size:9px;margin-bottom:6px}.r11-mode-grid b{font-size:20px}.r11-mode-grid span{display:block;color:#9fb3c4;font-size:11px;margin-top:5px;text-transform:none;letter-spacing:0}.r11-ready-line{display:flex;gap:8px;margin:15px 0}.r11-ready-pill{flex:1;padding:12px;border-radius:14px;background:#071827;border:1px solid rgba(101,198,249,.28)}.r11-ready-pill b{display:block;font-size:18px}.r11-ready-pill small{color:#7f9aaf}.r11-code{font-size:30px;font-weight:1000;letter-spacing:.12em;color:#7de5ff;text-align:center;padding:14px;border-radius:14px;background:#04111f;border:1px dashed rgba(111,216,255,.42);margin:12px 0}
@media(max-width:700px) and (orientation:portrait){
  .r11-scorebar{height:76px;padding:10px 12px;gap:8px}.r11-team-badge{width:38px;height:38px;font-size:12px}.r11-name{font-size:13px}.r11-score-mid{gap:8px}.r11-score-mid b{font-size:28px}.r11-score-mid span{font-size:9px}.r11-close{right:10px;top:84px}.r11-sound{right:61px;top:84px}.r11-main{inset:76px 0 0;padding:12px 12px 28px}.r11-rival-card{padding:18px 12px}.r11-rival-grid{gap:8px}.r11-rival-player img{width:82px;height:82px}.r11-rival-player b{font-size:16px}.r11-rival-player small{font-size:10px}.r11-series{font-size:34px}.r11-vs{font-size:32px}.r11-rival-banner{font-size:17px}.r11-action-rail{display:grid;grid-template-columns:1fr 1fr}.r11-action-rail .r11-btn{min-height:64px}.r11-ice-meter{top:140px;left:10px;width:54px}.r11-live-card{top:138px;right:10px;width:104px}.r11-duel-wrap{gap:8px}.r11-duel-center .r11-vs{font-size:32px}.r11-duel-stat{display:none}.r11-coach-card{grid-template-columns:96px 1fr;padding:12px;gap:12px}.r11-coach-card img{width:96px;height:148px}.r11-coach-copy h2{font-size:21px}.r11-coach-copy ul{font-size:12px;line-height:1.45}.r11-strategy{grid-template-columns:1fr}.r11-strategy .r11-btn{min-height:48px}.r11-goal-title{font-size:70px}.r11-goal-score{font-size:44px}.r11-save-zones .r11-btn{font-size:13px;min-height:66px}.r11-authority{font-size:7px}.r11-mode-grid{grid-template-columns:1fr 1fr}.r11-hub-card{padding:16px}.r11-mode-grid .r11-btn{min-height:84px}
}
@media(orientation:landscape) and (max-height:520px){
  .r11-scorebar{height:66px;padding:8px 16px}.r11-team-badge{width:38px;height:38px}.r11-name{font-size:14px}.r11-score-mid b{font-size:28px}.r11-close,.r11-sound{top:8px;width:40px;height:40px}.r11-close{right:10px}.r11-sound{right:56px}.r11-main{inset:62px 0 0;padding:8px 14px 20px}.r11-rival-card{padding:12px 18px}.r11-rival-head{font-size:28px}.r11-rival-player img{width:72px;height:72px}.r11-rival-player b{font-size:15px}.r11-rival-banner{padding:7px;font-size:15px}.r11-primary-cta{margin-top:8px;min-height:48px}.r11-countdown{margin-top:4px;padding:5px 18px}.r11-countdown b{font-size:32px}.r11-faceoff-instruction{font-size:22px;margin:4px}.r11-tap{height:54px;font-size:19px}.r11-action-rail .r11-btn{min-height:56px;font-size:13px;padding:6px}.r11-action-rail .r11-btn b{font-size:15px}.r11-ice-meter{top:72px;width:50px;padding:6px;left:10px}.r11-ice-meter b{font-size:20px}.r11-ice-bars i{height:5px}.r11-live-card{top:72px;width:82px;right:10px;padding:4px}.r11-live-card img{aspect-ratio:.75}.r11-live-card b{font-size:11px}.r11-save-zones .r11-btn{min-height:56px;font-size:13px}.r11-swipe{font-size:14px;margin-top:4px}.r11-duel .r11-main{padding-top:66px}.r11-duel-wrap{width:min(750px,92vw);gap:10px}.r11-duel-card{max-height:220px}.r11-duel-card img{height:220px;aspect-ratio:auto;object-fit:contain;object-position:center;background:#020812}.r11-duel-center .r11-vs{font-size:38px}.r11-duel-stat span{padding:4px 7px;font-size:11px}.r11-timing{margin-top:5px}.r11-timing b{font-size:22px}.r11-timeline{height:14px}.r11-goal-title{font-size:72px}.r11-goal-score{font-size:38px}.r11-goal-card{margin-top:4px;padding:5px 10px}.r11-goal-card img{width:45px;height:auto;aspect-ratio:.685}.r11-momentum{margin-top:7px}.r11-momentum-line{height:12px}.r11-momentum b{font-size:20px}.r11-coach-card{grid-template-columns:90px 1fr;padding:10px;gap:10px}.r11-coach-card img{width:90px;height:125px}.r11-coach-copy h2{font-size:19px}.r11-coach-copy ul{font-size:11px;line-height:1.35;margin:4px 0}.r11-strategy{gap:5px}.r11-strategy .r11-btn{min-height:44px;padding:5px;font-size:9px}.r11-authority{bottom:3px}.r11-hub-card{padding:12px;max-width:700px}.r11-hub-card .r11-title{font-size:36px}.r11-mode-grid{grid-template-columns:repeat(4,1fr);gap:6px}.r11-mode-grid .r11-btn{min-height:75px;padding:8px}.r11-mode-grid b{font-size:15px}.r11-mode-grid span{font-size:9px}.r11-ready-line{margin:7px 0}.r11-code{font-size:24px;padding:7px;margin:6px 0}
}
@keyframes spin{to{transform:rotate(360deg)}}
/* V28.11 real application shell — replaces legacy PNG/hotspot navigation after auth */
#iceAppV2812{position:fixed;inset:0;z-index:150;display:none;background:#020914;color:#fff;font-family:Arial,Helvetica,sans-serif;overflow:hidden}#iceAppV2812.open{display:block}.a11{position:absolute;inset:0;display:flex;flex-direction:column;background:radial-gradient(circle at 70% -10%,rgba(29,124,190,.24),transparent 34%),#020914}.a11-scroll{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:calc(18px + env(safe-area-inset-top)) 15px 105px;scrollbar-width:none}.a11-scroll::-webkit-scrollbar{display:none}.a11-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.a11-brand{font-size:27px;font-weight:1000;font-style:italic;letter-spacing:-.045em}.a11-brand span{color:#68dcff}.a11-avatar{width:46px;height:46px;border-radius:50%;border:1px solid rgba(115,214,255,.42);background:url('assets/revolution-v2811/rival-dallas.jpg') center/cover;box-shadow:0 0 24px rgba(56,189,255,.2)}.a11-eyebrow{font-size:10px;letter-spacing:.2em;color:#6edcff;font-weight:800;text-transform:uppercase}.a11-h1{font-size:34px;line-height:.98;margin:4px 0 7px;font-weight:1000;letter-spacing:-.045em}.a11-muted{color:#9ab0c2;font-size:13px;line-height:1.45}.a11-card{border:1px solid rgba(94,197,249,.25);background:linear-gradient(180deg,rgba(7,27,46,.9),rgba(3,14,26,.96));border-radius:20px;box-shadow:0 16px 44px rgba(0,0,0,.35);overflow:hidden}.a11-hero{min-height:228px;position:relative;padding:18px;background:linear-gradient(90deg,rgba(1,13,27,.94),rgba(1,13,27,.28)),url('assets/revolution-v2811/faceoff-scene.jpg') center/cover}.a11-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(1,9,18,.78));pointer-events:none}.a11-hero>*{position:relative;z-index:2}.a11-hero h2{font-size:36px;line-height:.92;margin:9px 0 8px;font-style:italic;font-weight:1000;max-width:260px}.a11-hero .a11-btn{position:absolute;left:18px;bottom:18px;width:190px}.a11-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.a11-section{margin-top:16px}.a11-section-title{font-weight:900;font-size:17px;margin-bottom:9px;display:flex;justify-content:space-between;align-items:center}.a11-section-title small{font-size:10px;color:#6dd9ff;letter-spacing:.12em}.a11-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.a11-feature{padding:13px;min-height:105px;position:relative}.a11-feature b{display:block;font-size:17px}.a11-feature small{color:#88a7ba}.a11-feature strong{display:block;color:#68dcff;margin-top:10px;font-size:22px}.a11-card-strip{display:flex;gap:10px;overflow:auto;padding-bottom:2px;scrollbar-width:none}.a11-mini-card{width:118px;flex:none;border-radius:15px;overflow:hidden;border:1px solid rgba(105,198,245,.28);background:#071524}.a11-mini-card img{width:100%;height:155px;object-fit:cover;display:block}.a11-mini-card div{padding:8px}.a11-mini-card b{font-size:13px}.a11-mini-card small{display:block;color:#69d9ff;font-size:9px;margin-top:2px}.a11-nav{position:absolute;z-index:20;left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom));height:78px;border:1px solid rgba(108,205,255,.26);border-radius:25px;background:rgba(3,16,29,.94);backdrop-filter:blur(18px);display:grid;grid-template-columns:repeat(5,1fr);padding:6px;box-shadow:0 16px 50px rgba(0,0,0,.5)}.a11-nav button{background:transparent;border:0;color:#708a9f;border-radius:18px;font-size:10px;font-weight:800;letter-spacing:.08em}.a11-nav button i{display:block;font-style:normal;font-size:22px;margin-bottom:4px}.a11-nav button.active{color:white;background:linear-gradient(180deg,rgba(19,106,162,.56),rgba(8,37,62,.9));box-shadow:inset 0 0 18px rgba(65,206,255,.1)}.a11-nav button.active i{color:#61dcff;text-shadow:0 0 14px rgba(64,206,255,.5)}
.a11-play-hero{padding:18px;background:linear-gradient(180deg,rgba(3,16,29,.2),rgba(3,16,29,.88)),url('assets/revolution-v2811/arena-hub.jpg') center/cover;min-height:250px;position:relative}.a11-play-hero h2{font-size:42px;font-style:italic;line-height:.9;margin:7px 0}.a11-play-hero .a11-btn{position:absolute;bottom:16px;left:16px;right:16px}.a11-lineup{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:11px}.a11-lineup img{width:100%;height:128px;object-fit:cover;border-radius:10px}.a11-lineup span{display:block;text-align:center;font-size:10px;font-weight:900;margin-top:5px}.a11-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.a11-stat{padding:11px}.a11-stat small{display:block;color:#73dbff;font-size:9px;letter-spacing:.12em}.a11-stat b{display:block;font-size:15px;margin-top:5px}.a11-progress{height:5px;background:#0b263c;border-radius:99px;margin-top:7px;overflow:hidden}.a11-progress i{display:block;height:100%;background:linear-gradient(90deg,#1a9aff,#64e8ff);width:72%}
.a11-collection-tools{display:flex;gap:7px;overflow:auto;margin:12px 0}.a11-chip{border:1px solid rgba(94,199,253,.28);background:#061a2c;color:#aec3d2;border-radius:999px;padding:9px 13px;white-space:nowrap;font-weight:800;font-size:11px}.a11-chip.active{color:white;border-color:#64ddff;background:#0c3c5e}.a11-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.a11-collection-card{position:relative;border-radius:17px;overflow:hidden;background:#071524;border:1px solid rgba(104,195,242,.26)}.a11-collection-card img{width:100%;height:225px;object-fit:cover;display:block}.a11-collection-card .info{padding:10px}.a11-collection-card b{font-size:14px}.a11-collection-card small{display:block;color:#70dcff;font-size:9px;margin-top:3px}.a11-badge{position:absolute;top:8px;right:8px;border-radius:999px;padding:5px 7px;font-size:8px;font-weight:900;background:rgba(3,16,29,.86);border:1px solid #6be2ff;color:#86e8ff}
.a11-scan-zone{padding:20px;text-align:center;min-height:310px;display:grid;place-items:center;background:linear-gradient(180deg,rgba(3,18,32,.64),rgba(2,10,20,.96)),url('assets/revolution-v2811/mcdavid-card.jpg') center/cover}.a11-scan-reticle{width:210px;height:270px;border:2px solid #65ddff;border-radius:18px;position:relative;box-shadow:0 0 35px rgba(58,205,255,.2),inset 0 0 30px rgba(58,205,255,.08)}.a11-scan-reticle::before,.a11-scan-reticle::after{content:"";position:absolute;left:15px;right:15px;height:2px;background:linear-gradient(90deg,transparent,#74e9ff,transparent);box-shadow:0 0 12px #52d8ff}.a11-scan-reticle::before{top:33%;animation:scanline 2.2s ease-in-out infinite}.a11-scan-reticle::after{bottom:33%;opacity:.45}@keyframes scanline{50%{top:67%}}
.a11-profile-hero{padding:18px;text-align:center;background:radial-gradient(circle at 50% 10%,rgba(39,142,207,.27),transparent 42%),#061321}.a11-profile-pic{width:96px;height:96px;border-radius:50%;margin:auto;background:url('assets/revolution-v2811/rival-dallas.jpg') center/cover;border:3px solid #5bdcff;box-shadow:0 0 34px rgba(76,208,255,.26)}.a11-profile-hero h2{margin:8px 0 1px;font-size:27px}.a11-rankline{display:flex;justify-content:center;gap:20px;margin-top:13px}.a11-rankline div b{display:block;font-size:21px}.a11-rankline div small{color:#8fa7b8;font-size:9px;letter-spacing:.12em}.a11-form{display:grid;gap:10px;padding:14px}.a11-form label{font-size:10px;color:#8fa8b9;letter-spacing:.12em;text-transform:uppercase}.a11-form input,.a11-form select{width:100%;height:46px;margin-top:5px;border-radius:12px;border:1px solid rgba(105,196,243,.3);background:#051728;color:white;padding:0 12px;font-size:14px}.a11-save-state{min-height:18px;color:#69dfff;font-size:11px;text-align:center}.a11-btn{appearance:none;border:1px solid #54d8ff;background:linear-gradient(180deg,#0d8ed1,#07527e);color:white;border-radius:14px;min-height:48px;padding:10px 14px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.a11-btn.gold{border-color:#ffd36a;background:linear-gradient(#a66c16,#6b3f0a)}.a11-btn.ghost{background:#071c30;border-color:rgba(105,200,249,.3)}
@media(min-width:700px){#iceAppV2812{left:50%;transform:translateX(-50%);width:min(520px,100vw);box-shadow:0 0 80px #000}.a11-scroll{padding-left:20px;padding-right:20px}}

/* V28.12 release pass: tactile/game-feel parity */
.r11-btn{touch-action:manipulation;transition:transform .11s ease,filter .11s ease,box-shadow .11s ease}.r11-btn:active{transform:translateY(1px) scale(.985);filter:brightness(1.15)}.r11-btn:disabled{opacity:.55;filter:saturate(.5)}
.r11-tap.live{border-color:#dffcff!important;box-shadow:0 0 0 2px rgba(105,230,255,.35),0 0 48px rgba(61,224,255,.72)!important;animation:r12pulse .22s ease-out 2}@keyframes r12pulse{50%{transform:scale(1.025)}}
.r11-countdown b{font-variant-numeric:tabular-nums}.r12-reaction{position:absolute;right:24px;top:104px;z-index:28;display:grid;grid-template-columns:auto auto;align-items:center;gap:4px 10px;padding:10px 13px;border-radius:15px;border:1px solid rgba(170,213,255,.32);background:rgba(3,14,26,.88);box-shadow:0 16px 40px #0008}.r12-reaction small{grid-column:1/3;font-size:8px;letter-spacing:.14em;color:#a6bfd0}.r12-reaction b{font-size:16px}.r12-reaction span{font-size:27px}
.r11-timeline{position:relative;overflow:visible}.r11-timeline:after{content:"";position:absolute;left:8%;top:-7px;width:4px;height:28px;border-radius:3px;background:#fff;box-shadow:0 0 14px #fff;animation:r12timing 1.7s ease-in-out infinite alternate}@keyframes r12timing{to{left:90%}}
.r11-shell{will-change:opacity,transform}.r11-bg{will-change:transform}.r11-action-rail,.r11-save-zones{-webkit-user-select:none;user-select:none}
@media(max-width:520px){.r12-reaction{right:10px;top:82px;padding:7px 9px}.r12-reaction b{font-size:12px}.r12-reaction span{font-size:22px}}
@media(prefers-reduced-motion:reduce){.r11-grain,.r11-timeline:after,.r11-tap.live{animation:none!important}.r11-transition{animation:none!important}.r11-btn{transition:none!important}}

/* V28.12 application-shell release polish */
#iceAppV2812 button{touch-action:manipulation}.a11-chip{cursor:pointer}.a11-badge.showcase{border-color:#ffd167;color:#ffe09a;background:rgba(55,34,5,.9)}
.a12-empty,.a12-loading{grid-column:1/-1;padding:28px 15px;text-align:center;border:1px dashed rgba(105,200,249,.28);border-radius:16px;color:#92adbe}.a12-empty b{display:block;color:#fff;font-size:15px}.a12-empty span{display:block;margin-top:7px;font-size:11px;line-height:1.5}.a12-loading{font-size:10px;letter-spacing:.16em;color:#64ddff}
.a12-card-placeholder{height:225px;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,#0b3857,#061321 55%,#020b14);font-size:11px;letter-spacing:.16em;color:#6bdfff}
.a11-nav button:active,.a11-chip:active{transform:scale(.97)}
@media(max-width:390px){.a11-h1{font-size:30px}.a11-feature-grid{gap:7px}.a11-grid{gap:7px}.a11-collection-card img,.a12-card-placeholder{height:205px}.a11-nav{height:72px}}


/* V28.19 cinematic staging: broadcast reaction + cleaner competitive hierarchy */
.r12-reaction.premium{grid-template-columns:1fr auto;min-width:190px;background:linear-gradient(135deg,rgba(3,14,26,.94),rgba(21,38,56,.90));border-color:rgba(112,221,255,.38)}
.r12-reaction.premium small{grid-column:1/3}.r12-reaction.premium b{font-size:17px;letter-spacing:.06em}.r12-reaction.premium span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#78e5ff;padding:5px 7px;border:1px solid rgba(120,229,255,.3);border-radius:999px}
.r11-team-badge{font-size:10px!important;letter-spacing:.04em;overflow:hidden}
.r11-authority{backdrop-filter:blur(10px)}


/* V28.20 broadcast presentation polish */
.r11-sound{min-width:82px!important;width:auto!important;padding:0 10px!important;display:flex!important;align-items:center;justify-content:center;gap:7px;font-size:8px!important;font-weight:900!important;letter-spacing:.14em!important}
.r11-sound i{width:7px;height:7px;border-radius:50%;background:#66e2ff;box-shadow:0 0 12px rgba(102,226,255,.8)}
.r11-sound span{font-style:normal}.r11-sound:hover{border-color:rgba(112,226,255,.55)}
.r20-puck-drop{width:96px;height:44px;margin:7px auto -3px;position:relative;perspective:200px}.r20-puck-drop:after{content:"";position:absolute;left:8px;right:8px;bottom:5px;height:2px;background:linear-gradient(90deg,transparent,rgba(130,225,255,.65),transparent);box-shadow:0 0 15px rgba(78,205,255,.5)}
.r20-puck-drop i{position:absolute;left:50%;top:1px;width:20px;height:7px;margin-left:-10px;border-radius:50%;background:linear-gradient(#222,#020304);border:1px solid #53616c;box-shadow:0 5px 10px #000;transition:transform .16s cubic-bezier(.2,.8,.2,1),filter .16s}
.r20-puck-drop span{position:absolute;left:50%;bottom:2px;width:34px;height:7px;margin-left:-17px;border-radius:50%;background:rgba(69,205,255,.08);filter:blur(2px)}
.r20-puck-drop.live i{transform:translateY(27px) scaleX(1.18);filter:brightness(1.8)}.r20-puck-drop.live span{background:rgba(105,230,255,.42);box-shadow:0 0 24px #5edfff}
.r11-goal-title{letter-spacing:-.055em;text-shadow:0 0 40px rgba(99,222,255,.25)}
.r11-rival-banner,.r11-authority{letter-spacing:.12em}
.r11-strategy .r11-btn b{font-size:12px;letter-spacing:.05em}.r11-strategy .r11-btn small{font-size:8px;opacity:.75;letter-spacing:.09em}
@media(max-width:520px){.r11-sound{min-width:70px!important;padding:0 7px!important}.r11-sound span{font-size:7px}.r20-puck-drop{transform:scale(.92)}}


/* V28.21 constrained-device mode: preserve art/layout, reduce GPU-heavy effects only */
.ice-constrained .r11-grain{opacity:.035!important;animation:none!important}.ice-constrained .r11-vignette{backdrop-filter:none!important}.ice-constrained .r11-authority{backdrop-filter:none!important}.ice-constrained .r12-reaction{backdrop-filter:none!important}.ice-constrained .r11-shell{will-change:auto}.ice-constrained .r11-bg{will-change:auto}
@media(max-width:430px){.r11-btn,.r11-sound,.r11-close{touch-action:manipulation}.r11-main{overscroll-behavior:none}}


/* V28.22 gameplay-feel pass: measured timing, physical save gestures, impact response */
.r22-faceoff-grade{height:38px;margin-top:8px;text-align:center;opacity:0;transform:translateY(5px);transition:opacity .16s ease,transform .16s ease}.r22-faceoff-grade b{display:block;font-size:12px;letter-spacing:.12em}.r22-faceoff-grade span{display:block;margin-top:2px;font-size:10px;color:#9db4c6;font-variant-numeric:tabular-nums}.r22-faceoff-grade.perfect,.r22-faceoff-grade.great,.r22-faceoff-grade.good,.r22-faceoff-grade.early,.r22-faceoff-grade.late{opacity:1;transform:none}.r22-faceoff-grade.perfect b{color:#e8fcff;text-shadow:0 0 16px #5de5ff}.r22-faceoff-grade.great b{color:#70efa9}.r22-faceoff-grade.good b{color:#ffd477}.r22-faceoff-grade.early b,.r22-faceoff-grade.late b{color:#ff8792}
.r11-faceoff.r22-impact .r11-bg{animation:r22camhit .24s cubic-bezier(.2,.8,.2,1)}.r11-faceoff.r22-perfect .r11-vignette{box-shadow:inset 0 0 90px rgba(74,224,255,.18)}@keyframes r22camhit{0%{transform:scale(1)}35%{transform:scale(1.018) translateY(1px)}100%{transform:scale(1)}}
.r22-goalie-stage{touch-action:pan-y pinch-zoom}.r22-goalie-stage.r22-save-hit .r11-save-zones{animation:r22save .26s ease-out}.r22-goalie-stage.r22-save-hit .r11-bg{animation:r22goaliecam .26s ease-out}@keyframes r22save{40%{transform:scale(1.025)}100%{transform:none}}@keyframes r22goaliecam{35%{transform:scale(1.014)}100%{transform:none}}
.r11-swipe{transition:color .15s,text-shadow .15s}.r22-save-hit .r11-swipe{color:#dffcff;text-shadow:0 0 18px #66e4ff}
@media(prefers-reduced-motion:reduce){.r11-faceoff.r22-impact .r11-bg,.r22-goalie-stage.r22-save-hit .r11-save-zones,.r22-goalie-stage.r22-save-hit .r11-bg{animation:none!important}}


/* V28.23 visual-parity + final-horn pass */
.r11-rivalry .r11-bg{filter:brightness(.74) saturate(1.02) contrast(1.04)}
.r11-rival-card{background:linear-gradient(120deg,rgba(4,27,48,.88),rgba(8,12,22,.86) 50%,rgba(53,13,20,.84));box-shadow:0 24px 70px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.08)}
.r11-faceoff .r11-bg,.r11-possession .r11-bg,.r11-goalie .r11-bg{filter:brightness(.98) contrast(1.07) saturate(1.02)}
.r11-duel .r11-bg{filter:brightness(.47) saturate(1.05) blur(.35px)}.r11-coach .r11-bg{filter:brightness(.38) saturate(.98) blur(.7px)}.r11-goal .r11-bg{filter:brightness(.64) saturate(1.17)}
.r11-scorebar{background:linear-gradient(180deg,rgba(1,7,14,.88),rgba(2,12,23,.62),transparent);border-bottom:1px solid rgba(123,211,255,.08)}
.r11-panel{background:linear-gradient(180deg,rgba(5,22,39,.84),rgba(2,10,20,.91));box-shadow:0 22px 70px rgba(0,0,0,.50),inset 0 1px rgba(255,255,255,.07)}
.r11-duel-card{box-shadow:0 0 0 1px rgba(255,255,255,.06),0 0 42px rgba(62,245,156,.25)}.r11-duel-card.you{box-shadow:0 0 0 1px rgba(255,255,255,.06),0 0 44px rgba(244,178,56,.28)}
.r11-btn{box-shadow:inset 0 1px rgba(255,255,255,.16),0 8px 24px rgba(0,0,0,.22)}
.r11-shell::after{content:"";position:absolute;z-index:4;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 0 38%,rgba(151,228,255,.035) 44%,transparent 50% 64%,rgba(255,209,135,.028) 70%,transparent 76%);mix-blend-mode:screen}
.r23-final-card{width:min(760px,92vw);margin:auto;text-align:center;padding:24px;border-radius:24px;border:1px solid rgba(97,211,255,.30);background:radial-gradient(circle at 50% 8%,rgba(46,185,255,.18),transparent 36%),linear-gradient(180deg,rgba(4,22,38,.94),rgba(2,9,18,.97));box-shadow:0 30px 90px rgba(0,0,0,.65)}.r23-final-card.loss{background:radial-gradient(circle at 50% 8%,rgba(255,73,91,.14),transparent 36%),linear-gradient(180deg,rgba(33,11,18,.94),rgba(2,9,18,.97));border-color:rgba(255,91,106,.30)}
.r11-final .r11-bg{background-image:url('assets/revolution-v2811/arena-hub.jpg');filter:brightness(.44) saturate(1.08)}.r11-final .r11-main{justify-content:center}
.r23-final-head{font-size:clamp(54px,12vw,112px);font-weight:1000;font-style:italic;letter-spacing:-.055em;margin:3px 0;text-shadow:0 7px 30px rgba(0,0,0,.55);color:#73e8ff}.r23-final-card.loss .r23-final-head{color:#ff7c88}
.r23-final-score{display:flex;justify-content:center;align-items:center;gap:24px;margin:6px 0 12px}.r23-final-score b{font-size:60px;line-height:1}.r23-final-score span{font-size:11px;letter-spacing:.18em;color:#91adbf}.r23-final-rival{display:flex;align-items:center;justify-content:center;gap:18px}.r23-final-rival div{min-width:140px}.r23-final-rival small{display:block;font-size:8px;letter-spacing:.16em;color:#839bad}.r23-final-rival b{font-size:18px}.r23-final-rival i{display:block;width:54px;height:1px;background:linear-gradient(90deg,transparent,#6edfff,transparent)}.r23-final-card p{color:#aebfcb;font-size:12px;line-height:1.5;margin:12px auto;max-width:540px}.r23-final-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-width:540px;margin:0 auto}.r11-btn.ghost{background:linear-gradient(180deg,#0a2136,#061525);border-color:rgba(104,198,247,.32)}
@media(max-width:520px){.r23-final-card{padding:18px 14px}.r23-final-head{font-size:54px}.r23-final-score b{font-size:46px}.r23-final-actions{grid-template-columns:1fr}.r23-final-rival div{min-width:100px}}


/* V28.24 iPhone lifecycle + safe-area hardening */
#iceRevolutionV2811,#iceAppV2812,#iceScannerOverlay{overscroll-behavior:none}
@supports(height:100svh){#iceRevolutionV2811,#iceAppV2812{height:100svh;min-height:100svh}}
@supports(height:100dvh){#iceRevolutionV2811,#iceAppV2812{height:100dvh;min-height:100dvh}}
@media(orientation:landscape) and (max-height:430px){.r11-authority{bottom:max(2px,env(safe-area-inset-bottom));opacity:.64}.r11-main{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.r11-scorebar{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.r23-final-card{max-height:calc(100dvh - 82px);overflow:auto}}

/* ICEDYNASTY V29.0 — MOBILE UX RESET
   Priority: full-card visibility, frictionless vertical scrolling, deliberate horizontal rails, safe-area breathing room. */
#iceAppV2812{overflow:hidden!important;touch-action:pan-y;background:#020914}
#iceAppV2812 .a11{min-height:0;height:100%;overflow:hidden}
#iceAppV2812 .a11-scroll{
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  touch-action:pan-y!important;
  overscroll-behavior-y:auto!important;
  overscroll-behavior-x:none!important;
  -webkit-overflow-scrolling:touch!important;
  padding:calc(14px + env(safe-area-inset-top)) 12px calc(112px + env(safe-area-inset-bottom))!important;
  scroll-padding-bottom:calc(112px + env(safe-area-inset-bottom));
}
#iceAppV2812 .a11-scroll>*{max-width:100%}
#iceAppV2812 img{-webkit-user-drag:none;user-select:none}

/* Horizontal content should feel intentional rather than fighting page scroll. */
#iceAppV2812 .a11-card-strip,
#iceAppV2812 .a11-collection-tools{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  touch-action:pan-x!important;
  overscroll-behavior-x:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none;
}
#iceAppV2812 .a11-card-strip{scroll-snap-type:x mandatory;gap:9px;padding:2px 1px 8px}
#iceAppV2812 .a11-card-strip::-webkit-scrollbar,
#iceAppV2812 .a11-collection-tools::-webkit-scrollbar{display:none}

/* Never crop card art. The prior object-fit:cover was visibly cutting off cards. */
#iceAppV2812 .a11-mini-card{
  flex:0 0 calc((100% - 18px)/3)!important;
  width:auto!important;
  min-width:0!important;
  scroll-snap-align:start;
  scroll-snap-stop:always;
}
#iceAppV2812 .a11-mini-card img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:0.685!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#030a12;
}
#iceAppV2812 .a11-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:start;
}
#iceAppV2812 .a11-collection-card{min-width:0!important;overflow:hidden!important}
#iceAppV2812 .a11-collection-card img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:0.685!important;
  object-fit:contain!important;
  object-position:center!important;
  background:radial-gradient(circle at 50% 30%,#0b263d,#020812 72%);
}
#iceAppV2812 .a11-collection-card .info{padding:9px 9px 11px!important;min-height:55px}
#iceAppV2812 .a11-collection-card b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#iceAppV2812 .a11-collection-card small{line-height:1.25;min-height:22px}

/* Lineup cards: full art, no face/ratings clipping. */
#iceAppV2812 .a11-lineup{gap:8px!important;padding:10px!important}
#iceAppV2812 .a11-lineup img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:0.685!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#020812;
}

/* Reduce crowding so the page can breathe and the bottom nav does not eat content. */
#iceAppV2812 .a11-section{margin-top:14px!important}
#iceAppV2812 .a11-head{margin-bottom:11px!important}
#iceAppV2812 .a11-hero{min-height:216px!important}
#iceAppV2812 .a11-feature{min-height:96px!important}
#iceAppV2812 .a11-nav{
  left:8px!important;right:8px!important;
  bottom:max(6px,env(safe-area-inset-bottom))!important;
  height:72px!important;
  border-radius:22px!important;
}

/* Paywall / sheets: actual iPhone scrolling, compact above-the-fold actions. */
.modal,.series,.cinematic{touch-action:pan-y!important;overscroll-behavior:none!important}
.modal-card,.series-card,.cinematic-card{
  overflow-y:auto!important;overflow-x:hidden!important;
  touch-action:pan-y!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch!important;
  max-height:calc(100dvh - 10px)!important;
  scroll-padding-bottom:calc(24px + env(safe-area-inset-bottom));
}
.paywall-hero{padding:18px 14px!important;border-radius:18px!important}
.paywall-hero h2{margin:7px 0!important;font-size:24px!important}
.paywall-price{font-size:38px!important}
.feature-list{gap:7px!important;margin-top:12px!important}
.feature-list>div{padding:9px 10px!important;line-height:1.25!important}
.modal-card .subtle{font-size:12px!important;margin:12px 0!important}
.wallet-button,.modal-card .secondary{min-height:48px!important}

@media(max-width:380px){
  #iceAppV2812 .a11-scroll{padding-left:10px!important;padding-right:10px!important}
  #iceAppV2812 .a11-mini-card{flex-basis:calc((100% - 14px)/3)!important}
  #iceAppV2812 .a11-card-strip{gap:7px}
  #iceAppV2812 .a11-grid{gap:8px!important}
  #iceAppV2812 .a11-collection-card .info{padding:8px!important}
}

/* ICEDYNASTY V29.1 — REAL MOBILE UI REPAIR
   Removes nested horizontal scroll traps, guarantees full card art, and makes every visible shell control a real button. */
#iceAppV2812{position:fixed!important;inset:0!important;overflow:hidden!important;background:#020914!important;touch-action:auto!important;-webkit-user-select:none;user-select:none}
#iceAppV2812 *{box-sizing:border-box}
#iceAppV2812 .a11{position:absolute!important;inset:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;min-width:0;background:radial-gradient(circle at 72% -8%,rgba(27,133,204,.22),transparent 32%),linear-gradient(180deg,#03101d,#020914 34%,#01060c)!important}
#iceAppV2812 .a11-scroll{flex:1 1 auto!important;min-height:0!important;width:100%!important;overflow-y:scroll!important;overflow-x:hidden!important;touch-action:pan-y pinch-zoom!important;overscroll-behavior-y:contain!important;-webkit-overflow-scrolling:touch!important;padding:calc(14px + env(safe-area-inset-top)) 12px calc(104px + env(safe-area-inset-bottom))!important;scroll-padding-top:16px;scroll-padding-bottom:calc(104px + env(safe-area-inset-bottom));}
#iceAppV2812 .a11-scroll::-webkit-scrollbar{display:none}
#iceAppV2812 button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer}
#iceAppV2812 button:focus-visible{outline:2px solid #79e5ff;outline-offset:2px}
#iceAppV2812 button:disabled{opacity:.55;cursor:default}
#iceAppV2812 .a11-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 9px!important}
#iceAppV2812 .a11-brand{font-size:clamp(24px,7vw,30px)!important;line-height:1;font-weight:1000;font-style:italic;letter-spacing:-.045em}
#iceAppV2812 .a11-brand span{color:#69dcff}
#iceAppV2812 .a11-avatar{flex:0 0 44px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(115,214,255,.45);background:url('assets/revolution-v2811/rival-dallas.jpg') center/cover no-repeat;box-shadow:0 0 22px rgba(56,189,255,.2);padding:0}
#iceAppV2812 .a11-page-kicker{margin-bottom:9px}
#iceAppV2812 .a11-eyebrow{font-size:9px!important;line-height:1.25;letter-spacing:.18em;color:#6edcff;font-weight:900;text-transform:uppercase}
#iceAppV2812 .a11-h1{font-size:clamp(29px,9vw,38px)!important;line-height:.98!important;margin:4px 0 8px!important;letter-spacing:-.045em}
#iceAppV2812 .a11-muted{font-size:12px!important;line-height:1.47!important;color:#9ab0c2}
#iceAppV2812 .a11-card{border:1px solid rgba(94,197,249,.25);background:linear-gradient(180deg,rgba(7,27,46,.94),rgba(3,14,26,.98));border-radius:18px;box-shadow:0 12px 34px rgba(0,0,0,.32)}
#iceAppV2812 .a11-section{margin-top:15px!important}
#iceAppV2812 .a11-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin:0 1px 8px!important;font-size:15px!important;font-weight:950}
#iceAppV2812 .a11-section-title small{font-size:8px!important;letter-spacing:.12em;color:#6dd9ff;text-align:right}

/* Hero: button always visible and never covered by image layers. */
#iceAppV2812 .a11-hero{position:relative;min-height:218px!important;padding:16px!important;overflow:hidden;background:linear-gradient(90deg,rgba(1,13,27,.96),rgba(1,13,27,.30)),url('assets/revolution-v2811/faceoff-scene.jpg') center/cover no-repeat!important}
#iceAppV2812 .a11-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(1,9,18,.88));pointer-events:none}
#iceAppV2812 .a11-hero>*{position:relative;z-index:2}
#iceAppV2812 .a11-hero h1{max-width:270px;margin:8px 0 6px;font-size:clamp(35px,10vw,45px);font-style:italic;font-weight:1000;line-height:.88;letter-spacing:-.045em}
#iceAppV2812 .a11-hero p{max-width:245px;margin:0 0 54px}
#iceAppV2812 .a11-hero .a11-btn{position:absolute;left:16px;bottom:15px;width:min(210px,calc(100% - 32px))}
#iceAppV2812 .a11-btn{display:grid;place-items:center;min-height:50px;border-radius:14px;border:1px solid #54d8ff;background:linear-gradient(180deg,#0d8ed1,#07527e);padding:10px 14px;font-weight:950;letter-spacing:.055em;text-transform:uppercase;box-shadow:0 8px 24px rgba(0,0,0,.26)}
#iceAppV2812 .a11-btn.gold{border-color:#ffd36a;background:linear-gradient(#a66c16,#6b3f0a)}
#iceAppV2812 .a11-btn.ghost{width:100%;background:#071c30;border-color:rgba(105,200,249,.3)}

/* Profile tiles are real buttons. */
#iceAppV2812 .a11-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
#iceAppV2812 .a11-feature{position:relative;min-height:96px!important;padding:12px!important;text-align:left;border:1px solid rgba(94,197,249,.25)}
#iceAppV2812 button.a11-feature:active{transform:scale(.985);border-color:#67dcff}
#iceAppV2812 .a11-feature small{display:block;font-size:8px;color:#88a7ba;letter-spacing:.08em}
#iceAppV2812 .a11-feature b{display:block;margin-top:5px;font-size:15px;line-height:1.2}
#iceAppV2812 .a11-feature strong{display:block;margin-top:9px;color:#68dcff;font-size:20px}

/* Critical V29.1 change: no horizontal card rail on phone. Cards cannot land half off-screen. */
#iceAppV2812 .a11-card-strip{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;overflow:visible!important;padding:0!important;touch-action:pan-y!important;scroll-snap-type:none!important}
#iceAppV2812 .a11-mini-card{display:flex!important;flex-direction:column!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;overflow:hidden;border-radius:15px;border:1px solid rgba(105,198,245,.28);background:#071524;text-align:left;scroll-snap-align:none!important}
#iceAppV2812 .a11-card-art{display:block;position:relative;width:100%;aspect-ratio:.685;overflow:hidden;background:radial-gradient(circle at 50% 28%,#0c2d47,#020812 72%)}
#iceAppV2812 .a11-card-art img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#020812}
#iceAppV2812 .a11-card-copy{display:block;padding:8px 9px 9px;min-height:52px}
#iceAppV2812 .a11-card-copy b{display:block;font-size:12px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#iceAppV2812 .a11-card-copy small{display:block;margin-top:3px;color:#69d9ff;font-size:8px;line-height:1.25;white-space:normal}
#iceAppV2812 .a11-mini-card:active,#iceAppV2812 .a11-collection-card:active{transform:scale(.985);border-color:#69dfff}

#iceAppV2812 .a11-challenge{display:grid;width:100%;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:13px;text-align:left;color:#fff}
#iceAppV2812 .a11-challenge small{display:block;color:#6ddcff;font-size:8px;letter-spacing:.13em}
#iceAppV2812 .a11-challenge b{display:block;margin-top:4px;font-size:15px}
#iceAppV2812 .a11-challenge span{display:block;margin-top:3px;color:#8faabe;font-size:9px}
#iceAppV2812 .a11-challenge strong{font-size:17px;color:#7ee5ff;white-space:nowrap}
#iceAppV2812 .a11-challenge .a11-progress{grid-column:1/-1;margin-top:0}

/* Collection filters wrap. No horizontal touch trap. */
#iceAppV2812 .a11-collection-tools{display:flex!important;flex-wrap:wrap!important;gap:7px!important;overflow:visible!important;margin:12px 0 13px!important;touch-action:pan-y!important}
#iceAppV2812 .a11-chip{min-height:38px;padding:7px 11px;border:1px solid rgba(94,199,253,.28);background:#061a2c;color:#aec3d2;border-radius:999px;white-space:nowrap;font-weight:850;font-size:9px}
#iceAppV2812 .a11-chip.active{color:#fff;border-color:#64ddff;background:#0c3c5e}
#iceAppV2812 .a11-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;align-items:start!important;overflow:visible!important}
#iceAppV2812 .a11-collection-card{display:flex;flex-direction:column;position:relative;min-width:0!important;width:100%;padding:0;overflow:hidden!important;border-radius:15px;background:#071524;border:1px solid rgba(104,195,242,.26);text-align:left}
#iceAppV2812 .a11-collection-card .a11-card-art{aspect-ratio:.685!important}
#iceAppV2812 .a11-collection-card .info{display:block;padding:8px 8px 10px!important;min-height:67px!important}
#iceAppV2812 .a11-collection-card .info b{display:block;font-size:12px!important;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#iceAppV2812 .a11-collection-card .info small{display:block;margin-top:3px;color:#70dcff;font-size:8px!important;line-height:1.25;min-height:0!important}
#iceAppV2812 .a11-collection-card .info em{display:block;margin-top:4px;color:#718da0;font-size:7px;font-style:normal;letter-spacing:.07em}
#iceAppV2812 .a11-badge{z-index:3;top:6px;right:6px;padding:4px 6px;font-size:7px}
#iceAppV2812 .a12-card-placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:0;background:linear-gradient(145deg,#0a2235,#03101b);font-size:10px;letter-spacing:.1em;color:#80a6bb}

/* Play screen: full card art, real edit button, configuration controls are tappable. */
#iceAppV2812 .a11-play-hero{position:relative;min-height:220px!important;padding:16px!important;overflow:hidden;background:linear-gradient(180deg,rgba(3,16,29,.16),rgba(3,16,29,.93)),url('assets/revolution-v2811/arena-hub.jpg') center/cover no-repeat}
#iceAppV2812 .a11-play-hero h1{font-size:clamp(38px,11vw,48px);font-style:italic;line-height:.88;margin:7px 0}
#iceAppV2812 .a11-play-hero p{max-width:290px;margin:0 0 60px}
#iceAppV2812 .a11-play-hero .a11-btn{position:absolute;left:15px;right:15px;bottom:15px;width:auto}
#iceAppV2812 .a11-lineup{position:relative;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;width:100%;padding:9px 9px 39px!important;text-align:left;border:1px solid rgba(94,197,249,.25)}
#iceAppV2812 .a11-lineup-card{display:block;min-width:0}
#iceAppV2812 .a11-lineup-card .a11-card-art{aspect-ratio:.685}
#iceAppV2812 .a11-lineup-card img{width:100%!important;height:100%!important;object-fit:contain!important;border-radius:0!important}
#iceAppV2812 .a11-lineup-card b{display:block;margin-top:5px;text-align:center;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#iceAppV2812 .a11-lineup-card small{display:block;text-align:center;color:#68dcff;font-size:7px;margin-top:2px}
#iceAppV2812 .a11-lineup-edit{position:absolute;left:9px;right:9px;bottom:8px;height:24px;display:grid;place-items:center;border-radius:8px;background:rgba(54,183,242,.12);color:#73ddff;font-size:8px;font-weight:950;letter-spacing:.12em}
#iceAppV2812 .a11-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:0}
#iceAppV2812 .a11-stat{min-width:0;padding:10px;text-align:left;color:#fff;border:1px solid rgba(94,197,249,.25)}
#iceAppV2812 .a11-stat small{display:block;color:#73dbff;font-size:7px;letter-spacing:.11em}
#iceAppV2812 .a11-stat b{display:block;margin-top:4px;font-size:11px;line-height:1.2;word-break:normal}
#iceAppV2812 .a11-stat span{display:block;margin-top:6px;color:#718fa3;font-size:7px;text-transform:uppercase;letter-spacing:.08em}
#iceAppV2812 .a11-progress{height:5px;background:#0b263c;border-radius:99px;margin-top:7px;overflow:hidden}
#iceAppV2812 .a11-progress i{display:block;height:100%;background:linear-gradient(90deg,#1a9aff,#64e8ff);border-radius:99px}

/* Scan / profile spacing. */
#iceAppV2812 .a11-scan-zone{min-height:300px!important;padding:17px!important}
#iceAppV2812 .a11-scan-reticle{width:min(210px,66vw);height:auto;aspect-ratio:.78}
#iceAppV2812 .a11-truth{min-height:auto!important}
#iceAppV2812 .a11-profile-hero{padding:16px!important;text-align:center}
#iceAppV2812 .a11-profile-hero h1{margin:8px 0 1px;font-size:26px}
#iceAppV2812 .a11-form{padding:13px!important;gap:10px!important}
#iceAppV2812 .a11-form input,#iceAppV2812 .a11-form select{font-size:16px!important}

/* Bottom nav is stable, compact, and never obscures scroll content. */
#iceAppV2812 .a11-nav{position:absolute!important;z-index:50;left:8px!important;right:8px!important;bottom:max(6px,env(safe-area-inset-bottom))!important;height:68px!important;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:5px;border:1px solid rgba(108,205,255,.26);border-radius:21px!important;background:rgba(3,16,29,.96);backdrop-filter:blur(18px);box-shadow:0 14px 42px rgba(0,0,0,.52)}
#iceAppV2812 .a11-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:56px;padding:3px 1px;border:0;border-radius:15px;background:transparent;color:#708a9f;font-size:7px!important;font-weight:900;letter-spacing:.06em}
#iceAppV2812 .a11-nav button i{display:block;margin:0!important;font-style:normal;font-size:16px!important;line-height:1}
#iceAppV2812 .a11-nav button span{display:block;white-space:nowrap}
#iceAppV2812 .a11-nav button.active{color:#fff;background:linear-gradient(180deg,rgba(19,106,162,.56),rgba(8,37,62,.9));box-shadow:inset 0 0 18px rgba(65,206,255,.1)}
#iceAppV2812 .a11-nav button.active i{color:#61dcff;text-shadow:0 0 12px rgba(64,206,255,.5)}

/* Modals and gameplay: eliminate card cropping and scrolling fights globally. */
.modal,.series,.cinematic{touch-action:pan-y!important;overscroll-behavior:contain!important;padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))!important}
.modal-card,.series-card,.cinematic-card{width:min(100%,520px)!important;max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)))!important;overflow-y:auto!important;overflow-x:hidden!important;touch-action:pan-y!important;overscroll-behavior-y:contain!important;-webkit-overflow-scrolling:touch!important;padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}
.modal-head{position:sticky!important;top:-1px;z-index:40;padding:3px 0 10px;background:linear-gradient(180deg,#0b2238 78%,rgba(11,34,56,0))!important}
.modal-close,.close-x{position:relative;z-index:50;min-width:44px!important;min-height:44px!important;display:grid!important;place-items:center!important;touch-action:manipulation!important}
.modal-card button,.series-card button,.cinematic-card button{min-height:48px;touch-action:manipulation}
.slot{grid-template-columns:62px minmax(0,1fr) auto!important}
.slot img{width:62px!important;height:auto!important;aspect-ratio:.685!important;object-fit:contain!important;object-position:center!important;background:#020812!important}
.pick-card{background:#020812!important}.pick-card img{width:100%!important;height:auto!important;aspect-ratio:.685!important;object-fit:contain!important;object-position:center!important;background:#020812!important}
.battle-card{background:#020812}.battle-card img{width:100%!important;height:auto!important;aspect-ratio:.685!important;object-fit:contain!important;object-position:center!important;background:#020812!important}
.card-value-row img,.g7-rep img,.g4-mini-card img{object-fit:contain!important;object-position:center!important;background:#020812!important}
.paywall-hero{padding:15px 12px!important;border-radius:17px!important}.paywall-hero h2{font-size:22px!important;margin:5px 0!important}.paywall-price{font-size:35px!important}.feature-list{gap:6px!important;margin:10px 0!important}.feature-list div{padding:8px 9px!important;font-size:11px!important}.wallet-button{min-height:48px!important;height:auto!important}.choice-grid{gap:8px!important;margin:12px 0!important}.choice{min-height:76px!important;padding:11px!important}.choice strong{font-size:16px!important}

/* Prevent decorative overlays from stealing taps. */
.cine-vignette,.snowfield,.energy-rail,.v20-live-bar,.v20-screen-title,.slash,.ice-snow,.arena-crowd,.paywall-hero:before{pointer-events:none!important}

@media(max-width:370px){
 #iceAppV2812 .a11-scroll{padding-left:9px!important;padding-right:9px!important}
 #iceAppV2812 .a11-card-strip,#iceAppV2812 .a11-grid{gap:7px!important}
 #iceAppV2812 .a11-card-copy{padding:7px!important}
 #iceAppV2812 .a11-card-copy b,#iceAppV2812 .a11-collection-card .info b{font-size:11px!important}
 #iceAppV2812 .a11-status-grid{grid-template-columns:1fr 1fr}.a11-stat:last-child{grid-column:1/-1}
 .slot{grid-template-columns:54px minmax(0,1fr)!important}.slot img{width:54px!important}.slot button{grid-column:1/-1;width:100%!important}
}
@media(min-width:700px){#iceAppV2812{left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(520px,100vw)!important;box-shadow:0 0 80px #000}}


/* ICEDYNASTY V29.2 — GLOBAL CARD VISIBILITY + TOUCH HARDENING */
.r11-live-card img,.r11-duel-card img,.r11-goal-card img,.g1-active-card img,.g4-mini-card img,.g5-hero-card img,.g7-avatar img,.g7-rep img,.battle-card img,.pick-card img,.slot img,.contract-card img,.card-value-row img{object-fit:contain!important;object-position:center!important;background:#020812!important}
.r11-live-card img,.r11-duel-card img,.g1-active-card img,.g5-hero-card img,.g7-avatar img{height:auto!important;aspect-ratio:.685!important}
.r11-goal-card img,.g4-mini-card img,.g7-rep img,.slot img,.card-value-row img{height:auto!important;aspect-ratio:.685!important}


/* ICEDYNASTY V29.3 — MOBILE GAMEPLAY + INTERACTION HARDENING
   Root-cause pass: no screenshot-as-card art, no scroll-locking rink surfaces,
   full-card geometry everywhere, and full-height iPhone/landscape sheets. */
#iceAppV2812 .a11-scroll{
  overscroll-behavior-y:contain!important;
  touch-action:pan-y pinch-zoom!important;
  scrollbar-gutter:stable both-edges;
}
#iceAppV2812 .a11-card-strip,
#iceAppV2812 .a11-collection-tools{
  touch-action:pan-x pan-y!important;
  overscroll-behavior-x:contain!important;
  overscroll-behavior-y:auto!important;
}
#iceAppV2812 .a11-card-art{display:block;width:100%;overflow:hidden;background:#020812}
#iceAppV2812 .a11-mini-card img,
#iceAppV2812 .a11-collection-card img,
#iceAppV2812 .a11-lineup img{
  display:block!important;width:100%!important;height:auto!important;
  aspect-ratio:420/620!important;object-fit:contain!important;object-position:center!important;
  background:radial-gradient(circle at 50% 28%,#0c2a42,#020812 72%)!important;
}
#iceAppV2812 .a11-mini-card,
#iceAppV2812 .a11-collection-card,
#iceAppV2812 .a11-lineup-card{contain:layout paint;transform:translateZ(0)}
#iceAppV2812 button{min-height:44px;touch-action:manipulation}
#iceAppV2812 .a11-chip{min-height:42px!important}
#iceAppV2812 .a11-nav button{min-height:58px!important}
#iceAppV2812 .a11-grid{padding-bottom:10px}

/* Legacy dialogs remain reachable from the native shell; make them phone-native rather than fixed web panels. */
.modal.open,.series.open,.cinematic.open{align-items:stretch!important;justify-content:center!important;padding:0!important;overflow:hidden!important}
.modal.open .modal-card,.series.open .series-card{
  width:min(100%,560px)!important;height:auto!important;max-height:100dvh!important;
  margin:auto auto 0!important;border-radius:24px 24px 0 0!important;
  overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;
  overscroll-behavior-y:contain!important;touch-action:pan-y pinch-zoom!important;
  padding-bottom:calc(24px + env(safe-area-inset-bottom))!important;
}
.modal button,.series button,.cinematic button{min-height:46px;touch-action:manipulation}

/* The rink needs horizontal skill gestures but must never block a vertical page escape on iPhone. */
.g2-rink,.g4-rink,.r22-goalie-stage{
  touch-action:pan-y pinch-zoom!important;
  overscroll-behavior-y:auto!important;
}
.g2-move,.g4-action,.g4-execute,.g5-btn,.g6-option,.g6-why-btn,.g7-enter{
  min-height:48px!important;touch-action:manipulation!important;
}

/* Card art is always a card, never a crop. */
.battle-card img,.versus img,.result-row img,.contract-card img,
.r11-live-card img,.r11-duel-card img,.r11-goal-card img,.g1-active-card img,
.g4-mini-card img,.g5-hero-card img,.g7-avatar img,.g7-rep img,.pick-card img,.slot img,.card-value-row img{
  object-fit:contain!important;object-position:center!important;background:#020812!important;
}
.battle-card img,.pick-card img,.contract-card img,.g1-active-card img,.g5-hero-card img,.g7-avatar img{
  width:100%!important;height:auto!important;aspect-ratio:420/620!important;
}
.versus img,.result-row img,.g4-mini-card img,.g7-rep img,.slot img,.card-value-row img{
  height:auto!important;aspect-ratio:420/620!important;
}

/* Full-screen gameplay remains vertically recoverable in every state. */
@media(max-width:760px){
  .cinematic.open .cinematic-card{
    width:100%!important;height:100dvh!important;max-height:100dvh!important;min-height:0!important;
    margin:0!important;border-radius:0!important;
    overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;touch-action:pan-y pinch-zoom!important;
    padding-left:max(8px,env(safe-area-inset-left))!important;
    padding-right:max(8px,env(safe-area-inset-right))!important;
    padding-bottom:calc(76px + env(safe-area-inset-bottom))!important;
    scroll-padding-bottom:calc(86px + env(safe-area-inset-bottom));
  }
  .cinematic.g1-revolution.g2-possession-live.g4-duel-live.g5-spectacle-live[data-g5-state] .cinematic-card,
  .cinematic.g6-coach-live[data-g6-state="COACH"] .cinematic-card,
  .cinematic.g7-rivalry-live .cinematic-card{overflow-y:auto!important;overflow-x:hidden!important}
  .g2-rink{min-height:clamp(300px,42dvh,390px)!important}
  .g4-rink{min-height:clamp(310px,45dvh,420px)!important}
  .g5-stage{min-height:min(640px,calc(100dvh - 120px))!important;height:auto!important}
  .g6-stage{min-height:min(670px,calc(100dvh - 116px))!important;height:auto!important}
  .g7-stage{min-height:min(680px,calc(100dvh - 112px))!important;height:auto!important}
  .g4-duel-cards{max-width:46%;overflow:hidden}
  .g4-mini-card{width:58px!important}
  .g4-mini-card img{width:100%!important;height:auto!important}
  .g5-hero-card{align-self:start}
  .g5-main,.g6-main,.g7-lower{min-width:0}
  .g5-center,.g6-headline,.g7-panel{min-width:0}
  .g5-center h2,.g6-headline h2,.g7-panel b{overflow-wrap:anywhere}
}
@media(max-width:370px){
  #iceAppV2812 .a11-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  #iceAppV2812 .a11-mini-card{flex-basis:calc((100% - 14px)/2.35)!important}
  .g2-move-grid,.g4-controls{grid-template-columns:1fr!important}
  .g4-action{min-height:52px!important}
  .g5-main{grid-template-columns:92px minmax(0,1fr)!important}
  .g5-hero-card{width:90px!important}
}
@media(orientation:landscape) and (max-height:500px){
  #iceAppV2812 .a11-scroll{padding-top:max(8px,env(safe-area-inset-top))!important;padding-bottom:calc(88px + env(safe-area-inset-bottom))!important}
  #iceAppV2812 .a11-head{margin-bottom:7px!important}
  #iceAppV2812 .a11-hero{min-height:170px!important}
  #iceAppV2812 .a11-nav{height:62px!important}
  #iceAppV2812 .a11-nav button{min-height:50px!important}
  .cinematic.open .cinematic-card{
    height:100dvh!important;max-height:100dvh!important;
    padding-top:max(54px,calc(env(safe-area-inset-top) + 44px))!important;
    padding-bottom:calc(58px + env(safe-area-inset-bottom))!important;
  }
  .g2-rink,.g4-rink{min-height:240px!important}
  .g5-stage,.g6-stage,.g7-stage{min-height:360px!important}
  .g5-main{min-height:285px!important}.g6-layout,.g7-versus{min-height:0!important}
}

/* V29.3.1 — landscape goal-spectacle escape hatch + touch target normalization */
#iceAppV2812 .a11-chip{min-height:44px!important}
.cinematic.g1-revolution.g2-possession-live.g4-duel-live.g5-spectacle-live[data-g5-state] .cinematic-card{
  overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;
  touch-action:pan-y pinch-zoom!important;overscroll-behavior-y:contain!important;
}
@media(max-width:390px){
  .g4-mini-card:nth-child(2){display:block!important}
  .g4-duel-cards{gap:4px!important;max-width:120px!important}
  .g4-mini-card{width:52px!important}
  .g4-mini-card div{padding:4px!important}
  .g4-mini-card b{font-size:6px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
