/* Results artwork built from vector stars and CSS; no video or animation loop. */
#game-screen .neon-results{padding:28px 3.2vw 12px;gap:0;isolation:isolate;overflow-x:hidden;background:radial-gradient(ellipse at 15% 75%,#5e07563d,transparent 45%),radial-gradient(ellipse at 89% 55%,#47116b52,transparent 44%),url('../lobby-assets/results-stars.svg') center/cover,#0b0418}
.neon-results:before{z-index:-1;border:0;background:linear-gradient(90deg,transparent,#f25bca33,transparent) center 31%/100% 1px no-repeat;box-shadow:inset 0 0 100px #03010bc9}
.neon-results .evaluation-heading{padding:0 0 24px;border:0;flex:none;position:relative;z-index:1}
.neon-results .evaluation-heading>span{font:900 clamp(17px,2vw,30px) Arial,sans-serif;letter-spacing:.22em;color:#f08cd9;text-shadow:0 0 16px #e641b8}
.neon-results .evaluation-heading h2{font:900 clamp(48px,7.8vw,112px)/1.05 Arial,sans-serif;letter-spacing:-.035em;margin:10px 0 12px;color:#fff3ff;text-shadow:0 2px #a782b7,0 0 15px #db7de077,0 0 40px #bd46db66}
.neon-results .evaluation-heading p{font:800 clamp(14px,1.75vw,25px) Arial,sans-serif;color:#e491cf;margin:0}
.evaluation-layout{max-width:1800px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.03fr);gap:3vw;align-items:start;min-height:0;position:relative}
.evaluation-art,.evaluation-score{margin-top:-64px}
.evaluation-art{position:relative;padding-top:14px}
.evaluation-art img{box-sizing:border-box;display:block;width:100%;max-height:40vh;aspect-ratio:1.32;object-fit:cover;padding:16px 13px 48px;border:2px solid #f5a2e3;background:linear-gradient(155deg,#fcb9ee88,transparent 30%,#120b2455 65%,#fc83df66);clip-path:polygon(4% 0,96% 0,100% 5%,100% 95%,96% 100%,4% 100%,0 95%,0 5%);filter:drop-shadow(0 0 7px #f367d7);box-shadow:inset 0 0 0 5px #190d27,inset 0 0 0 7px #d674d9,0 0 18px #f164cb66}
.evaluation-art:after{content:'◉  ━━━━━  ···  ━━━━  ▰▰';position:absolute;top:calc((100vw - 12.4vw)/3/1.32 - 18px);left:7%;right:7%;font:9px monospace;letter-spacing:3px;color:#d794d5;opacity:.75;pointer-events:none}
.evaluation-art>span{font:900 italic clamp(18px,2.3vw,33px) Arial,sans-serif;margin:23px 0 8px;letter-spacing:1px;color:#efa2d6;text-shadow:0 0 12px #c82c8d77}
.evaluation-art>strong{font:900 clamp(90px,20vh,190px)/.96 Arial,sans-serif;color:#f942b9;-webkit-text-stroke:1px #ff99dc;text-shadow:0 3px #9d196e,0 6px #5f1055,0 0 25px #f22aae77;background:repeating-linear-gradient(0deg,#ff44bb 0 2px,#ec2f9e 2px 4px);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.evaluation-counts{padding-top:26px;background:repeating-linear-gradient(0deg,transparent 0 12px,#de3baa0b 12px 13px),repeating-linear-gradient(90deg,transparent 0 24px,#de3baa0b 24px 25px)}
.evaluation-row{--row:#df7fc5;min-height:clamp(46px,9.1vh,84px);border-bottom:1px solid color-mix(in srgb,var(--row) 70%,transparent);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--row) 9%,transparent),transparent);position:relative;padding:0 12px;box-shadow:0 3px 9px -7px var(--row)}
.evaluation-row.grade-p{--row:#31e5ef}.evaluation-row.grade-gr{--row:#67f04b}.evaluation-row.grade-go{--row:#ffca62}.evaluation-row.grade-b{--row:#ed74d3}.evaluation-row.grade-m{--row:#fa3e45}
.evaluation-label{width:clamp(130px,16vw,250px);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--row) 55%,transparent))}
.evaluation-row>strong{font:900 clamp(23px,2.8vw,42px)/1 Arial,sans-serif;color:color-mix(in srgb,var(--row) 20%,white);text-shadow:0 0 12px color-mix(in srgb,var(--row) 50%,transparent),2px 3px #08030e}
.evaluation-combo{margin-top:0}.evaluation-combo>span{font:900 italic clamp(16px,2.2vw,31px) Arial,sans-serif}
.evaluation-score-box{position:relative;padding:24px 15px 22px;border:1px solid #deb5e6aa;border-radius:9px;background:linear-gradient(150deg,#ffffff19 0 42%,#ffffff04 42% 100%);box-shadow:inset 0 0 20px #c77ce91f,0 0 20px #c952e626;text-align:center}
.evaluation-score-box:before,.evaluation-best:before{content:'';position:absolute;inset:9px;pointer-events:none;border-left:2px solid #d978c2;border-right:1px solid #d978c2;opacity:.6;clip-path:polygon(0 0,22% 0,22% 2%,1% 2%,1% 16%,0 16%,0 84%,1% 84%,1% 98%,22% 98%,22% 100%,0 100%,100% 100%,100% 0)}
.evaluation-score-box>span{font:900 italic clamp(20px,2.5vw,37px) Arial,sans-serif;letter-spacing:2px;text-shadow:0 3px 4px #000}
.evaluation-score-box>strong{font:900 clamp(28px,4.5vw,68px)/1.25 Arial,sans-serif;letter-spacing:1px;text-shadow:0 3px 3px #180e25}
.evaluation-score-box>small{font:700 clamp(10px,1.15vw,17px) Arial,sans-serif;color:#d68ac6}
.evaluation-rank{position:relative;isolation:isolate;display:grid;place-items:center;height:clamp(175px,36vh,345px);margin:8px 0;background:radial-gradient(ellipse,#b436e62b,transparent 65%);color:inherit;-webkit-text-stroke:0;text-shadow:none;letter-spacing:0;filter:none}
.evaluation-rank:before,.evaluation-rank:after{display:none}
.rank-artwork{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0;overflow:visible;filter:drop-shadow(0 0 5px #e477ee99) drop-shadow(0 0 16px #a02ac577)}
.evaluation-rank[data-length='2']{font-size:clamp(110px,13vw,210px)}.evaluation-rank[data-length='3']{font-size:clamp(80px,10vw,155px)}
.evaluation-best{position:relative;padding:13px 24px;border:1px solid #c9b7db99;border-left:3px solid #d87ec5;border-radius:2px;background:linear-gradient(130deg,#b672ce17,#0d1222bb);box-shadow:0 0 14px #c078df22}
.evaluation-best>span{font-size:clamp(8px,.85vw,12px);letter-spacing:.02em;color:#d7a2cf}.evaluation-best>strong{font:900 clamp(23px,2.5vw,38px) Arial,sans-serif;margin-top:7px}
.neon-results footer{position:relative;margin-top:12px}.neon-results .evaluation-return{padding:7px 22px;background:#27122cd9;font-size:11px;border-color:#bd62a27a;box-shadow:none}.evaluation-return small{display:inline;margin-left:10px;font-size:8px}
@media(min-width:1800px){.evaluation-art:after{display:none}}
@media(max-height:650px) and (min-width:851px){#game-screen .neon-results{padding-top:15px}.neon-results .evaluation-heading h2{font-size:52px}.neon-results .evaluation-heading>span{font-size:16px}.neon-results .evaluation-heading p{font-size:14px}.evaluation-art,.evaluation-score{margin-top:-42px}.evaluation-score-box{padding:12px}.evaluation-rank{height:28vh;font-size:145px}.evaluation-art>strong{font-size:95px}.evaluation-art>span{margin-top:12px}.evaluation-counts{padding-top:10px}.evaluation-row{min-height:7.8vh}}
@media(max-width:850px){#game-screen .neon-results{padding:22px 4vw 12px}.evaluation-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4vw;align-items:center}.evaluation-art{display:none}.evaluation-score{margin-top:0}.evaluation-counts{padding-top:0}.evaluation-row{padding:0 4px;min-height:8vh}.evaluation-label{width:clamp(100px,24vw,180px)}.evaluation-row>strong{font-size:24px}.evaluation-combo>span{font-size:15px}.evaluation-rank{font-size:140px;height:28vh}.evaluation-score-box{padding:18px 8px}.evaluation-score-box>strong{font-size:clamp(23px,5vw,40px)}.neon-results .evaluation-heading h2{font-size:56px}.evaluation-best{padding:12px}.evaluation-rank[data-length='2']{font-size:100px}.evaluation-rank[data-length='3']{font-size:75px}}
@media(prefers-reduced-motion:reduce){.neon-results:after{display:none}}

/* Staggered arcade reveal: only transforms and opacity continue after entry. */
@keyframes result-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes result-row{from{opacity:0;transform:translateX(-22px)}to{opacity:1;transform:translateX(0)}}
@keyframes result-rank{0%{opacity:0;transform:scale(.65) rotate(-9deg)}72%{opacity:1;transform:scale(1.06) rotate(1deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes result-orbit{to{transform:rotate(360deg)}}
@keyframes result-score{0%{opacity:0;transform:translateY(10px) scale(.96)}70%{opacity:1;transform:translateY(0) scale(1.04)}100%{opacity:1;transform:scale(1)}}
@keyframes result-stardust{0%,100%{opacity:.2;transform:translateY(0)}50%{opacity:.55;transform:translateY(-12px)}}
@keyframes result-shine{0%,65%{opacity:0;transform:translateX(-130%) skewX(-18deg)}72%{opacity:.5}95%,100%{opacity:0;transform:translateX(230%) skewX(-18deg)}}
#game-screen .neon-results .evaluation-heading{animation:result-enter .55s ease-out both}
.neon-results .evaluation-art{animation:result-enter .65s .12s ease-out both}
.neon-results .evaluation-row{animation:result-row .45s ease-out both}
.neon-results .evaluation-row:nth-child(1){animation-delay:.2s}
.neon-results .evaluation-row:nth-child(2){animation-delay:.29s}
.neon-results .evaluation-row:nth-child(3){animation-delay:.38s}
.neon-results .evaluation-row:nth-child(4){animation-delay:.47s}
.neon-results .evaluation-row:nth-child(5){animation-delay:.56s}
.neon-results .evaluation-row:nth-child(6){animation-delay:.65s}
.neon-results .evaluation-score-box{animation:result-enter .55s .45s ease-out both;overflow:hidden}
.neon-results .evaluation-score-box>strong{animation:result-score .65s .7s ease-out both}
.neon-results .evaluation-score-box:after{content:'';position:absolute;pointer-events:none;inset:-20% 0;width:40%;background:linear-gradient(90deg,transparent,#e7bbff66,transparent);animation:result-shine 6s 1.4s ease-in-out infinite}
.neon-results .rank-artwork{animation:result-rank .8s .85s cubic-bezier(.16,.8,.25,1) both}
.neon-results .rank-orbit{transform-box:fill-box;transform-origin:center;animation:result-orbit 24s 1.7s linear infinite}
.neon-results .evaluation-best{animation:result-enter .5s 1.1s ease-out both}
.neon-results footer{animation:result-enter .5s 1.25s ease-out both}
#game-screen .neon-results:after{content:'';display:block;position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 12% 24%,#a4f5ff 0 1px,transparent 2px),radial-gradient(circle at 85% 18%,#ffb4f1 0 1px,transparent 2px),radial-gradient(circle at 42% 80%,#efd8ff 0 1px,transparent 2px),radial-gradient(circle at 92% 69%,#9bdfff 0 1px,transparent 2px),radial-gradient(circle at 25% 63%,#ffb2e7 0 1px,transparent 2px);animation:result-stardust 7s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){
 #game-screen .neon-results,#game-screen .neon-results *,#game-screen .neon-results:before,#game-screen .neon-results:after{animation:none!important;transition:none!important}
 #game-screen .neon-results:after,.neon-results .evaluation-score-box:after{display:none}
}
