:root{
  color-scheme:dark;
  --ink:#030817;--navy:#07152e;--panel:rgba(8,22,50,.8);--panel-strong:rgba(9,27,62,.96);
  --line:rgba(111,174,255,.2);--line-bright:rgba(92,201,255,.6);--text:#f7f9ff;--muted:#8da4ca;
  --cyan:#58e7ff;--blue:#347cff;--violet:#9a70ff;--gold:#f5c96d;--green:#48e7b0;--danger:#ff7397;
  --shadow:0 30px 90px rgba(0,0,0,.46);font-family:Inter,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif
}
*{box-sizing:border-box}html,body{width:100%;min-height:100%;margin:0}body{overflow-x:hidden;background:var(--ink);color:var(--text)}button,input,textarea{font:inherit}button{color:inherit}.cosmos{position:fixed;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 48% 12%,rgba(42,105,220,.19),transparent 32%),radial-gradient(circle at 85% 75%,rgba(124,60,220,.12),transparent 28%),linear-gradient(#030817,#020510)}.cosmos:before,.cosmos:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.4px);background-size:143px 143px;opacity:.2}.cosmos:after{background-size:237px 237px;transform:translate(70px,40px);opacity:.14}.cosmos>i{position:absolute;width:420px;height:420px;border:1px solid rgba(63,150,255,.12);border-radius:50%;transform:rotate(30deg)}.cosmos>i:nth-child(1){left:-220px;top:25%}.cosmos>i:nth-child(2){right:-180px;top:10%;width:540px;height:540px}.cosmos>i:nth-child(3){left:35%;bottom:-330px;width:700px;height:700px}.cosmos>i:nth-child(4){right:12%;bottom:12%;width:4px;height:4px;border:0;background:var(--cyan);box-shadow:0 0 20px 4px var(--cyan)}
.app-shell{position:relative;min-height:100vh;transition:filter .35s,opacity .35s}.app-shell.is-locked{filter:blur(16px);opacity:.2;pointer-events:none;user-select:none}.topbar{position:relative;z-index:10;display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:74px;padding:0 clamp(18px,2.4vw,42px);border-bottom:1px solid var(--line);background:rgba(3,9,24,.8);backdrop-filter:blur(24px)}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand>span:last-child,.stage-brand>span:last-child{display:flex;flex-direction:column}.brand strong{font-size:22px;letter-spacing:.08em}.brand small,.stage-brand small{margin-top:2px;color:#7e96bf;font-size:8px;letter-spacing:.18em}.brand-orbit{position:relative;display:grid;width:43px;height:43px;place-items:center;border:1px solid rgba(76,190,255,.45);border-radius:50%;box-shadow:0 0 26px rgba(48,137,255,.2)}.brand-orbit:before,.brand-orbit:after{content:"";position:absolute;inset:7px;border:1px solid rgba(108,104,255,.65);border-radius:50%;transform:rotate(58deg)}.brand-orbit:after{transform:rotate(-58deg)}.brand-orbit i{position:absolute;top:1px;width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold)}.brand-orbit b{font-size:15px;color:var(--cyan)}.mission-status{display:flex;align-items:center;justify-content:center;gap:9px;color:#c1d2eb;font-size:11px}.mission-status b{padding:4px 8px;border:1px solid rgba(80,230,176,.2);border-radius:999px;color:var(--green);font-size:9px}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green);animation:pulse 1.8s ease infinite}.top-actions{display:flex;align-items:center;gap:7px}.nav-action,.fullscreen-action,.logout-action{height:36px;border:1px solid var(--line);border-radius:9px;background:rgba(22,49,99,.24);cursor:pointer}.nav-action{padding:0 12px;color:#b9cbed;font-size:11px}.fullscreen-action{padding:0 13px;border-color:rgba(77,184,255,.42);background:linear-gradient(145deg,rgba(34,93,185,.42),rgba(45,37,118,.36))}.logout-action{width:36px;color:#8da2c3}
.mode-lobby{position:relative;display:grid;grid-template-columns:225px minmax(560px,1fr) 285px;gap:14px;max-width:1600px;height:calc(100vh - 74px);min-height:690px;margin:auto;padding:16px clamp(14px,2vw,28px) 22px}.mode-rail,.command-rail{position:relative;z-index:2}.mode-rail{display:flex;padding:14px 10px 12px;flex-direction:column;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(9,27,60,.74),rgba(4,13,32,.72));box-shadow:var(--shadow);backdrop-filter:blur(18px)}.rail-heading{padding:7px 9px 13px;border-bottom:1px solid var(--line)}.rail-heading span,.command-title span,.team-console span,.prize-orbit-card>span{display:block;color:var(--cyan);font-size:8px;font-weight:800;letter-spacing:.17em}.rail-heading strong{display:block;margin-top:5px;font-size:14px}.mode-choice{position:relative;display:grid;grid-template-columns:43px 1fr auto;align-items:center;gap:9px;min-height:72px;margin-top:8px;padding:8px;border:1px solid transparent;border-radius:13px;background:transparent;text-align:left;cursor:pointer;transition:.25s}.mode-choice:hover{border-color:var(--line);background:rgba(56,108,191,.1);transform:translateX(2px)}.mode-choice.is-active{border-color:rgba(84,202,255,.5);background:linear-gradient(100deg,rgba(35,104,206,.33),rgba(75,46,151,.16));box-shadow:inset 0 0 28px rgba(64,135,255,.08),0 0 20px rgba(44,127,255,.1)}.mode-choice.is-active:before{content:"";position:absolute;left:-11px;width:3px;height:36px;border-radius:3px;background:var(--cyan);box-shadow:0 0 15px var(--cyan)}.mode-icon{display:grid;width:43px;height:43px;place-items:center;border:1px solid rgba(108,174,255,.2);border-radius:12px;background:radial-gradient(circle at 35% 25%,rgba(93,164,255,.35),rgba(25,38,91,.42));color:var(--gold);font-size:21px;font-style:normal}.mode-choice span{display:flex;min-width:0;flex-direction:column}.mode-choice b{font-size:13px}.mode-choice small{margin-top:4px;color:var(--muted);font-size:9px}.mode-choice em{color:#4e6b95;font-size:9px;font-style:normal}.mode-choice.is-active em{color:var(--cyan)}.rail-safety{display:flex;align-items:center;gap:8px;margin-top:auto;padding:11px 9px;border:1px solid rgba(74,226,173,.16);border-radius:12px;background:rgba(38,118,97,.08)}.rail-safety>span{color:var(--green)}.rail-safety p{display:flex;margin:0;flex-direction:column}.rail-safety strong{font-size:10px}.rail-safety small{margin-top:3px;color:#698b82;font-size:8px}
.arena{position:relative;display:flex;min-width:0;overflow:hidden;padding:20px 24px 18px;flex-direction:column;border:1px solid rgba(89,167,255,.28);border-radius:22px;background:radial-gradient(circle at 50% 42%,rgba(34,99,204,.25),transparent 34%),linear-gradient(160deg,rgba(10,29,66,.88),rgba(3,11,29,.82));box-shadow:0 36px 110px rgba(0,0,0,.5),inset 0 0 70px rgba(61,125,232,.05);isolation:isolate}.arena:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,transparent 49.8%,rgba(81,174,255,.08) 50%,transparent 50.2%),linear-gradient(transparent 49.8%,rgba(81,174,255,.06) 50%,transparent 50.2%);background-size:100% 100%;mask-image:radial-gradient(circle,#000,transparent 72%)}.arena-grid{position:absolute;z-index:-2;left:12%;right:12%;bottom:-58%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 34px,rgba(73,158,255,.13) 35px 36px),repeating-conic-gradient(from 0deg,rgba(67,145,255,.1) 0 1deg,transparent 1deg 15deg);transform:perspective(600px) rotateX(67deg);filter:drop-shadow(0 0 20px rgba(51,132,255,.18))}.formula-cloud span{position:absolute;color:rgba(128,185,255,.15);font-family:Georgia,serif;font-size:17px;font-style:italic}.formula-cloud span:nth-child(1){left:5%;top:29%}.formula-cloud span:nth-child(2){right:7%;top:25%}.formula-cloud span:nth-child(3){left:9%;bottom:24%}.formula-cloud span:nth-child(4){right:9%;bottom:30%}.arena-heading{display:flex;align-items:flex-start;justify-content:space-between}.arena-heading>div:first-child>span{color:var(--gold);font-size:8px;font-weight:800;letter-spacing:.19em}.arena-heading h1{margin:5px 0 5px;font-size:clamp(26px,2.4vw,38px);letter-spacing:.04em}.arena-heading p{margin:0;color:var(--muted);font-size:11px}.arena-state{display:grid;grid-template-columns:8px auto;align-items:center;gap:3px 7px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:rgba(4,15,36,.5)}.arena-state>span{grid-row:1/3;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.arena-state b{font-size:10px}.arena-state small{color:var(--green);font-size:8px}.arena-visual{position:relative;display:grid;min-height:0;flex:1;place-items:center}.arena-launch{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.launch-meta{display:flex;align-items:center;gap:10px;color:#8da4c7;font-size:10px}.launch-meta b{color:#dfeaff;font-size:15px}.launch-meta i{height:20px;border-left:1px solid var(--line)}.launch-button{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;min-width:245px;min-height:62px;padding:11px 17px;border:1px solid rgba(255,218,139,.78);border-radius:16px;background:linear-gradient(110deg,#c78019,#f0bb50 52%,#996014);box-shadow:0 14px 40px rgba(222,157,45,.25),inset 0 1px rgba(255,255,255,.45);color:#120b02;text-align:left;cursor:pointer;transition:.25s}.launch-button:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 20px 50px rgba(240,177,57,.35)}.launch-button span{font-size:16px;font-weight:900}.launch-button small{font-size:7px;font-weight:800;letter-spacing:.18em;opacity:.65}.launch-button>b{grid-column:2;grid-row:1/3;align-self:center;font-size:25px}.sound-toggle{display:flex;align-items:center;justify-self:end;gap:7px;color:#93a8c9;font-size:9px}.sound-toggle input,.drawer-options input{position:absolute;opacity:0}.sound-toggle>span,.drawer-options label>span{position:relative;width:31px;height:17px;border-radius:999px;background:#243657;transition:.2s}.sound-toggle>span:after,.drawer-options label>span:after{content:"";position:absolute;top:3px;left:3px;width:11px;height:11px;border-radius:50%;background:#7185a7;transition:.2s}.sound-toggle input:checked+span,.drawer-options input:checked+span{background:#1765b4}.sound-toggle input:checked+span:after,.drawer-options input:checked+span:after{left:17px;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}
.lobby-wheel{position:relative;width:min(51vh,470px);aspect-ratio:1}.lobby-wheel:before,.lobby-wheel:after{content:"";position:absolute;inset:-10%;border:1px solid rgba(80,187,255,.25);border-radius:50%;animation:orbit 13s linear infinite}.lobby-wheel:after{inset:-18%;border-color:rgba(245,201,109,.14);animation-duration:20s;animation-direction:reverse}.lobby-wheel svg{position:relative;z-index:2;width:100%;height:100%;filter:drop-shadow(0 0 35px rgba(48,128,255,.38))}.lobby-wheel .sprite-pointer{position:absolute;z-index:4;left:50%;top:-7%;width:74px;height:74px;transform:translateX(-50%)}.lobby-wheel .orbit-dot{position:absolute;z-index:3;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px 3px var(--cyan);animation:dot-orbit 6s linear infinite}.card-preview{position:relative;display:flex;width:min(650px,90%);height:390px;align-items:center;justify-content:center}.preview-card{position:relative;width:175px;aspect-ratio:.68;margin:0 -41px;border:1px solid rgba(255,215,130,.55);border-radius:18px;background-image:url('./assets/reward-ui-assets-v1.png');background-size:400% 300%;background-position:66.666% 0;box-shadow:0 25px 55px rgba(0,0,0,.42);transform:perspective(800px) rotateY(var(--ry)) rotateZ(var(--rz)) translateY(var(--ty));transition:.3s}.preview-card:nth-child(even){background-position:100% 0}.preview-card.is-center{z-index:4;filter:drop-shadow(0 0 24px rgba(96,199,255,.42));transform:perspective(800px) translateY(-15px) scale(1.12)}.flip-preview{display:grid;width:min(600px,86%);grid-template-columns:repeat(3,1fr);gap:13px;perspective:900px}.preview-tile{display:grid;aspect-ratio:1.35;place-items:center;border:1px solid rgba(90,183,255,.38);border-radius:17px;background:linear-gradient(145deg,rgba(27,72,148,.75),rgba(57,32,118,.62));box-shadow:inset 0 0 35px rgba(95,184,255,.08),0 16px 35px rgba(0,0,0,.25);color:var(--gold);font-size:28px;transform:rotateX(7deg)}.core-preview{position:relative;width:min(420px,52vh);aspect-ratio:1}.core-preview .sprite-core{position:absolute;z-index:2;inset:4%}.core-preview .sprite-halo{position:absolute;inset:-8%;animation:orbit 9s linear infinite}.core-preview:before{content:"";position:absolute;left:50%;bottom:12%;width:50%;height:18%;border-radius:50%;background:rgba(63,171,255,.4);filter:blur(25px);transform:translateX(-50%)}
.command-rail{display:flex;min-height:0;flex-direction:column;gap:12px}.team-console{position:relative;min-height:180px;overflow:hidden;border:1px solid rgba(87,182,255,.27);border-radius:18px;background:radial-gradient(circle at 80% 20%,rgba(58,113,222,.25),transparent 45%),linear-gradient(145deg,rgba(10,37,81,.92),rgba(5,16,38,.9));box-shadow:var(--shadow)}.team-console img{position:absolute;right:-16px;bottom:-8px;width:112%;height:74%;object-fit:cover;object-position:center 22%;mix-blend-mode:screen;filter:saturate(.84) contrast(1.06);opacity:.92}.team-console:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,16,38,.96) 0,transparent 42%,rgba(5,16,38,.12))}.team-console>div:last-child{position:relative;z-index:2;padding:15px}.team-console h2{margin:5px 0;font-size:16px}.team-console p{margin:0;color:#91a9cd;font-size:8px}.team-aura{position:absolute;left:12%;right:6%;bottom:-24px;height:70px;border:1px solid var(--cyan);border-radius:50%;filter:blur(3px);opacity:.35}.command-card{padding:15px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(160deg,rgba(9,27,61,.8),rgba(4,14,33,.78));box-shadow:var(--shadow)}.command-title{margin-bottom:6px}.command-title strong{display:block;margin-top:4px;font-size:14px}.command-card>button{display:grid;width:100%;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;margin-top:7px;padding:9px;border:1px solid rgba(111,174,255,.12);border-radius:11px;background:rgba(9,25,55,.6);text-align:left;cursor:pointer}.command-card>button:hover{border-color:rgba(88,206,255,.38);background:rgba(25,65,124,.35)}.command-card>button i{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:linear-gradient(145deg,rgba(45,111,208,.45),rgba(66,44,147,.35));color:var(--cyan);font-size:11px;font-style:normal}.command-card>button span{display:flex;flex-direction:column}.command-card>button b{font-size:11px}.command-card>button small{margin-top:3px;color:var(--muted);font-size:8px}.command-card>button em{color:#6f8cb6;font-size:9px;font-style:normal}.prize-orbit-card{min-height:0;padding:13px;border:1px solid var(--line);border-radius:16px;background:rgba(6,18,43,.72)}.prize-orbit-card>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.prize-chip{display:flex;align-items:center;gap:5px;max-width:100%;padding:5px 7px;border:1px solid rgba(119,180,255,.15);border-radius:999px;background:rgba(22,52,101,.32);font-size:8px}.prize-chip i{display:grid;width:17px;height:17px;place-items:center;border-radius:50%;background:var(--chip-color);font-style:normal}.prize-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sprite{display:block;background-image:url('./assets/reward-ui-assets-v1.png');background-repeat:no-repeat;background-size:400% 300%}.sprite-pointer{background-position:0 0}.sprite-orbit{background-position:33.333% 0}.sprite-card-a{background-position:66.666% 0}.sprite-card-b{background-position:100% 0}.sprite-core{background-position:0 50%}.sprite-badge{background-position:33.333% 50%}.sprite-ticket{background-position:66.666% 50%}.sprite-team{background-position:100% 50%}.sprite-question{background-position:0 100%}.sprite-halo{background-position:33.333% 100%}.sprite-ribbon{background-position:66.666% 100%}.sprite-firework{background-position:100% 100%}
.show-stage{position:fixed;z-index:100;inset:0;overflow:hidden;background:radial-gradient(circle at 50% 48%,#102b66 0,#071631 34%,#020713 76%);isolation:isolate}.show-stage[hidden]{display:none}.stage-space{position:absolute;z-index:-4;inset:0;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.5px);background-size:127px 127px;opacity:.32}.stage-space i{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--cyan);box-shadow:0 0 18px 4px var(--cyan);animation:star-float 4s ease-in-out infinite}.stage-space i:nth-child(1){left:18%;top:28%}.stage-space i:nth-child(2){right:16%;top:42%;animation-delay:-1.2s}.stage-space i:nth-child(3){left:55%;bottom:18%;animation-delay:-2.3s}.stage-grid{position:absolute;z-index:-3;left:10%;right:10%;bottom:-64%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 45px,rgba(71,166,255,.15) 46px 47px),repeating-conic-gradient(from 0deg,rgba(67,145,255,.12) 0 1deg,transparent 1deg 10deg);transform:perspective(700px) rotateX(68deg);filter:drop-shadow(0 0 30px rgba(49,128,255,.25))}.stage-header{position:relative;z-index:20;display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:80px;padding:0 28px;border-bottom:1px solid rgba(104,178,255,.16);background:linear-gradient(rgba(3,9,23,.85),transparent)}.stage-brand{display:flex;align-items:center;gap:10px}.stage-brand strong{font-size:18px}.phase-rail{display:flex;align-items:center;justify-content:center;gap:0;margin:0;padding:0;list-style:none}.phase-rail li{position:relative;display:flex;align-items:center;gap:6px;min-width:135px;color:#60779c;font-size:9px}.phase-rail li:not(:last-child):after{content:"";height:1px;flex:1;margin:0 8px;background:#263c60}.phase-rail i{display:grid;width:22px;height:22px;place-items:center;border:1px solid #314b75;border-radius:50%;font-style:normal}.phase-rail li.is-active{color:var(--gold)}.phase-rail li.is-active i{border-color:var(--gold);background:rgba(229,169,55,.15);box-shadow:0 0 15px rgba(244,197,95,.2)}.phase-rail li.is-done{color:var(--green)}.phase-rail li.is-done i{border-color:var(--green);background:rgba(55,190,147,.12)}.stage-exit{padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:rgba(7,20,47,.6);color:#8ea3c4;font-size:9px;cursor:pointer}.stage-host{position:absolute;z-index:8;left:26px;bottom:24px;display:flex;width:245px;height:92px;align-items:center;overflow:hidden;border:1px solid rgba(90,188,255,.28);border-radius:16px;background:rgba(6,22,51,.78);backdrop-filter:blur(18px)}.stage-host img{width:118px;height:100%;object-fit:cover;object-position:center 22%;filter:saturate(.82)}.stage-host span{display:flex;padding:0 9px;flex-direction:column}.stage-host strong{font-size:10px}.stage-host small{margin-top:4px;color:var(--muted);font-size:7px}.stage-participants{position:absolute;z-index:5;inset:90px 0 0;pointer-events:none}.name-star{position:absolute;display:flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid rgba(88,190,255,.32);border-radius:999px;background:rgba(4,19,46,.72);color:#bfe7ff;font-size:8px;box-shadow:0 0 16px rgba(50,143,255,.12);animation:name-drift 4s ease-in-out infinite}.name-star:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}.stage-content{position:absolute;z-index:4;inset:88px 12% 65px;display:grid;place-items:center}.stage-wheel-shell{position:relative;width:min(68vh,680px);aspect-ratio:1}.stage-wheel-shell:before,.stage-wheel-shell:after{content:"";position:absolute;inset:-11%;border:1px solid rgba(79,180,255,.34);border-radius:50%;animation:orbit 7s linear infinite}.stage-wheel-shell:after{inset:-20%;border-color:rgba(245,201,109,.2);animation-duration:12s;animation-direction:reverse}.stage-wheel-shell .sprite-pointer{position:absolute;z-index:5;left:50%;top:-6%;width:92px;height:92px;transform:translateX(-50%);filter:drop-shadow(0 0 15px rgba(255,203,99,.62))}.stage-wheel-shell svg{position:relative;z-index:3;width:100%;height:100%;filter:drop-shadow(0 0 42px rgba(48,139,255,.48));transition:transform 4.5s cubic-bezier(.08,.68,.08,1)}.stage-wheel-shell.is-spinning svg{filter:drop-shadow(0 0 50px rgba(84,204,255,.7)) blur(.4px)}.stage-card-fan{position:relative;display:flex;width:min(1100px,88vw);height:610px;align-items:center;justify-content:center;perspective:1100px}.quantum-card{position:relative;width:225px;aspect-ratio:.68;margin:0 -52px;border:1px solid rgba(255,216,135,.6);border-radius:22px;background-image:url('./assets/reward-ui-assets-v1.png');background-size:400% 300%;background-position:66.666% 0;box-shadow:0 35px 70px rgba(0,0,0,.5);transform:rotateY(var(--ry)) rotateZ(var(--rz)) translateY(var(--ty));transition:1.2s cubic-bezier(.2,.75,.12,1)}.quantum-card:nth-child(even){background-position:100% 0}.stage-card-fan.is-summoning .quantum-card{animation:card-breathe .75s ease-in-out infinite alternate}.stage-card-fan.is-locking .quantum-card:not(.is-picked){opacity:.18;transform:scale(.74) translateY(40px)}.stage-card-fan.is-locking .quantum-card.is-picked{z-index:5;transform:rotateY(180deg) translateY(-25px) scale(1.26);box-shadow:0 0 80px rgba(88,211,255,.58)}.stage-flip-grid{display:grid;width:min(880px,82vw);grid-template-columns:repeat(3,1fr);gap:22px;perspective:1000px}.stage-flip-card{position:relative;display:grid;aspect-ratio:1.45;place-items:center;border:1px solid rgba(98,190,255,.42);border-radius:22px;background:linear-gradient(145deg,rgba(20,70,152,.9),rgba(58,31,123,.82));box-shadow:inset 0 0 45px rgba(85,195,255,.1),0 24px 55px rgba(0,0,0,.35);color:var(--gold);font-size:42px;transform-style:preserve-3d;transition:.8s cubic-bezier(.25,.72,.1,1)}.stage-flip-card.is-flipping{transform:rotateY(180deg) scale(1.05);background:radial-gradient(circle,rgba(81,211,255,.48),rgba(45,55,145,.9));box-shadow:0 0 70px rgba(80,198,255,.5)}.stage-core-shell{position:relative;width:min(62vh,620px);aspect-ratio:1}.stage-core-shell .sprite-core{position:absolute;z-index:3;inset:0;filter:drop-shadow(0 0 32px rgba(250,194,82,.35));transition:1.3s}.stage-core-shell .sprite-halo{position:absolute;inset:-20%;animation:orbit 6s linear infinite}.stage-core-shell .sprite-ribbon{position:absolute;inset:-28%;opacity:.55;animation:orbit 9s linear infinite reverse}.stage-core-shell:after{content:"";position:absolute;z-index:2;left:50%;bottom:8%;width:62%;height:22%;border-radius:50%;background:rgba(69,186,255,.55);filter:blur(35px);transform:translateX(-50%)}.stage-core-shell.is-opening .sprite-core{transform:scale(1.18) translateY(-35px);filter:drop-shadow(0 0 60px rgba(255,205,98,.85)) brightness(1.45)}.stage-core-shell.is-opening:before{content:"";position:absolute;z-index:1;left:50%;bottom:28%;width:24%;height:140%;background:linear-gradient(transparent,rgba(255,213,116,.72),#fff4bc);filter:blur(18px);transform:translateX(-50%);animation:beam-open 1.2s ease both}.countdown{position:absolute;z-index:15;inset:80px 0 0;display:grid;place-items:center;background:radial-gradient(circle,rgba(13,42,95,.34),rgba(2,7,18,.72));backdrop-filter:blur(3px)}.countdown[hidden]{display:none}.countdown span{font-size:min(34vw,390px);font-weight:950;line-height:.8;color:transparent;background:linear-gradient(#fff8dd,#f0bb53 58%,#9b5a12);background-clip:text;filter:drop-shadow(0 0 35px rgba(247,200,98,.55));animation:count-pop .75s ease both}.countdown small{position:absolute;top:74%;color:#bad2f6;font-size:11px;letter-spacing:.24em}.skip-button{position:absolute;z-index:25;right:28px;bottom:25px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(5,17,40,.6);color:#758cad;font-size:9px;cursor:pointer}.winner-reveal{position:absolute;z-index:30;inset:80px 0 0;display:flex;align-items:center;overflow:hidden;padding:20px 7% 28px;flex-direction:column;background:radial-gradient(circle at 50% 30%,rgba(66,131,255,.36),transparent 30%),radial-gradient(circle at 50% 76%,rgba(241,180,63,.2),transparent 38%),rgba(2,8,21,.9);text-align:center}.winner-reveal[hidden]{display:none}.winner-reveal:before{content:"";position:absolute;left:50%;top:-12%;width:35%;height:75%;background:linear-gradient(transparent,rgba(255,217,128,.4),transparent);filter:blur(24px);transform:translateX(-50%)}.winner-kicker{position:relative;margin-top:3vh;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.23em}.winner-reveal h2{position:relative;margin:2vh 0 1vh;font-size:clamp(52px,7vw,110px);line-height:1;color:transparent;background:linear-gradient(#fff,#fff0b9 45%,#e5a93c);background-clip:text;filter:drop-shadow(0 0 24px rgba(248,203,107,.42));animation:winner-rise .9s ease both}.winner-badge{position:relative;display:flex;align-items:center;gap:10px}.winner-badge .sprite-badge{width:105px;height:105px;filter:drop-shadow(0 0 20px rgba(80,183,255,.45))}.winner-badge span{padding:10px 18px;border:1px solid rgba(255,209,112,.54);border-radius:999px;background:linear-gradient(90deg,rgba(29,63,128,.75),rgba(106,66,150,.72));font-size:20px;font-weight:850;box-shadow:0 0 28px rgba(75,160,255,.18)}.teacher-presenters{position:absolute;left:2%;right:2%;bottom:-10px;height:52%;pointer-events:none}.teacher-presenters img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 0 20px rgba(58,164,255,.2));opacity:.92}.result-link{position:relative;z-index:3;width:min(560px,78vw);margin-top:2vh;padding:10px;border:1px solid rgba(95,175,255,.24);border-radius:13px;background:rgba(4,17,43,.82);backdrop-filter:blur(16px);text-align:left}.result-link>span{display:block;margin:0 0 5px 4px;color:#8da4c7;font-size:8px}.result-link>div{display:flex}.result-link input{min-width:0;height:36px;flex:1;padding:0 9px;border:1px solid var(--line);border-radius:8px 0 0 8px;background:#020a1d;color:#b4cff4;font-size:9px}.result-link button{width:62px;border:0;border-radius:0 8px 8px 0;background:#255db1;cursor:pointer}.winner-actions{position:relative;z-index:4;display:flex;gap:8px;margin-top:12px}.primary-stage-button,.secondary-stage-button{min-height:42px;padding:0 16px;border-radius:10px;cursor:pointer}.primary-stage-button{border:1px solid #ffd77b;background:linear-gradient(135deg,#cf831a,#f3bd50);color:#160d02;font-weight:850}.secondary-stage-button{border:1px solid var(--line);background:rgba(13,39,85,.76)}.winner-fireworks i{position:absolute;width:160px;height:160px;background-image:url('./assets/reward-ui-assets-v1.png');background-size:400% 300%;background-position:100% 100%;opacity:.75;animation:firework-pop 1.5s ease infinite}.winner-fireworks i:nth-child(1){left:8%;top:10%}.winner-fireworks i:nth-child(2){right:10%;top:17%;animation-delay:-.6s}.winner-fireworks i:nth-child(3){left:23%;top:45%;width:100px;height:100px;animation-delay:-1s}.winner-fireworks i:nth-child(4){right:24%;top:46%;width:90px;height:90px;animation-delay:-.3s}
.auth-gate{position:fixed;z-index:200;inset:0;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.62fr);align-items:center;gap:clamp(40px,8vw,130px);padding:clamp(30px,6vw,95px);background:radial-gradient(circle at 25% 35%,rgba(35,102,211,.38),transparent 34%),linear-gradient(120deg,rgba(2,7,21,.98),rgba(5,13,35,.95));backdrop-filter:blur(14px)}.auth-gate[hidden]{display:none}.auth-visual{max-width:700px}.auth-orbit{position:relative;display:grid;width:118px;height:118px;place-items:center;margin-bottom:24px;border:1px solid rgba(78,194,255,.42);border-radius:50%;box-shadow:0 0 80px rgba(47,118,255,.3)}.auth-orbit:before,.auth-orbit:after{content:"";position:absolute;inset:17px;border:2px solid rgba(90,101,255,.52);border-radius:50%;transform:rotate(62deg)}.auth-orbit:after{transform:rotate(-62deg)}.auth-orbit span{font-size:35px;color:var(--cyan)}.auth-orbit i,.auth-orbit b{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 16px var(--gold)}.auth-orbit i{top:3px}.auth-orbit b{bottom:12px;left:10px}.auth-visual>p{color:var(--cyan);font-size:10px;letter-spacing:.24em}.auth-visual h1{margin:9px 0 26px;font-size:clamp(42px,5vw,76px);line-height:1.12;letter-spacing:-.04em}.auth-visual h1 em{color:transparent;background:linear-gradient(90deg,#65eaff,#a68aff 58%,#f4ca70);background-clip:text;font-style:normal}.auth-team{display:flex;align-items:center;max-width:520px;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:rgba(8,24,55,.68)}.auth-team img{width:170px;height:102px;object-fit:cover;object-position:center 25%;filter:saturate(.82)}.auth-team span{display:flex;padding:0 17px;flex-direction:column}.auth-team strong{font-size:14px}.auth-team small{margin-top:5px;color:var(--muted);font-size:9px}.login-card{width:min(470px,100%);padding:clamp(28px,3vw,44px);border:1px solid rgba(103,178,255,.3);border-radius:28px;background:linear-gradient(150deg,rgba(17,39,82,.95),rgba(5,16,40,.97));box-shadow:0 40px 120px rgba(0,0,0,.55)}.login-sigil{position:relative;display:grid;width:58px;height:58px;place-items:center;margin-bottom:22px;border:1px solid rgba(82,213,255,.34);border-radius:17px;background:rgba(58,129,230,.13);color:var(--cyan);font-size:21px}.login-sigil i{position:absolute;inset:-7px;border:1px solid rgba(123,108,255,.23);border-radius:20px;transform:rotate(10deg)}.login-kicker{color:var(--cyan);font-size:9px;font-weight:800;letter-spacing:.17em}.login-card h2{margin:8px 0 10px;font-size:30px}.login-card>p{margin:0 0 24px;color:var(--muted);font-size:12px;line-height:1.7}.login-card label{display:grid;gap:8px}.login-card label span{color:#bfd0eb;font-size:11px}.login-card input{height:50px;padding:0 14px;border:1px solid var(--line-bright);border-radius:12px;background:rgba(2,10,28,.64);color:var(--text)}.login-button{display:flex;width:100%;height:52px;align-items:center;justify-content:space-between;margin-top:15px;padding:0 18px;border:1px solid #4a9cff;border-radius:12px;background:linear-gradient(110deg,#315eff,#1684cf);font-weight:750;cursor:pointer}.login-card output{display:block;min-height:19px;margin-top:10px;color:var(--danger);font-size:10px}.privacy-note{display:block;margin-top:17px;color:#6f86ab;font-size:9px;text-align:center}
.drawer-backdrop{position:fixed;z-index:119;inset:0;background:rgba(1,5,15,.66);backdrop-filter:blur(7px)}.drawer-backdrop[hidden]{display:none}.control-drawer{position:fixed;z-index:120;top:0;right:0;display:flex;width:min(470px,100%);height:100vh;padding:20px;flex-direction:column;border-left:1px solid rgba(107,185,255,.3);background:linear-gradient(155deg,#0b2451,#06142f 70%);box-shadow:-30px 0 90px rgba(0,0,0,.55);transform:translateX(105%);transition:.35s cubic-bezier(.2,.78,.2,1)}.control-drawer.is-open{transform:translateX(0)}.control-drawer header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.control-drawer header span{color:var(--cyan);font-size:8px;font-weight:800;letter-spacing:.16em}.control-drawer h2{margin:4px 0 0;font-size:20px}.control-drawer header button{width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:rgba(7,21,48,.6);color:#9bb0d0;font-size:20px;cursor:pointer}.field{display:grid;gap:6px}.field>span,.drawer-help{color:#9caecb;font-size:10px}.field input,.control-drawer textarea{width:100%;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:#030d24;color:var(--text)}.field input{height:42px}.control-drawer textarea{padding:12px;line-height:1.7;resize:vertical}.drawer-summary{display:flex;justify-content:space-between;margin:13px 0;padding:10px;border:1px solid var(--line);border-radius:10px;background:rgba(4,16,39,.46);color:#9fb2d0;font-size:9px}.drawer-summary b{margin-left:4px;color:var(--green)}.prize-editor{display:grid;gap:7px;min-height:0;overflow:auto;padding-right:2px}.prize-row{display:grid;grid-template-columns:36px minmax(0,1fr) 69px 28px;align-items:center;gap:6px;padding:7px;border:1px solid rgba(115,177,255,.14);border-radius:10px;background:rgba(3,14,35,.5)}.prize-symbol{display:grid;width:36px;height:36px;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:linear-gradient(145deg,var(--prize-color),rgba(5,13,31,.75));font-size:16px}.prize-name,.prize-probability{min-width:0;height:33px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text)}.prize-name{padding:0 5px;font-size:11px;font-weight:650}.probability-wrap{position:relative}.prize-probability{width:100%;padding:0 20px 0 5px;text-align:right;font-size:10px}.probability-wrap span{position:absolute;right:6px;top:9px;color:var(--muted);font-size:9px}.delete-prize{width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:#6e85a8;cursor:pointer}.delete-prize:hover{color:var(--danger);background:rgba(255,106,145,.1)}.add-prize-button{min-height:40px;margin-top:9px;border:1px dashed rgba(96,181,255,.32);border-radius:10px;background:rgba(28,74,140,.14);color:#a9caf4;font-size:10px;cursor:pointer}.drawer-options{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.drawer-options label{display:flex;align-items:center;gap:8px;color:#a5b7d4;font-size:10px}.control-drawer footer{display:flex;justify-content:flex-end;gap:8px;margin-top:auto;padding-top:15px}.drawer-primary,.drawer-secondary{min-height:41px;padding:0 15px;border-radius:10px;cursor:pointer}.drawer-primary{border:1px solid #4a96ff;background:linear-gradient(135deg,#315eff,#167ecf)}.drawer-secondary{border:1px solid var(--line);background:rgba(7,24,55,.65)}.history-list{display:grid;gap:8px;min-height:0;overflow:auto}.history-item{display:grid;grid-template-columns:1fr auto;gap:5px;padding:12px;border:1px solid var(--line);border-radius:11px;background:rgba(3,15,36,.5);color:var(--text);text-align:left;cursor:pointer}.history-item strong{font-size:11px}.history-item>span{color:var(--cyan);font-size:10px}.history-item small{grid-column:1/-1;color:var(--muted);font-size:8px}.empty-history{padding:36px 15px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:10px;text-align:center}.toast{position:fixed;z-index:250;left:50%;bottom:25px;max-width:calc(100% - 28px);padding:10px 15px;border:1px solid var(--line-bright);border-radius:999px;background:#0d2c60;color:#eef7ff;box-shadow:0 12px 45px rgba(0,0,0,.5);opacity:0;transform:translate(-50%,18px);transition:.25s;pointer-events:none;font-size:10px}.toast.is-visible{opacity:1;transform:translate(-50%,0)}
@keyframes pulse{50%{opacity:.45;transform:scale(.75)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes dot-orbit{from{transform:rotate(0) translateX(280px)}to{transform:rotate(360deg) translateX(280px)}}@keyframes star-float{50%{transform:translateY(-18px);opacity:.4}}@keyframes name-drift{50%{transform:translateY(-9px);filter:brightness(1.3)}}@keyframes card-breathe{to{filter:brightness(1.2);box-shadow:0 0 35px rgba(65,179,255,.38)}}@keyframes beam-open{from{height:0;opacity:0}to{height:140%;opacity:1}}@keyframes count-pop{0%{opacity:0;transform:scale(1.7)}35%{opacity:1}100%{opacity:.8;transform:scale(.82)}}@keyframes winner-rise{from{opacity:0;transform:translateY(55px) scale(.75)}to{opacity:1;transform:none}}@keyframes firework-pop{0%,100%{opacity:.25;transform:scale(.6)}50%{opacity:.9;transform:scale(1)}}
@media(max-width:1240px){.mode-lobby{grid-template-columns:205px minmax(500px,1fr) 250px}.mode-choice{grid-template-columns:39px 1fr auto}.mode-icon{width:39px;height:39px}.command-rail{gap:8px}.team-console{min-height:155px}.team-console img{height:70%}.stage-host{width:200px}.stage-host img{width:95px}.nav-action{display:none}}
@media(max-width:980px){body{overflow:auto}.topbar{grid-template-columns:1fr auto}.mission-status{display:none}.mode-lobby{height:auto;min-height:calc(100vh - 74px);grid-template-columns:180px minmax(0,1fr)}.command-rail{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr}.arena{min-height:650px}.phase-rail li{min-width:100px}.stage-host{display:none}}
@media(max-width:720px){.topbar{height:64px;padding:0 12px}.brand strong{font-size:17px}.brand small{display:none}.brand-orbit{width:38px;height:38px}.top-actions .fullscreen-action{display:none}.mode-lobby{display:flex;padding:10px;flex-direction:column}.mode-rail{display:grid;grid-template-columns:repeat(4,1fr);padding:7px;gap:5px}.rail-heading,.rail-safety{display:none}.mode-choice{display:flex;min-height:60px;margin:0;padding:6px;flex-direction:column;gap:4px;text-align:center}.mode-choice:before,.mode-choice em,.mode-choice small{display:none!important}.mode-icon{width:30px;height:30px;border-radius:8px;font-size:15px}.mode-choice b{font-size:9px}.arena{min-height:570px;padding:14px 12px}.arena-heading h1{font-size:27px}.arena-heading p{max-width:260px}.arena-state{display:none}.arena-launch{grid-template-columns:1fr}.launch-meta{justify-self:center}.launch-button{justify-self:center}.sound-toggle{justify-self:center}.command-rail{display:flex}.team-console{min-height:170px}.lobby-wheel{width:min(80vw,390px)}.card-preview{transform:scale(.75)}.preview-card{margin:0 -53px}.phase-rail{display:none}.stage-header{height:65px;padding:0 13px}.stage-brand strong{font-size:15px}.stage-exit{margin-left:auto}.stage-content{inset:70px 2% 70px}.stage-wheel-shell{width:min(86vw,560px)}.stage-card-fan{transform:scale(.68)}.stage-flip-grid{width:90vw;gap:9px}.stage-flip-card{border-radius:13px}.stage-core-shell{width:min(85vw,520px)}.stage-participants{display:none}.winner-reveal{inset:65px 0 0;padding-inline:12px}.winner-reveal h2{margin-top:3vh;font-size:58px}.winner-badge .sprite-badge{width:76px;height:76px}.winner-badge span{font-size:15px}.teacher-presenters{height:42%;opacity:.7}.result-link{width:92vw}.winner-actions{flex-wrap:wrap;justify-content:center}.skip-button{right:13px}.auth-gate{padding:18px;grid-template-columns:1fr}.auth-visual{display:none}.login-card{padding:28px 22px}.control-drawer{padding:16px}.top-actions{gap:5px}.logout-action{width:34px}.command-rail{grid-column:auto}.prize-orbit-card{display:none}}
/* 2026-08-31 · 六枚数学秘宝视觉升级 */
.mystery-relic{display:block;background-image:url('./assets/math-relics-sprite-v1.png');background-repeat:no-repeat;background-size:300% 200%}
.relic-1{background-position:0 0}.relic-2{background-position:50% 0}.relic-3{background-position:100% 0}.relic-4{background-position:0 100%}.relic-5{background-position:50% 100%}.relic-6{background-position:100% 100%}
.flip-preview-scene{position:relative;display:grid;width:min(600px,91%);place-items:center}
.flip-preview-scene:before{content:"";position:absolute;left:50%;bottom:54px;width:80%;height:21%;border:1px solid rgba(84,211,255,.24);border-radius:50%;background:radial-gradient(ellipse,rgba(52,155,255,.22),transparent 68%);filter:blur(2px);transform:translateX(-50%) perspective(500px) rotateX(66deg)}
.flip-preview{position:relative;z-index:2;display:grid;width:min(480px,86%);grid-template-columns:repeat(3,1fr);gap:3px 12px;perspective:1100px}
.preview-tile{position:relative;display:block;aspect-ratio:.73;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;font-size:inherit;filter:drop-shadow(0 18px 17px rgba(0,0,0,.4));transform:perspective(900px) rotateX(4deg) translateY(0);animation:relic-float 2.8s ease-in-out infinite;animation-delay:var(--preview-delay)}
.preview-tile:nth-child(2),.preview-tile:nth-child(5){transform:perspective(900px) translateY(-8px)}
.preview-card-back{position:absolute;inset:0;background:url('./assets/mystery-card-back-v1.png') center/contain no-repeat;transition:.65s cubic-bezier(.2,.76,.2,1)}
.preview-tile .mystery-relic{position:absolute;inset:15%;opacity:0;transform:rotateY(180deg) scale(.7);transition:.65s}
.preview-tile.is-preview-open .preview-card-back{opacity:.1;transform:rotateY(82deg) scale(.9)}
.preview-tile.is-preview-open .mystery-relic{opacity:1;transform:rotateY(0) scale(1);filter:drop-shadow(0 0 22px rgba(255,205,104,.48))}
.preview-tile>i{position:absolute;inset:14%;border:1px solid rgba(97,214,255,.24);border-radius:50%;opacity:0}
.preview-tile.is-preview-open>i{opacity:1;animation:orbit 5s linear infinite}
.flip-preview-caption{position:relative;z-index:3;display:grid;grid-template-columns:7px auto;gap:1px 8px;margin-top:8px;padding:8px 13px;border:1px solid rgba(79,193,255,.18);border-radius:999px;background:rgba(3,15,38,.68);box-shadow:0 12px 35px rgba(0,0,0,.24);backdrop-filter:blur(10px)}
.flip-preview-caption>span{grid-row:1/3;align-self:center;width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold)}
.flip-preview-caption b{font-size:9px}.flip-preview-caption small{color:#7894bd;font-size:7px}
.stage-flip-scene{position:relative;display:grid;width:min(930px,86vw);place-items:center}
.stage-flip-scene:before{content:"";position:absolute;left:50%;bottom:-9%;width:92%;height:34%;border:1px solid rgba(73,201,255,.28);border-radius:50%;background:repeating-radial-gradient(ellipse,rgba(64,181,255,.17) 0 1px,transparent 2px 35px),radial-gradient(ellipse,rgba(58,145,255,.3),transparent 68%);box-shadow:0 0 70px rgba(38,133,255,.24);transform:translateX(-50%) perspective(700px) rotateX(64deg)}
.stage-matrix-title{position:relative;z-index:4;display:flex;align-items:center;margin-bottom:4px;flex-direction:column;text-align:center}
.stage-matrix-title span{color:var(--gold);font-size:8px;font-weight:850;letter-spacing:.24em}.stage-matrix-title b{margin-top:4px;font-size:clamp(20px,2.2vw,31px);letter-spacing:.08em}.stage-matrix-title small{margin-top:3px;color:#7c9bc8;font-size:8px;letter-spacing:.08em}
.stage-flip-grid{position:relative;z-index:3;display:grid;width:min(720px,78vw);grid-template-columns:repeat(3,1fr);gap:8px 20px;perspective:1400px}
.stage-flip-card{position:relative;display:block;aspect-ratio:.78;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;font-size:inherit;transform-style:preserve-3d;transition:.75s cubic-bezier(.2,.76,.15,1);filter:drop-shadow(0 22px 20px rgba(0,0,0,.42))}
.flip-card-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:1.05s cubic-bezier(.16,.78,.15,1)}
.flip-card-face{position:absolute;inset:0;overflow:hidden;border-radius:20px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.flip-card-back{background:url('./assets/mystery-card-back-v1.png') center/contain no-repeat}
.flip-card-front{display:grid;place-items:center;border:1px solid rgba(255,210,112,.68);background:radial-gradient(circle at 50% 46%,rgba(42,126,225,.55),rgba(8,23,63,.94) 63%,#03091a);box-shadow:inset 0 0 42px rgba(70,198,255,.2);transform:rotateY(180deg)}
.flip-card-front:before,.flip-card-front:after{content:"";position:absolute;inset:8%;border:1px solid rgba(102,214,255,.28);border-radius:50%;animation:orbit 7s linear infinite}.flip-card-front:after{inset:17%;border-color:rgba(255,208,104,.24);animation-direction:reverse;animation-duration:4.5s}
.flip-card-front .mystery-relic{position:absolute;z-index:2;inset:12%;filter:drop-shadow(0 0 24px rgba(78,201,255,.48))}
.flip-card-front small{position:absolute;z-index:3;bottom:7%;color:#ffe3a0;font-size:6px;font-weight:850;letter-spacing:.22em}
.card-scan{position:absolute;z-index:5;left:10%;right:10%;top:10%;height:2px;background:linear-gradient(90deg,transparent,#8cecff,transparent);box-shadow:0 0 12px #42d5ff;opacity:0}
.card-status{position:absolute;z-index:6;left:50%;bottom:-6px;padding:4px 9px;border:1px solid rgba(255,210,111,.45);border-radius:999px;background:#081c45;color:#ffe3a2;font-size:6px;font-weight:800;letter-spacing:.12em;opacity:0;transform:translate(-50%,8px);transition:.45s;white-space:nowrap}
.stage-flip-card.is-scanned .card-scan{opacity:1;animation:card-scan 1s ease both}.stage-flip-card.is-dimmed{opacity:.24;filter:grayscale(.4) drop-shadow(0 8px 14px rgba(0,0,0,.35));transform:scale(.9) translateY(8px)}.stage-flip-card.is-selected{z-index:8;filter:drop-shadow(0 0 26px rgba(255,204,92,.8));transform:scale(1.12) translateY(-10px)}.stage-flip-card.is-flipping .flip-card-inner{transform:rotateY(180deg)}.stage-flip-card.is-selected .card-status{opacity:1;transform:translate(-50%,0)}
.matrix-orbit{position:absolute;z-index:2;inset:14% 2% -7%;border:1px solid rgba(74,203,255,.2);border-radius:50%;pointer-events:none;animation:orbit 18s linear infinite}.matrix-orbit:before,.matrix-orbit:after{content:"";position:absolute;inset:9%;border:1px dashed rgba(255,211,113,.17);border-radius:50%}.matrix-orbit i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}.matrix-orbit i:nth-child(1){left:9%;top:26%}.matrix-orbit i:nth-child(2){right:8%;top:28%}.matrix-orbit i:nth-child(3){left:22%;bottom:4%;background:var(--gold);box-shadow:0 0 14px var(--gold)}.matrix-orbit i:nth-child(4){right:20%;bottom:6%;background:var(--violet);box-shadow:0 0 14px var(--violet)}
@keyframes relic-float{50%{translate:0 -7px;filter:drop-shadow(0 24px 22px rgba(0,0,0,.44)) drop-shadow(0 0 12px rgba(54,177,255,.18))}}@keyframes card-scan{0%{top:9%;opacity:0}18%{opacity:1}82%{opacity:1}100%{top:90%;opacity:0}}
@media(max-width:980px){.stage-flip-scene{width:92vw}.stage-flip-grid{width:min(650px,84vw);gap:5px 12px}.stage-matrix-title{margin-bottom:2px}.stage-flip-card.is-selected{transform:scale(1.07) translateY(-6px)}}
@media(max-width:720px){.flip-preview{width:min(430px,93%);gap:2px 7px}.flip-preview-caption{margin-top:4px}.stage-flip-scene{width:96vw}.stage-flip-grid{width:min(520px,86vw);gap:3px 8px}.stage-matrix-title b{font-size:18px}.stage-matrix-title small{display:none}.flip-card-face{border-radius:13px}.card-status{font-size:5px}.matrix-orbit{display:none}}
/* 荣耀揭晓：奖品为第一视觉焦点 */
.winner-reveal{padding-top:14px}.winner-kicker{z-index:5;margin-top:1vh}
.winner-student{position:relative;z-index:5;display:flex;align-items:center;flex-direction:column}.winner-student>span{padding:4px 11px;border:1px solid rgba(108,199,255,.24);border-radius:999px;background:rgba(6,25,60,.62);color:#9ec3ed;font-size:7px;font-weight:800;letter-spacing:.18em}
.winner-student h2,.winner-reveal .winner-student h2{margin:.7vh 0 1.2vh;font-size:clamp(42px,5vw,78px);letter-spacing:.02em}
.winner-prize-spotlight{--prize-accent:#58e7ff;position:relative;z-index:6;display:grid;width:min(760px,76vw);min-height:160px;grid-template-columns:148px minmax(0,1fr);align-items:center;gap:22px;overflow:hidden;padding:15px 28px 15px 18px;border:1px solid rgba(255,216,125,.72);border-radius:30px;background:radial-gradient(circle at 16% 50%,rgba(64,169,255,.34),transparent 28%),linear-gradient(105deg,rgba(10,34,79,.96),rgba(45,36,101,.94) 58%,rgba(7,23,55,.97));box-shadow:0 0 0 1px rgba(85,194,255,.14),0 24px 75px rgba(0,0,0,.46),0 0 55px var(--prize-accent);text-align:left;animation:prize-spotlight-enter .85s cubic-bezier(.16,.78,.15,1) both}
.winner-prize-spotlight:before,.winner-prize-spotlight:after{content:"";position:absolute;pointer-events:none}.winner-prize-spotlight:before{inset:0;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.13) 42%,transparent 57%);translate:-90% 0;animation:prize-sheen 2.8s 1s ease-in-out infinite}.winner-prize-spotlight:after{inset:8px;border:1px solid rgba(105,211,255,.14);border-radius:23px}
.prize-spotlight-rays{position:absolute;left:72px;top:50%;width:260px;height:260px;background:repeating-conic-gradient(from 0deg,rgba(255,219,132,.18) 0 3deg,transparent 3deg 18deg);filter:blur(1px);opacity:.7;transform:translate(-50%,-50%);animation:orbit 16s linear infinite}
.winner-prize-emblem{position:relative;z-index:2;display:grid;width:128px;height:128px;place-items:center;border:2px solid rgba(255,226,157,.88);border-radius:50%;background:radial-gradient(circle at 40% 32%,#fff5c8 0 4%,var(--prize-accent) 18%,#173d8a 55%,#07152e 72%);box-shadow:inset 0 0 25px rgba(255,255,255,.2),0 0 34px var(--prize-accent);animation:prize-emblem-pulse 1.8s ease-in-out infinite}
.winner-prize-emblem:before,.winner-prize-emblem:after{content:"";position:absolute;border-radius:50%}.winner-prize-emblem:before{inset:7px;border:1px dashed rgba(255,229,165,.65);animation:orbit 8s linear infinite}.winner-prize-emblem:after{inset:-10px;border:1px solid rgba(90,210,255,.24)}.winner-prize-emblem i{position:absolute;inset:-17px;border:1px solid rgba(255,207,96,.28);border-radius:50%;transform:rotate(36deg)}.winner-prize-emblem span{position:relative;z-index:2;color:#fff8d8;font-size:58px;font-weight:950;line-height:1;filter:drop-shadow(0 3px 5px rgba(0,0,0,.45))}
.winner-prize-copy{position:relative;z-index:2;display:flex;min-width:0;flex-direction:column}.winner-prize-copy>span{color:var(--cyan);font-size:10px;font-weight:850;letter-spacing:.24em}.winner-prize-copy h3{margin:7px 0 5px;color:transparent;background:linear-gradient(180deg,#fffdf2 0,#ffe9a9 45%,#f1b743 100%);background-clip:text;font-size:clamp(38px,4.4vw,66px);font-weight:950;line-height:1.05;letter-spacing:.02em;filter:drop-shadow(0 0 16px rgba(255,202,85,.32));white-space:normal}.winner-prize-copy small{color:#9db2d3;font-size:9px;letter-spacing:.1em}
.winner-actions{z-index:7;margin-top:15px}.teacher-presenters{height:47%;opacity:.76}.teacher-presenters img{opacity:.9}
@keyframes prize-spotlight-enter{0%{opacity:0;transform:translateY(28px) scale(.88)}70%{transform:translateY(-4px) scale(1.02)}100%{opacity:1;transform:none}}@keyframes prize-emblem-pulse{50%{transform:scale(1.055);box-shadow:inset 0 0 30px rgba(255,255,255,.25),0 0 52px var(--prize-accent)}}@keyframes prize-sheen{0%,62%{translate:-90% 0}88%,100%{translate:110% 0}}
@media(max-width:720px){.winner-reveal{padding-top:10px}.winner-kicker{margin-top:.5vh}.winner-student h2,.winner-reveal .winner-student h2{margin:.5vh 0 1vh;font-size:44px}.winner-prize-spotlight{width:94vw;min-height:118px;grid-template-columns:94px minmax(0,1fr);gap:11px;padding:10px 13px;border-radius:22px}.winner-prize-emblem{width:88px;height:88px}.winner-prize-emblem span{font-size:40px}.winner-prize-copy h3{margin:4px 0;font-size:clamp(27px,8vw,40px)}.winner-prize-copy>span{font-size:7px}.winner-prize-copy small{font-size:7px}.prize-spotlight-rays{left:46px;width:180px;height:180px}.winner-actions{margin-top:10px}.teacher-presenters{height:36%;opacity:.5}}
@media(max-height:720px) and (min-width:721px){.winner-kicker{margin-top:0}.winner-student h2,.winner-reveal .winner-student h2{font-size:54px}.winner-prize-spotlight{min-height:132px}.winner-prize-emblem{width:105px;height:105px}.winner-prize-emblem span{font-size:48px}.winner-actions{margin-top:8px}.teacher-presenters{height:40%;opacity:.58}}
/* 恒星转盘：蓝金机械星仪视觉升级 */
.stellar-wheel-frame{position:absolute;z-index:7;inset:-2%;width:104%;height:104%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 18px 28px rgba(0,0,0,.62)) drop-shadow(0 0 18px rgba(53,184,255,.26));animation:wheel-frame-breathe 3.4s ease-in-out infinite}
.lobby-wheel svg,.stage-wheel-shell svg{position:relative;z-index:3;width:92%;height:92%;margin:4%;border-radius:50%;background:radial-gradient(circle,rgba(20,62,135,.35),rgba(2,8,22,.88));box-shadow:0 0 54px rgba(27,135,255,.2),inset 0 0 35px rgba(91,209,255,.08)}
.lobby-wheel:before{inset:-16%;border-color:rgba(94,207,255,.32);box-shadow:inset 0 0 26px rgba(54,141,255,.08)}.lobby-wheel:after{inset:-25%;border-color:rgba(245,201,109,.2)}
.lobby-wheel .orbit-dot{z-index:8;width:8px;height:8px;background:#baf4ff;box-shadow:0 0 18px 5px #44d9ff}
.stage-wheel-shell:before{inset:-16%;border-color:rgba(89,211,255,.4);box-shadow:0 0 32px rgba(47,136,255,.14)}.stage-wheel-shell:after{inset:-26%;border-color:rgba(245,201,109,.22)}
.stage-wheel-shell.is-spinning .stellar-wheel-frame{filter:drop-shadow(0 22px 35px rgba(0,0,0,.65)) drop-shadow(0 0 34px rgba(74,208,255,.55)) brightness(1.08)}
.stage-wheel-shell.is-spinning svg{filter:drop-shadow(0 0 58px rgba(84,204,255,.64)) blur(.25px)}
@keyframes wheel-frame-breathe{50%{filter:drop-shadow(0 21px 34px rgba(0,0,0,.66)) drop-shadow(0 0 30px rgba(62,196,255,.42));transform:scale(1.008)}}
@media(max-width:720px){.stellar-wheel-frame{inset:-1%;width:102%;height:102%}.lobby-wheel svg,.stage-wheel-shell svg{width:91%;height:91%;margin:4.5%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
