/* Release-candidate UI polish shared by all Special Delivery jobs. */
.game-canvas::after{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;box-shadow:inset 0 0 88px rgba(2,9,20,.22)}
.hud{background:linear-gradient(180deg,rgba(15,32,55,.97),rgba(9,21,38,.97));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.metric,.icon-button,.package-rule,.route-arrow,.toast,.primary-button,.secondary-button,.touch-controls button{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background-color .14s ease}
.objective-card strong{letter-spacing:-.01em}.objective-card span{font-weight:750}
.metric{overflow:hidden}.metric::after{content:"";position:absolute;inset:0 0 auto;height:1px;background:rgba(255,255,255,.15)}
.metric.timer strong,.metric.condition strong{font-weight:1000}
.choice-card span{position:relative}.choice-card input:focus-visible+span{outline:4px solid var(--yellow);outline-offset:3px}.choice-card input:checked+span::after{content:"SELECTED";position:absolute;right:9px;bottom:8px;padding:.18rem .38rem;border:2px solid #07111f;border-radius:6px;background:#fff;color:#07111f;font-size:.49rem;font-weight:1000;letter-spacing:.1em}
.package-rule{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.toast{animation:courier-toast-in .18s cubic-bezier(.2,.8,.2,1)}
@keyframes courier-toast-in{from{opacity:0;transform:translate(-50%,-7px) scale(.98)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
.grade-badge[data-grade="S"]{background:linear-gradient(135deg,#f2ffff,#8ce8f0 48%,#fff 52%,#76bdc6)}.grade-badge[data-grade="A"]{background:linear-gradient(135deg,#fff5ae,#ffd447 48%,#fff0a0 52%,#d99718)}.grade-badge[data-grade="B"]{background:linear-gradient(135deg,#f4f8fb,#aebdca 48%,#eef6fb 52%,#8294a4)}.grade-badge[data-grade="C"]{background:linear-gradient(135deg,#ffd2a1,#c77938 48%,#f4a363 52%,#8a4a24)}.grade-badge[data-grade="F"]{background:linear-gradient(135deg,#ffd0cb,#ff6b62 48%,#ff9a91 52%,#b83d37)}
.result-card{position:relative;overflow:hidden}.result-card::before{content:"";position:absolute;inset:0 0 auto;height:9px;background:linear-gradient(90deg,var(--coral) 0 25%,var(--yellow) 25% 50%,var(--cyan) 50% 75%,var(--purple) 75%)}
.best-shift{box-shadow:4px 4px 0 rgba(7,17,31,.22)}
.primary-button:active,.secondary-button:active,.icon-button:active,.touch-controls button:active{transform:translate(2px,2px);box-shadow:2px 2px 0 #07111f}
.touch-controls button:active{background:#fff}.touch-controls .touch-throttle:active{background:#ffe47a}
.settings label:has(input:focus-visible){outline:4px solid var(--yellow);outline-offset:2px}.settings label:has(input:checked){border-color:#07111f;background:#fff9dc}
@media(hover:hover){.metric:hover{border-color:rgba(255,255,255,.28)}.choice-card:hover span{border-color:#415d73;transform:translateY(-1px)}.choice-card input:checked+span:hover{transform:translate(-2px,-3px)}}
@media(max-width:760px){.game-canvas::after{box-shadow:inset 0 0 48px rgba(2,9,20,.18)}.package-rule{max-width:min(270px,calc(100vw - 24px));padding:8px 10px;border-left-width:6px}.package-rule strong{font-size:.72rem}.route-arrow{padding:6px 10px}.toast{font-size:.82rem}.choice-card input:checked+span::after{display:none}}
@media(max-width:520px){.objective-card span{display:none}.hud-brand{font-size:1.05rem}.result-grid{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.metric,.icon-button,.package-rule,.route-arrow,.toast,.primary-button,.secondary-button,.touch-controls button{transition:none}.toast{animation:none}}
@media(prefers-contrast:more){.game-canvas::after{display:none}.hud{backdrop-filter:none;-webkit-backdrop-filter:none}.choice-card input:checked+span::after{background:#fff;border-color:#000}.result-card::before{background:#000}}
