:root{color-scheme:dark;font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:#eef5ff;background:#040811;--ice:#a8d4ff;--blue:#80baff;--gold:#ffe3a0;--muted:#91a9c6;--scale:1}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit}#viewport{width:100vw;height:calc(100vh - 100px);display:grid;place-items:center;overflow:hidden;position:relative}#stage{width:2180px;height:800px;position:absolute;left:50%;top:50%;flex:none;overflow:hidden;background:#061126;transform:translate(-50%,-50%) scale(var(--scale));transform-origin:center;isolation:isolate}.kv-space{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,12,29,.95) 0%,rgba(3,12,29,.85) 24%,rgba(6,19,44,.18) 44%,rgba(5,16,35,.88) 62%,rgba(4,13,29,.97) 100%),linear-gradient(0deg,#051026 0%,transparent 45%,#061024aa 100%),url('assets/kv.png') 45% 46% / 3300px auto;z-index:-3}.halftone{position:absolute;inset:0;z-index:-2;background-image:radial-gradient(#6894cb30 .7px,transparent .9px);background-size:5px 5px;mask-image:linear-gradient(90deg,#000,transparent 45%,#000)}.ambient-shard{position:absolute;z-index:-1;border:1px solid #8cb6ec50;background:linear-gradient(135deg,#6499d52e,#060f2510);transform:rotate(25deg);box-shadow:inset 0 0 50px #b1d9ff0a}.shard-one{width:280px;height:280px;left:510px;top:-190px;animation:drift 15s ease-in-out infinite}.shard-two{width:240px;height:240px;right:-100px;bottom:90px;transform:rotate(35deg)}
.masthead{height:123px;margin:0 46px;border-bottom:1px solid #bfd9fc35;display:flex;align-items:center;justify-content:space-between;position:relative}.masthead:after{content:"";width:90px;height:3px;background:#d9eaff;position:absolute;left:0;bottom:-2px;box-shadow:0 0 15px #bedcff}.brand-lockup{display:flex;align-items:center;gap:24px}.aidol-logo{width:133px;height:85px}.brand-divider{height:54px;width:1px;background:linear-gradient(transparent,#bedcff88,transparent)}.eyebrow{font:11px Arial;letter-spacing:3.4px;color:#99b9de;margin:0 0 11px}h1{font-size:32px;letter-spacing:1px;line-height:1;margin:0;font-weight:800}h1 span{font-size:26px;font-weight:500;margin-left:17px;color:#c6dcf8}.header-right{display:flex;align-items:center;gap:42px}.jd-logo{width:132px;height:65px}.signal{font-size:17px;letter-spacing:2px;text-align:right}.signal>i,.ranking-live i,.stage-footer i{display:inline-block;width:7px;height:7px;margin-right:10px;border-radius:50%;background:#c7e3ff;box-shadow:0 0 12px #9fceff}.signal span{display:block;color:#829ab8;font:10px Arial;letter-spacing:2px;margin-top:10px}
.section-heading{height:35px;display:flex;gap:10px;align-items:center}.section-heading .index{font:italic 15px Arial;color:#7295bd;letter-spacing:1px}h2{margin:0;font-size:27px;letter-spacing:2px;font-weight:700}.section-heading small{font:9px Arial;letter-spacing:1.6px;color:#809dbd;margin-left:auto}.leaders{position:absolute;left:46px;top:156px;width:440px}.leader-card{position:relative;height:84px;margin-top:12px;padding:18px 21px;display:flex;align-items:center;gap:18px;border:1px solid #9ec9ff40;background:linear-gradient(105deg,#1b36577a,#071629d9);transition:border-color .4s,box-shadow .4s;overflow:hidden}.leader-card.champion{height:148px;margin-top:17px;background:linear-gradient(115deg,#d4e9ffed,#a1c6eae8 55%,#6688b9dd);color:#0a2444;border:1px solid #d5e9ff;clip-path:polygon(0 0,94% 0,100% 14%,100% 100%,0 100%);box-shadow:inset 0 0 45px #e6f5ff55}.leader-card.champion:before{content:"";position:absolute;width:85px;height:300px;right:40px;top:-70px;transform:rotate(38deg);background:#e7f4ff25}.leader-rank{font:italic 700 43px Arial;color:#a3c8f1;letter-spacing:-3px;width:53px;flex:none}.champion .leader-rank{width:68px;font-size:58px;color:#123960}.leader-info{z-index:1;flex:1;min-width:0}.leader-name{font-size:22px;font-weight:650;letter-spacing:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leader-tag{font:10px Arial;letter-spacing:1.5px;color:#8bafd6;margin-top:7px}.champion .leader-tag{color:#34587f}.leader-score{font:italic 700 32px Arial;text-align:right;letter-spacing:-1px}.leader-score small{display:block;font:10px "PingFang SC",sans-serif;letter-spacing:1px;color:#9fbbdb;margin-top:6px}.champion .leader-score{font-size:46px}.champion .leader-score small{color:#3b6089}.champion .leader-name{font-size:27px}.crown{position:absolute;right:19px;top:12px;font:9px Arial;letter-spacing:2.5px;color:#32557d}.arena-stats{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:0 12px}.arena-stats div{text-align:center}.arena-stats strong{font:30px Arial;letter-spacing:1px}.arena-stats span{font-size:12px;display:block;margin-top:7px;letter-spacing:1px;color:#9eb5d0}.arena-stats>i{height:28px;width:1px;background:#9dc4fa30}.leaders-note{font-size:12px;letter-spacing:1.6px;color:#809dbf;text-align:center;margin-top:14px}.leaders-note span{color:#b0d9ff;margin-right:8px}
.hero{position:absolute;left:506px;top:145px;width:685px;height:516px;text-align:center}.hero-kicker{font:9px Arial;letter-spacing:3.7px;margin:11px 0 10px;color:#b1ccea}.hero-title{font-size:69px;letter-spacing:2px;font-style:italic;font-weight:900;text-shadow:0 4px 25px #06162b;margin:0;line-height:1.1}.hero-title span{background:linear-gradient(#fff 15%,#aac9ee 52%,#fff 60%,#8db4e3);background-clip:text;color:transparent}.hero-title i{font-size:28px;position:absolute;right:163px;top:20px;color:#e6f1ff}.portal{position:absolute;top:94px;left:128px;width:430px;height:300px;perspective:650px}.portal:before{content:"";position:absolute;inset:20px 40px -15px;border-radius:50%;background:radial-gradient(ellipse,#c9e7ff26,transparent 65%);filter:blur(10px)}.orbit{position:absolute;left:35px;top:5px;width:360px;height:280px;border:1px solid #ceeaff65;border-radius:50%;box-shadow:inset 0 0 25px #a1d8ff0c,0 0 20px #a1d8ff0b;transform:rotate(-25deg)}.orbit-a{animation:orbit 22s linear infinite}.orbit-a:after{content:"";position:absolute;width:7px;height:7px;left:30px;top:48px;background:#eef7ff;border-radius:50%;box-shadow:0 0 20px #d3f0ff}.orbit-b{inset:24px 56px;width:318px;height:236px;border-style:dashed;border-color:#c5e7ff2c;transform:rotate(28deg);animation:orbit 30s linear infinite reverse}.orbit-c{left:51px;top:76px;width:328px;height:174px;transform:rotateX(64deg);border-color:#daf1ff6b}.portal-grid{position:absolute;width:278px;height:278px;left:76px;top:0;background:repeating-conic-gradient(from 0deg,#b9dcff28 0 1deg,transparent 1deg 30deg);border-radius:50%;mask-image:radial-gradient(transparent 60%,#000 61%,transparent 62%);animation:orbit 40s linear infinite}.core{position:absolute;top:48px;left:134px;width:164px;height:164px;border:5px solid #c6def4;border-radius:50%;background:radial-gradient(circle at 31% 22%,#fff 0%,#c5ddf4 24%,#6788b1 58%,#cde9ff 78%,#607da1 100%);box-shadow:inset 0 0 0 5px #6384a8,inset 0 0 0 7px #d6ebfe,10px 12px 0 #153652,15px 18px 32px #0005,0 0 65px #b1d7ff80;color:#183d68;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(-15deg);animation:coin-hover 5s ease-in-out infinite;transition:background .6s,box-shadow .6s;overflow:hidden}.core-glyph{font:bold italic 96px Arial;text-shadow:1px 2px #e2f3ff;line-height:1}.core small{font:bold 8px Arial;letter-spacing:2px;margin:2px 0 10px}.core-glint{position:absolute;inset:-100px;background:linear-gradient(110deg,transparent 40%,#ffffffa1 48%,transparent 55%);animation:glint 5s ease-in-out infinite;pointer-events:none}.satellite{position:absolute;border:1px solid #e5f3ffb0;background:linear-gradient(125deg,#cfe5ffbb,#678cb570);box-shadow:8px 8px 0 #182d4aaa;transform:rotate(-22deg);animation:float 6s ease-in-out infinite}.sat-one{width:32px;height:32px;left:52px;top:66px}.sat-two{width:23px;height:23px;right:24px;top:178px;animation-delay:-2s}.sat-three{width:16px;height:16px;right:90px;top:13px;animation-delay:-4s}.friend-core{display:none;position:absolute;top:36px;left:50%;transform:translateX(-50%);align-items:center;gap:18px}.avatar-card{position:relative;display:grid;place-items:center;width:112px;height:190px;border:2px solid #d2f5ff;border-radius:25px;background:linear-gradient(145deg,#dbf8ff,#618fc2);box-shadow:0 0 30px #77caff5c;padding:10px}.avatar-card img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;image-rendering:pixelated}.friend-core .avatar-card:first-child{transform:rotate(-8deg)}.friend-core .avatar-card:last-child{transform:rotate(8deg)}.join-core{display:none;position:absolute;top:26px;left:137px;width:156px;height:200px;padding:10px 22px;border:3px solid #d2f5ff;border-radius:30px;box-shadow:8px 10px 0 #163657,0 0 60px #b1d7ff70}.avatar-spark{position:absolute;right:-12px;top:-16px;color:#eefaff;font-size:34px;text-shadow:0 0 18px #baeaff}.friend-core i{font:54px Arial;color:#cefcff;text-shadow:0 0 30px #9fdfff}.pulse-ring{position:absolute;left:130px;top:42px;width:176px;height:176px;border-radius:50%;border:2px solid #d7eeff;opacity:0}.moment{position:absolute;top:330px;left:20px;right:20px;text-shadow:0 3px 18px #041126}.moment-tag{font:10px Arial;letter-spacing:3px;color:#aacaef;margin:0 0 9px}.moment h3{font-size:30px;line-height:1.2;letter-spacing:3px;margin:0 0 10px}.moment-detail{font-size:14px;letter-spacing:1px;color:#b4cbe6;margin:0}.moment-value{height:54px;margin-top:8px;font:italic 700 48px Arial;letter-spacing:-1px;color:var(--gold)}.moment-value small{font:12px "PingFang SC";font-style:normal;letter-spacing:1px;margin-left:10px;color:#bed2ec}.idle-line{display:inline-block;width:55px;height:2px;background:linear-gradient(90deg,transparent,#b5d6fa,transparent);vertical-align:middle}.hero-base{position:absolute;bottom:-9px;width:100%;color:#98b6d8}.hero-base span{font-size:10px;letter-spacing:8px}.hero-base b{font-size:11px;display:block;letter-spacing:2px;margin-top:8px;font-weight:400}
.ranking{position:absolute;top:156px;right:46px;width:893px}.ranking-live{margin-left:auto;font-size:12px;letter-spacing:1px;color:#b6d4f5}.ranking-live i{display:inline-block;width:6px;height:6px;background:#bcdfff;border-radius:50%;margin-right:6px;box-shadow:0 0 9px #a8d8ff}.ranking-sub{display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-size:11px;color:#90abcb;letter-spacing:1px}.ranking-sub>span:first-child{font:9px Arial;letter-spacing:2px}.column-heads{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:20px;color:#7998bd;font-size:11px}.column-heads>div{display:flex;justify-content:space-between;padding:0 15px 10px;border-bottom:1px solid #7ba7df45}.column-heads b{font-weight:400}.rank-list{position:relative;height:365px;margin-top:5px}.rank-row{position:absolute;height:33px;width:434px;display:flex;align-items:center;border-bottom:1px solid #98bde918;background:linear-gradient(90deg,#18345580,#12273d25);padding:0 15px;transition:background .3s;will-change:transform}.rank-num{font:italic 700 17px Arial;color:#789bc7;width:35px}.rank-row.top .rank-num{color:#d5e9ff}.rank-name{font-size:18px;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}.rank-total{font:italic 700 22px Arial;margin-left:auto;letter-spacing:.5px;color:#dfedff}.rank-row.top{background:linear-gradient(90deg,#789cc940,#233c5730)}.rank-delta{position:absolute;right:84px;font:bold 12px Arial;color:var(--gold);opacity:0}.rank-row.highlight .rank-delta{animation:delta-rise 3.8s both}.rank-row.highlight{background:linear-gradient(90deg,#76613799,#223d5770);box-shadow:inset 3px 0 var(--gold),0 0 20px #ffda8d18}.rank-row.spend-highlight{background:linear-gradient(90deg,#5e9acd70,#233c5730);box-shadow:inset 3px 0 #c3e7ff}.leader-card.highlight{box-shadow:inset 0 0 40px #ffe09866;border-color:#ffe3a0}.ranking-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #8db6eb40;padding-top:15px;font-size:11px;letter-spacing:1px;color:#8aa6c7}.ranking-footer span:last-child{font:8px Arial;letter-spacing:2px}.ranking-footer i{display:inline-block;width:4px;height:4px;vertical-align:middle;margin-right:7px;background:#9abde5}
.activity-stream{position:absolute;left:46px;right:46px;bottom:53px;height:76px;display:flex;align-items:center;border-top:1px solid #adcff647;border-bottom:1px solid #adcff625;background:linear-gradient(90deg,#101f37bb,#0b1b3080)}.stream-label{width:240px;flex:none;display:flex;align-items:center;gap:15px;padding-left:8px}.stream-icon{font-size:34px;color:#c2dfff}.stream-label b{font-size:17px;letter-spacing:2px}.stream-label small{display:block;font:9px Arial;letter-spacing:3px;margin-top:8px;color:#88a4c6}.stream-lanes{position:relative;overflow:hidden;flex:1;height:74px;mask-image:linear-gradient(90deg,transparent,#000 2%,#000 97%,transparent)}.stream-lane{position:absolute;left:0;right:0;height:35px;top:1px}.stream-lane+ .stream-lane{top:39px}.barrage{position:absolute;left:100%;top:0;white-space:nowrap;height:32px;padding:6px 15px;color:#bdd0e6;font-size:13px;letter-spacing:.8px;border:1px solid #8ab2e32c;background:#1d3454b8;animation:marquee 22s linear forwards;will-change:transform;display:flex;align-items:center;gap:9px}.barrage b{color:#f0f5ff;font-weight:500}.barrage strong{color:#ffe0a0;font-weight:600}.barrage.friend strong,.barrage.join strong{color:#b8efff}.barrage-icon{font-size:14px;color:#d5eaff}.barrage time{color:#718eaf;font:9px Arial;margin-left:10px}.stage-footer{position:absolute;bottom:0;height:53px;left:46px;right:46px;display:flex;align-items:center;justify-content:space-between;color:#7494b7;font-size:11px;letter-spacing:1px}.stage-footer p{font-size:12px;letter-spacing:4px;color:#a6c0df}.stage-footer b{color:#3e5c80;margin:0 15px;font-weight:400}.stage-footer i{width:4px;height:4px;margin-right:8px;background:#86abd2}
#effects{position:absolute;inset:0;pointer-events:none;z-index:20}.flying-coin{position:absolute;width:26px;height:26px;border:2px solid #fff0b9;border-radius:50%;display:grid;place-items:center;font:bold italic 16px Arial;color:#8a5a11;background:radial-gradient(circle at 30% 25%,#fff8d9,#f7ce6d 55%,#bb8528);box-shadow:0 0 20px #ffce6866}.flying-coin.spend{background:radial-gradient(circle at 30% 25%,#fff,#badbfa 55%,#537fa6);color:#244d75;border-color:#e6f6ff;box-shadow:0 0 20px #a4d5ff88}.streak{position:absolute;height:2px;background:linear-gradient(90deg,transparent,#dcefff);transform-origin:left center;opacity:.8}.stage-flash{position:absolute;inset:0;background:radial-gradient(circle at 39% 43%,#c4eaff33,transparent 48%);animation:flash 1.3s ease-out both}
#stage[data-scene=earn] .core{background:radial-gradient(circle at 30% 20%,#fff9db,#ffdf93 30%,#ad7628 60%,#ffe5a0 80%,#b87d24);border-color:#fff0b5;box-shadow:inset 0 0 0 5px #ad7a32,inset 0 0 0 7px #ffeec0,10px 12px 0 #715127,0 0 90px #ffd98988;color:#765018}#stage[data-scene=earn] .core-glyph{text-shadow:1px 2px #fff1bd}#stage[data-scene=earn] .moment-tag{color:#efd29d}#stage[data-scene=earn] .pulse-ring{border-color:#ffe6a9;animation:pulse-out 2s ease-out infinite}#stage[data-scene=spend] .moment-value{color:#d4ebff}#stage[data-scene=spend] .core-glyph{font-size:76px}#stage[data-scene=spend] .pulse-ring{animation:pulse-out 2s ease-out infinite}#stage[data-scene=friend] .core{display:none}#stage[data-scene=friend] .friend-core{display:flex;animation:friend-in .8s both}#stage[data-scene=friend] .moment-value{font-size:24px;color:#c8f7ff;padding-top:10px;letter-spacing:4px}#stage[data-scene=join] .core{display:none}#stage[data-scene=join] .join-core{display:grid;animation:friend-in .8s both}#stage[data-scene=join] .moment-value{font-size:24px;color:#d8efff;padding-top:10px;letter-spacing:3px}.moment.enter{animation:moment-in .6s both}
#controls{height:100px;padding:15px 28px;display:grid;grid-template-columns:auto 1fr;gap:8px 36px;align-items:center;background:#0c1320;border-top:1px solid #273750;position:fixed;bottom:0;width:100%;z-index:50}.control-caption b{display:block;font-size:14px;color:#d3e3f5}.control-caption span{display:block;font-size:10px;color:#7590b0;margin-top:5px;letter-spacing:1px}.control-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end}.control-actions button{font-size:12px;color:#d3e0f1;background:#162238;border:1px solid #30425d;border-radius:5px;padding:8px 10px;cursor:pointer;white-space:nowrap;transition:.2s}.control-actions button:hover{border-color:#a5cfff;background:#243955}.control-actions button:focus-visible{outline:2px solid #cde5ff;outline-offset:3px}.control-actions button[aria-pressed=true]{background:#d5e8ff;color:#172d49;border-color:#d5e8ff}.control-actions i{width:1px;height:22px;background:#35445b;margin:0 5px}.key{color:#6d91bc;margin-right:6px;font:10px Arial}#controlStatus{grid-column:1/-1;margin:0;font-size:10px;color:#8097b4;text-align:right;letter-spacing:.5px}body.controls-hidden #controls{display:none}body.controls-hidden #viewport{height:100vh}:fullscreen #viewport{height:100vh}:fullscreen #controls{display:none}
@keyframes orbit{to{transform:rotate(335deg)}}@keyframes coin-hover{50%{translate:0 -12px;rotate:5deg}}@keyframes float{50%{translate:0 -16px;rotate:12deg}}@keyframes drift{50%{translate:18px 22px;rotate:6deg}}@keyframes glint{0%,40%{translate:-160px 0}70%,100%{translate:200px 0}}@keyframes pulse-out{0%{transform:scale(.8);opacity:.6}100%{transform:scale(2.2);opacity:0}}@keyframes moment-in{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}@keyframes friend-in{from{opacity:0;scale:.7}to{opacity:1;scale:1}}@keyframes delta-rise{0%{opacity:0;translate:0 8px}15%,75%{opacity:1;translate:0 0}100%{opacity:0;translate:0 -8px}}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(calc(-1900px - 100%))}}@keyframes flash{from{opacity:1}to{opacity:0}}
@media(max-width:1100px){#controls{padding:10px 16px;gap:6px 10px}.control-caption{display:none}.control-actions{grid-column:1/-1;justify-content:center;flex-wrap:wrap}.control-actions button{padding:7px;font-size:11px}.key{display:none}#controlStatus{text-align:center}}@media(max-width:600px){#controls{height:125px}#viewport{height:calc(100vh - 125px)}.control-actions i{display:none}.control-actions button{font-size:10px}#controlStatus{font-size:9px}}
@media(prefers-reduced-motion:reduce){.ambient-shard,.orbit,.portal-grid,.core,.core-glint,.satellite,.pulse-ring,.moment.enter,.friend-core,.join-core{animation:none!important}.barrage{animation-duration:40s}.flying-coin{display:none}}

[hidden]{display:none!important}
.rank-row{height:var(--rank-row-height,33px)}
.rank-name{font-size:var(--rank-name-size,18px);line-height:1}
.rank-total{font-size:var(--rank-value-size,22px);line-height:1}
.rank-num{line-height:1}
.ranking-pages{display:flex;align-items:center;gap:9px;color:#d3e7ff;font:11px Arial}
.ranking-pages button{width:24px;height:24px;border:1px solid #aacdf250;border-radius:4px;background:#193252;color:#d8ebff;font:18px Arial;cursor:pointer}
.ranking-pages button:focus-visible,.control-actions select:focus-visible{outline:2px solid #cde5ff;outline-offset:3px}
.ranking-empty{height:100%;margin:0;display:grid;place-items:center;color:#a4bfdd;font-size:18px;letter-spacing:2px;border:1px dashed #aacdf240}
.control-actions label{display:flex;align-items:center;gap:6px;font-size:11px;color:#91a9c6}
.control-actions select{font:11px "Microsoft YaHei",sans-serif;padding:7px 6px;background:#162238;color:#d3e0f1;border:1px solid #30425d;border-radius:5px;max-width:135px}
.control-actions button:disabled{opacity:.45;cursor:default}
#stage[data-scene=earn] .core,#stage[data-scene=spend] .core{animation:none}
@media(max-width:1600px){#controls{height:132px;grid-template-columns:1fr}.control-caption{display:none}.control-actions{grid-column:1/-1;justify-content:center;flex-wrap:wrap}#viewport{height:calc(100vh - 132px)}}
@media(max-width:600px){#controls{height:160px;padding:8px}.control-actions{gap:5px}.control-actions label{font-size:10px}.control-actions select{max-width:105px;padding:4px}#viewport{height:calc(100vh - 160px)}}

.floating-toggle,.floating-full{position:fixed;right:18px;bottom:16px;z-index:100;background:#172334;color:white;border:1px solid #899bb1;border-radius:8px;padding:10px 15px;cursor:pointer}.floating-full{right:110px}.moment-title,#momentTitle,.moment-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barrage{max-width:1000px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#controls{padding-bottom:62px}button:disabled{opacity:.4;cursor:default}

/* Fill the available viewport; use logical coordinates for the effect layer. */
#viewport,body.controls-hidden #viewport,:fullscreen #viewport{height:calc(100vh - var(--controls-height,0px));height:calc(100dvh - var(--controls-height,0px))}
#controls{height:auto;max-height:50vh;overflow:auto;padding:16px 24px 64px}
#stage{width:var(--stage-width,2180px);height:var(--stage-height,800px);--edge:calc(var(--stage-width,2180px)*.0211);--main-top:156px;--main-height:calc(var(--stage-height,800px) - 300px);--footer-height:53px;--stream-height:76px}
.masthead,.stage-footer{margin-left:var(--edge);margin-right:var(--edge)}
.stage-footer{left:0;right:0;height:var(--footer-height)}
.leaders{left:var(--edge);width:calc(var(--stage-width,2180px)*.202);top:calc(var(--main-top) + (var(--main-height) - 480px)/2)}
.hero{left:calc(var(--stage-width,2180px)*.2321);width:calc(var(--stage-width,2180px)*.3142);top:calc(var(--main-top) + (var(--main-height) - 516px)/2)}
.portal{left:50%;margin-left:-215px}
.hero-title i{right:calc(50% - 180px)}
.ranking{right:var(--edge);top:var(--main-top);width:calc(var(--stage-width,2180px)*.4096);height:var(--main-height);display:flex;flex-direction:column}
.ranking .section-heading,.ranking-sub,.column-heads,.ranking-footer{flex:none}
.rank-list{height:auto;flex:1;min-height:0}
.rank-name{flex:1;min-width:0;max-width:none;padding-right:8px}
.rank-num,.rank-total{flex:none}
.rank-num{width:32px;margin-right:6px}
.rank-row{padding-left:10px;padding-right:10px}
.column-heads>div{padding-left:10px;padding-right:10px}
.rank-row.unranked .rank-num{display:none}
.rank-row.unranked .rank-total{color:#8da9c9;font-weight:500}
.activity-stream{left:var(--edge);right:var(--edge);bottom:var(--footer-height);height:var(--stream-height)}
/* Include the slogan inside the hero and leave space above the live stream,
   even on the shorter logical canvas used by the ultra-wide event screen. */
#stage[data-layout=landscape] .hero{--hero-height:532px;height:var(--hero-height);top:min(calc(var(--main-top) + (var(--main-height) - var(--hero-height))/2),calc(var(--stage-height) - var(--footer-height) - var(--stream-height) - 24px - var(--hero-height)))}
#stage[data-layout=landscape] .hero-base{bottom:0}
#stage[data-layout=landscape]{--leaders-height:480px}
#stage[data-layout=landscape][data-density=dense]{--leaders-height:440px}
#stage[data-layout=landscape] .leaders{top:calc(var(--main-top) + (var(--main-height) - var(--leaders-height))/2)}
#stage[data-layout=landscape][data-density=dense] .leader-card{padding:16px;gap:12px;height:76px}
#stage[data-layout=landscape][data-density=dense] .leader-card.champion{height:128px}
#stage[data-layout=landscape][data-density=dense] .leader-rank{width:36px;font-size:36px}
#stage[data-layout=landscape][data-density=dense] .champion .leader-rank{width:44px;font-size:46px}
#stage[data-layout=landscape][data-density=dense] .leader-name{font-size:20px}
#stage[data-layout=landscape][data-density=dense] .champion .leader-name{font-size:24px}
#stage[data-layout=landscape][data-density=dense] .champion .leader-score{font-size:38px}
#stage[data-layout=landscape][data-density=dense] .leaders-note{letter-spacing:1px}

/* Tablet landscape: give the leaderboard its own wide column. */
#stage[data-layout=compact]{--edge:32px;--main-top:140px;--main-height:calc(var(--stage-height) - 284px)}
#stage[data-layout=compact] .leaders{left:32px;top:140px;width:360px}
#stage[data-layout=compact] .leader-card{height:62px;padding:10px 12px;gap:10px;margin-top:10px}
#stage[data-layout=compact] .leader-card.champion{height:96px}
#stage[data-layout=compact] .leader-rank{font-size:32px;width:36px}
#stage[data-layout=compact] .champion .leader-rank{font-size:42px;width:44px}
#stage[data-layout=compact] .leader-name{font-size:20px}
#stage[data-layout=compact] .champion .leader-name{font-size:24px}
#stage[data-layout=compact] .leader-score{font-size:28px}
#stage[data-layout=compact] .champion .leader-score{font-size:34px}
#stage[data-layout=compact] .crown,#stage[data-layout=compact] .leaders-note{display:none}
#stage[data-layout=compact] .arena-stats{margin-top:14px}
#stage[data-layout=compact] .arena-stats strong{font-size:26px}
#stage[data-layout=compact] .hero{left:32px;top:auto;bottom:144px;width:360px;height:200px}
#stage[data-layout=compact] .hero-kicker,#stage[data-layout=compact] .hero-title,#stage[data-layout=compact] .hero-base{display:none}
#stage[data-layout=compact] .portal{top:0;transform:scale(.4);transform-origin:top center}
#stage[data-layout=compact] .moment{top:116px;left:0;right:0}
#stage[data-layout=compact] .moment-tag{display:none}
#stage[data-layout=compact] .moment h3{font-size:22px;margin-bottom:7px}
#stage[data-layout=compact] .moment-detail{font-size:14px}
#stage[data-layout=compact] .moment-value{height:36px;font-size:32px;margin-top:5px}
#stage[data-layout=compact] .ranking{left:424px;right:32px;width:auto}

/* Upright tablet: keep interaction and top teams above a paged leaderboard. */
#stage[data-layout=portrait]{--edge:32px;--main-top:650px;--main-height:calc(var(--stage-height) - 794px)}
#stage[data-layout=portrait] .masthead{height:110px}
#stage[data-layout=portrait] .aidol-logo{width:96px;height:62px}
#stage[data-layout=portrait] .brand-lockup{gap:16px}
#stage[data-layout=portrait] .brand-divider,#stage[data-layout=portrait] .signal{display:none}
#stage[data-layout=portrait] .eyebrow{font-size:9px;letter-spacing:2px}
#stage[data-layout=portrait] h1{font-size:26px}
#stage[data-layout=portrait] h1 span{font-size:22px;margin-left:12px}
#stage[data-layout=portrait] .jd-logo{width:108px}
#stage[data-layout=portrait] .leaders{left:32px;top:140px;width:40%}
#stage[data-layout=portrait] .hero{left:44%;top:140px;width:53%;height:470px}
#stage[data-layout=portrait] .hero-kicker{letter-spacing:1.5px}
#stage[data-layout=portrait] .hero-title{font-size:54px}
#stage[data-layout=portrait] .portal{top:80px;transform:scale(.8);transform-origin:top center}
#stage[data-layout=portrait] .moment{top:320px}
#stage[data-layout=portrait] .hero-base{display:none}
#stage[data-layout=portrait] .ranking{left:32px;right:32px;width:auto}
#stage[data-layout=portrait] .stream-label{width:200px}
#stage[data-layout=portrait] .stage-footer p{display:none}

/* Partner credit stays secondary to the event brands and clear of screen controls. */
.stage-footer{display:grid;grid-template-columns:1fr auto 1fr;gap:24px}
.partner-credit{justify-self:end;display:flex;align-items:center;gap:14px;height:30px;padding-left:20px;border-left:1px solid #adcff633;white-space:nowrap}
.partner-credit>span{color:#a6bdd8;font-size:14px;font-weight:400;letter-spacing:1px}
.partner-logo{display:block;width:auto;height:30px;filter:brightness(0) invert(1);opacity:.88}
#stage[data-layout=portrait] .stage-footer{grid-template-columns:1fr auto}
.floating-toggle,.floating-full{top:8px;bottom:auto;padding:5px 10px;opacity:.4}
.floating-toggle:hover,.floating-full:hover,.floating-toggle:focus-visible,.floating-full:focus-visible{opacity:1}

.floating-toggle{right:calc(50% - 90px)}
.floating-full{right:calc(50% + 4px)}
#stage[data-layout=landscape][data-density=dense] .champion .leader-name{font-size:22px;letter-spacing:1px}

/* Positive-score podium and one-shot reveal, preserving the original three cards. */
.podium{position:relative;height:340px;margin-top:17px}
.podium-slots{position:absolute;inset:0;display:flex;flex-direction:column;gap:12px}
.podium-slot{height:84px;position:relative;flex:none}
.podium-slot.podium-first{height:148px}
#stage .podium-slot .leader-card{height:100%;margin:0;position:absolute;inset:0;}
.podium-empty{position:absolute;inset:0;border:1px solid #82aed828;background:linear-gradient(100deg,#132c4645,#08172a22);display:flex;align-items:center;padding:18px 21px;gap:23px;color:#6887aa}
.podium-empty b{font:italic 700 43px Arial;color:#557499;letter-spacing:-3px;width:53px}
.podium-empty span{font-size:20px;letter-spacing:5px}
.podium-first .podium-empty b{font-size:58px;width:68px}
.podium-wait-state{position:absolute;inset:0;border-top:1px solid #accfff4d;border-bottom:1px solid #accfff26;background:linear-gradient(130deg,#28476766,#0a1c3022);text-align:center;padding:20px 12px;color:#dbeaff;overflow:hidden}
.podium-wait-state:before,.podium-wait-state:after{content:"";position:absolute;width:26px;height:26px;border:1px solid #c6e4ff99}
.podium-wait-state:before{left:0;top:0;border-right:0;border-bottom:0}
.podium-wait-state:after{right:0;bottom:0;border-left:0;border-top:0}
.podium-wait-orbit{height:143px;position:relative;display:grid;place-items:center}
.podium-wait-orbit div{position:absolute;width:92px;height:92px;transform:rotate(45deg);border:1px solid #9ac6ef7f;background:linear-gradient(130deg,#aacfff1a,#aacfff02);box-shadow:0 0 0 18px #8fbfff07,0 0 60px #8dc6ff18}
.podium-wait-orbit span{position:relative;font:italic 64px Arial;color:#a6cbee;text-shadow:0 0 26px #8fc7ff55}
.podium-wait-state small{display:block;font:10px Arial;letter-spacing:4px;color:#7e9ebe;margin-top:9px}
.podium-wait-state h3{font-size:29px;font-weight:500;letter-spacing:3px;margin:20px 0 14px;line-height:1.2}
.podium-wait-state p{font-size:14px;letter-spacing:1px;color:#91afcf;margin:0;line-height:1.3}
.podium-wait-places{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:26px;color:#6d8eb2;font:italic 18px Arial}
.podium-wait-places i{width:45px;height:1px;background:linear-gradient(90deg,transparent,#769bc754,transparent)}
.podium-sweep{position:absolute;inset:-80% -40%;background:linear-gradient(110deg,transparent 40%,#effaffdc 49%,transparent 58%);opacity:0;pointer-events:none;mix-blend-mode:screen}
.podium-light-line{position:absolute;left:0;right:0;top:0;height:3px;opacity:0;background:linear-gradient(90deg,transparent,#a6dbff,#fff,#a6dbff,transparent);box-shadow:0 0 17px #8fd3ff,0 0 35px #a6deff;pointer-events:none}
.podium-glow{position:absolute;inset:-25px;opacity:0;background:radial-gradient(ellipse at 50% 22%,#a1d6ff4a,transparent 66%);pointer-events:none;mix-blend-mode:screen}
.podium-specks{position:absolute;inset:0;pointer-events:none;overflow:visible}
.podium-speck{position:absolute;width:4px;height:4px;background:#d4efff;box-shadow:0 0 9px #a8dfff;left:50%;top:70px;opacity:0}
#stage[data-layout=landscape][data-density=dense] .podium{height:304px}
#stage[data-layout=landscape][data-density=dense] .podium-slot{height:76px}
#stage[data-layout=landscape][data-density=dense] .podium-first{height:128px}
#stage[data-layout=landscape][data-density=dense] .podium-wait-state{padding-top:9px}
#stage[data-layout=landscape][data-density=dense] .podium-wait-orbit{height:115px}
#stage[data-layout=landscape][data-density=dense] .podium-wait-state h3{font-size:25px;margin:17px 0 12px}
#stage[data-layout=landscape][data-density=dense] .podium-wait-places{margin-top:23px}
#stage[data-layout=landscape][data-density=dense] .podium-empty{padding:16px;gap:12px}
#stage[data-layout=landscape][data-density=dense] .podium-empty b{width:36px;font-size:36px}
#stage[data-layout=landscape][data-density=dense] .podium-first .podium-empty b{width:44px;font-size:46px}
.podium [hidden]{display:none!important}
.podium{isolation:isolate}
#stage[data-layout=compact] .podium{height:240px;margin-top:10px}
#stage[data-layout=compact] .podium-slots{gap:10px}
#stage[data-layout=compact] .podium-slot{height:62px}
#stage[data-layout=compact] .podium-first{height:96px}
#stage[data-layout=compact] .podium-wait-state{padding-top:5px}
#stage[data-layout=compact] .podium-wait-orbit{height:90px}
#stage[data-layout=compact] .podium-wait-orbit div{width:65px;height:65px}
#stage[data-layout=compact] .podium-wait-state h3{font-size:24px;margin:14px 0 12px}
#stage[data-layout=compact] .podium-wait-places{margin-top:18px}
