:root { --cyan: #9ce5dd; --line: rgba(206,225,235,.18); --ink: rgba(15,20,27,.8); }
body::after { display: none; }
#player-condition { position:absolute;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);padding:6px 10px;border-radius:4px;background:rgba(15,20,27,.85);color:#d5e9df;font:700 12px system-ui;white-space:nowrap; }
#player-condition[data-critical=true] { color:#ffb3b8; }
#player-condition[data-driving=true] { bottom:max(64px,calc(env(safe-area-inset-bottom) + 54px)); }
#player-restart { position:absolute;left:50%;bottom:max(58px,calc(env(safe-area-inset-bottom) + 48px));transform:translateX(-50%);min-width:88px;min-height:44px;border:1px solid #ffafb6;border-radius:5px;background:#40242b;color:#fff;font:700 12px system-ui;pointer-events:auto;cursor:pointer; }
#player-restart:focus-visible { outline:2px solid white;outline-offset:3px; }
#player-condition[hidden], #player-restart[hidden] { display:none; }
#hint { min-width: 0; max-width: calc(100vw - 36px); padding: 0; border: 0; background: none; box-shadow: none; pointer-events: auto; }
#hint summary { display: flex; align-items: center; gap: 16px; width: fit-content; padding: 9px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 5px; background: rgba(15,20,27,.7); cursor: pointer; list-style: none; }
#hint summary::-webkit-details-marker { display: none; }
#hint summary b { color: #eef3f7; font-size: 12px; letter-spacing: .03em; font-weight: 600; }
#hint summary span { color: #a5b8c4; }
#hint[open] summary span { transform: rotate(180deg); }
.control-guide { padding: 12px; margin-top: 5px; background: rgba(15,20,27,.92); border: 1px solid rgba(255,255,255,.14); border-radius: 5px; font-size: 11px; line-height: 1.9; color: #c5d0d8; }
.control-guide br:first-child { display: none; }
body[data-game=city] #mission { top: 82px; width: 266px; padding: 12px 14px; border: 0; border-left: 2px solid var(--cyan); border-radius: 0 5px 5px 0; box-shadow: none; }
body[data-game=city] #mission-kicker { font-size: 9px; letter-spacing: .12em; color: #8da5b2; }
body[data-game=city] #mission-title { font-size: 17px; letter-spacing: 0; margin-top: 4px; }
body[data-game=city] #mission-objective { font-size: 12px; margin-top: 5px; color: #bfccd4; }
body[data-game=city] #mission-progress { font-size: 10px; margin-top: 8px; }
#mode-links { top: 18px; right: 18px; max-width: min(760px,calc(100vw - 340px)); flex-wrap: wrap; justify-content: flex-end; gap: 4px; }
#mode-links a, #mode-links span { border-radius: 4px; box-shadow: none; padding: 7px 9px; font-size: 10px; background: rgba(15,20,27,.74); color: #b3c3cf; }
#mode-links [aria-current] { color: #102225; background: var(--cyan); }
#wallet { top: 80px; }
#fps { top: 63px; color: #8195a5; font-size: 10px; }
#prompt { border-radius: 5px; padding: 8px 16px; font-size: 14px; background: rgba(15,20,27,.86); box-shadow: none; }
#vehicle-status { border-radius: 5px; box-shadow: none; }
#mission-banner { font-size: 16px; }
summary:focus-visible, #mode-links a:focus-visible { outline: 2px solid white; outline-offset: 3px; }
@media(max-width:900px) {
  #mode-links { max-width: calc(100vw - 285px); }
}
@media(max-width:700px) {
  #mode-links { top: 15px; max-width: calc(100vw - 28px); right: 14px; gap: 3px; }
  #mode-links a, #mode-links span { padding: 6px 7px; font-size: 9px; }
  body[data-game=city] #mission { top: 88px; width: 230px; left: 14px; }
  #wallet { top: 90px; right: 14px; }
  #fps { top: 72px; right: 14px; }
}
body.touch-city #hint, body.touch-city #wallet, body.touch-city #fps { display: none; }
.faction-battle { left: auto; right: 18px; top: 150px; bottom: auto; }
.faction-battle summary, .faction-battle select, .faction-battle button { min-height: 44px; }
.faction-battle select, .faction-battle button { min-width: 44px; }
body.touch-city .faction-battle { left: auto; right: 10px; top: 64px; bottom: auto; width: min(204px,calc(100vw - 114px)); max-width: none; }
body.touch-city .faction-battle summary { padding: 8px; gap: 6px; font-size: 11px; }
body.touch-city .faction-battle-content { max-height: max(90px,calc(100dvh - 302px)); padding: 8px; }
body.touch-city #inventory-status { display: none !important; }
body.touch-city #arsenal-status { right: 12px !important; bottom: 182px !important; width: 150px !important; min-width: 0 !important; padding: 6px 8px !important; font-size: 9px !important; }
body.touch-city:has(.faction-battle[open]) #arsenal-status { visibility: hidden; }
body.touch-city .faction-battle label { gap: 4px; font-size: 11px; }
body.touch-city #mode-links { left: max(10px,env(safe-area-inset-left)); right: max(10px,env(safe-area-inset-right)); top: max(8px,env(safe-area-inset-top)); max-width: none; flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
body.touch-city #mode-links a, body.touch-city #mode-links span { min-height: 44px; display: flex; align-items: center; flex-shrink: 0; padding: 8px 10px; font-size: 11px; }
body.touch-city #minimap { left: max(10px,env(safe-area-inset-left)) !important; top: 64px !important; bottom: auto !important; width: 92px !important; height: 92px !important; }
body.touch-city #mission { top: 166px; left: 10px; width: min(225px,calc(100vw - 20px)); padding: 8px 10px; }
body.touch-city #mission-title { font-size: 14px; }
body.touch-city #mission-kicker, body.touch-city #mission-objective { display: none; }
body.touch-city #mission-progress { margin-top: 4px; font-size: 10px; }
body.touch-city #vehicle-status { right: 12px; bottom: 182px; width: 130px; }
body.touch-city #speed { left: 50%; right: auto; bottom: max(16px,env(safe-area-inset-bottom)); transform: translateX(-50%); font-size: 28px; }
body.touch-city #prompt { bottom: 178px; max-width: calc(100vw - 24px); font-size: 12px; text-align: center; }
@media(max-height:420px) {
  body.touch-city .faction-battle { top: 60px; width: min(250px,calc(100vw - 114px)); }
  body.touch-city .faction-battle-content { max-height: max(70px,calc(100dvh - 270px)); }
  body.touch-city #minimap { top: 60px !important; width: 70px !important; height: 70px !important; }
  body.touch-city #mission { left: 90px; top: 62px; width: min(220px,calc(100vw - 310px)); }
  body.touch-city #vehicle-status { display: none; }
  body.touch-city #arsenal-status { bottom: 162px !important; width: 132px !important; }
  body.touch-city #prompt { bottom: 122px; }
}
