
/* Darklane Neo UI polish: consistent binding tiles */
#controls-settings-page .controller-key-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 22px;margin:18px 0 24px}
#controls-settings-page .controller-key-grid>div{display:flex;align-items:center;justify-content:space-between;flex-direction:row-reverse;min-height:51px;padding:8px 0;background:transparent;border:0;border-bottom:1px solid #ffffff1c;border-radius:0;box-shadow:none;gap:12px}
#controls-settings-page .controller-key-grid kbd{display:grid;place-items:center;min-width:92px;min-height:38px;padding:8px 12px;background:#251b35;border:1px solid #8ff7d966;border-radius:0;color:var(--mint);font:800 italic 18px var(--display);white-space:nowrap}
#controls-settings-page .controller-key-grid span{color:var(--white);font:600 17px var(--body,'Space Grotesk',Arial,sans-serif);letter-spacing:0;overflow-wrap:normal}
#controls-settings-page .touch-mode-choice{border:0;border-bottom:1px solid #ffffff25;border-radius:0;background:transparent;padding:0 0 20px;margin:20px 0 25px}
#controls-settings-page .touch-mode-choice h3{font:800 italic 27px var(--display);color:var(--white)}
#controls-settings-page .touch-mode-choice label{font:600 16px var(--body,'Space Grotesk',Arial,sans-serif);color:var(--white);letter-spacing:0}
#controls-settings-page .touch-mode-choice select{font:800 italic 18px var(--display);background:#251b35;border:1px solid #8ff7d966;border-radius:0;color:var(--mint);padding:11px 14px;max-width:100%}
/* Sprint HUD stays attached to screen corners, not coarse-pointer / generic mode offsets */
body.racing[data-mode=sprint] #speed-menu{position:absolute;right:clamp(24px,4vw,68px)!important;bottom:clamp(28px,5vh,65px)!important;top:auto!important;width:clamp(215px,18vw,285px)!important;transform:none!important}
body.racing[data-mode=sprint] #speed-menu strong{font-size:clamp(74px,7vw,110px)}
body.racing[data-mode=sprint] #driving-hints{position:fixed;left:clamp(24px,4vw,68px)!important;bottom:clamp(28px,5vh,65px)!important;top:auto!important;right:auto!important;transform:none!important;max-width:min(58vw,720px);z-index:8}
/* Session-only, minimal notification panel */
#session-notification-panel{width:min(360px,calc(100vw - 24px));border-radius:5px;background:#24192dfa;border:1px solid #ab829b66;box-shadow:0 20px 65px #10081bd9;font-family:var(--body,'Space Grotesk',Arial,sans-serif)}
#session-notification-panel header{padding:13px 17px;border-bottom:1px solid #ffffff22}
#session-notification-panel header strong{font:900 italic 26px/1 var(--display);color:var(--white);letter-spacing:0}
#session-notification-panel .session-note{position:relative;display:block;padding:14px 48px 14px 17px;border-bottom:1px solid #ffffff15}
#session-notification-panel .session-note strong{font:800 italic 20px/1.1 var(--display);letter-spacing:0;color:var(--white)}
#session-notification-panel .session-note small{font:500 13px/1.45 var(--body,'Space Grotesk',Arial,sans-serif);color:#d1bbd0;margin-top:5px}
#session-notification-panel .session-note time{font:500 10px var(--body,'Space Grotesk',Arial,sans-serif);color:#b49ab1;margin-top:7px}
#session-notification-panel .session-note-remove{position:absolute;top:11px;right:12px;padding:1px 8px;font:700 24px/1 var(--display);color:#fff0e7aa;cursor:pointer}
#session-notification-panel .session-note-remove:hover{color:var(--pink)}
#session-notification-panel .session-note.empty{padding:24px 17px;color:#bca6bd;font:700 italic 18px var(--display)}
/* Centered, energetic run-complete score reveal */
body.racing[data-mode=sprint] #modal:not(.hidden){background:radial-gradient(ellipse at center,#26132bd9,#100a1feb 72%);padding:24px;align-items:center;justify-content:center}
body.racing[data-mode=sprint] #modal:not(.hidden) .modal-card{position:relative;max-height:calc(100dvh - 48px);overflow-y:auto;width:min(670px,95vw);max-width:95vw;text-align:center;padding:clamp(22px,3.5vw,45px);border:1px solid #ff568f77;background:linear-gradient(145deg,#2a1934fa,#171428fa);box-shadow:0 0 90px #ff568f16,0 28px 100px #0009;animation:sprintReveal .5s cubic-bezier(.2,1.5,.3,1) both}
body.racing[data-mode=sprint] #modal:not(.hidden) .modal-card h2{font-size:clamp(48px,6vw,86px);margin:9px 0 12px}
body.racing[data-mode=sprint] #modal:not(.hidden) .session-race-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:15px;margin:20px 0;background:#130f2366;border:1px solid #ffffff24}
body.racing[data-mode=sprint] #modal:not(.hidden) .session-result{padding:12px 14px;background:#ffffff09;border-left:3px solid var(--pink);animation:resultPop .45s cubic-bezier(.2,1.5,.3,1) both;animation-delay:calc(var(--result-index,0)*110ms)}
body.racing[data-mode=sprint] #modal:not(.hidden) .session-result strong{font:900 italic clamp(25px,3.5vw,43px)/1 var(--display);color:var(--white)}
@keyframes sprintReveal{from{opacity:0;transform:translateY(35px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes resultPop{from{opacity:0;transform:translateY(15px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){#controls-settings-page .controller-key-grid{grid-template-columns:1fr!important}body.racing[data-mode=sprint] #speed-menu{width:175px!important;right:16px!important;bottom:24px!important}body.racing[data-mode=sprint] #speed-menu strong{font-size:70px}body.racing[data-mode=sprint] #driving-hints{left:16px!important;bottom:24px!important;max-width:55vw}body.racing[data-mode=sprint] #modal:not(.hidden) .session-race-results{gap:6px;padding:7px}}
@media(prefers-reduced-motion:reduce){.session-result,.modal-card{animation:none!important}}
