/* Disconnected cyan geometry, soft rotating rays and a segmented kill meter. */
.stage-clear{--result-neon:#52e8f5;--result-accent:#8bfaff;z-index:13;overflow:hidden;pointer-events:auto;touch-action:manipulation;cursor:pointer;background:radial-gradient(ellipse at 50% 37%,#082f3840,#030a12c4 74%);backdrop-filter:blur(3px)}
.result-content{width:min(96%,420px);position:relative;text-align:center;filter:drop-shadow(0 12px 24px #0006);pointer-events:none}
.result-emblem{height:200px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate;margin-bottom:8px}
.result-rays{position:absolute;inset:-40px -15px;z-index:-2;pointer-events:none;mask-image:radial-gradient(ellipse,#000 12%,#000b 40%,transparent 70%)}
.result-rays i,.result-rays b{position:absolute;left:50%;top:50%;width:330px;height:330px;background:repeating-conic-gradient(from 0deg,#7fefff00 0deg 16deg,#70eaff60 21deg,#86faff00 29deg 45deg);opacity:.42;animation:result-rays-turn 32s linear infinite;filter:blur(3px)}
.result-rays b{width:280px;height:280px;opacity:.2;animation-duration:47s;animation-direction:reverse;background:repeating-conic-gradient(#4cdded00 0deg 22deg,#b6ffff88 25deg,#4cdded00 30deg 60deg)}
.result-shapes{position:absolute;width:100%;height:100%;inset:0;color:var(--result-neon);stroke:currentColor;stroke-width:1;overflow:visible;z-index:-1;filter:drop-shadow(0 0 4px #34e5fa45)}
.result-shard{fill:url(#result-metal);stroke:#75e9f29c;transform-box:fill-box;transform-origin:center;animation:result-fragment-float 4.6s calc(.6s + var(--delay)) ease-in-out infinite alternate}
.shard-1{fill:#5ceafa22;stroke:#affaff9c;animation-duration:5.3s}.shard-2{fill:#23bddf12;stroke:#4edbef77;animation-direction:alternate-reverse}
.result-fragment{animation:result-fragment-in .48s var(--delay) cubic-bezier(.16,.8,.3,1) both}
.result-bright{stroke:#b7ffff;stroke-width:2;filter:drop-shadow(0 0 4px #5bf3ff80)}
.result-core-outline{stroke:#74f0ff99;stroke-width:1.2;stroke-dasharray:44 5;fill:#20d2e509}.result-core-cut{fill:#48dae51c;stroke:#91f9ff70;stroke-width:1}
.result-wing-left{animation:result-left-in .42s cubic-bezier(.16,.8,.3,1) both}.result-wing-right{animation:result-right-in .42s cubic-bezier(.16,.8,.3,1) both}.result-core{transform-origin:300px 105px;animation:result-core-in .36s .05s ease-out both}.result-shine{stroke:none;animation:result-shine .6s .27s ease-out both}
.result-floor{position:absolute;top:10px;font:700 10px/1.5 sans-serif;color:#a8d9dd;letter-spacing:.2em;margin:0}
.stage-clear .result-title{padding:0 0 0 .1em;letter-spacing:.1em;font:900 clamp(40px,12vw,53px)/1.12 'Microsoft YaHei','PingFang SC',sans-serif;transform:none;color:#ecffff;-webkit-text-stroke:.5px #baffff;text-shadow:0 0 4px #c5ffffb0,0 0 12px #3eeaff90,0 0 28px #26c9ef60;animation:result-title-in .28s .13s ease-out both}
.result-subtitle{position:absolute;bottom:18px;font:700 10px/1.5 sans-serif;letter-spacing:.3em;color:#bcf7ff;text-shadow:0 0 8px #42eaff66}
.result-stats{margin:0 34px;text-align:left}
.result-kill-row{position:relative;padding:0 4px 16px;will-change:transform,opacity}
.result-kill-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.result-kill-head>span{font:700 12px/1.3 sans-serif;letter-spacing:.1em;color:#ceeff3}
.result-meter .result-meter-value{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;gap:2px;transform:skew(15deg);color:#f0ffff;text-shadow:0 1px 2px #001622,0 -1px 2px #001622,1px 0 2px #001622,-1px 0 2px #001622;z-index:1}.result-meter .result-meter-value b{font:800 18px/1 monospace}.result-meter .result-meter-value span{font:700 12px/1 monospace}
.result-meter{position:relative;width:100%;height:28px;padding:3px;border:1px solid #6be9f6a0;background:#061a28;box-shadow:0 0 7px #28ddf62c,inset 0 0 7px #23e4ff22;transform:skew(-15deg)}
.result-meter::before{content:'';position:absolute;pointer-events:none}.result-meter::before{inset:-4px -5px;border-left:2px solid #a7f9ff;border-right:2px solid #a7f9ff;filter:drop-shadow(0 0 3px #5ceeff80)}

.result-meter i{height:100%;display:block;background:linear-gradient(0deg,#1b8da9,#52e9f5 65%,#c2ffff);box-shadow:0 0 8px #40efff99;width:0;position:relative}
.result-kill-row>small{display:block;margin-top:10px;color:#80aeb9;font:10px/1.4 monospace;letter-spacing:.04em}
.result-stat{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:74px;padding:12px 4px 16px;box-sizing:border-box;border-top:1px solid #6be9f626;border-bottom:1px solid #6be9f626;gap:8px;will-change:transform,opacity}
.result-stat-label{display:flex;flex-direction:column;gap:5px}.result-stat-label>span{font:700 14px/1.3 sans-serif;color:#d8eff3;letter-spacing:.07em}.result-stat-label small{font:10px/1.4 sans-serif;color:#80a0ac;letter-spacing:.03em}
.result-number{display:flex;align-items:baseline;gap:4px;color:var(--result-neon);font-variant-numeric:tabular-nums;text-shadow:0 0 12px #49e8ff55}.result-number b{font:800 32px/1 monospace}.result-number span{font:700 16px/1 monospace}.result-money .result-number{color:#b0f5ff}.result-money{min-height:70px}
.result-next{display:block;margin:30px 0 0;padding:0;border:0;background:none;box-shadow:none;font:11px/1.5 sans-serif;letter-spacing:.18em;color:#a9c5cb;transition:opacity .15s}
.result-fireworks{position:absolute;inset:-35px 0 auto;width:100%;height:240px;pointer-events:none;filter:drop-shadow(0 0 3px #5cefff);overflow:visible}
.stage-clear.result-perfect{--result-neon:#7ff6ff!important;--result-accent:#c5ffff!important}.result-perfect .result-shapes{filter:drop-shadow(0 0 5px #51eaff60)}
.paused .result-content,.paused .result-content *{animation-play-state:paused!important}.paused .stage-clear{visibility:hidden}.stage-clear:focus-visible{outline:1px solid #84e9f5;outline-offset:-5px}
@keyframes result-rays-turn{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes result-fragment-in{from{opacity:0;transform:translate(var(--fx),var(--fy))}to{opacity:1;transform:translate(0,0)}}
@keyframes result-fragment-float{from{transform:translateY(-.5px)}to{transform:translateY(.5px)}}
@keyframes result-left-in{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}
@keyframes result-right-in{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
@keyframes result-core-in{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
@keyframes result-title-in{from{opacity:0;transform:scale(1.12);filter:blur(3px)}to{opacity:1;transform:scale(1);filter:blur(0)}}
@keyframes result-shine{from{opacity:0;transform:translateX(0)}15%{opacity:.5}85%{opacity:.5}to{opacity:0;transform:translateX(700px)}}
@media(max-height:620px){.result-emblem{height:170px;margin-bottom:0}.result-stat{min-height:64px}.result-next{margin-top:24px}.result-floor{top:0}.result-subtitle{bottom:10px}}
@media(prefers-reduced-motion:reduce){.stage-clear .result-title,.result-shapes *,.result-rays *{animation:none}.result-rays i,.result-rays b{animation:none;transform:translate(-50%,-50%)}.result-shine,.result-fireworks{display:none}.result-kill-row,.result-stat{transform:none!important}.result-next{transition:none}}

/* Large translucent lozenges dominate; tiny white/black chips are accents only. */
.result-shard.shard-0,.result-shard.shard-1,.result-shard.shard-2{fill:url(#result-metal);stroke:#8aefff9c;stroke-width:1}
.result-shard.shard-1{fill-opacity:.8;stroke:#5bdff17a}.result-shard.shard-2{fill-opacity:.6;stroke:#4dcfe67a}
.result-shard.result-glass-white{fill:#deffffa8;stroke:none}.result-shard.result-glass-black{fill:#02070bd9;stroke:none}
.result-solid-particles{position:absolute;inset:-35px 0 auto;width:100%;height:240px;z-index:2;pointer-events:none;overflow:visible}
.result-cyan-chip{filter:drop-shadow(0 0 2px #19eaff99)}.result-white-chip{filter:drop-shadow(0 0 2px #baffff88)}.result-black-chip{filter:none}
@media(prefers-reduced-motion:reduce){.result-solid-particles{display:none}}

.result-loot{margin:14px 12px 0;padding:10px;background:#07151ee8;border:1px solid #e7bb6a88;text-align:left;color:#fff0c3}
.result-loot[hidden]{display:none}
.result-loot-heading{font-size:13px;font-weight:800;display:flex;align-items:baseline;justify-content:space-between;gap:6px}
.result-loot-heading span{font-size:10px;font-weight:400;color:#acbeca}
.result-loot-list{display:grid;grid-template-columns:repeat(3,min(61.6px,calc((100% - 16px) * .7 / 3)));align-items:start;gap:8px;margin-top:8px}
.result-loot-item{
 box-sizing:border-box;aspect-ratio:1;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;
 gap:2px;padding:2px;text-align:center;pointer-events:auto;
 border:2px solid color-mix(in srgb,var(--rarity) 72%,#20364a);
 background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--rarity) 24%,#152537),#0b1623 78%);
 box-shadow:inset 0 0 0 2px #07131eaa;
}
.result-loot-icon{display:grid;place-items:center;min-height:0}
.result-loot-chip,.result-material{grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;padding:0}
.result-loot-chip .chip-icon{width:56px;height:56px;max-width:100%;max-height:100%}
.result-loot-item b{font-size:11px;line-height:1.2;color:var(--rarity);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.result-loot-item small{font-size:10px;line-height:1.2;color:#becdd6}
.result-material .material-icon{grid-area:1/1;display:block;width:min(48px,100%);height:auto;image-rendering:pixelated}
.result-material .material-count{position:absolute;right:1px;bottom:1px;padding:1px 3px;border-radius:3px;background:#121a29;color:#fff;font:750 10px/1.15 system-ui}
.run-material-result .material-icon{animation:result-material-in .28s var(--loot-delay) ease-out both}
.material-gain-popup{display:flex;gap:4px}
.material-gain-popup .result-material{width:36px}
.material-gain-popup .material-icon{width:32px}
.material-gain-popup .material-count{font-size:9px}
.stage-clear .result-content{display:flex;flex-direction:column;max-height:96%}
.stage-clear .result-content > :not(.result-loot){flex-shrink:0}
#result-loot{display:flex;flex-direction:column;min-height:0;pointer-events:auto;cursor:default}
#result-loot[hidden]{display:none}
#result-loot .result-loot-heading{flex-shrink:0;margin-bottom:6px}
.result-loot-scroll{
 min-height:0;height:min(37dvh,214px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
 touch-action:pan-y;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#c49c59 #14252f;
}
@supports selector(::-webkit-scrollbar){
 .result-loot-scroll{scrollbar-width:auto;scrollbar-color:auto}
 .result-loot-scroll::-webkit-scrollbar{width:9px}
 .result-loot-scroll::-webkit-scrollbar-track{background:#14252f;border:1px solid #695537}
 .result-loot-scroll::-webkit-scrollbar-thumb{background:#d3a85f;border:1px solid #14252f}
}
.result-loot-scroll:focus-visible{outline:1px solid #e7bb6a;outline-offset:-1px}
.result-loot-scroll .result-loot-list{
 position:relative;margin:0;min-height:68px;padding:4px 8px 4px 4px;
 grid-template-columns:repeat(auto-fill,minmax(min(100%,52px),1fr));
}
.result-loot-empty{aspect-ratio:1;box-sizing:border-box;border:2px solid #20364a;background:#0b1623}
.result-loot-pop{animation:result-loot-pop .36s cubic-bezier(.2,.8,.32,1) both;z-index:1}
.result-loot-sparks{position:absolute;inset:0;z-index:4;pointer-events:none}
.result-loot-sparks i{
 position:absolute;left:calc(50% - 2px);top:calc(50% - 2px);width:4px;height:4px;
 background:#fff6c4;box-shadow:0 0 5px #ffe381;animation:result-loot-spark .38s var(--spark-delay) ease-out both;
}
@keyframes result-loot-pop{
 from{transform:translateY(8px) scale(.76);filter:brightness(1.7)}
 55%{transform:translateY(-2px) scale(1.04)}
 to{transform:none;filter:none}
}
@keyframes result-loot-spark{
 from{opacity:1;transform:scale(.5) rotate(45deg)}
 to{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) scale(.2) rotate(135deg)}
}
.overlay .run-material-result{flex-shrink:0;width:min(90%,350px);margin:4px 0}
.run-floor-stats{flex-shrink:0;width:min(94%,360px);text-align:left;font-size:12px}
.run-floor-stats summary{cursor:pointer;font-weight:700;padding:4px 0}
.run-floor-stats-scroll{max-height:min(25vh,180px);overflow:auto;overscroll-behavior:contain}
.run-floor-stats table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;white-space:nowrap}
.run-floor-stats th,.run-floor-stats td{padding:4px 3px;text-align:right;border-bottom:1px solid #ffffff24}
.run-floor-stats th:first-child{text-align:left}
.run-floor-stats a{display:inline-block;color:inherit;margin-top:6px}
.run-boss-timing{display:block;width:100%;height:68px}
.run-boss-timing text{fill:#e1edf2;text-anchor:middle;font-size:10px}
@keyframes result-material-in{from{opacity:0;transform:translateY(-14px) scale(.94)}}
@media(prefers-reduced-motion:reduce){
 .run-material-result .material-icon,.result-loot-pop{animation:none}
 .result-loot-sparks{display:none}
}
@media(max-height:650px){.result-loot{margin-top:6px;padding:8px}}
@media(max-height:450px){.result-emblem{height:106px}.result-subtitle{bottom:4px}.result-next{margin-top:12px}}

:is(#viewport,.difficulty-transition-cover) .result-loot-icon .shop-equipment-icon{width:48px;height:48px;max-width:100%;max-height:100%;margin:0}
:is(#viewport,.difficulty-transition-cover) .result-loot-icon .shop-equipment-icon svg{width:100%;height:100%}
:is(#viewport,.difficulty-transition-cover) .result-loot-icon .shop-equipment-icon::before{display:none}

/* Five-floor campaign route. The same strip is used on entry and on the result card. */
.stage-route{display:flex;align-items:center;justify-content:space-between;width:min(100%,228px);height:36px;margin:auto;padding:0 10px;box-sizing:border-box;border:1px solid #396077;background:#090e22f2;box-shadow:0 3px 14px #020410a0}
.stage-route-node{position:relative;display:grid;place-items:center;width:24px;height:24px;color:#7184a0}
.stage-route-node:not(:first-child)::before{content:'';position:absolute;right:100%;top:50%;width:calc((min(228px, 100vw - 32px) - 142px)/4);height:2px;background:#384561}
.stage-route-node i{width:10px;height:10px;border:2px solid currentColor;box-sizing:border-box;transform:rotate(45deg)}
.stage-route-node svg{display:block;width:21px;height:22px}
.stage-route-pending svg{opacity:.55}
.stage-route-active{color:#f8d391}
.stage-route-done{color:#65eaf1}
.stage-route-done::before,.stage-route-active::before,.stage-route-done i,.stage-route-active i{background:currentColor!important}
.stage-route-current{outline:1px solid currentColor;outline-offset:1px;box-shadow:0 0 9px currentColor}
#result-route:not([hidden]){margin:0 16px 8px}
#stage-route-intro{position:absolute;left:16px;right:16px;top:24%;z-index:5;pointer-events:none}
#stage-route-intro .stage-route{animation:stage-route-entry 2s both}
.paused #stage-route-intro{visibility:hidden}
.paused #stage-route-intro .stage-route{animation-play-state:paused}
@keyframes stage-route-entry{0%,100%{opacity:0}8%,82%{opacity:1}}
@media(prefers-reduced-motion:reduce){@keyframes stage-route-entry{0%,99%{opacity:1}100%{opacity:0}}}
