/* Keep reception authentication and onboarding attached to the physical iMac. */
body:not(.bunker-space) #onboardingExperience.on-imac.preview-checkin[open],
body:not(.bunker-space) #onboardingExperience.on-imac.preview-checkin.checkin-editing[open],
body:not(.bunker-space) #onboardingExperience.on-imac.preview-checkin.preview-parity[open]{
  box-sizing:border-box!important;
  position:fixed!important;
  inset:auto!important;
  left:0!important;
  top:0!important;
  width:480px!important;
  height:270px!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  transform:var(--monitor-transform)!important;
  transform-origin:0 0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:#f7f8f2!important;
  box-shadow:none!important;
  z-index:36!important;
}
body:not(.bunker-space) #onboardingExperience.on-imac::backdrop{background:transparent!important;backdrop-filter:none!important}
body:not(.bunker-space) #onboardingExperience.on-imac .onboarding-console{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr)!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  background:#f7f8f2!important;
}
body:not(.bunker-space) #onboardingExperience.on-imac .onboarding-console>header,
body:not(.bunker-space) #onboardingExperience.on-imac #onboardingStatus,
body:not(.bunker-space) #onboardingExperience.on-imac #onboardingLanguages{display:none!important}
body:not(.bunker-space) #onboardingExperience.on-imac .onboarding-frame-shell{
  box-sizing:border-box!important;
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  background:#f7f8f2!important;
}
body:not(.bunker-space) #onboardingExperience.on-imac.preview-parity #onboardingFrame{
  display:block!important;
  visibility:visible!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  opacity:1!important;
}
body:not(.bunker-space) #onboardingExperience.on-imac #onboardingFrame[hidden],
body:not(.bunker-space) #onboardingExperience.on-imac:not(.preview-parity) #onboardingFrame{display:none!important}
body:not(.bunker-space) #onboardingExperience.on-imac:not(.preview-parity) #previewReceptionCheckin{
  box-sizing:border-box!important;display:block!important;position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;min-height:0!important;padding:12px 14px!important;
  overflow:auto!important;background:linear-gradient(145deg,#17231d,#0e1713)!important;color:#f5f3e9!important
}
body:not(.bunker-space) #onboardingExperience.on-imac #onboardingClose{
  position:absolute!important;
  top:5px!important;
  right:6px!important;
  z-index:4!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  padding:0!important;
  border:1px solid #9bad9f!important;
  border-radius:7px!important;
  background:#eff3ec!important;
  color:#294438!important;
  font:700 16px/1 system-ui!important;
  box-shadow:0 2px 7px #18332924!important;
}
body:not(.bunker-space):has(#onboardingExperience.on-imac[open]) #joystick,
body:not(.bunker-space):has(#onboardingExperience.on-imac[open]) #actions,
body:not(.bunker-space):has(#onboardingExperience.on-imac[open]) #zonePrompt{pointer-events:none!important;opacity:.18!important}

/* Walk to the checkpoint, let the camera settle, then power the iMac surface on. */
body.reception-imac-focusing #joystick,
body.reception-imac-focusing #actions,
body.reception-imac-focusing #zonePrompt{pointer-events:none!important;opacity:.14!important;transition:opacity .28s ease}
#experienceReceptionChoice.on-imac[open]{animation:reception-imac-power-on .42s cubic-bezier(.2,.8,.2,1) both}
@keyframes reception-imac-power-on{
  0%{opacity:0;filter:brightness(2.4) blur(2px);clip-path:inset(49% 0 49% 0)}
  34%{opacity:1;filter:brightness(1.55) blur(.5px);clip-path:inset(43% 0 43% 0)}
  100%{opacity:1;filter:brightness(1) blur(0);clip-path:inset(0)}
}
@media(prefers-reduced-motion:reduce){#experienceReceptionChoice.on-imac[open]{animation:none!important}}

/* The reception stays diegetic: city navigation appears only after entering the city. */
body:not(.life-city-active) #lifeCityPassport{display:none!important}

/* Reception HUD: one quiet settings menu while signed out. Account settings live in the passport. */
.topbar{display:none!important}
body.soares-refined #actions{
  position:fixed!important;top:max(14px,env(safe-area-inset-top))!important;
  right:max(14px,env(safe-area-inset-right))!important;left:auto!important;bottom:auto!important;
  width:auto!important;display:flex!important;flex-direction:row!important;gap:8px!important;
  padding:0!important;background:transparent!important;z-index:34!important
}
body.soares-refined #actions>*{display:none!important}
body.soares-refined:not(.experience-account) #actions #soaresControlsToggle{
  display:grid!important;place-items:center;width:48px;height:48px;padding:0!important;
  border:1px solid #d6bd7e88;border-radius:50%;background:#17392cee;color:#fff1d1;
  font:700 25px/1 system-ui;box-shadow:0 8px 24px #06171066
}
body.soares-refined:not(.experience-account).soares-controls-open #actions :is(#roomLanguage,#roomCookies){display:grid!important;place-items:center}
body.soares-refined.experience-account #actions{display:none!important}

/* The rotate/fullscreen control is independent from settings and keeps its glyph centred. */
body.soares-refined #roomFullscreen:not([hidden]){
  display:grid!important;place-items:center!important;position:fixed!important;
  top:max(14px,env(safe-area-inset-top))!important;left:max(14px,env(safe-area-inset-left))!important;
  right:auto!important;bottom:auto!important;width:50px!important;height:50px!important;min-height:50px!important;
  padding:0!important;border-radius:50%!important
}
body.soares-refined #roomFullscreen>span:last-child{display:none!important}
body.soares-refined #roomFullscreen .fullscreen-motion{display:grid!important;place-items:center!important;width:100%;height:100%}
body.soares-refined #roomFullscreen .fullscreen-motion i{display:none!important}
body.soares-refined #roomFullscreen .fullscreen-motion b{display:block!important;line-height:1!important;margin:0!important}

/* Six clear reception actions fit on the physical monitor without scrolling. */
#experienceReceptionChoice.on-imac .reception-choice-actions,
#experienceReceptionChoice.on-imac .reception-meeting-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px!important}
#experienceReceptionChoice.on-imac .reception-meeting-actions{margin-top:8px;padding-top:7px;border-top:1px solid #54706455}
#experienceReceptionChoice.on-imac .reception-meeting-actions>span{grid-column:1/-1;color:#d8c08b;font:700 8px/1 system-ui;letter-spacing:.16em}
#experienceReceptionChoice.on-imac .reception-choice-actions button,
#experienceReceptionChoice.on-imac .reception-meeting-actions button{min-height:42px!important;padding:5px 7px!important;font-size:11px!important;align-items:center!important;text-align:center!important}
#experienceReceptionChoice.on-imac .reception-choice-actions button small{font-size:8px!important}

/* Patrick accompanies the three BUNKER checkpoints without covering the world. */
#bunkerFirstDocumentGuide{
  box-sizing:border-box!important;position:fixed;z-index:43;
  top:calc(env(safe-area-inset-top) + 18px);left:16px;width:min(360px,calc(100vw - 132px));min-height:116px;
  display:flex;align-items:center;padding:18px 24px 18px 20px!important;text-align:left!important;
  border:1px solid #dbc184;border-radius:18px;background:linear-gradient(135deg,#102d24f2,#234c3bf0);
  color:#fff2d7;box-shadow:0 18px 44px #061710aa;backdrop-filter:blur(10px)
}
#bunkerFirstDocumentGuide .bunker-guide-copy{display:grid;gap:5px;min-width:0}
#bunkerFirstDocumentGuide span{font:800 9px/1.25 system-ui;letter-spacing:.16em;color:#e3cb91}
#bunkerFirstDocumentGuide strong{font:600 21px/1.08 Georgia,serif;color:#fff5df}
#bunkerFirstDocumentGuide small{font:500 12px/1.45 system-ui;color:#d8e3d9}
#bunkerFirstDocumentGuide .bunker-guide-patrick{
  position:absolute;right:-92px;bottom:-5px;width:118px;height:148px;object-fit:contain;object-position:center bottom;
  filter:drop-shadow(0 8px 12px #04130c88);animation:bunker-patrick-float 3.1s ease-in-out infinite
}
body.bunker-tutorial #bunkerControls{display:none!important}
@keyframes bunker-patrick-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){#bunkerFirstDocumentGuide .bunker-guide-patrick{animation:none!important}}
@media(max-width:520px){#bunkerFirstDocumentGuide{top:calc(env(safe-area-inset-top) + 10px);left:10px;width:calc(100vw - 112px);min-height:104px;padding:14px 15px!important;border-radius:15px}#bunkerFirstDocumentGuide strong{font-size:18px}#bunkerFirstDocumentGuide small{font-size:11px}#bunkerFirstDocumentGuide .bunker-guide-patrick{right:-82px;width:105px;height:132px}}
@media(orientation:landscape) and (max-height:520px){
 #bunkerFirstDocumentGuide{top:calc(env(safe-area-inset-top) + 12px);left:12px;width:min(360px,calc(100vw - 24px));min-height:108px;padding:13px 96px 13px 15px!important;border-radius:16px;overflow:hidden}
 #bunkerFirstDocumentGuide .bunker-guide-copy{gap:4px}
 #bunkerFirstDocumentGuide strong{font-size:19px;line-height:1.04}
 #bunkerFirstDocumentGuide small{font-size:10px;line-height:1.35}
 #bunkerFirstDocumentGuide .bunker-guide-patrick{right:5px;bottom:0;width:91px;height:106px;object-position:center bottom}
}

/* Handoff from the final BUNKER checkpoint to the city entrance. */
#bunkerCityContinuation[hidden]{display:none!important}
#bunkerCityContinuation{box-sizing:border-box;position:fixed;z-index:48;top:max(18px,env(safe-area-inset-top));left:18px;width:min(430px,calc(100vw - 36px));min-height:162px;display:grid;grid-template-columns:minmax(0,1fr) 118px;align-items:end;overflow:hidden;padding:20px 10px 18px 22px;border:1px solid #dec487;border-radius:20px;background:radial-gradient(circle at 90% 10%,#52796188,transparent 42%),linear-gradient(135deg,#173c2f,#09241b);box-shadow:0 22px 60px #03120db8;color:#fff;animation:lcg-coach-arrive .5s cubic-bezier(.2,.9,.2,1) both}
#bunkerCityContinuation>div{position:relative;z-index:2;display:grid;gap:7px;align-content:center}
#bunkerCityContinuation span{color:#e3ca8d;font:800 9px/1.2 system-ui;letter-spacing:.17em}
#bunkerCityContinuation strong{max-width:18ch;color:#fff4dc;font:600 25px/1.05 Georgia,serif}
#bunkerCityContinuation small{max-width:38ch;color:#dce8de;font:500 12px/1.42 system-ui}
#bunkerCityContinuation button{justify-self:start;min-height:42px;margin-top:2px;padding:9px 14px;border:1px solid #e7ce91;border-radius:11px;background:#dabe7d;color:#17372b;font:750 12px/1 system-ui;box-shadow:0 8px 20px #020d0966}
#bunkerCityContinuation img{position:absolute;right:4px;bottom:0;width:124px;height:157px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 14px #020d0999);animation:bunker-patrick-float 3.1s ease-in-out infinite}
@media(orientation:landscape) and (max-height:520px){#bunkerCityContinuation{top:12px;left:12px;width:min(390px,calc(100vw - 24px));min-height:118px;grid-template-columns:minmax(0,1fr) 88px;padding:13px 8px 12px 15px;border-radius:16px}#bunkerCityContinuation>div{gap:4px}#bunkerCityContinuation strong{font-size:20px}#bunkerCityContinuation small{font-size:10px;line-height:1.3}#bunkerCityContinuation button{min-height:34px;padding:6px 10px;font-size:10px}#bunkerCityContinuation img{right:3px;width:91px;height:112px}}
@media(prefers-reduced-motion:reduce){#bunkerCityContinuation,#bunkerCityContinuation img{animation:none!important}}

/* A deliberate pause at the reception door before the city is opened. */
body.bunker-city-intro::after{content:"";position:fixed;z-index:47;inset:0;pointer-events:none;background:linear-gradient(90deg,#06140d30,transparent 48%)}
body.bunker-city-intro #bunkerCityContinuation{z-index:48;box-shadow:0 24px 70px #020c08d6,0 0 0 1px #f2db9b20}
@media(orientation:landscape) and (max-height:600px){body.bunker-city-intro #bunkerCityContinuation{width:min(360px,calc(100vw - 24px));min-height:108px;padding:12px 78px 11px 15px}body.bunker-city-intro #bunkerCityContinuation strong{font-size:19px}body.bunker-city-intro #bunkerCityContinuation small{font-size:9px}body.bunker-city-intro #bunkerCityContinuation img{width:84px;height:105px}}

/* Legal documents stay inside the experience instead of opening browser tabs. */
#receptionArrival .cookie-legal a{color:#d9bf82!important;text-decoration:none!important;border-bottom:1px solid #d9bf8270;font-weight:750;cursor:pointer}
#receptionArrival .cookie-legal a:hover,#receptionArrival .cookie-legal a:focus-visible{color:#fff0c8!important;border-bottom-color:#fff0c8;outline:none}
#arrivalLegalDialog[open]{box-sizing:border-box;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(920px,calc(100dvw - 24px));height:min(720px,calc(100dvh - 24px));max-width:none;max-height:none;padding:0;overflow:hidden;border:1px solid #c9ad7166;border-radius:18px;background:#f7f5ee;color:#17372b;box-shadow:0 30px 90px #0009;z-index:100050}
#arrivalLegalDialog::backdrop{background:#06120ed9;backdrop-filter:blur(7px)}
#arrivalLegalDialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 15px;border-bottom:1px solid #c9ad7145;background:linear-gradient(135deg,#163a2e,#0c211a);color:#fff}
#arrivalLegalDialog header span{display:block;color:#d9bf82;font:750 9px/1.2 system-ui;letter-spacing:.16em}
#arrivalLegalDialog header h2{margin:3px 0 0;color:#fff;font:700 18px/1.1 Georgia,serif}
#arrivalLegalDialog [data-legal-close]{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;padding:0;border:1px solid #e7d5aa66;border-radius:50%;background:#ffffff12;color:#fff;font:400 26px/1 system-ui;cursor:pointer}
#arrivalLegalDialog .arrival-legal-frame{min-height:0;background:#fff}
#arrivalLegalDialog iframe{display:block;width:100%;height:100%;border:0;background:#fff}

/* First city chapter: Ferrari -> Porto Financeiro -> personalised districts. */
#cityFirstJourney{position:fixed;z-index:86;left:max(18px,env(safe-area-inset-left));top:max(18px,env(safe-area-inset-top));width:min(590px,calc(100vw - 36px));min-height:178px;display:grid;grid-template-columns:172px 1fr;overflow:hidden;border:1px solid rgba(222,190,126,.82);border-radius:26px;background:linear-gradient(135deg,rgba(8,54,42,.97),rgba(11,72,55,.94));box-shadow:0 22px 65px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.12);color:#fff5df;animation:cityJourneyIn .5s cubic-bezier(.2,.8,.2,1)}
#cityFirstJourney[hidden]{display:none!important}#cityFirstJourney>img{width:100%;height:100%;min-height:178px;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 12px 18px rgba(0,0,0,.28));align-self:end}#cityFirstJourney>div{padding:25px 25px 22px 2px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}#cityFirstJourney span,#cityPriorityDialog form>span{font:700 12px/1.15 system-ui;letter-spacing:.2em;color:#e5c784}#cityFirstJourney strong{display:block;margin:8px 0 7px;font:700 clamp(27px,3vw,38px)/.98 Georgia,serif;color:#fff8e9}#cityFirstJourney small{font:500 15px/1.42 system-ui;color:rgba(255,255,255,.86)}#cityFirstJourney button{margin-top:15px;min-height:44px;padding:10px 18px;border:0;border-radius:14px;background:#e1c37f;color:#17382e;font:800 14px system-ui;box-shadow:0 8px 22px rgba(0,0,0,.2)}
#cityPriorityDialog{width:min(880px,calc(100vw - 32px));max-height:min(760px,calc(100dvh - 32px));padding:0;border:1px solid rgba(225,195,127,.75);border-radius:30px;background:linear-gradient(145deg,#0c3026,#0b4937);color:#fff6e4;box-shadow:0 35px 100px rgba(0,0,0,.55);overflow:auto}#cityPriorityDialog::backdrop{background:rgba(2,15,12,.7);backdrop-filter:blur(8px)}#cityPriorityDialog form{position:relative;padding:34px}#cityPriorityDialog h2{margin:8px 50px 6px 0;font:700 clamp(32px,5vw,54px)/1 Georgia,serif}#cityPriorityDialog form>p{max-width:650px;margin:0 0 25px;color:rgba(255,255,255,.78);font:500 16px/1.5 system-ui}.city-priority-close{position:absolute;right:20px;top:20px;width:44px;height:44px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.06);color:white;font:400 28px/1 system-ui}.city-priority-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.city-priority-grid label{position:relative;min-height:104px;padding:18px 17px 15px 48px;border:1px solid rgba(229,199,132,.28);border-radius:18px;background:rgba(255,255,255,.045);cursor:pointer;transition:.2s}.city-priority-grid label:has(input:checked){background:linear-gradient(135deg,#e3c781,#cba960);color:#17382e;border-color:#f2dcaa;box-shadow:0 10px 26px rgba(0,0,0,.18);transform:translateY(-2px)}.city-priority-grid input{position:absolute;opacity:0}.city-priority-grid i{position:absolute;left:16px;top:18px;width:21px;height:21px;border:1px solid currentColor;border-radius:7px}.city-priority-grid label:has(input:checked) i:after{content:'✓';position:absolute;inset:-4px 0 0 3px;font:900 20px system-ui}.city-priority-grid b{display:block;font:750 16px/1.2 system-ui}.city-priority-grid small{display:block;margin-top:7px;color:inherit;opacity:.73;font:500 12px/1.35 system-ui}.city-priority-continue{width:100%;min-height:52px;margin-top:18px;border:0;border-radius:16px;background:#e1c37f;color:#15362b;font:800 16px system-ui}.city-priority-continue+small{display:block;min-height:18px;margin-top:8px;text-align:center;color:#ffd0bd;font:650 13px system-ui}
body.city-road-tutorial #lifeCity,body.city-road-tutorial #lifeCityPlace,body.city-road-tutorial #lifeCityCheckpoints,body.city-road-tutorial #vehicleEnter{display:none!important}@keyframes cityJourneyIn{from{opacity:0;transform:translateY(-16px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:700px){#cityFirstJourney{top:max(10px,env(safe-area-inset-top));left:10px;width:calc(100vw - 20px);min-height:142px;grid-template-columns:112px 1fr;border-radius:20px}#cityFirstJourney>img{min-height:142px}#cityFirstJourney>div{padding:17px 14px 15px 0}#cityFirstJourney span{font-size:9px}#cityFirstJourney strong{margin:5px 0;font-size:24px}#cityFirstJourney small{font-size:12px;line-height:1.32}#cityFirstJourney button{min-height:40px;margin-top:9px;padding:8px 13px;font-size:12px}#cityPriorityDialog{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);border-radius:22px}#cityPriorityDialog form{padding:24px 16px 20px}#cityPriorityDialog h2{font-size:34px}#cityPriorityDialog form>p{font-size:14px;margin-bottom:17px}.city-priority-grid{grid-template-columns:1fr 1fr;gap:8px}.city-priority-grid label{min-height:83px;padding:13px 10px 11px 39px}.city-priority-grid i{left:12px;top:14px;width:18px;height:18px}.city-priority-grid b{font-size:14px}.city-priority-grid small{font-size:10px;margin-top:4px}}

/* Ferrari reveal: the car owns the frame; this card only supplies context/action. */
#cityFirstJourney{width:min(344px,calc(100vw - 24px));min-height:94px;grid-template-columns:76px 1fr;border-radius:18px;background:linear-gradient(135deg,rgba(7,40,31,.9),rgba(10,67,50,.84));backdrop-filter:blur(9px)}#cityFirstJourney>img{min-height:94px;height:94px}#cityFirstJourney>div{padding:13px 14px 12px 0}#cityFirstJourney span{font-size:8px}#cityFirstJourney strong{margin:4px 0;font-size:21px;line-height:1.02}#cityFirstJourney small{font-size:11px;line-height:1.28}#cityFirstJourney button{min-height:36px;margin-top:8px;padding:7px 12px;border-radius:10px;font-size:11px}#cityFirstJourney[data-phase=loading]{width:228px;min-height:62px;grid-template-columns:0 1fr}#cityFirstJourney[data-phase=loading]>img{display:none}#cityFirstJourney[data-phase=loading]>div{padding:12px 14px}#cityFirstJourney[data-phase=loading] strong{font:700 16px/1.1 system-ui}#cityFirstJourney[data-phase=loading] small{opacity:.72}body.driving-car #cityFirstJourney{opacity:0;transform:translateY(-10px);pointer-events:none;transition:.28s}
#cityGps{position:fixed;z-index:84;left:max(12px,env(safe-area-inset-left));top:max(12px,env(safe-area-inset-top));width:132px;margin:0;padding:0;border:0;background:transparent;color:#fff;font-family:system-ui;filter:drop-shadow(0 10px 24px rgba(0,0,0,.4));cursor:pointer;pointer-events:auto}#cityGps[hidden]{display:none!important}#cityGps canvas{display:block;width:132px;height:132px;border:2px solid rgba(231,207,151,.8);border-radius:50%;background:#0b201a;box-shadow:inset 0 0 0 5px rgba(4,20,15,.45);transition:transform .18s,border-color .18s}#cityGps:hover canvas,#cityGps:focus-visible canvas{transform:scale(1.035);border-color:#f0d591}#cityGps>span{display:block;width:max-content;max-width:126px;margin:-12px auto 0;padding:6px 10px;border:1px solid rgba(225,195,127,.6);border-radius:11px;background:rgba(8,40,31,.94);text-align:center}#cityGps b,#cityGps small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#cityGps b{font-size:10px}#cityGps small{margin-top:1px;color:#e2c77f;font-size:9px}
#cityMapDialog{box-sizing:border-box;width:min(1080px,calc(100vw - 28px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #d9bd7c;border-radius:26px;background:linear-gradient(145deg,#0a2a21,#123f33);color:#fff4dc;box-shadow:0 32px 110px #020c08d9;overflow:auto}#cityMapDialog::backdrop{background:#03130fba;backdrop-filter:blur(8px)}#cityMapDialog>section{padding:24px}#cityMapDialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px}#cityMapDialog header small{color:#ddc27f;font:800 10px system-ui;letter-spacing:.2em}#cityMapDialog h2{margin:5px 0 4px;font:700 clamp(30px,4vw,46px)/1 Georgia,serif}#cityMapDialog header p{margin:0;color:#bdcec7;font:500 13px system-ui}#cityMapDialog [data-city-map-close]{flex:0 0 44px;width:44px;height:44px;border:1px solid #fff4;border-radius:50%;background:#ffffff0b;color:#fff;font:28px/1 system-ui}.city-map-stage{position:relative;border:1px solid #d8bd7a44;border-radius:20px;overflow:hidden;background:#071c16}.city-map-stage canvas{display:block;width:100%;height:auto;max-height:52dvh;object-fit:contain}.city-map-legend{position:absolute;left:12px;bottom:10px;display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:10px;background:#061812dc;color:#d5dfda;font:600 10px system-ui}.city-map-legend i{width:20px;height:5px;border-radius:5px;background:#667a72}.city-map-legend i+ i{margin-left:8px;background:#e1c57e}#cityMapDialog nav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}#cityMapDialog nav button{min-height:58px;padding:10px 12px;border:1px solid #d4b97844;border-radius:13px;background:#ffffff08;color:#fff4dc;text-align:left}#cityMapDialog nav button:hover,#cityMapDialog nav button:focus-visible{background:#d9bd7c;color:#17382e}#cityMapDialog nav b,#cityMapDialog nav small{display:block}#cityMapDialog nav b{font:700 12px system-ui}#cityMapDialog nav small{margin-top:3px;color:#b8cbc2;font:500 9px/1.25 system-ui}#cityMapDialog nav button:hover small,#cityMapDialog nav button:focus-visible small{color:#274d40}
body.driving-car #vehicleControls{z-index:1301}body.driving-car #vehicleControls .vehicle-speed{padding:5px 10px;border-radius:10px;background:#081c16a8}body.driving-car #vehicleControls [data-drive]{background:linear-gradient(145deg,#d9bd78,#ad8d50);color:#102c23;border-color:#f1d899;font-weight:850}body.driving-car #vehicleControls [data-drive=forward]{transform:scale(1.08)}
@media(max-width:700px){#cityFirstJourney{top:max(8px,env(safe-area-inset-top));left:8px;width:min(292px,calc(100vw - 148px));min-height:76px;grid-template-columns:58px 1fr;border-radius:14px}#cityFirstJourney>img{min-height:76px;height:76px}#cityFirstJourney>div{padding:9px 9px 8px 0}#cityFirstJourney strong{font-size:17px}#cityFirstJourney small{font-size:9px}#cityFirstJourney button{min-height:31px;margin-top:5px;padding:5px 9px;font-size:10px}#cityFirstJourney[data-phase=loading]{width:188px;grid-template-columns:0 1fr}#cityGps{left:8px;top:max(8px,env(safe-area-inset-top));width:108px}#cityGps canvas{width:108px;height:108px}#cityGps>span{max-width:104px;padding:4px 7px}#cityMapDialog{width:calc(100vw - 14px);max-height:calc(100dvh - 12px);border-radius:18px}#cityMapDialog>section{padding:14px}#cityMapDialog header{margin-bottom:10px}#cityMapDialog h2{font-size:28px}#cityMapDialog header p{font-size:11px}.city-map-stage canvas{max-height:46dvh}#cityMapDialog nav{grid-template-columns:repeat(3,1fr);gap:5px}#cityMapDialog nav button{min-height:49px;padding:7px 8px}#cityMapDialog nav b{font-size:10px}#cityMapDialog nav small{font-size:8px}body.driving-car #vehicleControls{right:8px;bottom:max(8px,env(safe-area-inset-bottom));max-width:230px}body.driving-car #vehicleControls .vehicle-pedals{grid-template-columns:repeat(4,50px);gap:6px}body.driving-car #vehicleControls [data-drive],body.driving-car #vehicleControls [data-pedal]{width:50px!important;min-width:50px!important;height:52px!important;min-height:52px!important;border-radius:15px;font-size:10px}}
