.city-model-stage,.city-time-panel{display:contents}
.city-view-toggle[hidden],.city-time-pages[hidden],#cityIntervalSummary[hidden],.city-fullscreen [hidden]{display:none!important}
html.city-screen-open,html.city-screen-open body{overflow:hidden;overscroll-behavior:none}
#gameShell.city-fullscreen{position:fixed;inset:0;z-index:100;width:100%;height:100dvh;min-height:0;max-width:none;margin:0;border:0;border-radius:0;display:flex;flex-direction:column;overflow:hidden;background:#fffaf8;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.city-fullscreen .toolbar{flex:none;gap:8px;padding:6px 12px;flex-wrap:nowrap}.city-fullscreen .stats{flex-wrap:nowrap}.city-fullscreen .stat{min-width:75px;font-size:13px;padding:6px}.city-fullscreen .stat strong{font-size:24px}.city-fullscreen .tools{flex-wrap:nowrap;gap:8px}.city-fullscreen .tool,.city-fullscreen .start,.city-fullscreen select{font:800 22px Nunito,sans-serif;min-height:52px;padding:7px 12px}.city-fullscreen #restartBtn,.city-fullscreen .dispatch-nav label{display:none}.city-fullscreen .dispatch-nav{flex:1;flex-wrap:nowrap;gap:8px;min-width:0}.city-fullscreen #missionSelect{width:100%;min-width:0}.city-fullscreen #freeBtn{white-space:nowrap}.city-fullscreen .progress{height:4px;flex:none}
.city-fullscreen .city-play{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;padding:10px 16px}.city-fullscreen .mission{padding:8px 14px;flex:none}.city-fullscreen .mission strong{font-size:clamp(32px,2.3vw,42px);line-height:1.15;margin:0}.city-fullscreen .mission-icon,.city-fullscreen .mission small,.city-fullscreen .discovery-log{display:none}
.city-fullscreen .city-model-stage{flex:1;min-height:0;display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px}.city-fullscreen .dispatch-controls{display:flex;flex-direction:column;flex-wrap:nowrap;min-height:0;gap:12px}.city-fullscreen .interval-control{flex:1 1 0;min-height:0;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;justify-content:center;padding:12px;gap:8px;font-size:24px}.city-fullscreen .interval-control strong{font-size:28px}.city-fullscreen .interval-control small{display:none}.city-fullscreen .interval-control select{font-size:30px;min-width:70px}.city-fullscreen .interval-control>span{line-height:1.6}
.city-fullscreen .city-scene{min-height:0;display:flex;flex-direction:column;background:#e9f6ef}.city-fullscreen .city-sky{flex:1;min-height:0;max-height:100px}.city-fullscreen .city-station{flex:none;justify-content:center;padding:6px 12px}.city-fullscreen .city-station strong{display:none}.city-fullscreen .city-station span{font-size:26px;font-weight:800}.city-fullscreen #vehicleLanes{flex:3;min-height:0;display:flex;flex-direction:column}.city-fullscreen .vehicle-lane{flex:1;min-height:0;padding:6px 14px;display:flex;flex-direction:column}.city-fullscreen .lane-caption{font-size:22px;margin:0;flex:none}.city-fullscreen .road{flex:1;min-height:45px;height:auto;margin-right:100px}.city-fullscreen .bus{width:100px;max-height:100%;top:auto;bottom:0}.city-fullscreen .bus svg{height:100%;max-height:70px}
.city-fullscreen .city-time-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.55fr);gap:14px;flex:none}.city-fullscreen .time-controls{gap:8px;flex-wrap:nowrap}.city-fullscreen .time-controls>*{flex:none}.city-fullscreen .time-controls label{font-size:22px;gap:4px}.city-fullscreen .time-scrub{padding:4px 12px;font-size:22px}.city-fullscreen .time-scrub input{margin:0;min-height:28px}.city-fullscreen .time-scrub>span{gap:10px}
.city-fullscreen .timetable{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px;order:0}.city-fullscreen[data-city-view=city] .timetable,.city-fullscreen[data-city-view=timeline] .city-model-stage{display:none}.city-fullscreen .city-time-panel{order:1}.city-fullscreen .bottom{order:2;flex:none;flex-direction:row;gap:10px}.city-fullscreen .feedback{font-size:22px;line-height:1.2;padding:8px 12px;min-height:52px;color:#414753}.city-fullscreen .next{font-size:24px;min-height:52px}.city-fullscreen .timetable h2{font-size:28px}.city-fullscreen .timetable-heading>span{font-size:22px}.city-fullscreen #cityIntervalSummary{font-size:24px;font-weight:800;margin:0}.city-fullscreen #timelineHint{display:none}.city-fullscreen .timeline-scroll{flex:1;min-height:0;overflow:hidden;padding:6px}.city-fullscreen #timeline{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));width:100%;height:100%;gap:8px;padding:0}.city-fullscreen .minute{width:auto;min-height:52px;padding:4px;gap:6px;display:grid;grid-template-columns:auto auto auto;grid-template-rows:1fr;align-content:center;justify-content:center;color:#383f47;border-width:2px}.city-fullscreen .minute strong{font:900 36px Nunito,sans-serif;grid-row:1/3}.city-fullscreen .minute .departure{width:22px;height:22px}.city-fullscreen .minute .departure.a{grid-column:2;grid-row:1}.city-fullscreen .minute .departure.b{grid-column:2;grid-row:2}.city-fullscreen .minute .flag{font-size:28px;height:30px;line-height:30px;grid-column:3;grid-row:1/3}.city-fullscreen .minute.current{outline-width:4px}.city-fullscreen .city-time-pages{display:flex;align-items:center;justify-content:center;gap:20px;flex:none}.city-time-pages button{min-height:52px;min-width:64px;border:1px solid #b4c6bd;border-radius:12px;background:#fff;font-size:30px;color:#2c5944}.city-time-pages strong{font:900 24px Nunito,sans-serif}.city-time-pages button:disabled{opacity:.4}
.city-fullscreen #finishLayer .modal{max-width:900px}.city-fullscreen #finishLayer h2{font-size:40px}.city-fullscreen #finishLayer p,.city-fullscreen #finishLayer a{font-size:24px}.city-fullscreen #finishLayer .summary,.city-fullscreen #finishLayer .modal-icon{display:none}
@media(max-width:1200px){.city-fullscreen .stats .stat:first-child{display:none}.city-fullscreen .toolbar .tool,.city-fullscreen .toolbar select{font-size:20px;padding:6px 9px}.city-fullscreen .city-model-stage{grid-template-columns:230px minmax(0,1fr)}.city-fullscreen .city-time-panel{grid-template-columns:1fr}.city-fullscreen .time-scrub{display:flex;align-items:center;gap:16px}.city-fullscreen .time-scrub>span{white-space:nowrap}.city-fullscreen .time-scrub input{flex:1;min-width:0}.city-fullscreen .city-time-panel{gap:4px}}
@media(max-height:700px){.city-fullscreen .city-play{gap:6px;padding:6px 12px}.city-fullscreen .mission{padding:6px 10px}.city-fullscreen .city-sky{display:none}.city-fullscreen .city-station{padding:3px}.city-fullscreen .city-station span{font-size:22px}.city-fullscreen .interval-control{padding:8px;gap:2px}.city-fullscreen .interval-control strong{font-size:26px}.city-fullscreen .vehicle-lane{padding:2px 10px}.city-fullscreen .lane-caption{font-size:22px;line-height:1.1}.city-fullscreen .road{min-height:36px}.city-fullscreen .bus{width:78px}.city-fullscreen .timetable-heading h2{display:none}.city-fullscreen .timetable-heading>span{font-size:20px}.city-fullscreen #cityIntervalSummary{font-size:22px}.city-fullscreen .minute strong{font-size:32px}.city-fullscreen .timeline-scroll{padding:3px}.city-fullscreen .city-time-pages button{min-height:44px}.city-fullscreen #timeline{gap:5px}}
@media(max-width:850px) and (orientation:portrait){.city-fullscreen .toolbar{flex-wrap:wrap}.city-fullscreen .toolbar .dispatch-nav{flex:1}.city-fullscreen .toolbar .tools{width:100%;justify-content:flex-end}.city-fullscreen .city-model-stage{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.city-fullscreen .dispatch-controls{flex-direction:row}.city-fullscreen .interval-control{padding:8px}.city-fullscreen .interval-control strong{font-size:26px}.city-fullscreen #timeline{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}.city-fullscreen .time-controls{flex-wrap:wrap}.city-fullscreen .time-controls .tool,.city-fullscreen .time-controls .start{font-size:22px}.city-fullscreen .timetable-heading>span{font-size:20px}}
.city-fullscreen .minute{grid-template-rows:repeat(2,24px);align-content:center;align-items:center}
.city-fullscreen .road{margin-right:150px}.city-fullscreen .bus{width:150px}.city-fullscreen .bus svg{max-height:80px}
@media(max-height:700px){.city-fullscreen .road{margin-right:90px}.city-fullscreen .bus{width:90px}}
