/* V30. A compact result with real rewards and a station-specific David accent. */
body.ui-v21 #gameApp .report-scene30{--report-accent:#efc875;position:absolute!important;inset:0!important;display:block!important;overflow:hidden!important;isolation:isolate;direction:rtl;color:#f6f1df;background:linear-gradient(90deg,#0d2736f5 0%,#103341f2 62%,#1d4b50e6 100%),url('./assets/factory-peeling.webp') center/cover;font-family:'Rubik Game',sans-serif}
body.ui-v21 #gameApp .report-scene30[data-station=sorting]{--report-accent:#9ee1c3;background-image:linear-gradient(90deg,#0d2736f5,#103b3af0 65%,#21584ae6),url('./assets/v2/sorting-room.webp')}
body.ui-v21 #gameApp .report-scene30[data-station=packing]{--report-accent:#f2bd8f;background-image:linear-gradient(90deg,#0d2736f5,#343e40f0 65%,#5a5045e6),url('./assets/v2/packing-room.webp')}
body.ui-v21 #gameApp .report-main30{position:absolute;left:6%;right:37%;top:11%;bottom:11%;display:flex;flex-direction:column;justify-content:center;gap:1.7cqh;z-index:2;text-align:right;animation:report-arrive30 .35s ease-out both}
body.ui-v21 #gameApp .report-title30{position:static!important;transform:none!important;text-align:right!important;margin:0!important;padding:0!important}
body.ui-v21 #gameApp .report-title30>div{display:flex;align-items:center;gap:1cqw;min-height:2.5cqh}
body.ui-v21 #gameApp .report-title30>div>span{font:500 1.05cqw/1.25 'Rubik Game';color:#b8cecd}
body.ui-v21 #gameApp .report-title30 h2{margin:.8cqh 0!important;font:600 3.7cqw/1.1 'Fredoka Game',sans-serif!important;letter-spacing:0!important;color:#fff2c5!important;text-shadow:0 2px #071e29!important}
body.ui-v21 #gameApp .report-title30 p{font:400 1.1cqw/1.4 'Rubik Game'!important;color:#d9e4dc!important;margin:0!important;max-width:none!important}
body.ui-v21 #gameApp .report-promotion30{font:600 1.1cqw/1.1 'Rubik Game';color:#173d3a;background:var(--report-accent);padding:.6cqh .7cqw;border-radius:.5cqw}
body.ui-v21 #gameApp .report-rating30{display:flex;align-items:center;gap:1cqw;padding:.7cqh 0;color:#c4d9d2;font:500 1.05cqw 'Rubik Game'}
body.ui-v21 #gameApp .report-rating30>div{display:flex;gap:.45cqw;direction:ltr}
body.ui-v21 #gameApp .report-medal30{display:grid;place-items:center;width:2.3cqw;height:2.3cqw;max-width:38px;max-height:38px;background:#173a45;border:1px solid #62817f;border-radius:50%;color:#6e8c8a}
body.ui-v21 #gameApp .report-medal30 i{font:normal 1.7cqw 'Rubik Game';line-height:1}
body.ui-v21 #gameApp .report-medal30.earned{color:var(--report-accent);border-color:var(--report-accent);background:#36534c}
body.ui-v21 #gameApp .report-rating30>b{color:#f0e1b8;font:600 1.4cqw 'Rubik Game';direction:ltr}.report-rating30>b>small{font-size:.7em;color:#b4ceca}
body.ui-v21 #gameApp .report-gains30{display:grid;grid-template-columns:1fr 1fr;gap:1cqw;padding:1.7cqh 0;border-block:1px solid #6b95924a}
body.ui-v21 #gameApp .report-gains30>div{display:flex;flex-direction:column;gap:.7cqh;min-width:0}
body.ui-v21 #gameApp .report-gains30>div>span,.report-rank30 span{font:500 1.05cqw 'Rubik Game';color:#bfd4cf}
body.ui-v21 #gameApp .report-gains30 strong{font:600 3cqw/1 'Fredoka Game'!important;color:var(--report-accent)!important;white-space:nowrap!important;text-shadow:none!important}
body.ui-v21 #gameApp .report-gains30 strong>small{font:500 1cqw 'Rubik Game';color:#bdd3cf}.report-gains30>div>small{font:400 .95cqw 'Rubik Game';color:#bccfc8}
body.ui-v21 #gameApp .report-rank30{display:flex;flex-direction:column;gap:.8cqh}
body.ui-v21 #gameApp .report-rank30>div{display:flex;justify-content:space-between;align-items:baseline;gap:1cqw}
body.ui-v21 #gameApp .report-rank30 strong{font:600 1.55cqw 'Fredoka Game';color:#f8e3b0}
body.ui-v21 #gameApp .report-rank30>i{display:block;height:.8cqh;min-height:3px;overflow:hidden;background:#071d28;border-radius:20px;direction:rtl}
body.ui-v21 #gameApp .report-rank30>i>b{display:block;height:100%;background:var(--report-accent);border-radius:inherit}
body.ui-v21 #gameApp .report-rank30>small{font:400 1cqw 'Rubik Game';color:#c9d9d1}
body.ui-v21 #gameApp .report-scene30 .report-continue30{position:static!important;inset:auto!important;display:flex!important;align-items:center;justify-content:space-between;width:100%!important;min-height:clamp(36px,7.5cqh,64px)!important;height:auto!important;padding:1.2cqh 1.5cqw!important;margin:1cqh 0 0!important;border:2px solid #152e36!important;border-bottom:5px solid #10252d!important;border-radius:1.1cqw!important;box-shadow:0 .4cqh #061a2380!important;background:var(--report-accent)!important;color:#16353a!important;font:600 1.65cqw/1.2 'Fredoka Game'!important;transform:none!important;cursor:pointer!important;transition:filter .15s,translate .15s}
body.ui-v21 #gameApp .report-continue30>b{font:500 2.7cqw/1 'Rubik Game'}
body.ui-v21 #gameApp .report-continue30:hover{filter:brightness(1.08);translate:0 -2px}body.ui-v21 #gameApp .report-continue30:active{translate:0 2px}body.ui-v21 #gameApp .report-continue30:focus-visible{outline:3px solid #fff7d7!important;outline-offset:4px}
body.ui-v21 #gameApp .report-portrait30{position:absolute!important;right:1%;bottom:0;top:10%;width:37%;pointer-events:none;overflow:visible;z-index:1}
body.ui-v21 #gameApp .report-portrait30>span{position:absolute;inset:20% 8% 8%;border-radius:50%;background:radial-gradient(ellipse,#81b99942,transparent 68%)}
body.ui-v21 #gameApp .report-portrait30>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(-.7cqw .5cqh .5cqw #051c2866);animation:report-arrive30 .45s ease-out both}
body.ui-v21 #gameApp .report-retry30 .report-portrait30{filter:saturate(.7)}
body.ui-v21 #gameApp .report-details30{position:absolute;bottom:3%;left:6%;right:auto;z-index:5;font:400 1cqw 'Rubik Game';color:#c9dbd5}
body.ui-v21 #gameApp .report-details30>summary{cursor:pointer;padding:.5cqh 0;list-style:none;text-decoration:underline;text-underline-offset:3px;min-height:24px;display:flex;align-items:center;gap:.5cqw}.report-details30>summary::after{content:'+';text-decoration:none}.report-details30[open]>summary::after{content:'−'}
body.ui-v21 #gameApp .report-details30>div{position:absolute;left:0;bottom:calc(100% + 1cqh);width:55cqw;max-height:59cqh;overflow:auto;box-sizing:border-box;padding:2cqh 2cqw;border:2px solid #648c85;border-radius:1cqw;background:#f5efda;color:#193a3e;box-shadow:0 1cqh 2cqw #061b28aa}
body.ui-v21 #gameApp .report-details30 h3{font:600 1.5cqw 'Fredoka Game'!important;color:#234b48!important;margin:0 0 1cqh!important}.report-details30 p{font:400 1.1cqw/1.5 'Rubik Game'!important;margin:.8cqh 0!important}.report-unlocks30 strong,.report-unlocks30 span{display:block}.report-unlocks30{border-top:1px solid #b4c4b5;padding-top:1cqh}
@keyframes report-arrive30{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@container(max-width:700px){body.ui-v21 #gameApp .report-main30{left:4%;right:30%;top:8%;bottom:11%;gap:1.2cqh}body.ui-v21 #gameApp .report-title30 h2{font-size:4.3cqw!important}body.ui-v21 #gameApp .report-title30 p{font-size:1.45cqw!important}body.ui-v21 #gameApp .report-title30>div>span,.report-rating30,.report-gains30>div>span,.report-rank30 span{font-size:1.35cqw!important}body.ui-v21 #gameApp .report-gains30 strong{font-size:3.6cqw!important}.report-gains30>div>small,body.ui-v21 #gameApp .report-rank30>small{font-size:1.25cqw!important}body.ui-v21 #gameApp .report-rank30 strong{font-size:1.85cqw}body.ui-v21 #gameApp .report-portrait30{width:32%;right:-1%;top:20%}body.ui-v21 #gameApp .report-scene30 .report-continue30{font-size:2.1cqw!important;min-height:clamp(36px,8cqh,64px)!important}body.ui-v21 #gameApp .report-details30{left:4%;font-size:1.4cqw}.report-details30 p{font-size:1.6cqw!important}body.ui-v21 #gameApp .report-details30>div{width:85cqw}body.ui-v21 #gameApp .report-details30 h3{font-size:2cqw!important}}
@media(prefers-reduced-motion:reduce){body.ui-v21 #gameApp .report-scene30 *,body.ui-v21 #gameApp .report-scene30 *::after{animation:none!important;transition:none!important}}body.reduced-motion #gameApp .report-scene30 *{animation:none!important;transition:none!important}
