/* Ascent Live — big screen sky of lanes + phone cards */
.al-host{position:fixed;inset:0;z-index:3;pointer-events:none}
.al-host button{pointer-events:auto}
.al-field{position:absolute;inset:0;transition:opacity .5s}
.al-field.off .al-lanes,.al-field.off .al-axis{opacity:0}
.al-cv{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}
.al-axis,.al-lanes,.al-links{position:absolute;inset:0;transition:opacity .4s}
.al-ui{position:absolute;inset:0}
.al-pop{animation:alPop .5s cubic-bezier(.2,1.3,.4,1) both}
@keyframes alPop{from{opacity:0;transform:translateY(-12px) scale(.97)}}
.al-dim{color:var(--ink-3)}

/* ---- header ---- */
.al-head{position:absolute;left:72px;top:12px;height:64px;display:flex;align-items:center;gap:16px;padding:8px 24px 8px 16px;background:var(--panel);box-shadow:inset 0 -4px 0 var(--cyan)}
.al-ic svg{display:block;width:40px;height:40px}
.al-logo{font-weight:700;font-size:32px;letter-spacing:4px;color:#fff;text-shadow:-2px 0 #ff3d9a,2px 0 #2ef0ff}
.al-sub{font-size:16px;letter-spacing:4px;text-transform:uppercase;color:#ff8fc8}
.al-join{position:absolute;right:72px;top:12px;height:64px;padding:8px 24px 12px;gap:4px;background:var(--panel);box-shadow:inset 0 -4px 0 var(--gold);text-align:right;display:flex;flex-direction:column;justify-content:center}
.al-join .label{display:block;font-size:16px;line-height:16px;letter-spacing:3px}
.al-code{font-weight:700;font-size:32px;line-height:32px;letter-spacing:8px;color:var(--gold);text-shadow:0 0 16px rgba(255,211,77,.5);margin-right:-8px}

/* ---- prompt bar ---- */
.al-qbar{position:absolute;top:96px;left:50%;transform:translateX(-50%);width:min(1120px,calc(100vw - 160px));padding:12px 120px 16px 32px;background:var(--panel);box-shadow:inset 0 4px 0 var(--pink);transition:padding .4s}
.al-qbar[hidden]{display:none}
.al-qtop{display:flex;gap:16px}
.al-q{font-weight:700;font-size:32px;line-height:40px;margin-top:4px;color:#fff;transition:font-size .3s,line-height .3s}
.al-qbar .al-ring{position:absolute;right:24px;top:50%;margin-top:-36px;width:72px;height:72px}
.al-qbar .al-ring b{font-size:32px}
.al-qbar.compact{padding:8px 32px 8px 24px}
.al-qbar.compact .al-q{font-size:24px;line-height:32px}
.al-qbar.compact .al-ring{display:none}
.al-qbar.urgent{animation:urgentGlow 1s ease-in-out infinite}.al-qbar.urgent.lv3{animation-duration:.5s}

/* ---- zone axis ---- */
.al-zl{position:absolute;left:0;top:0;opacity:0;transition:opacity .4s}
.al-zl.on{opacity:1}
.al-zl span{display:block;transform:translateX(-100%);white-space:nowrap;font-size:16px;line-height:24px;letter-spacing:1px;text-transform:uppercase;color:#8a82c8;text-shadow:2px 0 #07051a,-2px 0 #07051a,0 2px #07051a,0 -2px #07051a}

/* ---- lanes ---- */
.al-lane{transition:opacity .4s,filter .4s}
.al-lane.in{animation:alLaneIn .6s cubic-bezier(.2,1.6,.4,1) both}
@keyframes alLaneIn{from{opacity:0;filter:brightness(3)}}
.al-lane.gone{opacity:.35}
.al-lane.dim{opacity:.18;filter:saturate(.3)}
.al-rk,.al-nmo{position:absolute;left:0;top:0;will-change:transform}
.al-cw{position:absolute;left:0;bottom:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center}
.al-craft{display:block;transform-origin:50% 100%;line-height:0;filter:drop-shadow(0 0 6px rgba(95,243,255,.35))}
.al-craft svg{display:block}
.al-sc.z{visibility:hidden}
.al-host.intro .al-axis{opacity:0}
.al-sc{font-weight:700;font-size:16px;line-height:16px;color:#fff;margin-bottom:6px;text-shadow:2px 0 #07051a,-2px 0 #07051a,0 2px #07051a,0 -2px #07051a}
.al-lane.locked .al-craft{filter:drop-shadow(0 0 4px #5ff3ff) drop-shadow(0 0 12px rgba(95,243,255,.8))}
.al-lane.locked .al-sc::after{content:' ✓';color:var(--cyan)}
.al-lane.miss .al-craft{filter:grayscale(1) brightness(.6)}
.al-lane.hot .al-craft{filter:drop-shadow(0 0 6px #fff) drop-shadow(0 0 18px rgba(255,211,77,.9))}
.al-nm{display:block;transform:translateX(-50%);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px;line-height:20px;color:var(--ink-2);text-align:center;text-shadow:2px 0 #07051a,-2px 0 #07051a,0 2px #07051a,0 -2px #07051a}
.al-lane.locked .al-nm{color:var(--cyan)}
/* answer tag trails beside the craft */
.al-tag{position:absolute;left:100%;bottom:2px;margin-left:8px;white-space:nowrap;font-size:16px;line-height:16px;padding:4px 8px;color:#07051a;background:var(--tc,#aeb6cc);box-shadow:0 0 12px color-mix(in srgb,var(--tc,#aeb6cc) 55%,transparent);opacity:0;transform:translateX(-8px) scale(.6);transform-origin:0 100%;transition:opacity .25s,transform .35s cubic-bezier(.2,1.6,.4,1)}
.al-tag.on{opacity:1;transform:none}
.al-field.dense .al-tag.on:not(.now):not(.delta){opacity:0;transform:translateX(-8px) scale(.6)}
.al-tag.on::before{content:'';position:absolute;left:-6px;bottom:6px;border:4px solid transparent;border-right:2px solid var(--tc,#aeb6cc)}
.al-tag.miss{background:#2a2050;color:#8a82c8;box-shadow:none}
.al-tag.miss::before{border-right-color:#2a2050}
.al-tag.delta{font-weight:700;background:transparent;color:var(--tc);box-shadow:none;padding:4px 0;text-shadow:2px 0 #07051a,-2px 0 #07051a,0 2px #07051a,0 -2px #07051a}
.al-tag.delta::before{display:none}
.al-tag.t-nova,.al-tag.t-deep{font-weight:700}
/* rank badge above the score once the room settles */
.al-badge{display:none;align-items:center;gap:4px;margin-bottom:6px;font-weight:700;font-size:16px;line-height:16px;padding:4px 8px;background:#1a1450;color:#fff;box-shadow:inset 0 0 0 2px #3a3290}
.al-badge.on{display:flex;animation:alPop .45s cubic-bezier(.2,1.6,.4,1) both}
.al-badge.first{background:#ffd34d;color:#2a1800;box-shadow:0 0 16px rgba(255,211,77,.7)}
.al-badge i{font-style:normal;font-weight:400}
.al-badge i.up{color:#2ee6a8}.al-badge i.dn{color:#ff6a8a}
.al-badge.first i.up{color:#0a5a3a}.al-badge.first i.dn{color:#8a1030}
/* constellation label for identical answers */
.al-clu{position:absolute;left:0;top:0;white-space:nowrap}
.al-clu>span{display:inline-flex;align-items:center;gap:8px;transform:translateX(-50%);font-size:16px;line-height:16px;padding:6px 12px;background:rgba(12,9,40,.92);color:#fff;box-shadow:inset 0 0 0 2px var(--tc),0 0 18px color-mix(in srgb,var(--tc) 45%,transparent);animation:alClu .5s cubic-bezier(.2,1.6,.4,1) both,alWob .9s ease-in-out .5s 3}
.al-clu b{color:var(--tc)}
.al-clu em{font-style:normal;font-size:16px;letter-spacing:2px;text-transform:uppercase;color:#07051a;background:var(--tc);padding:0 6px}
.al-clu.out{opacity:0!important;transition:opacity .35s}
@keyframes alClu{from{opacity:0;transform:translateX(-50%) scale(.4)}}
@keyframes alWob{0%,100%{transform:translateX(-50%) rotate(0)}25%{transform:translateX(-50%) rotate(-3deg)}75%{transform:translateX(-50%) rotate(3deg)}}
/* spotlight */
.al-spot{position:absolute;inset:0;--sx:50%;--sy:50%;background:radial-gradient(circle at var(--sx) var(--sy),transparent 0,transparent 56px,rgba(4,2,16,.5) 120px,rgba(4,2,16,.84) 320px);opacity:0;transition:opacity .6s}
.al-spot.on{opacity:1}

/* ---- callout (current beat) ---- */
.al-call{position:absolute;left:232px;width:768px;top:192px;text-align:center}
.al-cl{display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:8px 24px;animation:alCall .45s cubic-bezier(.2,1.5,.4,1) both;position:relative}
.al-cl::before{content:'';position:absolute;inset:-8px -40px;background:radial-gradient(closest-side,rgba(7,5,26,.75),rgba(7,5,26,.45) 60%,transparent);z-index:-1}
.al-cl.out{animation:alCallOut .5s ease-in both}
@keyframes alCall{from{opacity:0;transform:translateY(-10px) scale(.9)}}
@keyframes alCallOut{to{opacity:0;transform:translateY(-12px)}}
.al-cl-k{font-size:16px;letter-spacing:4px;text-transform:uppercase;color:var(--ink-2)}
.al-cl-a{font-weight:700;font-size:40px;line-height:48px;letter-spacing:2px;color:var(--tc,#fff);text-shadow:3px 0 #07051a,-3px 0 #07051a,0 3px #07051a,0 -3px #07051a,0 0 24px color-mix(in srgb,var(--tc,#fff) 60%,transparent)}
.al-cl-a.dim{color:var(--ink-2);font-size:32px;line-height:40px}
.al-cl-t{display:flex;align-items:center;gap:12px;font-size:16px;color:var(--ink-2)}
.al-cl-t b{font-weight:700;color:#fff}
.al-cl-t em{font-style:normal;color:#07051a;background:var(--gold);padding:0 6px;letter-spacing:2px;text-transform:uppercase}
.al-tl{display:inline-flex;align-items:center;gap:8px;color:var(--tc);letter-spacing:2px;text-transform:uppercase}
.al-cl.clu .al-cl-a{animation:alWobT .8s ease-in-out .3s 2}
@keyframes alWobT{25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}
.al-cl.t-orbit .al-cl-a{text-shadow:-2px 0 #ff3d9a,2px 0 #2ef0ff,0 0 24px rgba(63,168,255,.8)}
.al-cl.seq .al-cl-a{color:var(--cyan);animation:alBlink .5s steps(2) infinite}
@keyframes alBlink{50%{opacity:.55}}
.al-cl.spot .al-cl-k{color:var(--gold);letter-spacing:8px}
.al-cl.stand .al-cl-a{font-size:32px;line-height:40px}

/* ---- side panel ---- */
.al-side{position:absolute;right:24px;top:240px;bottom:96px;width:392px;padding:16px 20px;background:var(--panel);display:flex;flex-direction:column;gap:12px;animation:alSide .45s cubic-bezier(.2,1.2,.4,1) both;overflow:hidden}
.al-side[hidden]{display:none}
@keyframes alSide{from{opacity:0;transform:translateX(24px)}}
.al-sh{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.al-lk{font-size:24px;color:var(--ink-2)}.al-lk b{font-weight:700;font-size:40px;color:#fff;display:inline-block}
.al-lk b.bump,.al-wn b.bump{animation:bump .35s cubic-bezier(.2,1.8,.4,1)}
.al-meter{height:8px;background:#1e1756}.al-meter i{display:block;height:100%;background:linear-gradient(90deg,#5ff3ff,#ff5fb4);box-shadow:0 0 12px rgba(95,243,255,.6);transition:width .4s cubic-bezier(.2,1.4,.4,1)}
.al-roster{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;overflow:hidden;flex:1}
.al-roster li{display:flex;align-items:center;gap:10px;padding:4px 10px;background:#0e0b34;font-size:16px;line-height:24px;color:var(--ink-3);transition:background .3s,color .3s}
.al-roster li .av{width:24px;display:flex;justify-content:center;opacity:.5}
.al-roster li .nm{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.al-roster li .st{display:flex;gap:4px;align-items:center}
.al-roster li .st i{width:4px;height:4px;background:#4a4294;animation:alDot 1.2s steps(1) infinite}
.al-roster li .st i:nth-child(2){animation-delay:.2s}.al-roster li .st i:nth-child(3){animation-delay:.4s}
@keyframes alDot{0%,60%{background:#4a4294}30%{background:#8a82c8}}
.al-roster li.in{background:rgba(95,243,255,.1);color:#fff;box-shadow:inset 4px 0 0 var(--cyan);animation:alIn .5s cubic-bezier(.2,1.6,.4,1)}
.al-roster li.in .av{opacity:1}
.al-roster li.in .st{color:var(--cyan);font-size:16px;letter-spacing:2px}
@keyframes alIn{0%{background:rgba(95,243,255,.5)}}
.al-hint{flex:none;font-size:16px;color:var(--ink-3);text-align:center}
.al-side.dense .al-roster{display:grid;grid-template-columns:1fr 1fr;gap:4px;align-content:start}
.al-side.dense .al-roster li{padding:2px 6px;gap:6px}
.al-side.dense .al-roster li .st{font-size:0}
.al-side.dense .al-roster li.in .st::before{content:'';width:8px;height:8px;background:var(--cyan);box-shadow:0 0 6px var(--cyan)}
.al-side.xdense .al-roster{grid-template-columns:1fr 1fr 1fr}
.al-side.xdense .al-roster li .av{display:none}
/* wall: what the room said, bucketed by tier */
.al-wall{display:flex;flex-direction:column;gap:6px;flex:1;min-height:0}
.al-wr{display:flex;gap:10px;align-items:flex-start;padding:6px 8px;background:#0b0830;box-shadow:inset 4px 0 0 color-mix(in srgb,var(--tc) 35%,#0b0830);min-height:40px;transition:box-shadow .3s,background .3s}
.al-wr.has{box-shadow:inset 4px 0 0 var(--tc);background:color-mix(in srgb,var(--tc) 8%,#0b0830)}
.al-wi{width:32px;flex:none;display:flex;justify-content:center;padding-top:4px;opacity:.35;transition:opacity .3s}
.al-wr.has .al-wi{opacity:1}
.al-wc{display:flex;flex-wrap:wrap;gap:6px;flex:1}
.al-wchip{display:inline-flex;gap:6px;align-items:center;font-size:16px;line-height:16px;padding:6px 8px;color:#fff;background:color-mix(in srgb,var(--tc) 22%,#0c0928);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--tc) 70%,transparent);animation:alChip .5s cubic-bezier(.2,1.7,.4,1) both}
.al-wchip b{color:var(--tc)}
.al-wchip.lone{color:#07051a;background:var(--tc);box-shadow:0 0 14px var(--tc);font-weight:700}
@keyframes alChip{from{opacity:0;transform:scale(.3)}}
/* standings */
.al-st{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;flex:1}
.al-st li{height:40px;display:grid;grid-template-columns:32px 40px 24px minmax(0,1fr) auto 56px;gap:8px;align-items:center;padding:4px 8px;background:#0e0b34;font-size:16px;line-height:28px;opacity:0;transform:translateX(16px);transition:opacity .35s,transform .45s cubic-bezier(.2,1.5,.4,1)}
.al-st li.on{opacity:1;transform:none}
.al-st li.lead{background:linear-gradient(90deg,rgba(255,211,77,.22),rgba(255,211,77,.04));box-shadow:inset 4px 0 0 var(--gold)}
.al-st .rk{font-weight:700;color:var(--ink-3);text-align:center}.al-st li.lead .rk{color:var(--gold)}
.al-st .mv{color:var(--ink-3);text-align:center}.al-st .mv.up{color:#2ee6a8}.al-st .mv.dn{color:#ff6a8a}
.al-st .av{display:flex;justify-content:center}
.al-st .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}
.al-st .dl{font-weight:700;color:var(--tc)}
.al-st .sc{font-weight:700;text-align:right;color:#fff}
.al-more{font-size:16px;color:var(--ink-3);text-align:center}
.al-sw{display:flex;justify-content:center}
.al-sw .btn{padding:8px 16px}

/* ---- footer ---- */
.al-foot{position:absolute;left:24px;right:24px;bottom:16px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.al-status{font-size:16px;background:rgba(10,7,30,.85);padding:8px 16px;color:#fff}
.al-status .label{letter-spacing:2px}
.al-status:empty{display:none}
.al-ctl{display:flex;gap:12px}
.al-ctl .btn[disabled]{opacity:.4;cursor:default;box-shadow:none}

/* ---- intro ---- */
.al-center{position:absolute;left:50%;top:104px;transform:translateX(-50%);width:min(1040px,calc(100vw - 96px))}
.al-intro{text-align:center;padding:24px 32px 32px;background:var(--panel)}
.al-big{font-size:64px;letter-spacing:8px;margin-top:8px}
.al-big.sm{font-size:48px}
.al-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;text-align:left}
.al-rules>div{display:flex;flex-direction:column;gap:4px;padding:16px;background:#0e0b34;box-shadow:inset 0 4px 0 var(--cyan)}
.al-rules>div:nth-child(2){box-shadow:inset 0 4px 0 var(--pink)}.al-rules>div:nth-child(3){box-shadow:inset 0 4px 0 var(--gold)}
.al-rules b{font-size:24px;color:#fff}
.al-rules span{font-size:16px;color:var(--ink-2)}
.al-rules .al-n{font-weight:700;font-size:16px;color:#07051a;background:var(--cyan);width:24px;text-align:center;align-self:flex-start}
.al-rules>div:nth-child(2) .al-n{background:var(--pink)}.al-rules>div:nth-child(3) .al-n{background:var(--gold)}

/* ---- final podium ---- */
.al-final{text-align:center}
.al-final .label{text-shadow:2px 0 #07051a,-2px 0 #07051a,0 2px #07051a,0 -2px #07051a}
.al-pod{display:flex;justify-content:center;align-items:flex-end;gap:24px;margin-top:8px;height:500px}
.al-pd{display:flex;flex-direction:column;align-items:center;width:240px;animation:alRise .9s cubic-bezier(.2,1.3,.4,1) both;animation-delay:calc(var(--d) * 320ms)}
.al-pd.empty{visibility:hidden}
@keyframes alRise{from{opacity:0;transform:translateY(120px)}}
.al-pcraft{position:relative;line-height:0;animation:novaBob 1.6s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(95,243,255,.5))}
.al-pd.p1 .al-pcraft{filter:drop-shadow(0 0 18px rgba(255,211,77,.8))}
.al-fl{position:absolute;left:50%;bottom:-20px;width:12px;height:24px;margin-left:-6px;background:linear-gradient(#fff,#ffd34d 40%,#ff9a3c 70%,transparent);animation:alFl .12s steps(2) infinite}
@keyframes alFl{50%{height:16px;opacity:.8}}
.al-pnm{margin-top:24px;font-weight:700;font-size:24px;color:#fff;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:2px 0 #07051a,-2px 0 #07051a,0 2px #07051a,0 -2px #07051a}
.al-psc{font-weight:700;font-size:32px;color:var(--cyan);text-shadow:2px 0 #07051a,-2px 0 #07051a,0 2px #07051a,0 -2px #07051a}
.al-pd.p1 .al-psc{font-size:40px;color:var(--gold)}
.al-ptiers{display:flex;gap:4px;margin:8px 0}
.al-ptiers .pip{width:16px;height:16px}
.al-blk{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;padding-top:12px;background:linear-gradient(#1c1660,#0c0928)}
.al-blk b{font-weight:700;font-size:48px;line-height:48px;color:#fff}
.al-blk span{font-size:16px;color:var(--ink-2);padding:0 8px}
.al-pd.p1 .al-blk{height:200px;background:linear-gradient(#5a4210,#1a1206);box-shadow:inset 0 4px 0 var(--gold)}.al-pd.p1 .al-blk b{color:var(--gold);font-size:64px;line-height:64px}
.al-pd.p2 .al-blk{height:150px;box-shadow:inset 0 4px 0 #c07cff}
.al-pd.p3 .al-blk{height:112px;box-shadow:inset 0 4px 0 #3fa8ff}
.al-rest{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 12px;width:min(960px,92vw);margin:16px auto 0;padding:0;list-style-position:inside;font-size:16px;color:var(--ink-2)}
.al-rest li{display:flex;gap:8px;justify-content:space-between;background:rgba(12,9,40,.85);padding:4px 12px}
.al-rest li i{font-style:normal;color:var(--ink-3)}
.al-rest li span{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.al-rest b{color:#fff}

/* UI.reveal over the big screen sits a little lower, clear of the prompt bar */
.reveal.al-rv{top:50%}

/* ===================== phone ===================== */
.al-pst{gap:12px}
.al-pc{text-align:center}
.al-pc .label{text-align:center}
.al-plogo{font-size:32px;letter-spacing:4px;margin-top:8px}
.al-ppad{position:relative;display:flex;justify-content:center;margin:24px auto 8px;width:max-content;animation:novaBob 1.6s ease-in-out infinite}
.al-ppad i{position:absolute;left:-16px;right:-16px;bottom:-8px;height:4px;background:var(--cyan);box-shadow:0 4px 0 #ffd34d}
.al-ptxt{font-size:16px;color:#fff;margin-top:16px}
.al-pw{font-size:16px;color:var(--ink-3);margin-top:12px}
.al-pq{text-align:left}
.al-pq .label{text-align:left}
.al-pans{font-weight:700;font-size:32px;line-height:40px;margin-top:12px;color:#fff;word-break:break-word}
.al-pans.dim{color:var(--ink-3)}
.al-seal{position:relative;overflow:hidden;margin:16px auto 0;width:max-content;padding:8px 24px;font-size:16px;letter-spacing:4px;color:var(--ink-2);background:#0e0b34;box-shadow:inset 0 0 0 2px #3a3290}
.al-seal i{position:absolute;top:0;bottom:0;width:40%;left:-50%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.25),transparent);animation:shine 1.6s ease-in-out infinite}
.al-wait{display:flex;flex-direction:column;gap:4px;margin-top:20px;font-size:16px;color:var(--ink-2)}
.al-wn{font-size:24px;color:var(--ink-2)}.al-wn b{display:inline-block;font-weight:700;font-size:40px;color:var(--cyan)}
.al-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px}
.al-dots i{width:12px;height:12px;background:#1e1756;box-shadow:inset 0 0 0 2px #2c2470}
.al-dots i.on{background:var(--cyan);box-shadow:0 0 8px rgba(95,243,255,.7);animation:pipPop .5s cubic-bezier(.2,1.7,.35,1)}
.al-pq2{font-size:24px;line-height:32px;color:#fff;margin-top:8px}
.al-cd{display:flex;justify-content:center;gap:8px;margin-top:20px}
.al-cd span{width:16px;height:16px;background:#2c2470;animation:alCd 1.2s steps(1) infinite}
.al-cd span:nth-child(2){animation-delay:.15s}.al-cd span:nth-child(3){animation-delay:.3s}.al-cd span:nth-child(4){animation-delay:.45s}.al-cd span:nth-child(5){animation-delay:.6s}
@keyframes alCd{0%{background:var(--pink);box-shadow:0 0 10px var(--pink)}25%,100%{background:#2c2470;box-shadow:none}}
.al-sum{box-shadow:inset 0 4px 0 var(--tc)}
.al-ptier{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px;font-size:24px;color:var(--tc)}
.al-ptier b{font-weight:700;color:#fff}
.al-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.al-stats>div{background:#0d0a30;padding:12px 8px;display:flex;flex-direction:column;align-items:center}
.al-stats b{font-weight:700;font-size:32px;line-height:40px;color:var(--cyan)}
.al-stats span{font-size:16px;color:var(--ink-3)}
.al-stats .al-prk{color:#fff;display:flex;align-items:baseline;gap:8px}
.al-stats .al-prk i{font-style:normal;font-size:16px}
.al-stats .al-prk.up i{color:#2ee6a8}.al-stats .al-prk.dn i{color:#ff6a8a}
.al-stats .al-prk.up{animation:alUp .8s cubic-bezier(.2,1.8,.4,1) .7s both}
@keyframes alUp{0%{transform:translateY(12px)}50%{transform:translateY(-8px) scale(1.15);color:#2ee6a8}}
.al-fin{box-shadow:inset 0 4px 0 var(--tc)}
.al-frank{font-weight:700;font-size:88px;line-height:96px;color:var(--tc);text-shadow:-3px 0 #ff3d9a,3px 0 #2ef0ff;margin-top:8px}
.al-frank small{font-size:24px;color:var(--ink-3);margin-left:8px;text-shadow:none;font-weight:400}
.al-ftot{font-size:16px;color:var(--ink-2)}.al-ftot b{font-weight:700;font-size:32px;color:#fff}
.al-ftop{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:4px}
.al-ftop li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;padding:6px 12px;background:#0e0b34;font-size:16px;text-align:left}
.al-ftop li.mine{box-shadow:inset 4px 0 0 var(--tc);color:#fff}
.al-ftop b{color:#fff}

@media (max-width:700px){
  .al-pans{font-size:24px;line-height:32px}
  .al-frank{font-size:64px;line-height:72px}
}
