.damage-vignette{position:fixed;inset:0;z-index:24;pointer-events:none;box-shadow:inset 0 0 7vw 2vw #b52d24;opacity:0;transition:opacity .16s linear}
.damage-meter{position:fixed;top:80px;left:50%;transform:translateX(-50%);z-index:26;background:#4b211eea;border:1px solid #ed8c75;color:#ffe8df;padding:9px 15px;border-radius:30px;font:600 13px system-ui;pointer-events:none}
.crash-panel{position:fixed;z-index:45;bottom:140px;left:50%;transform:translateX(-50%);width:min(510px,calc(100% - 28px));background:#17222bf2;color:#fff4ed;border:1px solid #e0957f;border-radius:18px;padding:20px;box-shadow:0 14px 40px #0005;font:14px/1.5 system-ui;max-height:calc(100dvh - 230px);overflow:auto}
.crash-panel[hidden],.damage-meter[hidden]{display:none}.crash-panel .crash-kicker{font-size:10px;letter-spacing:.16em;color:#efa38d;margin:0 0 4px}.crash-panel h2{font-size:24px;line-height:1.15;margin:0 0 8px}.crash-panel p{margin:6px 0 14px}.crash-panel>div{display:flex;flex-wrap:wrap;gap:8px}.crash-panel button{min-height:48px;padding:10px 13px;background:#edf1e3;border:0;border-radius:9px;color:#19272d;font:600 13px system-ui;cursor:pointer}.crash-panel button+button{background:#2c424b;color:#fff}.crash-panel small{display:block;font-size:10px;color:#adbdc2;margin-top:12px}.crash-panel button:disabled{opacity:.5}
@media(max-width:600px){.damage-meter{top:74px;font-size:11px;max-width:90%;white-space:nowrap}.crash-panel{bottom:174px;padding:15px;max-height:calc(100dvh - 280px)}.crash-panel h2{font-size:21px}.crash-panel button{flex:1;min-width:100px;font-size:12px}}
@media(max-height:500px){.crash-panel{bottom:90px;left:50%;max-height:calc(100dvh - 115px);padding:12px}.crash-panel .crash-message{font-size:12px}.crash-panel small{display:none}.damage-meter{top:10px}}

@media(min-width:701px){.crash-panel{left:auto;right:24px;bottom:210px;width:340px;transform:none}}
@media(max-width:700px) and (min-height:551px){
 .crash-panel{top:226px;bottom:auto;max-height:238px;padding:14px}
 .crash-panel .crash-message{font-size:12px;line-height:1.45;margin-bottom:10px}
 .crash-panel button{padding:8px 7px;min-width:96px}
 body:has(.crash-panel[open]) #road-rule,body:has(.crash-panel[open]) #town-limit{display:none}
}

.damage-meter{pointer-events:auto;cursor:pointer;min-height:44px;font:600 12px system-ui}.crash-panel{z-index:45}
.crash-panel:not([open]){display:none}.crash-panel{inset:16px;margin:auto;transform:none;width:min(620px,calc(100vw - 32px));height:fit-content;max-height:calc(100dvh - 32px);box-sizing:border-box;padding:28px}.crash-panel::backdrop{background:#15100ddd;backdrop-filter:blur(8px)}.crash-panel h2{font-size:30px}.crash-panel .crash-message{font-size:17px;line-height:1.6}.crash-panel>button{margin-top:18px}
