/* Animated native sigils: shared lens material, independent movement within each symbol. */
.sigil-field{position:relative;display:grid;place-items:center;width:100%;height:100%;transform:perspective(500px) rotateX(var(--sigil-rx,0deg)) rotateY(var(--sigil-ry,0deg));transition:transform .18s ease-out;isolation:isolate}
.enchanted-sigil,.mood-sigil{overflow:visible;pointer-events:none}
.sigil-core,.sigil-orbit,.sigil-gem,.sigil-aura,.sigil-shard,.blade-a,.blade-b,.ribbon-wheel,.ball-spin,.flag-wave,.compass-spin{transform-box:view-box;transform-origin:80px 85px}
.crystal-face{fill:var(--facet);stroke:none}
.crystal-rim{fill:none;stroke:#b5eeff;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.crystal-seam{fill:none;stroke:#84b7e9;stroke-width:1;opacity:.75}
.sigil-orbit .orbit-track{fill:none;stroke:#7badcf;stroke-width:.8;stroke-dasharray:1 7;opacity:.55}
.sigil-orbit .orbit-current{fill:none;stroke:#adefff;stroke-width:1.5;opacity:.8}
.orbit-head,.sigil-shard{fill:#d2f7ff}
.sigil-orbit.orbit-clockwise{animation:sigil-turn 15s linear infinite}
.sigil-orbit.orbit-counter{animation:sigil-turn 23s linear infinite reverse;opacity:.7}
.sigil-shard{animation:shard-breathe 2.8s ease-in-out infinite;animation-delay:calc(var(--spark)*-.44s)}
.sigil-aura{animation:aura-breathe 3.3s ease-in-out infinite}
.sigil-stream{fill:none;stroke:#a2e8ff;stroke-width:1;stroke-dasharray:12 140 2 100;animation:stream-current 4.2s linear infinite;opacity:.62}
.sigil-stream.stream-second{animation-direction:reverse;animation-duration:5.8s;stroke:#b7a6ef;opacity:.4}
.sigil-core{animation:core-levitate 4.8s ease-in-out infinite}
.sigil-core .sigil-stitch{animation:stream-current 9s linear infinite}
[data-symbol=action]>.sigil-core{animation:impact-breathe 2.7s ease-in-out infinite}
[data-symbol=action] .sigil-fill{opacity:.2}
[data-symbol=soft]>.sigil-core{animation:heart-beat 2.6s ease-in-out infinite}
[data-symbol=dark]>.sigil-core{animation:moon-drift 6s ease-in-out infinite}
[data-symbol=dark]>.orbit-clockwise{animation-duration:10s}
[data-symbol=dance]>.sigil-core{animation:note-groove 1.8s ease-in-out infinite}
[data-symbol=dance] .sigil-core>.sigil-line:last-child{animation:bar-pulse .9s ease-in-out infinite alternate}
[data-symbol=royal]>.sigil-core{animation:crown-rise 4.4s ease-in-out infinite}
[data-symbol=anime] .blade-a{animation:blade-cross-a 4s ease-in-out infinite}
[data-symbol=anime] .blade-b{animation:blade-cross-b 4s ease-in-out infinite}
[data-symbol=motion] .ribbon-wheel{animation:sigil-turn 14s linear infinite}
[data-symbol=clubs] .ball-spin{animation:ball-roll 8s ease-in-out infinite}
[data-symbol=pride] .flag-wave{animation:flag-billow 3.6s ease-in-out infinite;transform-origin:51px 85px}
[data-symbol=all] .compass-spin{animation:sigil-turn 24s linear infinite}
.sigil-gem{animation:gem-flash 2.8s ease-in-out infinite}
.sigil-flare{position:absolute;inset:13%;border:1px solid #b6efff;border-radius:50%;opacity:0;pointer-events:none}
.sigil-hover .sigil-flare{animation:sigil-arrive .75s ease-out both}
.sigil-hover .sigil-orbit,.thread-card:focus-visible .sigil-orbit,.world-card:focus-visible .sigil-orbit{animation-duration:5s}
.sigil-hover .sigil-core{filter:drop-shadow(0 0 5px #88d8f36b)}
.sigil-hover .sigil-stream{stroke-width:2;opacity:1;animation-duration:1.8s}
.thread-card .symbol svg.mood-sigil{width:128px!important;height:138px!important;animation:none!important;transform:none!important}
.thread-card .symbol:before{transition:filter .3s,opacity .3s}
.thread-card.sigil-hover .symbol:before,.thread-card:focus-visible .symbol:before{filter:brightness(1.45);opacity:1}
.thread-card .sigil-fill{fill:var(--facet);opacity:.75}
.thread-card .sigil-line{stroke-width:1.65}
/* World choices now use the same relic system as moods, with no product covers. */
.deck.fan{padding-top:5px;max-width:1060px;gap:24px;align-items:stretch}
.deck.fan .hanging-line,.world-card .patch-cord,.world-card .patch-pin{display:none!important}
.deck.fan .world-card{padding:8px 3px 18px!important;min-height:257px;max-width:192px;animation:sigil-deal .65s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i)*75ms);transform-origin:center;transform:none;transition:translate .3s}
.deck.fan .world-card:before{inset:auto 0 0;height:85px;background:radial-gradient(ellipse at 50% 0,#2b496a6b,transparent 72%);filter:none;border:0;outline:0}
.world-card .symbol{display:grid!important;place-items:center;position:relative;width:170px;height:170px!important;margin:0 auto!important;opacity:1;filter:none;isolation:isolate}
.world-card .symbol:before{content:"";position:absolute;inset:0;background:url('/assets/gwen-world/relic-seal.svg') center/contain no-repeat;transition:filter .3s;z-index:-1}
.world-card .symbol svg{width:137px!important;height:145px!important}
.deck.fan .world-card h2{font-size:21px!important;margin:15px -4px 2px;line-height:1.5}
.deck.fan .world-card p{display:block;font-size:11px;line-height:1.8;max-width:180px;color:#b9d0e5}
.deck.fan .world-card:hover,.deck.fan .world-card:focus-visible,.deck.fan .world-card.selected{transform:none;translate:0 -12px;rotate:none;scale:none}
.world-card.sigil-hover .symbol:before,.world-card:focus-visible .symbol:before,.world-card.selected .symbol:before{filter:brightness(1.5)}
.world-card.selected h2{color:#b8edff}
.world-card.selected:after{top:140px;inset-inline-end:15px}
.menu-scene .sample .sigil-field{z-index:1}
.menu-scene .sample .enchanted-sigil{width:100%;height:100%;color:#b3eaff}
.menu-scene .sample:after{display:none}
.menu-scene .sample:before{transition:filter .3s}
.menu-scene .sample.sigil-hover:before{filter:brightness(1.6)}
.menu-scene .sample .sigil-shard{opacity:.8}
.mbox .box .key{font-size:18px;color:#b9eeff}
.deck .mbox.sigil-hover,.deck .reel.sigil-hover{translate:0 -11px}
.mbox.sigil-hover .box{border-color:#9cdded}
.fighter.sigil-hover,.loot.sigil-hover{translate:0 -7px;transition:translate .3s}
/* Keep a real native pointer; the non-interactive halo adds the game feedback. */
@media(hover:hover) and (pointer:fine){
  html.gwen-pointer-ready,html.gwen-pointer-ready body,html.gwen-pointer-ready button,html.gwen-pointer-ready a,html.gwen-pointer-ready [role=button]{cursor:url('/assets/gwen-world/gwen-pointer.svg') 4 3,auto}
  html.gwen-pointer-ready input,html.gwen-pointer-ready textarea{cursor:auto}
  html.gwen-pointer-ready button:disabled{cursor:not-allowed}
}
.gwen-cursor{display:none;position:fixed;left:0;top:0;width:0;height:0;z-index:2147483646;pointer-events:none;contain:layout style;opacity:0;transition:opacity .18s}
@media(hover:hover) and (pointer:fine){.gwen-cursor{display:block}.gwen-cursor.cursor-visible{opacity:1}}
.gwen-cursor>svg{position:absolute;left:10px;top:9px;width:42px;height:47px;opacity:.82;transform:rotate(-22deg) scale(.85);transition:transform .25s,opacity .25s;filter:drop-shadow(0 0 4px #58bde773)}
.cursor-orbit{position:absolute;left:-22px;top:-22px;width:44px;height:44px;border:1px solid #a8e7ff6b;border-radius:50%;background:radial-gradient(circle,#79cdeb16,transparent 70%);animation:cursor-rotate 5s linear infinite;transition:width .25s,height .25s,left .25s,top .25s,border-color .25s}
.cursor-orbit:before,.cursor-orbit:after{content:"";position:absolute;left:calc(50% - 2px);top:-3px;width:4px;height:4px;background:#d1f8ff;rotate:45deg}
.cursor-orbit:after{top:auto;bottom:-3px;background:#b8a5ff}
.cursor-target .cursor-orbit{width:66px;height:66px;left:-33px;top:-33px;border-color:#b7eeffd9;animation-duration:2.6s}
.cursor-target>svg{transform:rotate(-35deg) scale(1.1);opacity:1}
.cursor-blade{transform-origin:0 0;transition:transform .28s}
.cursor-target .blade-left{transform:rotate(-13deg)}
.cursor-target .blade-right{transform:rotate(13deg)}
.cursor-press .blade-left{animation:cursor-snip-a .4s ease-in-out}
.cursor-press .blade-right{animation:cursor-snip-b .4s ease-in-out}
.cursor-ripple{position:absolute;left:-10px;top:-10px;width:20px;height:20px;border-radius:50%;border:1px solid #cef8ff;opacity:0}
.cursor-press .cursor-ripple{animation:cursor-click .45s ease-out}
@keyframes sigil-turn{to{transform:rotate(360deg)}}
@keyframes shard-breathe{0%,100%{opacity:.3;transform:scale(.75)}50%{opacity:1;transform:scale(1.13)}}
@keyframes aura-breathe{0%,100%{opacity:.5;transform:scale(.83)}50%{opacity:1;transform:scale(1.08)}}
@keyframes stream-current{to{stroke-dashoffset:-254}}
@keyframes core-levitate{0%,100%{transform:translateY(3px) rotate(-3deg)}50%{transform:translateY(-4px) rotate(3deg)}}
@keyframes impact-breathe{0%,100%{transform:scale(.93) rotate(-6deg)}45%{transform:scale(1.09) rotate(5deg)}60%{transform:scale(1) rotate(1deg)}}
@keyframes heart-beat{0%,40%,100%{transform:scale(.94)}15%{transform:scale(1.09)}26%{transform:scale(.98)}32%{transform:scale(1.04)}}
@keyframes moon-drift{0%,100%{transform:rotate(-9deg) translateY(2px)}50%{transform:rotate(8deg) translateY(-5px)}}
@keyframes note-groove{0%,100%{transform:rotate(-10deg) translateY(3px)}50%{transform:rotate(8deg) translateY(-6px)}}
@keyframes bar-pulse{from{transform:scaleY(.65)}to{transform:scaleY(1.13)}}
@keyframes crown-rise{0%,100%{transform:translateY(4px) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}
@keyframes blade-cross-a{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(7deg)}}
@keyframes blade-cross-b{0%,100%{transform:rotate(6deg)}50%{transform:rotate(-7deg)}}
@keyframes ball-roll{0%,100%{transform:rotate(-14deg) translateY(2px)}50%{transform:rotate(20deg) translateY(-3px)}}
@keyframes flag-billow{0%,100%{transform:skewY(-5deg) scaleX(.94)}50%{transform:skewY(5deg) scaleX(1.04)}}
@keyframes gem-flash{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes sigil-arrive{0%{opacity:0;transform:scale(.55)}15%{opacity:.9}100%{opacity:0;transform:scale(1.6)}}
@keyframes sigil-deal{from{opacity:0;transform:translateY(35px) scale(.86)}to{opacity:1;transform:none}}
@keyframes cursor-rotate{to{rotate:360deg}}
@keyframes cursor-snip-a{0%,100%{transform:rotate(-13deg)}45%{transform:rotate(5deg)}}
@keyframes cursor-snip-b{0%,100%{transform:rotate(13deg)}45%{transform:rotate(-5deg)}}
@keyframes cursor-click{0%{opacity:1;transform:scale(.5)}100%{opacity:0;transform:scale(3)}}
@media(max-width:1100px) and (min-width:761px){.deck.fan{gap:12px}.world-card .symbol{width:145px;height:145px!important}.world-card .symbol svg{width:117px!important;height:125px!important}.deck.fan .world-card h2{font-size:18px!important}.deck.fan .world-card p{font-size:10px}.deck.fan .world-card{min-height:235px}}
@media(max-width:760px){
  .deck.fan{gap:18px 12px;padding-top:5px;max-width:400px}
  .deck.fan .world-card{padding:7px 2px 15px!important;min-height:218px}
  .world-card .symbol{width:142px;height:142px!important}
  .world-card .symbol svg{width:114px!important;height:122px!important}
  .deck.fan .world-card h2{font-size:18px!important;margin-top:10px}
  .deck.fan .world-card p{font-size:10px;max-width:145px}
  .thread-card .symbol svg.mood-sigil{width:108px!important;height:118px!important}
  .deck.fan .world-card.selected{translate:0 -5px}
  .world-card.selected:after{top:120px;inset-inline-end:18px}
}
html[data-motion=off] .sigil-field,html[data-motion=off] .sigil-field *,html[data-motion=off] .gwen-cursor *{animation:none!important;transition:none!important;transform:none!important}
html[data-motion=off] .deck.fan .world-card{animation:none!important;opacity:1;transform:none;translate:none}
html[data-motion=off] .gwen-cursor{display:none}
html[data-atelier-paused] .sigil-field *,html[data-atelier-paused] .gwen-cursor *,html[data-preview=open] .sigil-field *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.sigil-field,.sigil-field *,.gwen-cursor *{animation:none!important;transition:none!important;transform:none!important}.gwen-cursor{display:none}.deck.fan .world-card{animation:none!important;opacity:1;transform:none;translate:none}}
/* Rounds 3–8: arcane instruments, reveal frames and a clear selection response. */
.arena.enter .round-head{animation:round-title-reveal .65s cubic-bezier(.16,.8,.2,1) both}
.arena.enter .stage{animation:round-stage-reveal .75s cubic-bezier(.16,.8,.2,1) both}
.round-head h1{background-size:220% 100%}
.deck.boxes,.deck.reels{gap:24px}
.deck .mbox,.deck .reel{padding:17px 15px 20px!important;border:1px solid #759dc35c;border-radius:4px 20px 4px 20px;background:linear-gradient(150deg,#254466b8,#091a32d9);box-shadow:inset 0 0 0 4px #0b1e3466,0 14px 28px #020b1e40;overflow:hidden;transform-origin:center}
.deck .mbox:before,.deck .reel:before{inset:7px;border:1px solid #a1d8ec22;border-radius:2px 14px 2px 14px;background:none}
.deck .mbox:after,.deck .reel:after{content:"";position:absolute;left:-70%;top:-40%;width:40%;height:180%;background:linear-gradient(90deg,transparent,#b1eaff17,transparent);transform:rotate(24deg);pointer-events:none;opacity:0}
.deck .mbox.sigil-hover:after,.deck .reel.sigil-hover:after{animation:instrument-sheen 1.1s ease-out both}
.mbox .box{height:154px;border:0;border-radius:4px;background:radial-gradient(ellipse,#305a8055,transparent 72%),linear-gradient(155deg,#071a2dcc,#122b46a6);box-shadow:inset 0 0 0 1px #7cabc140;transform:none;isolation:isolate}
.mbox .box .lid{display:none}
.mbox .box:hover,.mbox.playing .box{transform:translateY(-3px)}
.rhythm-halo{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.rhythm-ring{fill:none;stroke:#a9dff1;stroke-width:.8;stroke-dasharray:60 30 2 25;opacity:.35;transform-origin:120px 78px;animation:rhythm-revolve 12s linear infinite}
.rhythm-ring.inner{stroke:#b2a5ef;stroke-dasharray:2 8;animation-direction:reverse;animation-duration:18s}
.rhythm-wave{fill:none;stroke:#b2edff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:240 260;animation:rhythm-travel 4s linear infinite;opacity:.6}
.rhythm-guide{fill:none;stroke:#7ca5ce;stroke-width:1;opacity:.55}
.rhythm-node{fill:#ddfaff;animation:gem-flash 2s ease-in-out infinite}
.mbox .bars{inset:37px 34px 25px;gap:7px;align-items:center;pointer-events:none}
.mbox .bars i{height:65%;border-radius:50% 50% 3px 3px;background:linear-gradient(0deg,#8492df,#95e3ef 60%,#d1f6ff);transform-origin:center;transform:scaleY(.22);opacity:.7;animation:rhythm-bar 1.2s ease-in-out infinite alternate;animation-delay:calc(var(--bar-index)*-170ms)!important}
.mbox[data-pattern=flow] .bars i{animation-duration:2.4s}
.mbox[data-pattern=impact] .bars i{animation-timing-function:cubic-bezier(.7,0,.3,1);animation-duration:1.5s}
.mbox[data-pattern=dance] .bars i{animation-duration:.8s}
.mbox.playing .bars i{animation-duration:var(--beat)!important}
.mbox.playing{box-shadow:inset 0 0 0 1px #a7e8f1,0 0 28px #66d3ef29}
.mbox .key{width:24px;height:24px;inset:auto auto 9px 9px;background:#17354c;border:1px solid #9bd8e86b;font-size:12px}
.mbox.playing .rhythm-wave{stroke-width:2;opacity:1;animation-duration:1.8s}
.mbox .pick-beat{position:relative;background:#254663a6;border:1px solid #91c8de66;border-radius:2px 8px;color:#d1edfa}
.mbox .pick-beat:hover{background:#92d1e7;color:#0c233b}
.reel .screen{isolation:isolate;border:1px solid #7ca8ce;border-radius:2px 10px;box-shadow:0 6px 18px #020b1d88;overflow:hidden}
.edit-runes{position:absolute;inset:0;z-index:3;width:100%;height:100%;pointer-events:none}
.edit-trace{fill:none;stroke:#cef4ff;stroke-width:1.3;opacity:.8}
.edit-line{fill:none;stroke:#a3e7ff;stroke-width:.8;stroke-dasharray:24 175;animation:edit-scan 3s linear infinite;opacity:.7}
.edit-diamond{fill:#8ae3fa0a;stroke:#b6d5f3;stroke-width:.7;transform-origin:120px 75px;animation:edit-focus 5s ease-in-out infinite;opacity:.7}
.demo-fast .edit-line{animation-duration:1s}
.demo-smooth .edit-line{animation-duration:5s}
.reel .rec{background:#0b1d37ad;padding:3px 7px;color:#d9f3ff}
.flip{isolation:isolate;transition:translate .3s}
.flip.sigil-hover{translate:0 -10px}
.flip-back{overflow:hidden;background:radial-gradient(circle,#30507388,#0c2039 75%);border:1px solid #91bed6}
.flip-back>img,.flip-back>.number{position:relative;z-index:2}
.shot-rune{position:absolute;inset:4%;opacity:.6;pointer-events:none}
.shot-rune svg{width:100%;height:100%}
.flip-back:after{content:"";position:absolute;inset:10px;border:1px solid #95cce65c;clip-path:polygon(0 0,35% 0,35% 2%,2% 2%,2% 35%,0 35%,0 0,100% 0,100% 35%,98% 35%,98% 2%,65% 2%,65% 0,100% 0,100% 100%,65% 100%,65% 98%,98% 98%,98% 65%,100% 65%,100% 100%,0 100%,0 65%,2% 65%,2% 98%,35% 98%,35% 100%,0 100%)}
.flip-front{border:1px solid #7daed0;border-radius:3px 13px;background:#102b43;overflow:hidden}
.flip.liked .flip-front{border-color:#c5efff;box-shadow:inset 0 0 0 3px #93def14d,0 0 24px #67c8f629}
.stream{position:relative;border:6px solid #345874;outline:1px solid #91bdd6;outline-offset:3px;box-shadow:0 18px 34px #010b1e88,0 0 22px #6dc8f320;isolation:isolate}
.stream:after{content:"";position:absolute;inset:6px;border:1px solid #afe5ff4a;pointer-events:none;z-index:3}
.deck.choices-row .pick-card{padding:14px 16px!important;background:linear-gradient(135deg,#244260db,#0e223bdd);border:1px solid #8cc4dc66;border-radius:2px 12px;transform-origin:center}
.deck.choices-row .pick-card:before{display:none}
.pick-card.sigil-hover,.pick-card:focus-visible{box-shadow:inset 0 0 0 1px #ace7ff,0 10px 24px #0b192a}
.live-count{position:relative;isolation:isolate;padding:10px 40px}
.count-orbit{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.count-track{fill:none;stroke:#739dbf;stroke-width:.7;stroke-dasharray:2 9;opacity:.55}
.count-current{fill:none;stroke:#b3eaff;stroke-width:1.2;stroke-dasharray:60 160;animation:count-current 5s linear infinite;opacity:.65}
.count-corners{fill:none;stroke:#a7c8e6;stroke-width:1;opacity:.6}
.live-count b{display:block;font-variant-numeric:tabular-nums;line-height:1.1}
.toolbag{position:relative;border:1px solid #84bbd1;border-radius:3px 19px;background:linear-gradient(145deg,#254864df,#0b2039ed);box-shadow:inset 0 0 0 5px #10273dc7,0 16px 30px #01091c66;max-width:780px}
.tools-row .chip{position:relative;overflow:hidden;transition:translate .25s,background .25s,color .25s;border:1px solid #729fbc;border-radius:2px 8px}
.tools-row .chip:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#bfe9ff25 50%,transparent 65%);transform:translateX(-150%);pointer-events:none}
.chip.sigil-hover:after,.chip:focus-visible:after{animation:chip-glint .6s ease-out}
.chip.sigil-hover{translate:0 -4px}
.tools-row .chip[aria-pressed=true]{background:linear-gradient(115deg,#b4eafa,#9eafe6);border-color:#c6ecff;color:#0d2944;box-shadow:0 0 0 2px #83c6df30}
.fighter{position:relative;isolation:isolate;border-radius:3px 22px 3px 22px;overflow:hidden;background:linear-gradient(150deg,#234465ec,#0b2038ec);border:1px solid #85b1cc}
.fighter:before{content:"";position:absolute;inset:6px;border:1px solid #a9daf52b;border-radius:1px 16px;z-index:-1}
.fighter:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,#bfeaff18 50%,transparent 65%);transform:translateX(-150%);pointer-events:none}
.fighter.sigil-hover:after{animation:chip-glint 1s ease-out}
.fighter.sigil-hover{border-color:#b5eafa;box-shadow:inset 0 0 0 5px #152b4380,0 16px 36px #0005,0 0 20px #8bd4ef23}
.vs{animation:versus-charge 4s ease-in-out infinite;letter-spacing:-2px}
.fighter.win:after{animation:chip-glint .7s ease-out}
.cut-zone{position:relative;overflow:hidden;border:7px solid #44698b;outline:1px solid #a6cde4;outline-offset:4px;border-radius:3px 28px;background:radial-gradient(circle,#2c5b7e66,#0c2139 75%);isolation:isolate}
.cut-zone:before,.cut-zone:after{content:"";position:absolute;width:170px;height:170px;left:calc(50% - 85px);top:calc(50% - 85px);border:1px dashed #8ed4ed4f;border-radius:50%;animation:sigil-turn 25s linear infinite;z-index:-1}
.cut-zone:after{width:200px;height:200px;left:calc(50% - 100px);top:calc(50% - 100px);border-style:solid;border-color:#7299c127;animation-direction:reverse}
.loot .loot-front{position:relative;border-radius:3px 19px 3px 19px}
.loot.sigil-hover .loot-front{border-color:#baedff;box-shadow:0 0 0 1px #97c9e356,0 0 25px #8ed7f022}
.loot .loot-front:after{pointer-events:none}
.loot.gold .rank{position:relative;overflow:hidden}
.loot.gold .rank:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#fff7 50%,transparent 65%);animation:rank-sheen 6s ease-in-out infinite;pointer-events:none}
@keyframes round-title-reveal{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}
@keyframes round-stage-reveal{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}
@keyframes instrument-sheen{0%{left:-70%;opacity:0}15%{opacity:1}100%{left:145%;opacity:0}}
@keyframes rhythm-revolve{to{transform:rotate(360deg)}}
@keyframes rhythm-travel{to{stroke-dashoffset:-500}}
@keyframes rhythm-bar{from{transform:scaleY(.22)}to{transform:scaleY(var(--h,.95))}}
@keyframes edit-scan{to{stroke-dashoffset:-398}}
@keyframes edit-focus{0%,100%{transform:scale(.9);opacity:.35}50%{transform:scale(1.2);opacity:.85}}
@keyframes count-current{to{stroke-dashoffset:-440}}
@keyframes chip-glint{from{transform:translateX(-150%)}to{transform:translateX(150%)}}
@keyframes versus-charge{0%,100%{opacity:.7;transform:scale(.95)}50%{opacity:1;transform:scale(1.08)}}
@keyframes rank-sheen{0%,55%{transform:translateX(-150%)}80%,100%{transform:translateX(150%)}}
@media(max-width:760px){
  .deck.boxes,.deck.reels{gap:14px}
  .deck .mbox{min-height:215px;padding:12px 10px 16px!important}
  .mbox .box{height:110px}.mbox .bars{inset:28px 18px 19px;gap:4px}
  .deck .reel{padding:14px 12px 18px!important}
  .live-count{padding:10px 30px}.count-orbit{inset:-5% -5%;width:110%;height:110%}
  .toolbag{width:100%;min-width:0}.tools-row{flex-wrap:wrap}
  .stream{border-width:4px;max-width:calc(100% - 10px)}
  .versus .fighter{min-width:0}.fighter h2{overflow-wrap:anywhere}
  .cut-zone{max-width:calc(100% - 16px)}
}
html[data-atelier-paused] *,html[data-atelier-paused] *:before,html[data-atelier-paused] *:after{animation-play-state:paused!important}
html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.deal,.arena.enter .stage,.arena.enter .round-head{opacity:1;transform:none}}
.mbox .pick-beat{display:block;text-align:center;pointer-events:none}
button.mbox:focus-visible{outline:2px solid #c6f2ff;outline-offset:6px}
button.mbox:hover .pick-beat,button.mbox:focus-visible .pick-beat{background:#a2d9eb;color:#102a43}
button.mbox.selected .bars i{animation-duration:var(--beat)!important}
.result-actions{align-items:center;gap:15px}
.result-actions #restart{position:relative;display:flex;align-items:center;justify-content:center;gap:16px;order:-1;min-height:66px;min-width:290px;padding:15px 30px;border:1px solid #d1efff;border-radius:3px 18px 3px 18px;background:linear-gradient(110deg,#beeaff,#86cce9 45%,#a2a0e6);box-shadow:inset 0 0 0 4px #e7f8ff20,0 5px 0 #294b6d,0 12px 26px #020b1f77;color:#0b2945;font:700 23px/1.5 GwenChanga,Tahoma,sans-serif;text-decoration:none;isolation:isolate;overflow:hidden;transition:translate .25s,box-shadow .25s}
.result-actions #restart:before{content:"↻";display:grid;place-items:center;width:36px;height:36px;border:1px solid #23527470;border-radius:50%;font:29px/1 Georgia;transition:rotate .6s ease}
.result-actions #restart:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#f3fcff77 50%,transparent 65%);transform:translateX(-150%);pointer-events:none}
.result-actions #restart:hover,.result-actions #restart:focus-visible{translate:0 -5px;box-shadow:inset 0 0 0 4px #e7f8ff20,0 8px 0 #294b6d,0 16px 30px #020b1f77;outline:2px solid #c1f0ff;outline-offset:4px}
.result-actions #restart:hover:before,.result-actions #restart:focus-visible:before{rotate:-180deg}
.result-actions #restart:hover:after,.result-actions #restart:focus-visible:after{animation:chip-glint .9s ease-out}
@media(max-width:760px){.result-actions{flex-direction:column;width:100%}.result-actions #restart{width:100%;max-width:355px;min-width:0;min-height:65px;font-size:22px;margin-bottom:10px}.result-actions #edit,.result-actions #browse{width:100%;max-width:355px}}

