/* Scoped overrides for the operational desk; menu and 3D retain their layout. */
#screen-game { height:100dvh; min-height:0; overflow:hidden; position:relative; background:#f3f6f9; color:#24354a; font-family:Arial, sans-serif; }
#screen-game button { font-family:inherit; cursor:pointer; }
#screen-game button:focus-visible { outline:3px solid #09a5ba; outline-offset:3px; }
#screen-game .hud-header { min-height:76px; height:auto; flex:0 0 auto; padding:12px 20px; gap:18px; flex-wrap:nowrap; background:white; border:0; border-bottom:1px solid #dce4ed; box-shadow:none; align-items:center; }
#screen-game .header-left { flex:1; min-width:230px; gap:16px; }
#screen-game .station-title-block h2 { font:700 18px Arial,sans-serif; letter-spacing:.3px; margin:0 0 5px; }
#screen-game .hud-sub { font:12px Arial,sans-serif; color:#65758a; }
#screen-game .btn-desk-back { width:auto; min-width:0; padding:10px; border:1px solid #dce4ed; border-radius:8px; box-shadow:none; font-size:11px; }
#screen-game .ppka-topstrip, #screen-game .mode-control { display:none; }
#screen-game .sim-quick-controls { flex:0 0 auto; gap:8px; margin:0; }
#screen-game .btn-tactile, #screen-game .btn-3d-toggle { border:0; border-radius:8px; box-shadow:none; min-height:38px; padding:9px 13px; font-size:12px; }
#screen-game .btn-tactile.red { background:#e8eef4; color:#24354a; }
#screen-game .btn-tactile.green { background:#087e73; color:white; }
#screen-game .speed-btn-group { border:1px solid #dce4ed; border-radius:8px; overflow:hidden; }
#screen-game .btn-speed { border:0; background:#f3f6f9; color:#526279; padding:9px 10px; font-size:13px; }
#screen-game .btn-speed.active { background:#243b53; color:white; }
#screen-game .analog-clock-box { order:0; border:0; box-shadow:none; background:#f1f5f9; padding:6px 12px; border-radius:8px; min-width:115px; }
#screen-game .clock-calendar-tag { color:#64748b; font:9px Arial,sans-serif; }
#screen-game .shift-clock-digits { color:#20354e; font:600 23px monospace; }
.desk-nav { display:flex; align-items:center; gap:18px; padding:9px 20px; background:white; border-bottom:1px solid #dce4ed; flex-shrink:0; }
.desk-mode { font-size:10px; font-weight:700; letter-spacing:1px; white-space:nowrap; color:#64748b; }
.desk-mode b { margin-left:5px; color:#078878; }
.desk-tabs { display:flex; gap:5px; }
.desk-tabs button { background:transparent; border:1px solid transparent; border-radius:7px; padding:9px 13px; color:#516176; font-size:13px; font-weight:600; white-space:nowrap; }
.desk-tabs button:hover { background:#f0f5f8; }
.desk-tabs button.active { background:#e2f4f2; border-color:#b8dfd9; color:#007568; }
#screen-game .header-right { flex:1; justify-content:flex-end; gap:20px; margin:0; }
#screen-game .score-metric { background:none; border:0; padding:0; display:flex; flex-direction:row; align-items:baseline; gap:7px; min-width:0; }
#screen-game .hud-label { font:10px Arial,sans-serif; color:#6d7c8f; }
#screen-game .hud-value { font:700 17px Arial,sans-serif; }
#screen-game .hud-main-body { min-height:0; flex:1; overflow:hidden; }
#screen-game .hud-diagram-container { min-height:0; width:100%; padding:0; }
#screen-game .diagram-toolbar { padding:9px 20px; background:transparent; border:0; font-family:Arial,sans-serif; }
#screen-game .toolbar-hint { display:none; }
#screen-game .legend-items { display:flex; gap:18px; flex-wrap:wrap; font:11px Arial,sans-serif; color:#64748b; }
#screen-game #svg-viewport-wrapper { position:relative; min-height:0; overflow:hidden; flex:1; height:auto; touch-action:none; }
#screen-game #track-svg { min-width:0; width:100%; height:100%; display:block; }
#screen-game #track-svg text { font-family:Arial,sans-serif; }
#screen-game #svg-layer-labels text { font-size:11px; }
#screen-game .desk-sheet { position:absolute; top:139px; bottom:18px; right:18px; left:auto; width:380px; min-width:0; max-width:calc(100% - 36px); max-height:none; box-sizing:border-box; z-index:35; overflow:auto; margin:0; padding:54px 16px 16px; border:1px solid #d4dfe9; border-radius:14px; background:#fff; box-shadow:0 12px 45px #23394d26; transform:none; }
#screen-game .desk-sheet[hidden] { display:none!important; }
#screen-game .desk-close { position:absolute; top:12px; right:14px; background:#f0f4f8; border:0; border-radius:6px; padding:8px 12px; color:#45576b; }
#screen-game .desk-sheet h3 { margin:0 0 20px; font-size:20px; }
#screen-game .desk-sheet p { font:14px/1.65 Arial,sans-serif; }
#screen-game #desk-settings .header-center { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin:24px 0; }
#screen-game .control-card { border:1px solid #dce5ed; box-shadow:none; border-radius:9px; padding:12px; margin-bottom:12px; }
#screen-game .card-header h4 { font:700 12px Arial,sans-serif; }
#screen-game .btn-route, #screen-game .btn-signal { border-radius:6px; box-shadow:none; }
#screen-game #warta-panel, #screen-game #timetable-drawer { width:calc(100% - 36px); top:auto; bottom:18px; height:min(390px,65%); }
#screen-game .warta-head { background:white; color:#24354a; padding:0 0 12px; border:0; }
#screen-game .warta-head h4 { font:700 15px Arial,sans-serif; }
#screen-game .warta-hint { display:none; }
#screen-game .warta-log-list { max-height:none; }
#screen-game .warta-active-text { font:13px/1.6 Arial,sans-serif; }
#screen-game .timetable-drawer-handle { background:white; padding:0 0 14px; border:0; color:#24354a; cursor:pointer; }
#screen-game .timetable-drawer-content { display:block; max-height:none; overflow:auto; padding:0; }
#screen-game .timetable-grid { min-width:1050px; font:12px Arial,sans-serif; }
#screen-game .timetable-grid td, #screen-game .timetable-grid th { padding:11px 10px; }
.desk-zoom { position:absolute; bottom:18px; left:20px; display:flex; gap:1px; padding:4px; border:1px solid #dce4ed; background:white; border-radius:9px; box-shadow:0 4px 15px #23394d0d; }
.desk-zoom button { border:0; background:white; padding:9px 13px; color:#40576e; border-radius:5px; }
.desk-zoom button:hover { background:#edf4f7; }
#desk-scenario { display:flex; gap:16px; align-items:center; padding:10px 20px; font:12px Arial,sans-serif; background:#e9f3f2; color:#245e59; flex-wrap:wrap; flex-shrink:0; }
#desk-scenario a { color:#126b87; }
.desk-scenario-note { color:#617975; font-size:11px; }
#screen-game .campaign-progress { font:12px Arial,sans-serif; padding:8px 20px; }
@media(max-width:1000px) {
 #screen-game .hud-header { flex-wrap:wrap; gap:10px; padding:10px 14px; }
 #screen-game .header-left { min-width:180px; }
 #screen-game .analog-clock-box { margin-left:auto; }
 .desk-nav { flex-wrap:wrap; gap:5px 12px; padding:7px 14px; }
 #screen-game .header-right { flex-basis:100%; justify-content:flex-start; gap:18px; padding:5px 0; }
 #screen-game .desk-sheet { top:180px; }
}
@media(max-width:600px) {
 #screen-game .station-title-block h2 { font-size:15px; }
 #screen-game .btn-desk-back { font-size:9px; width:54px; }
 #screen-game .sim-quick-controls { order:3; width:100%; justify-content:space-between; }
 #screen-game .analog-clock-box { min-width:95px; padding:5px 8px; }
 #screen-game .shift-clock-digits { font-size:19px; }
 #screen-game .header-left { gap:9px; min-width:0; }
 #screen-game .hud-sub { font-size:10px; }
 .desk-mode { display:none; }
 .desk-tabs { width:100%; justify-content:space-between; }
 .desk-tabs button { padding:8px 12px; }
 #screen-game .header-right { gap:12px; justify-content:space-between; }
 #screen-game .score-metric { flex-direction:column; gap:3px; }
 #screen-game .hud-label { font-size:8px; }
 #screen-game .hud-value { font-size:15px; }
 #screen-game .desk-sheet { top:222px; bottom:10px; right:10px; width:calc(100% - 20px); max-width:calc(100% - 20px); }
 #screen-game #warta-panel, #screen-game #timetable-drawer { top:auto; width:calc(100% - 20px); bottom:10px; height:60%; }
 #screen-game .legend-items { gap:7px 10px; font-size:9px; }
 #screen-game .diagram-toolbar { padding:8px 14px; }
 #desk-scenario { padding:8px 14px; gap:6px 12px; font-size:10px; }
 .desk-scenario-note { display:none; }
}
