@import url('https://fonts.googleapis.com/css2?family=Anton&family=Montserrat:wght@600;700;800;900&display=swap');
:root{--gold:#ffc800;--cyan:#14c7ff;--pink:#ff2d86;--purple:#b53cff;--green:#57e622;--black:#020304}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#000;color:#fff;font-family:Montserrat,Arial,sans-serif}#viewport{width:100vw;height:100vh;overflow:hidden;position:relative}#stage{position:absolute;width:1920px;height:1080px;left:50%;top:50%;transform-origin:center;background:#000;overflow:hidden}.screen{position:absolute;inset:14px;display:grid;grid-template-rows:180px 752px 106px;gap:8px}.panel{position:relative;min-width:0;min-height:0;overflow:hidden;border:3px solid #555;border-radius:18px;background:linear-gradient(180deg,#0b0d0f,#020304);box-shadow:inset 0 0 22px rgba(255,255,255,.03)}.gold{border-color:var(--gold);box-shadow:0 0 14px rgba(255,200,0,.32),inset 0 0 18px rgba(255,190,0,.05)}.cyan{border-color:var(--cyan);box-shadow:0 0 14px rgba(20,199,255,.3)}.pink{border-color:var(--pink);box-shadow:0 0 14px rgba(255,45,134,.34)}.purple{border-color:var(--purple);box-shadow:0 0 14px rgba(181,60,255,.34)}
.topbar{display:grid;grid-template-columns:repeat(5,1fr) 220px 400px;gap:8px}.gift-row{grid-column:1/6;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.gift-card{position:relative;overflow:hidden;border:3px solid var(--gold);border-radius:18px;background:#030405;box-shadow:0 0 14px rgba(255,200,0,.3)}.gift-card .icon{position:absolute;inset:0}.gift-card .icon img{width:100%;height:100%;object-fit:fill}.gift-card .name{display:none}.gift-point-badge{position:absolute;top:8px;right:12px;width:38px;height:38px;display:grid;place-items:center;border:3px solid var(--gold);border-radius:50%;background:#050505;color:#fff;font:400 22px Anton}.subs{grid-column:6;text-align:center;padding:14px 8px}.subs span{display:block;color:#50d8ff;font:400 23px/25px Anton}.subs b{display:block;font:400 78px/82px Anton;margin-top:2px}.road{grid-column:7;padding:13px 22px;text-align:center}.road h2{margin:0 0 9px;color:var(--gold);font:400 39px/42px Anton}.road-track{height:34px;border:3px solid var(--gold);border-radius:18px;background:#101010;overflow:hidden}.road-track i{display:block;height:100%;width:66.1%;border-radius:15px;background:linear-gradient(90deg,#22d600,#f2ee15);box-shadow:0 0 15px rgba(180,255,0,.7)}.road>b{display:block;margin-top:7px;font:400 34px/36px Anton;color:#fff}.visually-hidden,.compat-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.content-grid{display:grid;grid-template-columns:300px 1fr 350px;gap:8px}.left-col{display:grid;grid-template-rows:300px 1fr;gap:8px}.center-col{display:grid;grid-template-rows:130px 1fr 160px;gap:8px}.right-col{display:grid;grid-template-rows:430px 1fr;gap:8px}
.king{padding:18px;text-align:center}.king h2,.event h2,.activity h2,.challenge h2{margin:0;color:var(--gold);font:400 28px/32px Anton;letter-spacing:.5px}.king-body{display:flex;flex-direction:column;align-items:center;margin-top:12px}.king-avatar{width:118px;height:118px;border:4px solid var(--gold);border-radius:50%;overflow:hidden;background:#102040}.king-avatar img{width:100%;height:100%;object-fit:cover}.king-body strong{margin-top:10px;font:400 31px/34px Anton;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.king-score{font:400 43px/50px Anton}.king p{margin:0;color:var(--gold);font:800 18px/22px Montserrat}.event{padding:20px;text-align:center}.event h2{color:#e65aff}.event>strong{display:block;margin-top:18px;color:#b83cff;font:400 38px/42px Anton}.event-art{font-size:58px;margin:6px 0 -5px}.event #eventSeconds{color:#ffca00;font:400 77px/82px Anton;text-shadow:0 0 12px rgba(255,180,0,.55)}.event p{margin:0;font:400 26px/30px Anton}
.conversion-cta{display:grid;grid-template-columns:120px 1fr 100px;align-items:center;padding:8px 18px;background:linear-gradient(180deg,#0d0a0b,#030304)}.cta-rose{font-size:84px;filter:drop-shadow(0 0 10px #ff274e)}.cta-train{font-size:70px;text-align:right}.conversion-cta>div{text-align:center;min-width:0}.conversion-cta strong{display:block;color:#fff;font:italic 400 49px/54px Anton;white-space:nowrap;text-shadow:0 3px 2px #000}.conversion-cta strong::first-line{color:#fff}.conversion-cta small{display:block;color:#ff3d9e;font:italic 900 24px/28px Montserrat;letter-spacing:1px}.game{position:relative;background:radial-gradient(circle at 50% 45%,#111927,#03070d 65%,#010203)}.game-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#121820;font:400 30px Anton;letter-spacing:2px}.live-chip{position:absolute;z-index:2;top:12px;left:14px;padding:7px 15px;border-radius:9px;background:#07111b;color:#fff;font:400 23px Anton;box-shadow:0 0 8px #000}.live-chip i{display:inline-block;width:16px;height:16px;border-radius:50%;background:#ff1535;margin-right:8px}
.train{padding:0;background:#050505}.train-hero{position:absolute;left:12px;bottom:25px;width:76%;height:126px;object-fit:fill;border-radius:10px}.train-label{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:2;color:var(--gold);font:400 33px/36px Anton}.train-stats{position:absolute;right:18px;top:22px;width:230px;text-align:center}.train-stats>b{display:block;color:var(--gold);font:400 53px/55px Anton}.train-stats>strong{display:block;font:400 25px/29px Anton}.train .track{position:absolute;left:26px;right:270px;bottom:10px;height:17px;border:2px solid #ad7d00;border-radius:10px;background:#171000;overflow:hidden}.train .track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ff7a00,#ffe600);box-shadow:0 0 15px #ff8a00}.train-gift-pulse{position:absolute;right:250px;top:28px;font:400 48px Anton;color:#fff000;opacity:0;z-index:7}.train-gift-pulse.show{animation:pulse 1s ease-out forwards}@keyframes pulse{0%{opacity:0;transform:translateY(15px) scale(.6)}20%{opacity:1;transform:translateY(0) scale(1.15)}100%{opacity:0;transform:translateY(-45px)}}
.activity{padding:16px}.activity h2{text-align:center}.activity-list{display:grid;gap:8px;margin-top:12px}.activity-item{display:grid;grid-template-columns:42px 1fr 48px;align-items:center;min-height:100px;padding:10px;border-top:1px solid #574900;font-size:15px}.activity-item .ico{font-size:29px}.activity-item div{line-height:22px}.activity-item b{font-size:19px}.activity-item small{text-align:right;color:#aaa}.activity-empty{height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--gold);gap:8px}.activity-empty span{font-size:42px}.activity-empty b{font:400 27px Anton}.activity-empty strong{font-size:14px}.challenge{padding:16px;text-align:center}.challenge h2{font-size:23px}.challenge-main{height:calc(100% - 35px);display:grid;grid-template-columns:42px 1fr 42px;align-items:center}.challenge-main span{font-size:38px}.challenge-main strong{font:400 35px/39px Anton;color:#fff}.challenge-main strong::first-line{color:#ffca00}
.cta-row{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:8px}.cta{display:grid;grid-template-columns:120px 1fr;align-items:center;border:3px solid;border-radius:18px;background:#050505;padding:5px 18px;overflow:hidden}.cta>span{font-size:72px;text-align:center}.cta b{display:block;font:400 43px/48px Anton;white-space:nowrap}.cta small{display:block;font:900 20px/24px Montserrat}.c1{border-color:var(--cyan);box-shadow:0 0 14px rgba(20,199,255,.35)}.c1 small{color:#21b8ff}.c2{border-color:var(--pink);box-shadow:0 0 14px rgba(255,45,134,.35)}.c2 small{color:#ff3d93}.c3{border-color:#c244ff;box-shadow:0 0 14px rgba(194,68,255,.35)}.c3 small{color:#a84cff}
.hidden{display:none!important}.train-cinematic,.train-celebration,.event-banner,.mega{position:absolute;z-index:50}.train-cinematic{inset:0;background:rgba(0,0,0,.86)}.train-cinematic:not(.hidden){display:block!important}.cinematic-copy{position:absolute;z-index:4;top:90px;left:0;right:0;text-align:center}.cinematic-copy span,.cinematic-copy b,.cinematic-copy strong,.cinematic-copy em{display:block}.cinematic-copy span{color:#ffe600;font:400 32px Anton}.cinematic-copy b{font:400 77px Anton}.cinematic-copy strong{color:#ffb000;font:400 34px Anton}.cinematic-copy em{font:900 18px Montserrat}.train-runner{position:absolute;z-index:3;left:5%;right:5%;bottom:120px}.train-runner img{width:100%;height:auto}.cinematic-next{position:absolute;bottom:55px;left:0;right:0;text-align:center;color:#fff000;font:400 42px Anton}.train-celebration{left:50%;top:50%;transform:translate(-50%,-50%);width:650px;padding:35px;text-align:center;border:4px solid var(--gold);border-radius:25px;background:#050505}.train-celebration span,.train-celebration b,.train-celebration strong,.train-celebration em,.train-celebration small{display:block}.event-banner{top:25px;left:50%;transform:translateX(-50%);display:flex;gap:15px;padding:18px 28px;border:3px solid var(--gold);border-radius:18px;background:#070707}.mega{inset:0;display:grid;place-items:center;background:rgba(0,0,0,.8);text-align:center}.mega span,.mega b,.mega strong{display:block}.mega span{font-size:130px}.mega b{font:400 90px Anton}.mega strong{font:400 40px Anton}
#particles{position:absolute;inset:0;pointer-events:none;z-index:40}.particle{position:absolute;border-radius:50%;background:#ffd800;animation:particle 1s ease-out forwards}@keyframes particle{to{transform:translate(var(--dx),var(--dy));opacity:0}}
@media(max-width:1000px){#stage{transform-origin:top left}}

/* ======================================================================
   PHASE 4.2A.3 V23 — PREMIUM VISUAL POLISH / LOCKED REFERENCE PASS
   Structural geometry remains V22. These rules improve finish, spacing,
   text fitting and visual hierarchy without changing live element IDs.
   ====================================================================== */
:root{
  --gold:#ffc400;--gold2:#ff8a00;--cyan:#18cfff;--pink:#ff2d82;
  --purple:#b842ff;--green:#74ff26;--edge:rgba(255,255,255,.075)
}
body{background:#000}
#stage{background:
  radial-gradient(circle at 50% 42%,rgba(26,42,66,.20),transparent 48%),
  linear-gradient(180deg,#030405 0%,#000 100%)}
.screen{inset:12px;grid-template-rows:178px 754px 108px;gap:7px}
.panel{
  border-width:3px;border-radius:17px;
  background:
    linear-gradient(180deg,rgba(17,20,23,.97),rgba(2,3,4,.99)),
    radial-gradient(circle at 50% 0,rgba(255,255,255,.08),transparent 50%);
  box-shadow:inset 0 1px 0 var(--edge),inset 0 0 28px rgba(255,255,255,.025)
}
.gold{box-shadow:0 0 9px rgba(255,190,0,.44),0 0 24px rgba(255,145,0,.10),inset 0 0 20px rgba(255,180,0,.055)}
.cyan{box-shadow:0 0 9px rgba(20,199,255,.48),0 0 22px rgba(20,199,255,.10),inset 0 0 18px rgba(20,199,255,.055)}
.pink{box-shadow:0 0 9px rgba(255,45,134,.50),0 0 24px rgba(255,45,134,.11),inset 0 0 20px rgba(255,45,134,.055)}
.purple{box-shadow:0 0 9px rgba(181,60,255,.50),0 0 22px rgba(181,60,255,.11),inset 0 0 20px rgba(181,60,255,.055)}

/* Top gift hierarchy */
.topbar{grid-template-columns:repeat(5,1fr) 220px 400px;gap:7px}
.gift-row{gap:7px}.gift-card{border-radius:17px;border-width:3px;background:#020202;box-shadow:0 0 10px rgba(255,190,0,.45),inset 0 0 18px rgba(255,185,0,.07)}
.gift-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 30%,rgba(0,0,0,.10));border-radius:14px}
.gift-card .icon img{object-fit:cover;filter:saturate(1.08) contrast(1.06)}
.gift-point-badge{top:7px;right:10px;width:38px;height:38px;border-width:2px;box-shadow:0 0 8px rgba(255,210,0,.65);z-index:2}
.subs{padding:12px 7px;background:linear-gradient(180deg,#07131a,#030609)}
.subs span{font-size:22px;line-height:24px;letter-spacing:.5px;text-shadow:0 0 8px rgba(40,210,255,.5)}
.subs b{font-size:80px;line-height:84px;text-shadow:0 4px 0 #000,0 0 12px rgba(255,255,255,.15)}
.road{padding:12px 22px;background:linear-gradient(180deg,#10080b,#030304)}
.road h2{font-size:39px;line-height:42px;text-shadow:0 2px 0 #000,0 0 10px rgba(255,196,0,.3)}
.road-track{height:32px;background:#080808;box-shadow:inset 0 0 12px #000}
.road-track i{background:linear-gradient(90deg,#18d500 0%,#b9ed12 60%,#fff21a 100%)}
.road>b{font-size:35px;line-height:36px;color:#fff;text-shadow:0 2px 0 #000}

/* Columns and alignment */
.content-grid{grid-template-columns:300px 1fr 350px;gap:7px}.left-col,.right-col,.center-col{gap:7px}
.left-col{grid-template-rows:300px 1fr}.center-col{grid-template-rows:128px 1fr 160px}.right-col{grid-template-rows:430px 1fr}

/* Top gifter */
.king{padding:16px 18px}.king h2,.event h2,.activity h2,.challenge h2{letter-spacing:.8px;text-shadow:0 2px 0 #000}
.king h2{font-size:29px}.king-body{margin-top:8px}.king-avatar{width:112px;height:112px;box-shadow:0 0 12px rgba(255,202,0,.45)}
.king-body strong{margin-top:7px;font-size:31px;line-height:33px}.king-score{font-size:45px;line-height:48px}.king p{font-size:17px;line-height:20px;margin-top:1px}
.king.is-idle .king-avatar{opacity:.96}.king.is-idle .king-score{font-size:41px}

/* Live event: all lines stay inside panel */
.event{padding:18px 16px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.event h2{font-size:29px;line-height:32px;flex:0 0 auto}.event>strong{width:100%;margin-top:16px;font-size:39px;line-height:42px;white-space:normal;text-align:center;text-wrap:balance}
.event>strong.long{font-size:33px;line-height:36px}.event-art{font-size:53px;line-height:57px;margin:4px 0 -4px;flex:0 0 auto}
.event #eventSeconds{font-size:78px;line-height:80px;flex:0 0 auto}.event p{width:100%;font-size:24px;line-height:28px;white-space:normal;text-align:center;text-wrap:balance;margin-top:1px}.event p.long{font-size:20px;line-height:23px}

/* Dominant conversion banner */
.conversion-cta{grid-template-columns:118px minmax(0,1fr) 94px;padding:7px 17px;background:linear-gradient(180deg,#13090c 0%,#050304 55%,#020202 100%)}
.conversion-cta:after{content:"";position:absolute;left:15%;right:15%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,63,145,.75),transparent)}
.cta-rose{font-size:82px;line-height:1;filter:drop-shadow(0 0 9px rgba(255,35,70,.75))}.cta-train{font-size:67px;line-height:1;filter:drop-shadow(0 0 7px rgba(255,180,0,.45))}
.conversion-cta strong{font-size:54px;line-height:57px;letter-spacing:.3px;text-shadow:0 3px 0 #000,0 0 8px rgba(255,255,255,.08)}
.conversion-cta strong.long{font-size:47px;line-height:51px}.conversion-cta strong.xlong{font-size:40px;line-height:44px}
.conversion-cta small{font-size:24px;line-height:27px;letter-spacing:1.5px;text-shadow:0 2px 0 #000}

/* Gameplay frame */
.game{border-color:#10c9ff;background:radial-gradient(circle at 50% 42%,#111b2b,#020509 68%)}
.game:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 32px rgba(0,0,0,.5),inset 0 0 3px rgba(255,255,255,.18)}
.live-chip{top:11px;left:13px;padding:6px 14px;font-size:22px;line-height:25px;border:1px solid rgba(255,255,255,.12);background:rgba(4,10,16,.92)}
.game-placeholder{font-size:28px;color:#101722}

/* Gift train premium finish and unbroken labels */
.train{background:linear-gradient(180deg,#080706,#020202);border-color:#ffc400}
.train:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,190,0,.03),transparent 42%)}
.train-hero{left:13px;bottom:24px;width:74%;height:124px;object-fit:fill;filter:saturate(1.05) contrast(1.04)}
.train-label{top:8px;font-size:32px;line-height:36px;white-space:nowrap;text-shadow:0 2px 0 #000}
.train-stats{right:13px;top:19px;width:245px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.train-stats>b{font-size:48px;line-height:52px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 0 #000}
.train-stats>strong{font-size:26px;line-height:30px;white-space:nowrap;color:#fff;text-shadow:0 2px 0 #000}
.train .track{left:25px;right:270px;bottom:9px;height:17px}.train-gift-pulse{right:246px}

/* Feed: readable, premium, maximum 3 entries */
.activity{padding:14px 13px}.activity h2{font-size:29px;line-height:32px}.activity-list{gap:0;margin-top:8px}
.activity-item{grid-template-columns:48px minmax(0,1fr) 43px;min-height:112px;padding:10px 7px;border-top:1px solid rgba(255,196,0,.22);font-size:15px}
.activity-item:first-child{border-top:1px solid rgba(255,196,0,.28)}.activity-item .ico{font-size:31px}.activity-item div{line-height:21px;min-width:0}.activity-item b{font-size:20px;line-height:23px}.activity-item small{font-size:11px}
.activity-empty{height:330px}.activity-empty b{font-size:28px}.activity-empty strong{font-size:13px;max-width:90%}

/* Current challenge text auto-fits without vertical stacking */
.challenge{padding:14px 13px}.challenge h2{font-size:22px;line-height:26px;white-space:nowrap}.challenge-main{height:calc(100% - 30px);grid-template-columns:0 minmax(0,1fr) 0}.challenge-main span{display:none}
.challenge-main strong{display:block;width:100%;padding:0 3px;font-size:36px;line-height:40px;white-space:normal;text-wrap:balance;text-align:center;text-shadow:0 2px 0 #000}
.challenge-main strong.long{font-size:30px;line-height:34px}.challenge-main strong.xlong{font-size:25px;line-height:29px}

/* Bottom three CTAs */
.cta-row{gap:7px}.cta{border-radius:17px;padding:4px 16px;grid-template-columns:112px minmax(0,1fr);background:linear-gradient(180deg,#08090a,#020202)}
.cta>span{font-size:70px;line-height:1;filter:drop-shadow(0 0 6px currentColor)}.cta b{font-size:44px;line-height:47px;letter-spacing:.3px}.cta small{font-size:20px;line-height:23px;letter-spacing:.3px}
.c1,.c2,.c3{box-shadow:0 0 10px rgba(255,255,255,.08),inset 0 0 18px rgba(255,255,255,.025)}

/* Cinematics retained; polish only */
.train-cinematic{background:radial-gradient(circle at 50% 50%,rgba(65,42,0,.18),rgba(0,0,0,.92) 72%)}


/* ======================================================================
   PHASE 4.2A.4 V24 — TRUE PREMIUM 1:1 REFERENCE FINISH
   Exact V22 geometry retained. This pass upgrades typography, glow,
   image-backed CTAs and spacing to the approved premium reference.
   ====================================================================== */
:root{--gold:#ffd000;--amber:#ff8b00;--cyan:#13d6ff;--pink:#ff2788;--purple:#bd3cff}
#stage{background:#000}
.screen{inset:10px;grid-template-rows:176px 756px 108px;gap:6px}
.panel{border-width:3px;border-radius:15px;background:linear-gradient(180deg,#07090b 0%,#010203 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.11),inset 0 0 24px rgba(255,255,255,.018)}
.gold{border-color:#ffd000;box-shadow:0 0 8px #ffbd00,0 0 18px rgba(255,130,0,.38),inset 0 0 12px rgba(255,194,0,.12)}
.cyan{border-color:#17d6ff;box-shadow:0 0 8px #0ecbff,0 0 18px rgba(0,180,255,.33),inset 0 0 12px rgba(25,207,255,.10)}
.pink{border-color:#ff2a89;box-shadow:0 0 8px #ff2580,0 0 19px rgba(255,0,106,.38),inset 0 0 12px rgba(255,42,137,.10)}
.purple{border-color:#c43dff;box-shadow:0 0 8px #b62fff,0 0 18px rgba(156,25,255,.38),inset 0 0 12px rgba(184,48,255,.10)}
.topbar{grid-template-columns:repeat(5,1fr) 220px 400px;gap:6px}.gift-row{gap:6px}
.gift-card{border-radius:15px;border-color:#ffd000;box-shadow:0 0 8px #ffbd00,0 0 16px rgba(255,135,0,.38);background:#000}
.gift-card .icon img{object-fit:cover;filter:saturate(1.22) contrast(1.16) brightness(1.05)}
.gift-card:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 34%,rgba(0,0,0,.06))}
.gift-point-badge{z-index:3;top:7px;right:9px;width:39px;height:39px;border:3px solid #ffd000;background:#040404;font-size:24px;box-shadow:0 0 10px rgba(255,218,0,.95)}
.subs{background:linear-gradient(180deg,#061118,#000);padding-top:11px}.subs span{color:#37d6ff;font-size:23px;line-height:24px;text-shadow:0 0 10px rgba(0,202,255,.9)}.subs b{font-size:83px;line-height:86px;color:#fff;text-shadow:0 4px 0 #000,0 0 15px rgba(255,255,255,.24)}
.road{background:linear-gradient(180deg,#11080b,#010101);padding:11px 22px}.road h2{font-size:42px;line-height:44px;color:#ffd000}.road-track{height:31px;border-width:3px}.road>b{font-size:37px;line-height:38px;color:#fff}.road>b::first-letter{color:#ffd000}
.content-grid{grid-template-columns:300px 1fr 350px;gap:6px}.left-col,.center-col,.right-col{gap:6px}.left-col{grid-template-rows:300px 1fr}.center-col{grid-template-rows:126px 1fr 160px}.right-col{grid-template-rows:430px 1fr}
.king{padding:14px 16px}.king h2{font-size:31px;line-height:34px}.king-avatar{width:126px;height:126px;border-width:4px;box-shadow:0 0 10px #ffbd00}.king-body{margin-top:8px}.king-body strong{font-size:34px;line-height:36px}.king-score{font-size:52px;line-height:55px;color:#fff;text-shadow:0 3px 0 #000}.king p{font-size:19px;line-height:21px;color:#ffd000}
.event{padding:15px 14px}.event h2{font-size:31px;line-height:34px}.event>strong{margin-top:12px;font-size:42px;line-height:44px;color:#b834ff;text-shadow:0 0 9px rgba(184,52,255,.55)}.event-art{width:190px;height:145px;margin:3px auto -8px;overflow:hidden}.event-art img{width:100%;height:100%;object-fit:cover;filter:saturate(1.22) contrast(1.1)}.event #eventSeconds{font-size:86px;line-height:88px;color:#ffc400}.event p{font-size:27px;line-height:29px;color:#fff}
.conversion-cta{grid-template-columns:145px minmax(0,1fr) 115px;padding:3px 10px;background:linear-gradient(180deg,#0c0609,#000)}.conversion-cta:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,27,91,.10),transparent 18%,transparent 82%,rgba(255,183,0,.10))}.cta-rose,.cta-train{display:block;width:100%;height:112px;object-fit:cover;filter:saturate(1.22) contrast(1.18) drop-shadow(0 0 8px rgba(255,42,80,.75))}.cta-train{filter:saturate(1.15) contrast(1.18) drop-shadow(0 0 8px rgba(255,174,0,.75))}.conversion-cta>div{z-index:2}.conversion-cta strong{font-size:59px!important;line-height:61px!important;font-style:italic;color:#fff;text-shadow:0 4px 0 #000,0 0 8px rgba(255,255,255,.14)}.conversion-cta strong::first-letter{color:#ffd000}.conversion-cta small{font-size:27px;line-height:29px;color:#ff35a0;text-shadow:0 2px 0 #000;letter-spacing:2px}
.game{border-width:4px;background:radial-gradient(circle at 50% 45%,#0e1826,#010305 70%)}.live-chip{font-size:23px;line-height:25px;background:#06080a;border-radius:8px;border:1px solid rgba(255,255,255,.16);box-shadow:0 0 9px rgba(0,0,0,.85)}.game-placeholder{font-size:31px;color:#0b1118}
.train{border-width:3px}.train-label{font-size:35px;line-height:38px;color:#ffd000}.train-hero{left:12px;bottom:22px;width:75%;height:128px;filter:saturate(1.17) contrast(1.12) brightness(1.03)}.train-stats{top:15px;right:10px;width:250px}.train-stats>b{font-size:55px;line-height:57px;color:#ffd000}.train-stats>strong{font-size:29px;line-height:31px}.train .track{height:18px;left:24px;right:273px;bottom:8px;border-color:#ffd000}
.activity{padding:13px 12px}.activity h2{font-size:31px;line-height:34px}.activity-item{grid-template-columns:57px minmax(0,1fr) 51px;min-height:121px;padding:10px 6px;border-top:1px solid rgba(255,208,0,.38)}.activity-item .ico{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;font-size:31px;background:#111;border:2px solid #ffd000;box-shadow:0 0 7px rgba(255,207,0,.42)}.activity-item b{font-size:22px;line-height:24px}.activity-item div{font-size:16px;line-height:22px}.activity-empty b{font-size:30px}.activity-empty strong{font-size:15px;color:#ffd000}
.challenge{padding:13px 10px}.challenge h2{font-size:24px;line-height:27px;color:#ffd000}.challenge-main strong{font-size:43px;line-height:48px;color:#fff;text-shadow:0 3px 0 #000}.challenge-main strong::first-line{color:#ffd000}.challenge-main strong.long{font-size:35px;line-height:39px}.challenge-main strong.xlong{font-size:29px;line-height:33px}
.cta-row{gap:6px}.cta{grid-template-columns:145px minmax(0,1fr);padding:0 12px;border-radius:16px;border-width:3px;background:linear-gradient(180deg,#080808,#000)}.cta img{width:136px;height:100px;object-fit:cover;filter:saturate(1.23) contrast(1.18) brightness(1.08)}.cta b{font-size:49px;line-height:52px;color:#fff;text-shadow:0 3px 0 #000}.cta small{font-size:24px;line-height:26px;letter-spacing:.8px}.c1{box-shadow:0 0 9px #00bfff,0 0 21px rgba(0,170,255,.34)}.c2{box-shadow:0 0 9px #ff2a80,0 0 21px rgba(255,0,94,.36)}.c3{box-shadow:0 0 9px #bc37ff,0 0 21px rgba(160,30,255,.36)}


/* ======================================================================
   PHASE 4.2A.5 V25 — TRUE 1:1 FIT, DUPLICATE REMOVAL & TRAIN REBUILD
   ====================================================================== */
.gift-card .icon{inset:4px}
.gift-card .icon img{object-fit:contain!important;object-position:center!important;filter:saturate(1.18) contrast(1.12) brightness(1.03)!important}
.gift-card{background:#010101!important}
.gift-point-badge{top:7px!important;right:8px!important;width:36px!important;height:36px!important;font-size:21px!important;line-height:36px!important}

.king{padding:12px 13px!important}
.king h2{font-size:29px!important;line-height:31px!important}
.king-body{margin-top:7px!important}
.king-avatar{width:112px!important;height:112px!important}
.king-body strong{margin-top:7px!important;font-size:29px!important;line-height:31px!important;max-width:100%!important}
.king-score{font-size:48px!important;line-height:50px!important}
.king p{display:none!important}

.event{padding:14px 12px!important}
.event h2{font-size:29px!important;line-height:31px!important}
.event>strong{margin-top:9px!important;font-size:37px!important;line-height:39px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.event>strong.long{font-size:31px!important;line-height:34px!important}
.event-art{width:148px!important;height:88px!important;margin:5px auto 1px!important}
.event-art img{object-fit:contain!important}
.event #eventSeconds{font-size:78px!important;line-height:80px!important}
.event p{font-size:22px!important;line-height:25px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.event p.long{font-size:18px!important}

.conversion-cta{grid-template-columns:128px minmax(0,1fr) 96px!important;padding:3px 12px!important}
.cta-rose{height:108px!important;object-fit:contain!important}
.cta-train{height:104px!important;object-fit:contain!important}
.conversion-cta strong{font-size:53px!important;line-height:56px!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important}
.conversion-cta strong.long{font-size:46px!important;line-height:49px!important}
.conversion-cta strong.xlong{font-size:39px!important;line-height:43px!important}
.conversion-cta small{font-size:24px!important;line-height:26px!important}

.train{isolation:isolate!important}
.train-hero{left:18px!important;bottom:28px!important;width:74%!important;height:105px!important;object-fit:fill!important;object-position:left center!important;border-radius:0!important;filter:saturate(1.18) contrast(1.12) brightness(1.04)!important;z-index:2!important}
.train-label{top:5px!important;left:50%!important;font-size:31px!important;line-height:34px!important;z-index:4!important}
.train-stats{right:11px!important;top:18px!important;width:236px!important;z-index:4!important}
.train-stats>b{font-size:48px!important;line-height:50px!important}
.train-stats>strong{font-size:26px!important;line-height:29px!important}
.train .track{left:28px!important;right:260px!important;bottom:8px!important;height:17px!important;border:2px solid #ffd000!important;background:#090600!important;z-index:5!important;overflow:visible!important}
.train .track:before{content:"";position:absolute;left:0;right:0;top:50%;height:3px;transform:translateY(-50%);background:linear-gradient(90deg,#ff7a00,#ffd400);box-shadow:0 0 8px #ff8a00}
.train .track:after{content:"○  ○  ○  ○  ○  ○  ○  ○  ○  ○";position:absolute;left:-7px;right:-7px;top:-17px;color:#ffd000;font:400 27px/30px Arial,sans-serif;letter-spacing:36px;white-space:nowrap;text-shadow:0 0 7px #ff8a00;overflow:hidden}
.train .track i{position:relative;z-index:2;border-radius:8px}
.train-gift-pulse{right:235px!important}

.activity-item{overflow:hidden!important}
.activity-item div{overflow:hidden!important}
.activity-item b{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.activity-item small{white-space:nowrap!important}

.challenge{padding:12px 14px!important}
.challenge h2{font-size:22px!important;line-height:25px!important}
.challenge-main{display:flex!important;align-items:center!important;justify-content:center!important;height:calc(100% - 30px)!important;overflow:hidden!important}
.challenge-main strong{width:100%!important;max-width:100%!important;padding:0 8px!important;font-size:34px!important;line-height:39px!important;word-break:normal!important;overflow-wrap:normal!important;white-space:normal!important;text-align:center!important}
.challenge-main strong.long{font-size:28px!important;line-height:33px!important}
.challenge-main strong.xlong{font-size:23px!important;line-height:28px!important}

.cta{grid-template-columns:118px minmax(0,1fr)!important;padding:2px 14px!important}
.cta img{width:106px!important;height:96px!important;object-fit:contain!important;object-position:center!important;filter:saturate(1.18) contrast(1.12) drop-shadow(0 0 8px rgba(255,255,255,.16))!important}
.cta b{font-size:45px!important;line-height:48px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.cta small{font-size:21px!important;line-height:24px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}


/* =====================================================================
   V26 — PREMIUM REFERENCE MATCH
   Visual-only upgrade. Layout geometry and live-engine IDs are preserved.
   ===================================================================== */

:root{
  --gold:#ffbd00;
  --gold2:#ff7a00;
  --pink:#ff1977;
  --cyan:#00cfff;
  --purple:#ad37ff;
  --panel:#020202;
}

body{background:#000!important}
.screen{
  background:
    radial-gradient(circle at 50% 40%,rgba(8,28,46,.35),transparent 48%),
    linear-gradient(180deg,#020202,#000)!important;
}

/* Premium panel depth and edge lighting */
.panel,.conversion-cta,.cta{
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0) 22%),
    linear-gradient(135deg,#080808,#010101 55%,#060606)!important;
  box-shadow:
    inset 0 0 18px rgba(255,255,255,.025),
    inset 0 0 36px rgba(0,0,0,.9),
    0 0 12px rgba(255,178,0,.22)!important;
}
.panel.gold{border-color:#ffbd00!important;box-shadow:0 0 12px rgba(255,174,0,.42),inset 0 0 22px rgba(255,177,0,.05)!important}
.panel.cyan{border-color:#00cfff!important;box-shadow:0 0 13px rgba(0,207,255,.45),inset 0 0 20px rgba(0,207,255,.05)!important}
.panel.pink,.conversion-cta{border-color:#ff1977!important;box-shadow:0 0 14px rgba(255,25,119,.46),inset 0 0 22px rgba(255,25,119,.05)!important}
.panel.purple{border-color:#b239ff!important;box-shadow:0 0 14px rgba(178,57,255,.46),inset 0 0 22px rgba(178,57,255,.05)!important}

/* Gift tiles — larger artwork and richer highlights */
.gift-card{
  border:3px solid #ffc400!important;
  border-radius:16px!important;
  background:#010101!important;
  overflow:hidden!important;
  box-shadow:0 0 12px rgba(255,177,0,.48),inset 0 0 18px rgba(255,190,0,.05)!important
}
.gift-card .icon{inset:2px 3px 1px!important}
.gift-card .icon img{
  width:100%!important;height:100%!important;object-fit:contain!important;
  filter:saturate(1.28) contrast(1.18) brightness(1.08)
         drop-shadow(0 0 8px rgba(255,176,0,.28))!important
}
.gift-point-badge{
  background:#050505!important;border:2px solid #ffd400!important;color:#fff!important;
  box-shadow:0 0 9px rgba(255,212,0,.7)!important
}

/* Header widgets */
.subs b{font-size:68px!important;line-height:68px!important;text-shadow:0 2px 0 #000,0 0 10px rgba(255,255,255,.15)!important}
.road h2{font-size:34px!important;line-height:36px!important;color:#ffc400!important}
.road b{font-size:34px!important;line-height:36px!important}
.road-track{height:25px!important;border:3px solid #ffbf00!important;background:#080808!important}
.road-track i{background:linear-gradient(90deg,#16db00,#fff000)!important;box-shadow:0 0 12px #c8ff00!important}

/* Top gifter */
.king h2{font-size:28px!important;color:#ffc400!important}
.king-avatar{border:4px solid #ffc400!important;box-shadow:0 0 13px rgba(255,196,0,.6)!important}
.king-body strong{font-size:31px!important;color:#fff!important;text-shadow:0 2px 0 #000!important}
.king-score{color:#fff!important;font-size:52px!important;text-shadow:0 2px 0 #000!important}
.king p{display:none!important}

/* Main conversion banner */
.conversion-cta{
  border-width:3px!important;
  background:linear-gradient(90deg,#050505,#000 45%,#050505)!important
}
.conversion-cta strong{
  color:#fff!important;font-size:56px!important;line-height:59px!important;
  text-shadow:0 3px 0 #000,0 0 8px rgba(255,255,255,.12)!important
}
.conversion-cta strong::first-line{color:#fff}
.conversion-cta small{
  color:#ff2c8b!important;font-size:27px!important;letter-spacing:1.5px!important;
  text-shadow:0 2px 0 #000,0 0 8px rgba(255,25,119,.35)!important
}
.cta-rose,.cta-train{filter:saturate(1.25) contrast(1.14) drop-shadow(0 0 9px rgba(255,173,0,.35))!important}

/* Gameplay */
.game{
  border-width:3px!important;
  background:radial-gradient(circle at center,#07111d,#010307 70%)!important;
  box-shadow:0 0 15px rgba(0,207,255,.5),inset 0 0 30px rgba(0,207,255,.04)!important
}
.live-chip{font-size:22px!important;font-weight:900!important;background:rgba(0,0,0,.68)!important;border-radius:9px!important;padding:5px 10px!important}

/* Event — no duplicate labels/numbers */
.event h2{font-size:28px!important}
.event>strong{font-size:37px!important;color:#c15bff!important;text-shadow:0 0 8px rgba(168,54,255,.5)!important}
.event-art{height:84px!important}
.event #eventSeconds{font-size:76px!important;color:#ffd000!important;text-shadow:0 3px 0 #4b2b00,0 0 10px rgba(255,208,0,.5)!important}
.event p{font-size:21px!important;color:#fff!important}
.event-art img{max-width:100%!important;max-height:100%!important}

/* Premium train copied from approved reference */
.train{
  border-width:3px!important;
  background:linear-gradient(180deg,#060606,#010101)!important;
  overflow:hidden!important;
  box-shadow:0 0 14px rgba(255,177,0,.44),inset 0 0 22px rgba(255,177,0,.05)!important
}
.train-hero{
  left:14px!important;bottom:4px!important;width:74%!important;height:132px!important;
  object-fit:fill!important;object-position:center!important;border-radius:0!important;
  filter:saturate(1.12) contrast(1.12) brightness(1.05)!important;
  mix-blend-mode:screen!important
}
.train-label{
  top:4px!important;left:49%!important;font-size:34px!important;line-height:36px!important;
  color:#ffc400!important;text-shadow:0 0 9px rgba(255,190,0,.45)!important
}
.train-stats{right:14px!important;top:26px!important;width:220px!important}
.train-stats>b{font-size:52px!important;line-height:54px!important;color:#ffc400!important}
.train-stats>strong{font-size:28px!important;line-height:31px!important;color:#fff!important}
.train .track{
  left:22px!important;right:250px!important;bottom:7px!important;height:11px!important;
  border:2px solid #ffbf00!important;border-radius:8px!important;background:#080808!important;
  box-shadow:0 0 8px rgba(255,174,0,.5)!important
}
.train .track:before,.train .track:after{display:none!important}
.train .track i{height:100%!important;background:linear-gradient(90deg,#ff7300,#ffd400)!important;box-shadow:0 0 10px #ff9800!important}

/* Feed */
.activity h2{font-size:28px!important;color:#ffc400!important}
.activity-item{border-bottom:1px solid rgba(255,190,0,.22)!important;padding:11px 7px!important}
.activity-item img{width:48px!important;height:48px!important;border:2px solid #ffc400!important;box-shadow:0 0 7px rgba(255,190,0,.35)!important}
.activity-item b{font-size:20px!important}
.activity-item small{font-size:15px!important;color:#ffd15c!important}

/* Challenge */
.challenge h2{color:#ffc400!important;font-size:22px!important}
.challenge-main strong{
  font-size:35px!important;line-height:40px!important;color:#fff!important;
  text-shadow:0 2px 0 #000!important
}

/* Bottom CTAs */
.cta{border-width:3px!important;border-radius:16px!important}
.cta img{
  width:112px!important;height:102px!important;
  filter:saturate(1.25) contrast(1.15) brightness(1.08)
         drop-shadow(0 0 10px rgba(255,255,255,.12))!important
}
.cta b{font-size:47px!important;line-height:49px!important;color:#fff!important;text-shadow:0 3px 0 #000!important}
.cta small{font-size:23px!important;line-height:25px!important;font-weight:900!important}
.c1{border-color:#00cfff!important;box-shadow:0 0 14px rgba(0,207,255,.5)!important}
.c2{border-color:#ff1977!important;box-shadow:0 0 14px rgba(255,25,119,.5)!important}
.c3{border-color:#b239ff!important;box-shadow:0 0 14px rgba(178,57,255,.5)!important}
.c1 small{color:#00bfff!important}.c2 small{color:#ff267f!important}.c3 small{color:#b54aff!important}


/* =====================================================================
   V27 — APPROVED REFERENCE ASSET MIRROR
   Uses the actual approved reference artwork for gifts, event art,
   gift train and CTA icons. Live data and backend remain dynamic.
   ===================================================================== */

/* Exact reference gift tiles: border, artwork, label and ranking are already
   part of the tile image, so remove all duplicate HTML decoration. */
.gift-row{gap:8px!important}
.gift-card{
  border:0!important;
  border-radius:17px!important;
  overflow:hidden!important;
  background:#000!important;
  box-shadow:0 0 10px rgba(255,185,0,.62),0 0 18px rgba(255,120,0,.22)!important
}
.gift-card:before,.gift-card:after{display:none!important}
.gift-card .icon{inset:0!important}
.gift-card .icon img{
  width:100%!important;height:100%!important;
  object-fit:fill!important;object-position:center!important;
  filter:none!important
}
.gift-point-badge,.gift-card .name{display:none!important}

/* Stronger reference-matching black glass panels. */
.panel,.conversion-cta,.cta{
  background:linear-gradient(180deg,#080808 0%,#010101 38%,#000 100%)!important;
}
.panel.gold{
  border:3px solid #ffb800!important;
  box-shadow:0 0 9px #ff9700,0 0 16px rgba(255,102,0,.28),
             inset 0 0 18px rgba(255,184,0,.04)!important
}
.panel.cyan{
  border:3px solid #00cfff!important;
  box-shadow:0 0 10px #00aaff,0 0 17px rgba(0,170,255,.28)!important
}
.panel.pink,.conversion-cta{
  border:3px solid #ff1977!important;
  box-shadow:0 0 10px #ff1977,0 0 18px rgba(255,25,119,.26)!important
}
.panel.purple{
  border:3px solid #a92cff!important;
  box-shadow:0 0 10px #a92cff,0 0 18px rgba(169,44,255,.28)!important
}

/* Header numerics and goal. */
.subs span{font-size:23px!important;line-height:25px!important}
.subs b{font-size:74px!important;line-height:77px!important}
.road h2{font-size:39px!important;line-height:42px!important}
.road-track{height:31px!important}
.road>b{font-size:34px!important;line-height:37px!important}

/* Top Gifter closely follows the approved target. */
.king{padding:12px 12px!important}
.king h2{font-size:30px!important;line-height:32px!important}
.king-avatar{
  width:116px!important;height:116px!important;
  border:4px solid #ffc400!important;
  box-shadow:0 0 12px rgba(255,196,0,.55)!important
}
.king-body strong{
  font-size:31px!important;line-height:34px!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important
}
.king-score{font-size:52px!important;line-height:55px!important}
.king p{display:none!important}

/* Banner uses exact premium rose/train crops with full images visible. */
.conversion-cta{
  grid-template-columns:160px minmax(0,1fr) 120px!important;
  padding:0 10px!important;
  overflow:hidden!important
}
.cta-rose{
  width:160px!important;height:100%!important;
  object-fit:cover!important;object-position:center!important;
  border-radius:12px!important;filter:none!important
}
.cta-train{
  width:120px!important;height:100%!important;
  object-fit:cover!important;object-position:center!important;
  border-radius:12px!important;filter:none!important
}
.conversion-cta strong{
  font-size:56px!important;line-height:59px!important;
  color:#fff!important;
  text-shadow:0 3px 0 #000!important
}
.conversion-cta small{
  font-size:27px!important;line-height:29px!important;
  color:#ff2783!important
}

/* Event art is the exact clock/gift reference crop; title and timer remain live. */
.event{padding:13px 12px!important}
.event h2{font-size:30px!important;line-height:32px!important}
.event>strong{font-size:37px!important;line-height:40px!important}
.event-art{
  width:210px!important;height:96px!important;margin:3px auto 0!important;
  overflow:hidden!important;border-radius:8px!important
}
.event-art img{
  width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center!important;filter:none!important
}
.event #eventSeconds{
  font-size:78px!important;line-height:80px!important;margin-top:-2px!important
}
.event p{font-size:22px!important;line-height:25px!important}

/* Exact approved train panel image. It already includes the premium train,
   track, glow and GIFT TRAIN title. Hide the duplicate title and CSS track. */
.train{
  padding:0!important;
  overflow:hidden!important;
  background:#000!important
}
.train-hero{
  left:8px!important;top:0!important;bottom:auto!important;
  width:78%!important;height:100%!important;
  object-fit:fill!important;object-position:center!important;
  mix-blend-mode:normal!important;filter:none!important;
  border-radius:12px!important
}
.train-label{display:none!important}
.train .track{display:none!important}
.train-stats{
  right:10px!important;top:27px!important;width:225px!important;
  padding-left:7px!important;background:rgba(0,0,0,.76)!important;
  border-radius:12px!important
}
.train-stats>b{
  font-size:54px!important;line-height:57px!important;
  color:#ffc400!important
}
.train-stats>strong{font-size:27px!important;line-height:30px!important}
.train-gift-pulse{right:230px!important}

/* Live feed larger and cleaner. */
.activity h2{font-size:29px!important;line-height:31px!important}
.activity-item{padding:12px 7px!important}
.activity-item .ico{
  width:53px!important;height:53px!important;display:grid!important;place-items:center!important;
  border:2px solid #ffb800!important;border-radius:50%!important;
  background:#161616!important;font-size:27px!important
}
.activity-item b{font-size:21px!important;line-height:24px!important}
.activity-item div{font-size:17px!important;line-height:20px!important}
.activity-item small{font-size:14px!important}

/* Challenge sizing follows reference. */
.challenge h2{font-size:23px!important;line-height:26px!important}
.challenge-main strong{
  font-size:38px!important;line-height:44px!important;
  color:#fff!important;text-align:center!important
}
.challenge-main span{font-size:42px!important}

/* Bottom cards use exact premium icon crops and keep all artwork fully visible. */
.cta{
  grid-template-columns:145px minmax(0,1fr)!important;
  padding:0 13px!important;overflow:hidden!important
}
.cta img{
  width:138px!important;height:100%!important;
  object-fit:cover!important;object-position:center!important;
  border-radius:12px!important;filter:none!important
}
.cta b{
  font-size:48px!important;line-height:51px!important;
  white-space:nowrap!important
}
.cta small{font-size:24px!important;line-height:27px!important}


/* =====================================================================
   V28 — GENUINE PREMIUM COMPONENT REBUILD
   No screenshot panels. Every artwork item is a clean standalone asset.
   ===================================================================== */
:root{--v28-gold:#ffc400;--v28-orange:#ff7a00;--v28-pink:#ff1977;--v28-cyan:#00d4ff;--v28-purple:#b53cff}

/* Gift cards are real components: isolated icon + CSS label + CSS rank. */
.gift-row{gap:9px!important}
.gift-card{
  position:relative!important;border:3px solid var(--v28-gold)!important;border-radius:17px!important;
  background:radial-gradient(circle at 50% 40%,#221000 0,#080300 55%,#000 100%)!important;
  overflow:hidden!important;box-shadow:0 0 10px rgba(255,184,0,.78),inset 0 0 24px rgba(255,158,0,.08)!important
}
.gift-card .icon{position:absolute!important;inset:7px 9px 31px!important;display:grid!important;place-items:center!important}
.gift-card .icon img{width:100%!important;height:100%!important;object-fit:contain!important;filter:drop-shadow(0 0 9px rgba(255,159,0,.45))!important}
.gift-card .name{display:block!important;position:absolute!important;left:0!important;right:0!important;bottom:4px!important;text-align:center!important;font-size:24px!important;line-height:26px!important;color:#fff!important;text-shadow:0 2px 0 #000!important}
.gift-point-badge{display:grid!important;place-items:center!important;top:7px!important;right:7px!important;width:34px!important;height:34px!important;border-radius:50%!important;background:#050505!important;border:2px solid #ffd500!important;color:#fff!important;font-size:20px!important;z-index:3!important}

/* Deep black-glass premium panels. */
.panel,.conversion-cta,.cta{background:linear-gradient(145deg,#0a0a0a 0,#010101 62%,#080808 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),inset 0 0 30px rgba(0,0,0,.9)!important}
.panel.gold{border:3px solid var(--v28-gold)!important;box-shadow:0 0 10px rgba(255,174,0,.72),inset 0 0 24px rgba(255,174,0,.05)!important}
.panel.cyan{border:3px solid var(--v28-cyan)!important;box-shadow:0 0 11px rgba(0,212,255,.75),inset 0 0 24px rgba(0,212,255,.05)!important}
.panel.pink,.conversion-cta{border:3px solid var(--v28-pink)!important;box-shadow:0 0 11px rgba(255,25,119,.75),inset 0 0 24px rgba(255,25,119,.05)!important}
.panel.purple{border:3px solid var(--v28-purple)!important;box-shadow:0 0 11px rgba(181,60,255,.75),inset 0 0 24px rgba(181,60,255,.05)!important}

/* Top gifter fixed hierarchy and premium empty state. */
.king{padding:12px 13px!important}.king h2{font-size:29px!important;line-height:31px!important}.king-avatar{width:116px!important;height:116px!important;border:4px solid var(--v28-gold)!important;box-shadow:0 0 13px rgba(255,196,0,.65)!important}.king-body strong{font-size:30px!important;line-height:33px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.king-score{font-size:51px!important;line-height:54px!important}.king p{display:none!important}

/* Banner: transparent floating assets; no embedded borders or crop fragments. */
.conversion-cta{grid-template-columns:145px minmax(0,1fr) 115px!important;padding:4px 14px!important;overflow:hidden!important;background:linear-gradient(90deg,#090300,#000 33%,#000 67%,#090300)!important}
.cta-rose,.cta-train{width:100%!important;height:100%!important;object-fit:contain!important;border-radius:0!important;filter:drop-shadow(0 0 10px rgba(255,150,0,.5))!important}
.conversion-cta strong{font-size:54px!important;line-height:57px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#fff!important;text-shadow:0 3px 0 #000!important}.conversion-cta small{font-size:26px!important;line-height:29px!important;color:#ff2d89!important;text-shadow:0 2px 0 #000!important}

/* Event fills its panel; clean artwork cannot duplicate title/timer. */
.event{padding:14px 12px!important;display:flex!important;flex-direction:column!important;align-items:center!important}.event h2{font-size:29px!important;line-height:31px!important}.event>strong{font-size:37px!important;line-height:40px!important;margin-top:8px!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.event-art{width:190px!important;height:105px!important;margin:7px auto 0!important;display:grid!important;place-items:center!important}.event-art img{width:100%!important;height:100%!important;object-fit:contain!important;filter:drop-shadow(0 0 10px rgba(255,33,150,.4))!important}.event #eventSeconds{font-size:82px!important;line-height:84px!important;margin-top:2px!important}.event p{font-size:22px!important;line-height:25px!important;margin-top:2px!important}

/* Train is made from separate engine/car assets. Track and progress remain live. */
.train{position:relative!important;overflow:hidden!important;padding:0!important;background:linear-gradient(180deg,#080400,#000)!important}
.train-visual{position:absolute!important;left:22px!important;right:245px!important;top:38px!important;bottom:18px!important;display:flex!important;align-items:flex-end!important;gap:3px!important;z-index:2!important;overflow:visible!important}
.train-part{display:block!important;object-fit:contain!important;filter:drop-shadow(0 0 7px rgba(255,146,0,.5))!important}.train-part.engine{width:23%!important;height:100%!important}.train-part.car{width:12.6%!important;height:83%!important}
.train-label{display:block!important;top:3px!important;left:49%!important;font-size:33px!important;line-height:36px!important;color:var(--v28-gold)!important;z-index:5!important;text-shadow:0 0 8px rgba(255,196,0,.5)!important}.train-stats{right:13px!important;top:29px!important;width:220px!important;background:rgba(0,0,0,.7)!important;border-radius:12px!important;z-index:5!important}.train-stats>b{font-size:52px!important;line-height:55px!important;color:var(--v28-gold)!important}.train-stats>strong{font-size:27px!important;line-height:30px!important;color:#fff!important}.train .track{display:block!important;position:absolute!important;left:26px!important;right:250px!important;bottom:8px!important;height:13px!important;border:2px solid var(--v28-gold)!important;border-radius:9px!important;background:#060300!important;z-index:4!important;box-shadow:0 0 8px rgba(255,145,0,.55)!important}.train .track:before{display:block!important;content:""!important;position:absolute!important;left:0!important;right:0!important;top:50%!important;height:3px!important;transform:translateY(-50%)!important;background:linear-gradient(90deg,#ff6a00,#ffd400)!important}.train .track:after{display:block!important;content:""!important;position:absolute!important;left:7px!important;right:7px!important;top:-17px!important;height:17px!important;background:repeating-radial-gradient(circle at 8px 8px,#fff 0 4px,#ff9b00 5px 7px,transparent 8px 43px)!important;filter:drop-shadow(0 0 5px #ff8a00)!important}.train .track i{position:relative!important;z-index:2!important;height:100%!important;background:linear-gradient(90deg,#ff7300,#ffd400)!important;box-shadow:0 0 9px #ff9700!important}

/* Feed and challenge hierarchy. */
.activity h2{font-size:29px!important}.activity-item{padding:11px 7px!important;border-bottom:1px solid rgba(255,196,0,.22)!important}.activity-item .ico{width:52px!important;height:52px!important;border:2px solid var(--v28-gold)!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#121212!important}.activity-item b{font-size:21px!important}.activity-item div{font-size:17px!important}.challenge-main strong{font-size:38px!important;line-height:44px!important;color:#fff!important}.challenge-main span{font-size:44px!important}

/* Bottom CTAs: transparent isolated icons, guaranteed full visibility. */
.cta{grid-template-columns:142px minmax(0,1fr)!important;padding:2px 16px!important;overflow:hidden!important}.cta img{width:128px!important;height:100%!important;object-fit:contain!important;border-radius:0!important;filter:drop-shadow(0 0 10px rgba(255,178,0,.38))!important}.cta b{font-size:47px!important;line-height:50px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.cta small{font-size:23px!important;line-height:26px!important;white-space:nowrap!important}.c1{border:3px solid var(--v28-cyan)!important;box-shadow:0 0 12px rgba(0,212,255,.7)!important}.c2{border:3px solid var(--v28-pink)!important;box-shadow:0 0 12px rgba(255,25,119,.7)!important}.c3{border:3px solid var(--v28-purple)!important;box-shadow:0 0 12px rgba(181,60,255,.7)!important}


/* =====================================================================
   V29 — PREMIUM FIT, CENTRING & TRAIN REBUILD
   Fixes V28 train corruption, bottom CTA compression and event alignment.
   ===================================================================== */

/* LIVE EVENT: distribute every element through the full panel height. */
.event{
  padding:18px 14px!important;
  display:grid!important;
  grid-template-rows:auto auto 1fr auto auto!important;
  align-items:center!important;
  justify-items:center!important;
  row-gap:5px!important;
}
.event h2{
  align-self:start!important;
  font-size:30px!important;
  line-height:33px!important;
}
.event>strong{
  margin:0!important;
  width:100%!important;
  font-size:38px!important;
  line-height:41px!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.event-art{
  align-self:center!important;
  width:190px!important;
  height:115px!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
}
.event-art img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  filter:drop-shadow(0 0 10px rgba(255,40,160,.55))!important;
}
.event #eventSeconds{
  margin:0!important;
  font-size:82px!important;
  line-height:84px!important;
  align-self:end!important;
}
.event p{
  margin:0!important;
  font-size:22px!important;
  line-height:25px!important;
  min-height:25px!important;
  align-self:end!important;
}

/* GIFT TRAIN: fixed pixel component sizes prevent overlap or compression. */
.train{
  padding:0!important;
  overflow:hidden!important;
  background:
    radial-gradient(ellipse at 40% 75%,rgba(255,120,0,.09),transparent 55%),
    linear-gradient(180deg,#070400,#000)!important;
}
.train-visual{
  position:absolute!important;
  left:26px!important;
  right:252px!important;
  top:37px!important;
  bottom:22px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:5px!important;
  overflow:hidden!important;
  z-index:3!important;
}
.train-part{
  flex:0 0 auto!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  filter:drop-shadow(0 0 7px rgba(255,145,0,.52))!important;
}
.train-part.engine{
  width:212px!important;
  height:112px!important;
}
.train-part.car{
  width:105px!important;
  height:91px!important;
}
.train-label{
  display:block!important;
  top:4px!important;
  left:48%!important;
  font-size:31px!important;
  line-height:34px!important;
  z-index:7!important;
}
.train-stats{
  right:12px!important;
  top:31px!important;
  width:220px!important;
  padding:4px 6px!important;
  background:rgba(0,0,0,.74)!important;
  border-radius:12px!important;
  z-index:7!important;
}
.train-stats>b{
  font-size:51px!important;
  line-height:54px!important;
}
.train-stats>strong{
  font-size:25px!important;
  line-height:28px!important;
}
.train .track{
  display:block!important;
  left:28px!important;
  right:252px!important;
  bottom:7px!important;
  height:13px!important;
  overflow:hidden!important;
  z-index:2!important;
}
.train .track:before{
  display:block!important;
  content:""!important;
  position:absolute!important;
  inset:4px 0 auto 0!important;
  height:3px!important;
  transform:none!important;
  background:linear-gradient(90deg,#ff7300,#ffe000)!important;
  box-shadow:0 0 9px #ff9800!important;
}
.train .track:after{display:none!important}
.train .track i{
  display:block!important;
  height:100%!important;
  border-radius:8px!important;
  background:linear-gradient(90deg,#ff6f00,#ffd800)!important;
}
.train-gift-pulse{right:232px!important;top:24px!important}

/* Bottom CTA row: reserve safe icon and text columns within the 106px row. */
.cta-row{
  gap:8px!important;
  align-items:stretch!important;
}
.cta{
  min-width:0!important;
  min-height:0!important;
  height:106px!important;
  grid-template-columns:104px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:8px!important;
  padding:5px 14px!important;
  overflow:hidden!important;
}
.cta img{
  display:block!important;
  width:96px!important;
  height:92px!important;
  max-width:96px!important;
  max-height:92px!important;
  object-fit:contain!important;
  object-position:center!important;
  align-self:center!important;
  filter:drop-shadow(0 0 9px rgba(255,165,0,.42))!important;
}
.cta>div{
  min-width:0!important;
  align-self:center!important;
  overflow:hidden!important;
}
.cta b{
  display:block!important;
  margin:0!important;
  font-size:40px!important;
  line-height:43px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.cta small{
  display:block!important;
  margin-top:1px!important;
  font-size:18px!important;
  line-height:21px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.c2{grid-template-columns:112px minmax(0,1fr)!important}
.c2 img{width:104px!important;max-width:104px!important}
.c3{grid-template-columns:106px minmax(0,1fr)!important}

/* Slightly improve challenge vertical centring. */
.challenge{
  display:grid!important;
  grid-template-rows:auto 1fr!important;
  padding:14px!important;
}
.challenge-main{
  height:auto!important;
  align-self:stretch!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) 38px!important;
  align-items:center!important;
  justify-items:center!important;
}
.challenge-main strong{
  font-size:34px!important;
  line-height:39px!important;
}


/* ======================================================================
   PHASE 4.2A.10 — V30 PREMIUM VISUAL CORRECTION
   Final component pass against the approved premium reference.
   ====================================================================== */

.screen{
  inset:10px!important;
  grid-template-rows:176px 742px 120px!important;
  gap:6px!important;
}
.content-grid{grid-template-columns:300px minmax(0,1fr) 350px!important;gap:6px!important}
.left-col{grid-template-rows:300px minmax(0,1fr)!important;gap:6px!important}
.center-col{grid-template-rows:126px minmax(0,1fr) 166px!important;gap:6px!important}
.right-col{grid-template-rows:430px minmax(0,1fr)!important;gap:6px!important}

.panel,.conversion-cta,.cta{
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),transparent 18%),
    radial-gradient(circle at 50% 25%,rgba(255,185,0,.025),transparent 55%),
    linear-gradient(180deg,#080808,#010101 58%,#000)!important;
}
.panel.gold{border:3px solid #ffbd00!important;box-shadow:0 0 7px #ff9b00,0 0 18px rgba(255,137,0,.34),inset 0 0 24px rgba(255,190,0,.045)!important}
.panel.cyan{border:3px solid #00cfff!important;box-shadow:0 0 8px #009fff,0 0 19px rgba(0,174,255,.34),inset 0 0 24px rgba(0,207,255,.04)!important}
.panel.pink,.conversion-cta{border:3px solid #ff1977!important;box-shadow:0 0 8px #ff1977,0 0 19px rgba(255,25,119,.34),inset 0 0 24px rgba(255,25,119,.04)!important}
.panel.purple{border:3px solid #ad37ff!important;box-shadow:0 0 8px #ad37ff,0 0 19px rgba(173,55,255,.34),inset 0 0 24px rgba(173,55,255,.04)!important}

/* Top gifts: balanced standalone icons, labels and badges. */
.gift-card .icon{inset:7px 8px 28px!important;display:grid!important;place-items:center!important}
.gift-card .icon img{width:100%!important;height:100%!important;object-fit:contain!important;filter:drop-shadow(0 0 9px rgba(255,160,0,.38))!important}
.gift-card .name{
  display:block!important;position:absolute!important;left:5px!important;right:5px!important;bottom:5px!important;
  text-align:center!important;color:#fff!important;font:400 24px/26px Anton!important;letter-spacing:.5px!important;
  text-shadow:0 2px 0 #000!important
}
.gift-point-badge{top:7px!important;right:8px!important;width:34px!important;height:34px!important;font-size:20px!important;line-height:34px!important}

/* Gifter panel hierarchy. */
.king{padding:11px 14px!important;display:grid!important;grid-template-rows:auto 1fr!important}
.king h2{font-size:28px!important;line-height:31px!important}
.king-body{display:grid!important;grid-template-rows:116px auto auto!important;align-content:center!important;justify-items:center!important;gap:5px!important;margin:0!important}
.king-avatar{width:116px!important;height:116px!important}
.king-body strong{font-size:29px!important;line-height:32px!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.king-score{font-size:48px!important;line-height:51px!important}
.king p{display:none!important}

/* Dominant banner: larger floating icons with no rectangular crop edges. */
.conversion-cta{grid-template-columns:164px minmax(0,1fr) 136px!important;padding:2px 10px!important;overflow:hidden!important}
.cta-rose,.cta-train{width:100%!important;height:116px!important;object-fit:contain!important;filter:drop-shadow(0 0 10px rgba(255,153,0,.5))!important}
.conversion-cta strong{font-size:55px!important;line-height:58px!important;white-space:nowrap!important}
.conversion-cta strong.long{font-size:47px!important}.conversion-cta strong.xlong{font-size:40px!important}
.conversion-cta small{font-size:27px!important;line-height:29px!important}

/* Gameplay depth. */
.game{box-shadow:0 0 10px #00aaff,0 0 21px rgba(0,170,255,.35),inset 0 0 36px rgba(0,140,255,.055)!important}
.live-chip{top:10px!important;left:12px!important;font-size:22px!important;line-height:25px!important;padding:5px 11px!important}
.game-placeholder{font-size:26px!important;color:rgba(63,90,116,.24)!important;letter-spacing:1px!important}

/* Event: genuinely centred through the entire tall box. */
.event{
  padding:13px 14px 15px!important;
  display:grid!important;
  grid-template-rows:34px 46px minmax(94px,1fr) 86px 28px!important;
  align-items:center!important;justify-items:center!important;row-gap:4px!important
}
.event h2{font-size:29px!important;line-height:32px!important}
.event>strong{font-size:38px!important;line-height:42px!important;margin:0!important;width:100%!important}
.event-art{width:205px!important;height:104px!important;margin:0!important;align-self:center!important}
.event-art img{width:100%!important;height:100%!important;object-fit:contain!important;filter:drop-shadow(0 0 11px rgba(255,35,150,.56))!important}
.event #eventSeconds{font-size:80px!important;line-height:83px!important;margin:0!important}
.event p{font-size:21px!important;line-height:25px!important;margin:0!important}

/* Train: premium, full-height, cleanly separated components. */
.train{overflow:hidden!important;background:radial-gradient(ellipse at 42% 72%,rgba(255,118,0,.1),transparent 56%),linear-gradient(180deg,#080400,#000)!important}
.train-label{display:block!important;top:4px!important;left:48%!important;font-size:32px!important;line-height:35px!important;z-index:8!important}
.train-visual{
  left:22px!important;right:248px!important;top:30px!important;bottom:20px!important;
  display:flex!important;align-items:flex-end!important;gap:1px!important;overflow:visible!important
}
.train-part.engine{width:218px!important;height:118px!important}
.train-part.car{width:112px!important;height:96px!important}
.train-part{object-fit:contain!important;filter:drop-shadow(0 0 8px rgba(255,139,0,.62))!important}
.train-stats{right:10px!important;top:33px!important;width:224px!important;padding:3px!important;background:transparent!important;text-align:center!important}
.train-stats>b{font-size:53px!important;line-height:56px!important}
.train-stats>strong{font-size:26px!important;line-height:29px!important}
.train .track{left:29px!important;right:255px!important;bottom:6px!important;height:15px!important;border:2px solid #ffc400!important;background:#050200!important;box-shadow:0 0 9px rgba(255,148,0,.62)!important}
.train .track:before{display:block!important;content:""!important;position:absolute!important;left:0!important;right:0!important;top:5px!important;height:3px!important;background:linear-gradient(90deg,#ff6a00,#ffe200)!important;box-shadow:0 0 8px #ff8a00!important}
.train .track:after{display:none!important}

/* Live feed empty state and rows. */
.activity h2{font-size:28px!important}
.activity-empty{top:52%!important;transform:translateY(-50%)!important}
.activity-empty span{font-size:50px!important}.activity-empty b{font-size:27px!important}.activity-empty strong{font-size:16px!important}
.activity-item{min-height:82px!important;padding:11px 8px!important}

/* Current Challenge: never break one word per line. */
.challenge{padding:12px 14px!important;display:grid!important;grid-template-rows:32px minmax(0,1fr)!important}
.challenge h2{font-size:22px!important;line-height:25px!important}
.challenge-main{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;height:100%!important;padding:14px 8px!important
}
.challenge-main>span{display:none!important}
.challenge-main strong{
  display:block!important;width:100%!important;max-width:310px!important;
  font-size:39px!important;line-height:45px!important;text-align:center!important;
  white-space:normal!important;word-break:keep-all!important;overflow-wrap:normal!important
}
.challenge-main strong.long{font-size:32px!important;line-height:38px!important}
.challenge-main strong.xlong{font-size:27px!important;line-height:33px!important}

/* Bottom cards: taller, full floating icons and mobile-readable copy. */
.cta-row{height:120px!important;gap:8px!important}
.cta{
  height:120px!important;grid-template-columns:132px minmax(0,1fr)!important;
  column-gap:8px!important;padding:4px 14px!important;border-radius:17px!important;overflow:hidden!important
}
.cta img{width:122px!important;height:110px!important;max-width:none!important;max-height:none!important;object-fit:contain!important;filter:drop-shadow(0 0 10px rgba(255,155,0,.5))!important}
.cta>div{min-width:0!important}
.cta b{font-size:46px!important;line-height:49px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.cta small{font-size:22px!important;line-height:25px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.c2{grid-template-columns:142px minmax(0,1fr)!important}.c2 img{width:132px!important}
.c3{grid-template-columns:128px minmax(0,1fr)!important}


/* ======================================================================
   PHASE 4.2A.11 — V31 FIT-AND-SPACING CORRECTION
   Focused correction only: gift fit, full train visibility, feed cleanup,
   banner/CTA spacing. Backend and live logic are unchanged.
   ====================================================================== */

/* Top gifts: reduce artwork scale and guarantee equal breathing room. */
.gift-card .icon{
  inset:11px 13px 31px!important;
  overflow:visible!important;
}
.gift-card .icon img{
  width:82%!important;
  height:82%!important;
  max-width:82%!important;
  max-height:82%!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
.gift-card .name{
  bottom:6px!important;
  font-size:22px!important;
  line-height:24px!important;
}
.gift-point-badge{
  top:8px!important;
  right:9px!important;
  width:32px!important;
  height:32px!important;
  line-height:32px!important;
  font-size:19px!important;
}

/* Banner assets: full floating icons with safe internal padding. */
.conversion-cta{
  grid-template-columns:146px minmax(0,1fr) 122px!important;
  padding:4px 14px!important;
  column-gap:8px!important;
}
.cta-rose{
  width:134px!important;
  height:108px!important;
  justify-self:center!important;
}
.cta-train{
  width:112px!important;
  height:100px!important;
  justify-self:center!important;
}
.conversion-cta strong{
  font-size:53px!important;
  line-height:56px!important;
}
.conversion-cta small{
  font-size:26px!important;
  line-height:28px!important;
}

/* Gift train: reserve more room for the last carriage and stats.
   The full consist now ends before the level block without clipping. */
.train-visual{
  left:26px!important;
  right:226px!important;
  top:33px!important;
  bottom:22px!important;
  gap:3px!important;
  overflow:visible!important;
}
.train-part.engine{
  width:188px!important;
  height:108px!important;
}
.train-part.car{
  width:94px!important;
  height:87px!important;
}
.train-stats{
  right:8px!important;
  top:35px!important;
  width:205px!important;
}
.train-stats>b{
  font-size:49px!important;
  line-height:52px!important;
}
.train-stats>strong{
  font-size:24px!important;
  line-height:27px!important;
}
.train .track{
  left:31px!important;
  right:224px!important;
}
.train-gift-pulse{right:211px!important}

/* Live feed: one lightning icon only — the heading icon remains. */
.activity-empty span{display:none!important}
.activity-empty{
  top:51%!important;
  gap:10px!important;
}
.activity-empty b{
  font-size:25px!important;
  line-height:29px!important;
}
.activity-empty strong{
  font-size:15px!important;
  line-height:18px!important;
}

/* Bottom CTAs: slightly smaller icons and cleaner text separation. */
.cta{
  grid-template-columns:116px minmax(0,1fr)!important;
  column-gap:12px!important;
  padding:6px 16px!important;
}
.cta img{
  width:104px!important;
  height:100px!important;
}
.cta b{
  font-size:43px!important;
  line-height:46px!important;
}
.cta small{
  font-size:21px!important;
  line-height:24px!important;
}
.c2{grid-template-columns:124px minmax(0,1fr)!important}
.c2 img{width:112px!important}
.c3{grid-template-columns:114px minmax(0,1fr)!important}


/* =====================================================================
   V32 — ASSET RECOVERY + TRUE FIT CORRECTION
   Replaces the accidentally cropped V30 icon files with complete V28 art.
   ===================================================================== */

/* Complete top gifts: full artwork visible, never zoomed or cropped. */
.gift-card .icon{
  inset:5px 8px 28px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  overflow:hidden!important;
}
.gift-card .icon img{
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center!important;margin:0!important;transform:none!important;
}
.gift-card .name{bottom:4px!important;font-size:21px!important;line-height:23px!important}

/* Banner icons: complete images contained inside their allocated columns. */
.conversion-cta{grid-template-columns:148px minmax(0,1fr) 118px!important;padding:3px 12px!important}
.cta-rose,.cta-train{
  width:100%!important;height:108px!important;object-fit:contain!important;object-position:center!important;
  border-radius:0!important;filter:drop-shadow(0 0 9px rgba(255,145,0,.45))!important;
}
.conversion-cta strong{font-size:51px!important;line-height:54px!important}

/* Train: scale the entire consist to the available area and show the final carriage. */
.train-visual{
  left:20px!important;right:220px!important;top:31px!important;bottom:21px!important;
  gap:0!important;overflow:hidden!important;justify-content:flex-start!important;
}
.train-part.engine{width:175px!important;height:102px!important}
.train-part.car{width:82px!important;height:82px!important}
.train-part{flex:0 0 auto!important;object-fit:contain!important;object-position:center bottom!important}
.train-stats{right:6px!important;width:204px!important;top:34px!important}
.train .track{left:25px!important;right:218px!important}

/* Feed: title stays at top; empty state is centred with no duplicate lightning. */
.activity{display:grid!important;grid-template-rows:36px minmax(0,1fr)!important;padding:13px 12px!important}
.activity h2{position:relative!important;z-index:3!important;margin:0!important;align-self:start!important}
.activity-list{grid-row:2!important;min-height:0!important;margin-top:4px!important}
.activity-empty{
  grid-row:2!important;position:static!important;top:auto!important;transform:none!important;
  height:100%!important;min-height:0!important;display:flex!important;align-items:center!important;
  justify-content:center!important;flex-direction:column!important;gap:9px!important;padding:0 12px!important;
}
.activity-empty span{display:none!important}
.activity-empty b{font-size:25px!important;line-height:28px!important}
.activity-empty strong{font-size:14px!important;line-height:17px!important}

/* CTA row: full icons, contained and centred. */
.cta{grid-template-columns:100px minmax(0,1fr)!important;padding:5px 14px!important;column-gap:10px!important}
.cta img{
  width:92px!important;height:96px!important;max-width:92px!important;max-height:96px!important;
  object-fit:contain!important;object-position:center!important;border-radius:0!important;
}
.cta b{font-size:41px!important;line-height:44px!important}
.cta small{font-size:20px!important;line-height:23px!important}
.c2,.c3{grid-template-columns:105px minmax(0,1fr)!important}
.c2 img,.c3 img{width:98px!important;max-width:98px!important}


/* =====================================================================
   V33 — THREE-ISSUE CORRECTION ONLY
   1. Complete Gift Train visibility
   2. Live Event full-panel centring
   3. Live Feed full-panel centring
   No other layout or styling changes.
   ===================================================================== */

/* 1) GIFT TRAIN — show the complete locomotive and every carriage.
   The train is scaled as one balanced consist and ends before the stats. */
.train{
  overflow:hidden!important;
}
.train-visual{
  left:18px!important;
  right:214px!important;
  top:31px!important;
  bottom:20px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:1px!important;
  overflow:visible!important;
  padding-right:3px!important;
}
.train-part.engine{
  width:154px!important;
  height:96px!important;
  flex:0 0 154px!important;
}
.train-part.car{
  width:73px!important;
  height:76px!important;
  flex:0 0 73px!important;
}
.train-part{
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:none!important;
}
.train-stats{
  right:5px!important;
  width:198px!important;
  top:32px!important;
}
.train .track{
  left:23px!important;
  right:211px!important;
  bottom:6px!important;
}
.train-gift-pulse{
  right:201px!important;
}

/* 2) LIVE EVENT — centre the complete content stack vertically and horizontally.
   Heading remains part of the centred block instead of being pinned to the top. */
.event{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:16px 14px!important;
  text-align:center!important;
}
.event h2,
.event > strong,
.event-art,
.event #eventSeconds,
.event p{
  flex:0 0 auto!important;
  margin:0!important;
  align-self:center!important;
  justify-self:center!important;
  text-align:center!important;
}
.event h2{
  font-size:28px!important;
  line-height:31px!important;
}
.event > strong{
  width:100%!important;
  font-size:35px!important;
  line-height:39px!important;
}
.event-art{
  width:188px!important;
  height:98px!important;
}
.event #eventSeconds{
  font-size:76px!important;
  line-height:79px!important;
}
.event p{
  width:100%!important;
  font-size:20px!important;
  line-height:23px!important;
}

/* 3) LIVE FEED — centre heading and empty-state content cleanly.
   Populated feed rows keep their normal vertical list behaviour. */
.activity{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  align-items:stretch!important;
  padding:13px 12px!important;
}
.activity h2{
  position:static!important;
  margin:0 auto!important;
  align-self:center!important;
  justify-self:center!important;
  text-align:center!important;
  width:100%!important;
  line-height:31px!important;
}
.activity-list{
  grid-row:2!important;
  width:100%!important;
  min-height:0!important;
  margin:0!important;
}
.activity-empty{
  grid-row:2!important;
  position:static!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0 14px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:10px!important;
  transform:none!important;
}
.activity-empty b,
.activity-empty strong{
  display:block!important;
  width:100%!important;
  margin:0!important;
  text-align:center!important;
}
.activity-empty b{
  font-size:24px!important;
  line-height:28px!important;
}
.activity-empty strong{
  font-size:14px!important;
  line-height:17px!important;
}


/* =====================================================================
   V34 — PREMIUM TRAIN, LIVE FEED & BOTTOM CTA UPGRADE
   Visual-only correction built on V33.
   ===================================================================== */

/* -------------------- PREMIUM GIFT TRAIN -------------------- */
.train{
  overflow:hidden!important;
  background:
    radial-gradient(ellipse at 42% 72%,rgba(255,125,0,.16),transparent 54%),
    linear-gradient(180deg,#0b0600 0%,#030100 52%,#000 100%)!important;
  box-shadow:
    0 0 8px #ff9e00,
    0 0 20px rgba(255,137,0,.34),
    inset 0 0 26px rgba(255,181,0,.06)!important;
}
.train:before{
  content:""!important;
  position:absolute!important;
  left:10px!important;right:10px!important;top:8px!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,#ffb800,transparent)!important;
  opacity:.72!important;
}
.train-label{
  top:3px!important;
  left:47%!important;
  font-size:34px!important;
  line-height:37px!important;
  color:#ffc400!important;
  text-shadow:0 2px 0 #5b2f00,0 0 9px rgba(255,187,0,.62)!important;
  z-index:9!important;
}
.train-visual{
  left:20px!important;
  right:205px!important;
  top:24px!important;
  bottom:13px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:2px!important;
  overflow:visible!important;
  padding:0 4px!important;
}
.train-part.engine{
  width:182px!important;
  height:112px!important;
  flex:0 0 182px!important;
}
.train-part.car{
  width:88px!important;
  height:88px!important;
  flex:0 0 88px!important;
}
.train-part{
  object-fit:contain!important;
  object-position:center bottom!important;
  filter:
    drop-shadow(0 0 5px rgba(255,174,0,.92))
    drop-shadow(0 3px 3px rgba(0,0,0,.9))!important;
}
.train-stats{
  right:6px!important;
  top:26px!important;
  width:190px!important;
  min-height:104px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  padding:5px!important;
  background:
    radial-gradient(circle at 50% 35%,rgba(255,177,0,.06),transparent 62%),
    rgba(0,0,0,.74)!important;
  border-left:1px solid rgba(255,190,0,.34)!important;
  border-radius:10px!important;
}
.train-stats>b{
  font-size:50px!important;
  line-height:53px!important;
  color:#ffc400!important;
  text-shadow:0 2px 0 #552b00,0 0 8px rgba(255,188,0,.45)!important;
}
.train-stats>strong{
  font-size:24px!important;
  line-height:28px!important;
  color:#fff!important;
}
.train .track{
  left:27px!important;
  right:210px!important;
  bottom:5px!important;
  height:15px!important;
  border:2px solid #ffc400!important;
  border-radius:9px!important;
  background:#070300!important;
  box-shadow:0 0 8px rgba(255,144,0,.8)!important;
  overflow:visible!important;
}
.train .track:before{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;top:5px!important;
  height:3px!important;
  background:linear-gradient(90deg,#ff6200,#ffd800)!important;
  box-shadow:0 0 8px #ff9300!important;
}
.train .track:after{
  display:block!important;
  content:"●   ●   ●   ●   ●   ●   ●   ●"!important;
  position:absolute!important;
  left:4px!important;right:4px!important;top:-13px!important;
  color:#ffd200!important;
  font:700 24px/24px Arial,sans-serif!important;
  letter-spacing:43px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-shadow:0 0 7px #ff8a00!important;
}
.train-gift-pulse{right:192px!important}

/* -------------------- PREMIUM LIVE FEED -------------------- */
.activity{
  display:grid!important;
  grid-template-rows:42px minmax(0,1fr)!important;
  padding:11px 12px 13px!important;
  background:
    linear-gradient(180deg,rgba(255,183,0,.035),transparent 22%),
    radial-gradient(circle at 50% 46%,rgba(255,143,0,.05),transparent 62%),
    linear-gradient(180deg,#080603,#010101 58%,#000)!important;
}
.activity h2{
  position:relative!important;
  width:100%!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  font-size:29px!important;
  line-height:32px!important;
  color:#ffc400!important;
  text-shadow:0 2px 0 #4b2600,0 0 8px rgba(255,187,0,.48)!important;
  border-bottom:1px solid rgba(255,190,0,.28)!important;
}
.activity-list{
  grid-row:2!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  padding-top:10px!important;
  overflow:hidden!important;
}
.activity-item{
  min-height:82px!important;
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:9px 8px!important;
  border:1px solid rgba(255,185,0,.24)!important;
  border-radius:12px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0)),
    rgba(0,0,0,.72)!important;
  box-shadow:inset 0 0 14px rgba(255,177,0,.025)!important;
}
.activity-item .ico,
.activity-item>img{
  width:54px!important;
  height:54px!important;
  border-radius:50%!important;
  border:2px solid #ffbd00!important;
  object-fit:cover!important;
  box-shadow:0 0 8px rgba(255,181,0,.42)!important;
}
.activity-item b{
  font-size:21px!important;
  line-height:24px!important;
  color:#fff!important;
}
.activity-item small{
  font-size:14px!important;
  line-height:17px!important;
  color:#ffd15c!important;
}
.activity-empty{
  grid-row:2!important;
  position:relative!important;
  width:100%!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  padding:22px!important;
}
.activity-empty:before{
  content:"⚡"!important;
  display:grid!important;
  place-items:center!important;
  width:82px!important;
  height:82px!important;
  border:2px solid #ffbd00!important;
  border-radius:50%!important;
  color:#ff9e00!important;
  font-size:43px!important;
  line-height:1!important;
  background:radial-gradient(circle,#211000 0%,#070300 68%,#000 100%)!important;
  box-shadow:0 0 12px #ff9700,0 0 26px rgba(255,126,0,.32)!important;
}
.activity-empty b{
  max-width:250px!important;
  font-size:27px!important;
  line-height:31px!important;
  color:#ffc400!important;
  text-shadow:0 2px 0 #4d2600!important;
}
.activity-empty strong{
  max-width:240px!important;
  font-size:15px!important;
  line-height:19px!important;
  color:#fff!important;
  letter-spacing:.4px!important;
}

/* -------------------- PREMIUM BOTTOM CTA CARDS -------------------- */
.cta-row{
  height:120px!important;
  gap:8px!important;
}
.cta{
  position:relative!important;
  height:120px!important;
  grid-template-columns:126px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:8px!important;
  padding:4px 16px!important;
  overflow:hidden!important;
  border-width:3px!important;
  border-radius:17px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),transparent 24%),
    radial-gradient(circle at 18% 50%,rgba(255,181,0,.07),transparent 34%),
    linear-gradient(180deg,#090909,#010101 62%,#000)!important;
}
.cta:before{
  content:""!important;
  position:absolute!important;
  inset:5px!important;
  border-radius:12px!important;
  border:1px solid rgba(255,255,255,.035)!important;
  pointer-events:none!important;
}
.cta img{
  position:relative!important;
  z-index:2!important;
  width:116px!important;
  height:108px!important;
  max-width:116px!important;
  max-height:108px!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:drop-shadow(0 0 10px rgba(255,157,0,.58))!important;
}
.cta>div{
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
  align-self:center!important;
}
.cta b{
  display:block!important;
  margin:0!important;
  font-size:43px!important;
  line-height:47px!important;
  color:#fff!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-shadow:0 3px 0 #000,0 0 7px rgba(255,255,255,.1)!important;
}
.cta small{
  display:block!important;
  margin-top:2px!important;
  font-size:21px!important;
  line-height:24px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.c1{
  border-color:#00cfff!important;
  box-shadow:0 0 9px #00a9ff,0 0 20px rgba(0,169,255,.36)!important;
}
.c2{
  grid-template-columns:138px minmax(0,1fr)!important;
  border-color:#ff1977!important;
  box-shadow:0 0 9px #ff1977,0 0 20px rgba(255,25,119,.36)!important;
}
.c2 img{width:130px!important;max-width:130px!important}
.c3{
  grid-template-columns:122px minmax(0,1fr)!important;
  border-color:#ad37ff!important;
  box-shadow:0 0 9px #ad37ff,0 0 20px rgba(173,55,255,.36)!important;
}
.c1 small{color:#00cfff!important}
.c2 small{color:#ff2b86!important}
.c3 small{color:#b94dff!important}


/* =====================================================================
   V35 — TRUE VISUAL COMPONENT REBUILD
   Full premium component pass against the approved reference.
   Live IDs, APIs and backend behaviour are preserved.
   ===================================================================== */

:root{
  --v35-gold:#ffc400;
  --v35-orange:#ff8a00;
  --v35-pink:#ff1d78;
  --v35-cyan:#00cfff;
  --v35-purple:#ad37ff;
}

/* ---------- CONSISTENT PREMIUM PANEL SYSTEM ---------- */
.panel,.conversion-cta,.cta{
  background:
    linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,0) 21%),
    radial-gradient(ellipse at 50% 0%,rgba(255,190,0,.045),transparent 46%),
    linear-gradient(180deg,#090909 0%,#020202 48%,#000 100%)!important;
  border-width:3px!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 0 30px rgba(0,0,0,.82)!important;
}
.panel.gold{
  border-color:var(--v35-gold)!important;
  box-shadow:
    0 0 8px rgba(255,164,0,.95),
    0 0 22px rgba(255,118,0,.28),
    inset 0 1px 0 rgba(255,232,145,.14),
    inset 0 0 26px rgba(255,184,0,.045)!important;
}
.panel.cyan{
  border-color:var(--v35-cyan)!important;
  box-shadow:
    0 0 9px rgba(0,197,255,.95),
    0 0 23px rgba(0,151,255,.31),
    inset 0 1px 0 rgba(140,239,255,.14),
    inset 0 0 28px rgba(0,207,255,.045)!important;
}
.panel.pink,.conversion-cta{
  border-color:var(--v35-pink)!important;
  box-shadow:
    0 0 9px rgba(255,29,120,.94),
    0 0 23px rgba(255,29,120,.30),
    inset 0 1px 0 rgba(255,176,213,.13),
    inset 0 0 28px rgba(255,29,120,.045)!important;
}
.panel.purple{
  border-color:var(--v35-purple)!important;
  box-shadow:
    0 0 9px rgba(173,55,255,.96),
    0 0 23px rgba(173,55,255,.31),
    inset 0 1px 0 rgba(224,177,255,.13),
    inset 0 0 28px rgba(173,55,255,.045)!important;
}

/* ---------- TOP GIFT TILES ---------- */
.gift-row{gap:8px!important}
.gift-card{
  border:3px solid var(--v35-gold)!important;
  border-radius:17px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 50% 42%,rgba(255,151,0,.07),transparent 58%),
    linear-gradient(180deg,#0a0803,#000)!important;
  box-shadow:
    0 0 8px rgba(255,170,0,.88),
    0 0 18px rgba(255,111,0,.25),
    inset 0 1px 0 rgba(255,240,180,.12)!important;
}
.gift-card .icon{
  inset:9px 10px 31px!important;
  display:grid!important;
  place-items:center!important;
}
.gift-card .icon img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:scale(.89)!important;
  filter:
    saturate(1.18)
    contrast(1.09)
    drop-shadow(0 0 8px rgba(255,145,0,.52))!important;
}
.gift-card .name{
  display:block!important;
  position:absolute!important;
  left:6px!important;right:6px!important;bottom:6px!important;
  color:#fff!important;
  text-align:center!important;
  font:400 24px/27px Anton,Impact,sans-serif!important;
  letter-spacing:.5px!important;
  text-shadow:0 2px 0 #000,0 0 7px rgba(255,255,255,.09)!important;
}
.gift-point-badge{
  top:7px!important;right:8px!important;
  width:35px!important;height:35px!important;
  border:2px solid #ffe34c!important;
  background:rgba(0,0,0,.88)!important;
  font-size:20px!important;line-height:32px!important;
  box-shadow:0 0 8px rgba(255,218,0,.62)!important;
}

/* ---------- TOP GIFTER ---------- */
.king{
  padding:12px 14px!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
}
.king h2{
  font-size:29px!important;line-height:32px!important;
  color:var(--v35-gold)!important;
  text-shadow:0 2px 0 #482500,0 0 7px rgba(255,188,0,.42)!important;
}
.king-body{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  gap:7px!important;
  margin:0!important;
}
.king-avatar{
  width:124px!important;height:124px!important;
  border:4px solid var(--v35-gold)!important;
  background:radial-gradient(circle,#19a8ff 0%,#06376d 65%,#00152c 100%)!important;
  box-shadow:
    0 0 12px rgba(255,196,0,.72),
    0 0 24px rgba(0,153,255,.25)!important;
}
.king-body strong{
  max-width:100%!important;
  font-size:34px!important;line-height:37px!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  color:#fff!important;text-shadow:0 3px 0 #000!important;
}
.king-score{
  font-size:54px!important;line-height:57px!important;
  color:#fff!important;text-shadow:0 3px 0 #000!important;
}
.king p{display:none!important}

/* ---------- DOMINANT CONVERSION BANNER ---------- */
.conversion-cta{
  grid-template-columns:178px minmax(0,1fr) 151px!important;
  gap:8px!important;
  padding:2px 10px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 14% 50%,rgba(255,40,60,.12),transparent 28%),
    radial-gradient(circle at 88% 50%,rgba(255,145,0,.10),transparent 25%),
    linear-gradient(180deg,#080505,#000)!important;
}
.cta-rose,.cta-train{
  width:100%!important;height:118px!important;
  object-fit:contain!important;object-position:center!important;
  transform:scale(1.03)!important;
  filter:
    saturate(1.16)
    contrast(1.09)
    drop-shadow(0 0 12px rgba(255,112,0,.62))!important;
}
.conversion-cta strong{
  font-size:58px!important;line-height:61px!important;
  letter-spacing:.1px!important;
  color:#fff!important;
  white-space:nowrap!important;
  text-shadow:0 3px 0 #000,0 0 8px rgba(255,255,255,.09)!important;
}
.conversion-cta strong.long{font-size:49px!important}
.conversion-cta strong.xlong{font-size:42px!important}
.conversion-cta small{
  font-size:29px!important;line-height:31px!important;
  color:#ff2d89!important;letter-spacing:1.3px!important;
  text-shadow:0 2px 0 #000,0 0 9px rgba(255,29,120,.43)!important;
}

/* ---------- LIVE EVENT ---------- */
.event{
  padding:17px 14px!important;
  display:grid!important;
  grid-template-rows:auto auto minmax(96px,1fr) auto auto!important;
  align-items:center!important;
  justify-items:center!important;
  row-gap:6px!important;
  text-align:center!important;
}
.event h2{font-size:30px!important;line-height:33px!important}
.event>strong{
  width:100%!important;
  font-size:39px!important;line-height:42px!important;
  color:#c54fff!important;
  text-shadow:0 0 9px rgba(178,45,255,.54)!important;
}
.event-art{
  width:210px!important;height:112px!important;
  margin:0!important;display:grid!important;place-items:center!important;
}
.event-art img{
  width:100%!important;height:100%!important;object-fit:contain!important;
  filter:drop-shadow(0 0 12px rgba(255,30,155,.61))!important;
}
.event #eventSeconds{
  margin:0!important;
  font-size:84px!important;line-height:86px!important;
  color:#ffd100!important;
  text-shadow:0 3px 0 #502b00,0 0 11px rgba(255,202,0,.53)!important;
}
.event p{
  margin:0!important;width:100%!important;
  font-size:22px!important;line-height:25px!important;
}

/* ---------- GAMEPLAY ---------- */
.game{
  border-width:3px!important;
  box-shadow:
    0 0 10px rgba(0,190,255,.98),
    0 0 25px rgba(0,145,255,.34),
    inset 0 0 40px rgba(0,140,255,.055)!important;
}
.live-chip{
  top:10px!important;left:12px!important;
  font-size:23px!important;line-height:26px!important;
  padding:5px 12px!important;
  background:rgba(0,0,0,.78)!important;
  border-radius:10px!important;
}

/* ---------- TRUE PREMIUM GIFT TRAIN ---------- */
.train{
  overflow:hidden!important;
  background:
    radial-gradient(ellipse at 43% 72%,rgba(255,126,0,.19),transparent 55%),
    linear-gradient(180deg,#0c0700 0%,#030100 58%,#000 100%)!important;
}
.train:before{
  content:""!important;
  position:absolute!important;
  left:14px!important;right:14px!important;top:8px!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,#ffc400,transparent)!important;
  opacity:.78!important;
}
.train-label{
  top:2px!important;left:47%!important;
  font-size:35px!important;line-height:38px!important;
  color:#ffc400!important;
  text-shadow:0 2px 0 #502900,0 0 10px rgba(255,187,0,.64)!important;
  z-index:8!important;
}
.train-visual{
  left:18px!important;right:224px!important;
  top:24px!important;bottom:14px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:0!important;
  overflow:visible!important;
  padding:0 6px!important;
}
.train-part.engine{
  width:214px!important;height:119px!important;
  flex:0 0 214px!important;
}
.train-part.car{
  width:118px!important;height:98px!important;
  flex:0 0 118px!important;
}
.train-part{
  object-fit:contain!important;
  object-position:center bottom!important;
  filter:
    saturate(1.15)
    contrast(1.09)
    drop-shadow(0 0 7px rgba(255,161,0,.89))
    drop-shadow(0 4px 3px rgba(0,0,0,.95))!important;
}
.train-stats{
  right:7px!important;top:25px!important;
  width:205px!important;min-height:110px!important;
  padding:5px!important;
  display:flex!important;flex-direction:column!important;
  justify-content:center!important;align-items:center!important;
  background:
    radial-gradient(circle at 50% 36%,rgba(255,190,0,.07),transparent 63%),
    rgba(0,0,0,.79)!important;
  border-left:1px solid rgba(255,190,0,.38)!important;
  border-radius:11px!important;
}
.train-stats>b{
  font-size:53px!important;line-height:56px!important;
  color:#ffc400!important;
  text-shadow:0 2px 0 #4f2800,0 0 9px rgba(255,188,0,.49)!important;
}
.train-stats>strong{
  font-size:26px!important;line-height:29px!important;color:#fff!important;
}
.train .track{
  left:25px!important;right:227px!important;bottom:5px!important;
  height:17px!important;
  border:2px solid #ffc400!important;
  border-radius:9px!important;
  background:
    linear-gradient(180deg,#100700,#020100)!important;
  box-shadow:
    0 0 8px rgba(255,151,0,.88),
    inset 0 0 9px rgba(255,177,0,.11)!important;
  overflow:visible!important;
}
.train .track:before{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;top:6px!important;
  height:3px!important;
  background:linear-gradient(90deg,#ff6500,#ffe200)!important;
  box-shadow:0 0 9px #ff9300!important;
}
.train .track:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:10px!important;right:10px!important;top:-10px!important;
  height:17px!important;
  background:
    radial-gradient(circle,#fff7bf 0 2px,#ffc400 3px 5px,transparent 6px) 0 0/14.25% 100% repeat-x!important;
  filter:drop-shadow(0 0 6px #ff8a00)!important;
}
.train-gift-pulse{right:207px!important}

/* ---------- PREMIUM LIVE FEED ---------- */
.activity{
  display:grid!important;
  grid-template-rows:48px minmax(0,1fr)!important;
  padding:10px 12px 13px!important;
  background:
    linear-gradient(180deg,rgba(255,190,0,.05),transparent 20%),
    radial-gradient(circle at 50% 48%,rgba(255,128,0,.055),transparent 63%),
    linear-gradient(180deg,#090603,#010101 61%,#000)!important;
}
.activity h2{
  margin:0!important;width:100%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  gap:9px!important;
  font-size:31px!important;line-height:34px!important;
  color:#ffc400!important;
  border-bottom:1px solid rgba(255,190,0,.31)!important;
  text-shadow:0 2px 0 #482400,0 0 8px rgba(255,188,0,.48)!important;
}
.activity-list{
  grid-row:2!important;
  display:flex!important;flex-direction:column!important;
  gap:8px!important;padding-top:9px!important;overflow:hidden!important;
}
.activity-item{
  min-height:87px!important;
  display:grid!important;
  grid-template-columns:60px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:9px!important;
  border:1px solid rgba(255,189,0,.28)!important;
  border-radius:13px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.032),transparent),
    rgba(0,0,0,.78)!important;
  box-shadow:
    inset 0 0 15px rgba(255,183,0,.032),
    0 0 8px rgba(255,136,0,.08)!important;
}
.activity-item .ico,.activity-item>img{
  width:57px!important;height:57px!important;
  border-radius:50%!important;border:2px solid #ffc400!important;
  object-fit:cover!important;
  box-shadow:0 0 9px rgba(255,181,0,.48)!important;
}
.activity-item b{font-size:22px!important;line-height:25px!important}
.activity-item small{font-size:15px!important;line-height:18px!important;color:#ffd15c!important}

.activity-empty{
  grid-row:2!important;
  position:static!important;
  width:100%!important;height:100%!important;
  padding:10px 2px 0!important;
  display:flex!important;flex-direction:column!important;
  align-items:stretch!important;justify-content:center!important;
  gap:8px!important;
}
.activity-empty:before{display:none!important}
.feed-placeholder-row{
  min-height:86px!important;
  display:grid!important;
  grid-template-columns:57px minmax(0,1fr) 52px!important;
  align-items:center!important;
  gap:9px!important;
  padding:9px!important;
  border:1px solid rgba(255,190,0,.27)!important;
  border-radius:13px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.03),transparent),
    rgba(0,0,0,.76)!important;
  box-shadow:inset 0 0 15px rgba(255,184,0,.03)!important;
}
.feed-placeholder-row.muted{opacity:.58!important}
.feed-placeholder-avatar{
  width:55px!important;height:55px!important;
  display:grid!important;place-items:center!important;
  border:2px solid #ffc400!important;border-radius:50%!important;
  background:radial-gradient(circle,#2a1600,#050200)!important;
  font-size:28px!important;
  box-shadow:0 0 8px rgba(255,177,0,.44)!important;
}
.feed-placeholder-row div{min-width:0!important}
.feed-placeholder-row b{
  display:block!important;max-width:none!important;
  font-size:20px!important;line-height:23px!important;
  color:#fff!important;text-align:left!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
.feed-placeholder-row small{
  display:block!important;margin-top:2px!important;
  font-size:13px!important;line-height:16px!important;
  color:#ffd15c!important;text-align:left!important;
}
.feed-placeholder-gift{
  width:48px!important;height:48px!important;
  display:grid!important;place-items:center!important;
  font-size:34px!important;
  filter:drop-shadow(0 0 7px rgba(255,142,0,.54))!important;
}

/* ---------- CURRENT CHALLENGE ---------- */
.challenge{
  padding:13px 14px!important;
  display:grid!important;
  grid-template-rows:34px minmax(0,1fr)!important;
}
.challenge h2{font-size:23px!important;line-height:26px!important}
.challenge-main{
  width:100%!important;height:100%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:10px!important;
}
.challenge-main>span{display:none!important}
.challenge-main strong{
  display:block!important;width:100%!important;max-width:315px!important;
  font-size:42px!important;line-height:48px!important;
  text-align:center!important;white-space:normal!important;
  word-break:keep-all!important;overflow-wrap:normal!important;
  color:#fff!important;text-shadow:0 3px 0 #000!important;
}
.challenge-main strong.long{font-size:34px!important;line-height:40px!important}
.challenge-main strong.xlong{font-size:29px!important;line-height:35px!important}

/* ---------- THREE PREMIUM BOTTOM CTA CARDS ---------- */
.cta-row{height:120px!important;gap:8px!important}
.cta{
  position:relative!important;
  height:120px!important;
  grid-template-columns:144px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:6px!important;
  padding:3px 15px!important;
  overflow:hidden!important;
  border-width:3px!important;border-radius:17px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.045),transparent 23%),
    radial-gradient(circle at 19% 50%,rgba(255,185,0,.085),transparent 36%),
    linear-gradient(180deg,#0a0a0a,#010101 63%,#000)!important;
}
.cta:before{
  content:""!important;
  position:absolute!important;inset:5px!important;
  border:1px solid rgba(255,255,255,.05)!important;
  border-radius:12px!important;pointer-events:none!important;
}
.cta img{
  position:relative!important;z-index:2!important;
  width:136px!important;height:111px!important;
  max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:center!important;
  filter:
    saturate(1.16)
    contrast(1.08)
    drop-shadow(0 0 11px rgba(255,151,0,.63))!important;
}
.cta>div{
  position:relative!important;z-index:2!important;
  min-width:0!important;align-self:center!important;
}
.cta b{
  display:block!important;margin:0!important;
  font-size:48px!important;line-height:51px!important;
  color:#fff!important;white-space:nowrap!important;
  overflow:hidden!important;text-overflow:ellipsis!important;
  text-shadow:0 3px 0 #000,0 0 7px rgba(255,255,255,.12)!important;
}
.cta small{
  display:block!important;margin-top:2px!important;
  font-size:23px!important;line-height:26px!important;
  font-weight:900!important;white-space:nowrap!important;
  overflow:hidden!important;text-overflow:ellipsis!important;
}
.c1{
  border-color:#00cfff!important;
  box-shadow:0 0 10px #00aaff,0 0 22px rgba(0,170,255,.38)!important;
}
.c2{
  grid-template-columns:151px minmax(0,1fr)!important;
  border-color:#ff1977!important;
  box-shadow:0 0 10px #ff1977,0 0 22px rgba(255,25,119,.38)!important;
}
.c2 img{width:144px!important}
.c3{
  grid-template-columns:136px minmax(0,1fr)!important;
  border-color:#ad37ff!important;
  box-shadow:0 0 10px #ad37ff,0 0 22px rgba(173,55,255,.38)!important;
}
.c1 small{color:#00cfff!important}
.c2 small{color:#ff2e8a!important}
.c3 small{color:#b84cff!important}


/* =====================================================================
   V37 — SAFE REPAIR FROM V35
   ONLY:
   1. one complete continuous Gift Train image
   2. one clean centred Live Feed empty state
   ===================================================================== */

/* Complete train: one image means no joins, gaps, missing carriages or clipping. */
.train-visual{
  left:18px!important;
  right:220px!important;
  top:28px!important;
  bottom:12px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  overflow:hidden!important;
  padding:0!important;
}
.train-complete{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:scaleX(-1)!important;
  filter:
    saturate(1.12)
    contrast(1.08)
    drop-shadow(0 0 7px rgba(255,156,0,.82))
    drop-shadow(0 4px 3px rgba(0,0,0,.95))!important;
}
.train-part{display:none!important}
.train .track{
  left:26px!important;
  right:223px!important;
  bottom:5px!important;
}

/* Clean feed empty state with no placeholder rows and no malformed layout. */
.activity-empty{
  grid-row:2!important;
  position:static!important;
  width:100%!important;
  height:100%!important;
  padding:18px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  text-align:center!important;
}
.activity-empty:before{display:none!important}
.feed-placeholder-row,
.feed-placeholder-avatar,
.feed-placeholder-gift{display:none!important}
.feed-empty-icon{
  display:grid!important;
  place-items:center!important;
  width:72px!important;
  height:72px!important;
  border:2px solid #ffc400!important;
  border-radius:50%!important;
  color:#ff9e00!important;
  font-size:38px!important;
  line-height:1!important;
  background:radial-gradient(circle,#211000 0%,#070300 68%,#000 100%)!important;
  box-shadow:0 0 11px #ff9700,0 0 24px rgba(255,126,0,.28)!important;
}
.activity-empty b{
  display:block!important;
  margin:0!important;
  max-width:250px!important;
  font-size:26px!important;
  line-height:30px!important;
  color:#ffc400!important;
  text-align:center!important;
}
.activity-empty strong{
  display:block!important;
  margin:0!important;
  max-width:250px!important;
  font-size:15px!important;
  line-height:19px!important;
  color:#fff!important;
  text-align:center!important;
}


/* =====================================================================
   V38 — TRAIN ORIENTATION + 10 CARRIAGES + CLEAN EMPTY LIVE FEED
   Built from V37.
   ===================================================================== */

.train-visual{
  left:16px!important;
  right:214px!important;
  top:26px!important;
  bottom:14px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  overflow:hidden!important;
  padding:0!important;
  z-index:2!important;
}
.train-cars{
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  gap:0!important;
  overflow:hidden!important;
  padding:0 8px 2px 0!important;
}
.train-carriage{
  flex:0 0 63px!important;
  width:63px!important;
  height:58px!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  margin-right:-7px!important;
  transform:translateY(3px)!important;
  transition:filter .22s ease, opacity .22s ease, transform .22s ease!important;
}
.train-carriage.off{
  opacity:.43!important;
  filter:brightness(.52) saturate(.8) drop-shadow(0 0 2px rgba(255,160,0,.24))!important;
}
.train-carriage.lit{
  opacity:1!important;
  transform:translateY(0)!important;
  filter:saturate(1.12) brightness(1.04) drop-shadow(0 0 10px rgba(255,170,0,.78)) drop-shadow(0 0 18px rgba(255,112,0,.36))!important;
}
.train-engine-wrap{
  flex:0 0 164px!important;
  width:164px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  padding:0 2px 2px 0!important;
}
.train-engine{
  width:160px!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:right bottom!important;
  transform:scaleX(-1)!important;
  filter:saturate(1.08) brightness(1.02) drop-shadow(0 0 10px rgba(255,162,0,.85)) drop-shadow(0 2px 6px rgba(0,0,0,.96))!important;
}
.train .track{
  left:24px!important;
  right:220px!important;
  bottom:6px!important;
}
.train .rail-light{left:18px!important;right:18px!important}
.train-gift-pulse{z-index:4!important}

/* Keep the live feed permanently as one clean centred empty state for now. */
#activityFeed{display:none}
.activity-empty{
  position:absolute!important;
  inset:68px 16px 18px 16px!important;
  width:auto!important;
  height:auto!important;
  padding:14px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  text-align:center!important;
}
.feed-empty-icon{
  display:grid!important;
  place-items:center!important;
  width:76px!important;
  height:76px!important;
  border-radius:50%!important;
  border:2px solid #ffbf2d!important;
  color:#ffb100!important;
  font-size:40px!important;
  line-height:1!important;
  background:radial-gradient(circle at 50% 45%, rgba(45,23,0,.95) 0%, rgba(12,6,0,.98) 70%, rgba(0,0,0,1) 100%)!important;
  box-shadow:0 0 12px rgba(255,175,0,.72), inset 0 0 12px rgba(255,140,0,.18)!important;
}
.activity-empty b{
  margin:0!important;
  max-width:250px!important;
  font-size:28px!important;
  line-height:31px!important;
  text-align:center!important;
  color:#ffc400!important;
}
.activity-empty strong{
  margin:0!important;
  max-width:250px!important;
  font-size:15px!important;
  line-height:19px!important;
  text-align:center!important;
  color:#ffffff!important;
}


/* =====================================================================
   V39 — PREMIUM TEN-CARRIAGE TRAIN REBUILD ONLY
   Live Feed and every other component remain exactly as V38.
   ===================================================================== */

.train-visual{
  left:18px!important;
  right:215px!important;
  top:24px!important;
  bottom:12px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  overflow:hidden!important;
  padding:0 5px 3px 6px!important;
}
.train-cars-v39{
  flex:1 1 auto!important;
  min-width:0!important;
  height:92px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  gap:0!important;
  padding:0 0 8px 0!important;
  overflow:visible!important;
}
.v39-car{
  --car-main:#e52a24;
  --car-dark:#6d0e0c;
  --car-light:#ff675e;
  position:relative!important;
  flex:1 1 0!important;
  min-width:49px!important;
  max-width:71px!important;
  height:74px!important;
  margin-right:-4px!important;
  transform:translateY(2px)!important;
  opacity:.78!important;
  transition:filter .22s ease, opacity .22s ease, transform .22s ease!important;
  filter:brightness(.72) saturate(.84) drop-shadow(0 3px 3px rgba(0,0,0,.92))!important;
}
.v39-green{--car-main:#37d32f;--car-dark:#0d6615;--car-light:#83ff6e}
.v39-blue{--car-main:#248eea;--car-dark:#0b3b7e;--car-light:#72c7ff}
.v39-purple{--car-main:#963be4;--car-dark:#48137b;--car-light:#d38bff}
.v39-gold{--car-main:#e9a51d;--car-dark:#7d4608;--car-light:#ffd56d}
.v39-red{--car-main:#e7372d;--car-dark:#77120e;--car-light:#ff7d71}
.v39-roof{
  position:absolute!important;
  left:5px!important;right:5px!important;top:4px!important;
  height:16px!important;
  border:2px solid #ffc238!important;
  border-bottom:0!important;
  border-radius:10px 10px 2px 2px!important;
  background:linear-gradient(180deg,var(--car-light),var(--car-main) 58%,var(--car-dark))!important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.24),0 0 5px rgba(255,162,0,.35)!important;
}
.v39-body{
  position:absolute!important;
  left:6px!important;right:6px!important;top:18px!important;bottom:18px!important;
  border:2px solid #f4a91d!important;
  border-radius:2px 2px 8px 8px!important;
  background:linear-gradient(180deg,var(--car-main),var(--car-dark))!important;
  box-shadow:inset 0 0 9px rgba(0,0,0,.5)!important;
}
.v39-windows{
  position:absolute!important;
  left:12px!important;right:12px!important;top:27px!important;height:16px!important;
  border-radius:4px!important;
  background:repeating-linear-gradient(90deg,#102337 0 13px,#8cd7ff 13px 24px,#102337 24px 29px)!important;
  border:1px solid rgba(255,222,96,.75)!important;
  box-shadow:inset 0 0 5px rgba(0,0,0,.85)!important;
}
.v39-wheels{
  position:absolute!important;
  left:10px!important;right:10px!important;bottom:4px!important;height:20px!important;
  background:
    radial-gradient(circle at 17% 50%,#ffdc57 0 3px,#3b2200 4px 7px,#ffc400 8px 9px,transparent 10px),
    radial-gradient(circle at 83% 50%,#ffdc57 0 3px,#3b2200 4px 7px,#ffc400 8px 9px,transparent 10px)!important;
  filter:drop-shadow(0 0 4px rgba(255,150,0,.7))!important;
}
.v39-coupler{
  position:absolute!important;
  right:-8px!important;top:48px!important;
  width:12px!important;height:5px!important;
  background:#d99016!important;
  border-radius:3px!important;
  box-shadow:0 0 4px rgba(255,174,0,.6)!important;
}
.v39-car.off{
  opacity:.72!important;
  filter:brightness(.66) saturate(.78) drop-shadow(0 3px 3px rgba(0,0,0,.92))!important;
}
.v39-car.lit{
  opacity:1!important;
  transform:translateY(-1px)!important;
  filter:brightness(1.12) saturate(1.18) drop-shadow(0 0 8px rgba(255,186,0,.88)) drop-shadow(0 0 18px rgba(255,99,0,.38))!important;
}
.v39-car.lit .v39-windows{
  background:repeating-linear-gradient(90deg,#17314b 0 13px,#fff4a2 13px 24px,#17314b 24px 29px)!important;
  box-shadow:0 0 8px rgba(255,223,86,.78),inset 0 0 4px rgba(255,255,255,.5)!important;
}
.v39-car.lit .v39-body{
  box-shadow:inset 0 0 10px rgba(255,220,104,.2),0 0 8px rgba(255,146,0,.42)!important;
}
.train-engine-wrap-v39{
  flex:0 0 170px!important;
  width:170px!important;
  height:104px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  padding:0 2px 4px 0!important;
  overflow:visible!important;
}
.train-engine-v39{
  width:170px!important;
  height:104px!important;
  object-fit:contain!important;
  object-position:right bottom!important;
  transform:scaleX(-1)!important;
  filter:saturate(1.12) brightness(1.07) drop-shadow(0 0 9px rgba(255,166,0,.88)) drop-shadow(0 3px 4px rgba(0,0,0,.95))!important;
}
.train .track{
  left:24px!important;
  right:219px!important;
  bottom:5px!important;
  height:17px!important;
}
.train .track:after{
  opacity:.48!important;
}


/* =====================================================================
   V40 — MATCHING LOCOMOTIVE ONLY
   Replaces the photographic engine with a CSS-built locomotive using the
   exact same geometry, materials, gold edging, windows and wheel language
   as the ten V39 carriages. Everything else remains unchanged.
   ===================================================================== */

.train-engine-wrap-v39{display:none!important}

.train-engine-wrap-v40{
  flex:0 0 172px!important;
  width:172px!important;
  height:104px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  padding:0 0 5px 0!important;
  overflow:visible!important;
  position:relative!important;
}

.v40-engine{
  --eng-main:#e7372d;
  --eng-dark:#77120e;
  --eng-light:#ff7d71;
  position:relative!important;
  width:168px!important;
  height:96px!important;
  filter:
    drop-shadow(0 0 8px rgba(255,186,0,.72))
    drop-shadow(0 3px 4px rgba(0,0,0,.95))!important;
}

/* Cab mirrors the carriage body and roof treatment. */
.v40-engine-cab{
  position:absolute!important;
  right:8px!important;
  top:18px!important;
  width:58px!important;
  height:52px!important;
  border:2px solid #f4a91d!important;
  border-radius:8px 8px 5px 5px!important;
  background:
    linear-gradient(180deg,var(--eng-light),var(--eng-main) 52%,var(--eng-dark))!important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.23),
    inset 0 0 9px rgba(0,0,0,.48)!important;
}
.v40-engine-cab:before{
  content:""!important;
  position:absolute!important;
  left:3px!important;
  right:3px!important;
  top:-12px!important;
  height:14px!important;
  border:2px solid #ffc238!important;
  border-bottom:0!important;
  border-radius:10px 10px 2px 2px!important;
  background:linear-gradient(180deg,var(--eng-light),var(--eng-main) 60%,var(--eng-dark))!important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.24)!important;
}
.v40-engine-window{
  position:absolute!important;
  right:22px!important;
  top:29px!important;
  width:26px!important;
  height:18px!important;
  border:1px solid rgba(255,222,96,.82)!important;
  border-radius:4px!important;
  background:linear-gradient(135deg,#18364f,#8cd7ff 54%,#19374f)!important;
  box-shadow:inset 0 0 5px rgba(0,0,0,.84),0 0 6px rgba(126,215,255,.34)!important;
}

/* Boiler and front use the same red/gold material system as the carriages. */
.v40-engine-boiler{
  position:absolute!important;
  right:59px!important;
  top:33px!important;
  width:75px!important;
  height:31px!important;
  border:2px solid #f4a91d!important;
  border-radius:17px 7px 7px 17px!important;
  background:
    linear-gradient(180deg,var(--eng-light),var(--eng-main) 48%,var(--eng-dark))!important;
  box-shadow:
    inset 0 3px 0 rgba(255,255,255,.21),
    inset 0 -7px 10px rgba(0,0,0,.32)!important;
}
.v40-engine-boiler:before,
.v40-engine-boiler:after{
  content:""!important;
  position:absolute!important;
  top:1px!important;
  bottom:1px!important;
  width:4px!important;
  border-radius:3px!important;
  background:#f4a91d!important;
  box-shadow:0 0 4px rgba(255,169,29,.46)!important;
}
.v40-engine-boiler:before{right:21px!important}
.v40-engine-boiler:after{right:43px!important}

.v40-engine-front{
  position:absolute!important;
  left:20px!important;
  top:36px!important;
  width:42px!important;
  height:28px!important;
  border:2px solid #f4a91d!important;
  border-radius:18px 5px 5px 18px!important;
  background:linear-gradient(180deg,#f04a36,#b21d17 56%,#67100d)!important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.18)!important;
}
.v40-engine-front:before{
  content:""!important;
  position:absolute!important;
  left:-9px!important;
  top:6px!important;
  width:11px!important;
  height:14px!important;
  border:2px solid #ffc238!important;
  border-right:0!important;
  border-radius:7px 0 0 7px!important;
  background:#942018!important;
}

/* Stack and dome are compact and stylised rather than photographic. */
.v40-engine-stack{
  position:absolute!important;
  left:42px!important;
  top:3px!important;
  width:22px!important;
  height:36px!important;
  border:2px solid #f4a91d!important;
  border-radius:5px 5px 3px 3px!important;
  background:linear-gradient(90deg,#5b170e,#da392a 52%,#721710)!important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.12)!important;
}
.v40-engine-stack:before{
  content:""!important;
  position:absolute!important;
  left:-7px!important;
  top:-10px!important;
  width:32px!important;
  height:13px!important;
  border:2px solid #ffc238!important;
  border-radius:50% 50% 5px 5px!important;
  background:linear-gradient(180deg,#ff7d71,#c52d22)!important;
}
.v40-engine-dome{
  position:absolute!important;
  left:78px!important;
  top:17px!important;
  width:18px!important;
  height:18px!important;
  border:2px solid #f4a91d!important;
  border-radius:50% 50% 4px 4px!important;
  background:linear-gradient(180deg,#ff7d71,#a71c16)!important;
}

/* Shared chassis and wheel styling match the carriage wheel treatment. */
.v40-engine-chassis{
  position:absolute!important;
  left:19px!important;
  right:5px!important;
  bottom:17px!important;
  height:12px!important;
  border:2px solid #f4a91d!important;
  border-radius:5px!important;
  background:linear-gradient(180deg,#7b1a12,#3a0a08)!important;
}
.v40-engine-wheels{
  position:absolute!important;
  left:27px!important;
  right:9px!important;
  bottom:0!important;
  height:26px!important;
  background:
    radial-gradient(circle at 11% 50%,#ffdc57 0 4px,#3b2200 5px 9px,#ffc400 10px 11px,transparent 12px),
    radial-gradient(circle at 38% 50%,#ffdc57 0 4px,#3b2200 5px 9px,#ffc400 10px 11px,transparent 12px),
    radial-gradient(circle at 67% 50%,#ffdc57 0 4px,#3b2200 5px 9px,#ffc400 10px 11px,transparent 12px),
    radial-gradient(circle at 91% 50%,#ffdc57 0 4px,#3b2200 5px 9px,#ffc400 10px 11px,transparent 12px)!important;
  filter:drop-shadow(0 0 5px rgba(255,150,0,.82))!important;
}
.v40-engine-coupler{
  position:absolute!important;
  left:7px!important;
  top:57px!important;
  width:15px!important;
  height:5px!important;
  border-radius:3px!important;
  background:#d99016!important;
  box-shadow:0 0 4px rgba(255,174,0,.6)!important;
}
.v40-engine-glow{
  position:absolute!important;
  left:17px!important;
  right:4px!important;
  bottom:-2px!important;
  height:8px!important;
  border-radius:50%!important;
  background:radial-gradient(ellipse,rgba(255,154,0,.62),transparent 70%)!important;
  filter:blur(2px)!important;
  opacity:.9!important;
}

/* Lit appearance matches an activated V39 carriage. */
.train-panel.active .v40-engine,
.train.engine-power .v40-engine{
  filter:
    brightness(1.08)
    saturate(1.16)
    drop-shadow(0 0 10px rgba(255,186,0,.88))
    drop-shadow(0 0 18px rgba(255,99,0,.34))!important;
}


/* =====================================================================
   V40.1 — TRAIN POSITION CORRECTION ONLY
   Built directly from the user's attached V40 ZIP.
   Moves the complete engine + 10-carriage consist left as one unit.
   No direction, design, lighting, feed, layout or logic changes.
   ===================================================================== */

.train-cars-v39,
.train-engine-wrap-v40{
  transform:translateX(-58px)!important;
}

/* Preserve the existing carriage activation movement without cancelling
   the whole-train left shift. */
.v39-car{
  transform:translateY(2px)!important;
}
.v39-car.lit{
  transform:translateY(-1px)!important;
}


/* =====================================================================
   V40.2 — ENGINE DIRECTION ONLY
   Built from V40.1.
   Keeps the full train 58px left, and flips only the locomotive back.
   ===================================================================== */

.v40-engine{
  transform:scaleX(-1)!important;
  transform-origin:center center!important;
}
\n/* V43 — Live Feed is allowed to switch between populated rows and clean empty state. */\n#activityFeed{width:100%;min-height:0}\n#activityFeed[style*="display: grid"]{display:grid!important}\n.activity-empty[style*="display: none"]{display:none!important}\n

/* =====================================================================
   V46 — Live feed empty-state cleanup + uncluttered main banner
   ===================================================================== */
#activityFeed.hidden{display:none!important;}
#activityEmpty.hidden{display:none!important;}
#activityFeed:not(.hidden){display:grid!important;}
#activityEmpty:not(.hidden){display:flex!important;}

.conversion-cta{
  grid-template-columns:minmax(0,1fr)!important;
  justify-items:center!important;
  padding:6px 18px!important;
}
.conversion-cta-copy{
  width:100%!important;
  text-align:center!important;
}
.conversion-cta .cta-rose,
.conversion-cta .cta-train{
  display:none!important;
}
.conversion-cta strong{
  max-width:100%!important;
  margin:0 auto!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.conversion-cta small{
  max-width:100%!important;
  margin:0 auto!important;
}


/* =====================================================================
   V47 PRODUCTION CLEAN BASELINE — final non-visual safety corrections
   ===================================================================== */
.top-gifter .name,
.top-gifter #topGifterName,
.top-gifter .top-gifter-name{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  padding-inline:8px!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-align:center!important;
  font-size:clamp(17px,1.45vw,27px)!important;
  line-height:1.05!important;
}
.top-gifter .detail,
.top-gifter #topGifterDetail{
  max-width:100%!important;
  padding-inline:8px!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}


/* PHASE 3 V51 — sequential carriage activation and completion clarity */
.v39-car.just-lit{
  animation:v51CarriageIgnite 1.05s cubic-bezier(.2,.85,.25,1) both!important;
  z-index:5;
}
@keyframes v51CarriageIgnite{
  0%{transform:translateY(0) scale(1);filter:brightness(1)}
  30%{transform:translateY(-7px) scale(1.13);filter:brightness(2.1) saturate(1.45);box-shadow:0 0 18px #fff,0 0 34px #ffd000}
  65%{transform:translateY(-2px) scale(1.05);filter:brightness(1.55) saturate(1.25)}
  100%{transform:translateY(0) scale(1);filter:brightness(1)}
}
.train-complete-active .v39-car.lit{
  animation:v51FullTrainHold 1.2s ease-in-out infinite alternate;
}
@keyframes v51FullTrainHold{
  from{filter:brightness(1.15) saturate(1.15)}
  to{filter:brightness(1.8) saturate(1.4);box-shadow:0 0 16px #ffd000}
}

/* V65 compliance/session presentation — additive only; approved layout unchanged. */
.v65-safe-scene{position:absolute;inset:0;z-index:30;display:none;place-items:center;background:radial-gradient(circle at 50% 42%,rgba(22,30,46,.98),rgba(1,3,7,.995) 72%);text-align:center;padding:50px}.v65-safe-scene.active{display:grid}.v65-safe-scene>div{border:3px solid #ffcf1a;border-radius:18px;background:rgba(0,0,0,.72);padding:34px 50px;box-shadow:0 0 40px rgba(255,207,26,.22)}.v65-safe-scene strong{display:block;color:#ffcf1a;font:italic 400 58px/1 Anton;text-shadow:0 4px 3px #000}.v65-safe-scene span{display:block;margin-top:14px;color:#fff;font:800 24px/1.25 Montserrat}.live-chip.v65-replay i{background:#ffc400}.live-chip.v65-offline i{background:#7c8798}.live-chip.v65-emergency i{background:#ff1535;animation:v65Pulse .8s infinite alternate}@keyframes v65Pulse{to{box-shadow:0 0 18px #ff1535;transform:scale(1.18)}}
