/* A high-contrast, viewport-sized working desk. Lobby and career remain independent. */
:root{--bg:#080f1b;--panel:#15243a;--panel2:#1d304b;--border:#657b99;--text:#f5f8ff;--muted:#c0d0e6;--purple:#bfb0ff;--lime:#d7fc70;--coral:#ffba9f}
body.playing{height:100dvh;overflow:hidden;background:#080f1b;display:flex;flex-direction:column}
body.playing .app-header{flex:0 0 52px;width:100%;max-width:none;padding:8px 20px;background:#0d192b;border-bottom:1px solid #7185a1;gap:12px}
body.playing .brand{font-size:14px}.playing .brand-hero{font-size:17px}.playing .brand-icon{width:30px;height:30px;font-size:18px}.playing .app-header nav{font-size:12px;gap:16px}.playing .header-label{font-size:10px}
body.playing main{display:flex;flex:1;min-height:0;width:100%;overflow:hidden}body.playing .app-footer{display:none}
#game{width:100%;max-width:1800px;margin:0 auto;padding:0 16px 8px;min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}
#game .shift-strip{flex:none;padding:6px 0;min-height:32px;font-size:11px}#game .shift-strip .text-button{padding:3px 8px}
#game .hud{flex:none;margin:0 0 8px;padding:9px 0;grid-template-columns:1fr 1fr 1fr 1.5fr;border:1px solid #7288a5;background:#15243a;border-radius:8px;gap:0}
#game .hud>div{padding:0 16px;min-width:0}#game .hud strong{font-size:24px;line-height:1.1;white-space:nowrap}#game .hud .stat-label{font-size:10px;color:#d0def0;letter-spacing:.6px}#game .hud .hud-sub{display:none}#game .hud-time .time-track{height:3px;margin-top:4px}#game .score-pop{font-size:10px;position:static;margin-left:8px}#game .morale-hud{display:block;grid-column:auto;margin:0;padding-top:0;border-top:0}#game .morale-track{height:8px;margin-top:8px}#game .stat-label b{margin-left:8px}
.desk-tabs{flex:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;border:0;margin:0 0 7px;padding:0}
.desk-tabs button{position:relative;min-height:44px;padding:8px 12px;border:1px solid #7389a8;border-radius:8px;background:#1a2b44;color:#e4edfb;font-size:14px;font-weight:750;white-space:nowrap}
.desk-tabs [aria-selected=true]{background:#d7fc70;color:#102009;border-color:#e6ffb2;box-shadow:0 0 0 1px #d7fc70}
.desk-tabs [data-count]{font:700 11px var(--mono);padding:2px 5px;margin-left:5px;border-radius:4px;background:#07111f66;color:inherit}.desk-tabs [aria-selected=true] [data-count]{background:#2230151c}
.desk-tabs [data-unread]{position:absolute;right:3px;top:-4px;min-width:18px;border:2px solid #091421;border-radius:10px;background:#ffc17d;color:#211105;padding:1px 4px;font:800 10px var(--mono)}
@keyframes arrival-glow{0%,100%{box-shadow:0 0 0 0 #ffd49200}50%{box-shadow:0 0 0 3px #ffd492aa}}
.desk-tabs .new-arrival{animation:arrival-glow 1s ease-in-out 2}
.desk-toolbar{flex:none;display:flex;align-items:center;gap:10px;min-height:40px;padding:0 0 7px;font-size:12px;white-space:nowrap}#desk-filters{display:flex;gap:5px}#desk-filters button{min-height:34px;min-width:64px;padding:6px 12px;border-radius:6px;border:1px solid #7186a3;background:#14253d;color:#e0ecfc;font-size:12px}#desk-filters [aria-pressed=true]{background:#b6dafe;color:#071a2f;border-color:#daecff;font-weight:750}#open-total{margin-left:auto;color:#d6e5f9}.desk-alert{background:#512b20;border:1px solid #ffc19e;border-radius:6px;color:#ffe2c9;padding:6px 10px;font-size:12px;min-height:34px}
#desk-content{flex:1;min-height:0;min-width:0;overflow:hidden;position:relative}
#game .workspace{height:100%;min-height:0;display:grid;grid-template-columns:235px minmax(0,1fr);gap:12px;align-items:stretch}
#game .queue-panel{min-width:0;min-height:0;border:1px solid #647f9f;background:#0d1b2e;border-radius:10px;display:flex;flex-direction:column;overflow:hidden}#game .panel-title{padding:12px 14px;flex:none}#game .panel-title h2{font-size:14px;color:#fff}#game .count-badge{color:#c8def7;background:#243c5b;font-size:11px}
#game #queue{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:7px;padding:0 8px 10px;scroll-snap-type:none;scrollbar-width:thin;scrollbar-color:#8197b3 #15263c}
#game .queue-ticket{flex:none;min-width:0;width:100%;padding:11px 12px;margin:0;background:#1a2c46;border:1px solid #5a7599;box-shadow:none;border-radius:7px;color:#f5f8ff;text-align:left}#game .queue-ticket.selected{border:2px solid #b9a7ff;background:#342d56;padding:10px 11px}#game .queue-ticket.urgent{border-color:#ffbd9e}#game .queue-ticket h3{font-size:13px;line-height:1.35;margin:5px 0;white-space:normal;overflow:visible}#game .queue-top{font-size:10px;margin:0;color:#d2e4fb}#game .queue-timer{font-size:11px;color:#d4e5ff}#game .queue-ticket.danger .queue-timer{color:#ffc7ad}#game .ticket-patience{background:#bfaeff;height:3px;bottom:0}#game .queue-empty{font-size:13px;padding:15px 8px;color:#c2d4ed}
#game #ticket-detail{height:100%;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8197b3 #15263c;position:relative;padding:14px 18px;border:1px solid #8598b4;border-radius:10px;background:#182942;box-shadow:0 8px 20px #0003;align-content:start}
.detail-toolbar{display:flex;align-items:center;gap:12px;position:sticky;top:-14px;z-index:2;background:#182942;padding:9px 0;margin:-8px 0 12px;border-bottom:1px solid #7186a3}
#game .sla-panel{flex:1;display:flex;padding:0;margin:0;gap:10px;border:0;background:transparent;align-items:center;justify-content:space-between}#game .sla-panel>div{display:flex;gap:10px;align-items:center}#game .sla-panel .stat-label{font-size:10px;color:#d4e3f6}#game .sla-panel strong{font-size:22px;margin:0;letter-spacing:0;color:#e0ff8f}#game .sla-panel p{color:#d5e6c7;font-size:11px;max-width:210px;line-height:1.35}#game .sla-panel.urgent-sla strong,#game .sla-panel.urgent-sla p{color:#ffbd9e}
#game #hold-button{min-height:38px;min-width:76px;margin:0;padding:6px 14px;font-size:12px;width:auto;border-color:#a9beda;color:#e5efff;background:#253e60}#game #hold-notice,#game #history-status{padding:10px 12px;border:1px solid #e2b56d;background:#4b3a21;color:#ffedcb;font-size:12px;border-radius:6px;margin:0 0 12px}#game #history-status{border-color:#8ad3b6;background:#183f37;color:#ceffed}
#game .ticket-meta{font-size:10px;margin-bottom:9px;gap:8px}#game .ticket-category{font-size:10px;margin:0 0 5px;color:#d5caff}#game #ticket-title{font-size:24px;line-height:1.18;margin:0 0 10px;letter-spacing:-.3px}#game .ticket-user{font-size:11px;color:#d0e0f5}#game .caller-story{margin:0 0 8px;color:#caddf6;font-size:12px}#game .caller-story summary{cursor:pointer;padding:5px 0;min-height:28px}#game .user-quote{font-size:13px;line-height:1.5;color:#edf4ff;margin:5px 0 10px}
#game .clue{background:#102038;border:1px solid #7887b0;border-left:3px solid #c9b7ff;padding:11px 12px;margin:12px 0}#game .clue p{font-size:13px;line-height:1.5;color:#f0f5ff;margin:5px 0 0}#game .clue-label{font-size:10px;color:#d2c9ff}
#game .acknowledge-button{min-height:44px;padding:10px 14px;margin:4px 0;font-size:13px}#game .acknowledged-note{font-size:10px;margin:4px 0 9px;color:#d4e5c0}#game .boss-status{font-size:11px;padding:8px 10px;margin:8px 0;background:#352a36;color:#ffccb4;border:1px solid #977c7c}
#game .investigation-toolbar{margin-top:0;gap:6px}#game .approach-button{background:#283c5a;color:#edf5ff;border-color:#8da4c1;min-height:42px;padding:8px 10px;font-size:12px}#game .approach-button.selected{background:#b9a6ff;color:#17102c;border-color:#e1d7ff}#game .approach-hint{font-size:11px;line-height:1.4;color:#d0e0f4;margin:8px 0 10px}#game .action-heading{margin:8px 0;font-size:10px;color:#d0e0f4}
#game .actions{gap:7px}#game .action-button{min-height:48px;padding:10px 12px;border-color:#90a4c1;background:#263e5c;border-radius:7px;gap:10px}#game .action-button:hover:not(:disabled){background:#354f74;border-color:#dfecff}#game .action-label{font-size:13px;color:#fff;line-height:1.4}#game .action-number{background:#10243f;color:#d1e5ff}#game .action-duration{font-size:10px;color:#d1e2fa}#game .assist-button{min-height:42px;font-size:12px;margin-top:7px;color:#d4e6ff;border-color:#8fa5c5}#game .bluff-button{min-height:44px;margin-top:7px;padding:10px;border-color:#bfa378;background:#3d3426}#game .bluff-button strong{font-size:12px;color:#ffe2a8}#game .bluff-button span{font-size:10px;color:#f0dabc}
#game .inquiry-button{min-height:46px;padding:10px 12px;background:#273857;border-color:#9b92c3;color:#f5f8ff}#game .inquiry-button strong{font-size:13px}#game .inquiry-button span{color:#d4e3f8;font-size:10px}#game .investigation-options{gap:7px;margin-bottom:10px}
#evidence-drawer{margin:12px 0 2px;border:1px solid #7186aa;border-radius:7px;background:#102038}#evidence-drawer>summary{cursor:pointer;min-height:38px;padding:9px 12px;color:#dceaff;font-size:12px;font-weight:700}#evidence-count{background:#3c4e70;padding:1px 6px;border-radius:5px;margin-left:5px}#game .case-notes{margin:0;padding:0 10px 10px}#game .evidence-item{border-left-color:#c9b7ff;background:#273656;margin:7px 0;padding:10px}#game .evidence-item.diagnostic{background:#233d36;border-left-color:#dbffa8}#game .evidence-reply{font-size:12px;line-height:1.5;color:#f0f5ff}#game .evidence-fact{font-size:12px;color:#d0e4ee;line-height:1.5}#game .notes-empty{font-size:12px;color:#c5d7f2;padding:8px;margin:0;border:0}#game #empty-ticket{padding:30px 16px}#game #empty-ticket h2{font-size:22px}#game #empty-ticket p{font-size:13px;color:#d4e2f5}#game #empty-ticket .secondary-button{min-height:44px;padding:10px 15px;margin:10px auto;font-size:12px}
#task-workspace,#training-workspace{height:100%;overflow:auto;overscroll-behavior:contain;min-height:0;padding:20px;border:1px solid #8095b2;border-radius:10px;background:#17283f;scrollbar-width:thin;margin:0}#task-workspace h2,#training-workspace h2{margin:0 0 8px;font-size:23px}#task-workspace .panel-caption,#training-workspace>p{color:#c9daef;font-size:13px;line-height:1.5;margin:0 0 18px}#projects,#risk-register{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#game .project-card{margin:0;padding:16px;background:#203750;border:1px solid #829abc;border-radius:9px}#game .project-card h3{font-size:17px;margin:0 0 8px}#game .project-card p{font-size:13px;color:#d7e5f8;line-height:1.5}#game .project-state{font-size:11px;color:#eddbff;margin:12px 0}#game .project-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}#game .project-actions button,#game [data-open-case]{min-height:44px;padding:10px;border:1px solid #a1b7d3;background:#314c6e;color:#fff;font-size:12px;border-radius:6px}#game .project-actions .risky-project{background:#553229;border-color:#ffd0ad;color:#ffe7ce}#game .risk-card{margin:0;padding:16px;background:#462d28;border-color:#ffc49f}#game .risk-card strong{font-size:16px;color:#ffe1c3}#game .risk-card p{font-size:13px;color:#ffe7d6}#task-empty{color:#caddf5;font-size:14px}#training-workspace details{border:1px solid #8299b8;background:#213852;border-radius:8px;margin:10px 0;padding:0 14px}#training-workspace summary{cursor:pointer;min-height:46px;padding:12px 0;font-size:14px;font-weight:700;color:#fff}#training-workspace details p{font-size:14px;line-height:1.65;color:#d7e6fa;margin:0 0 14px}
#game .work-status{flex:none;position:static;padding:8px 12px;margin:7px 0 0;border:1px solid #a4bcd8;background:#253d58;border-radius:6px}#game .work-top{font-size:12px;color:#f0f7ff;gap:10px}#game .work-track{height:3px;margin-top:5px}#game #cancel-work-button{margin:0 0 0 auto;padding:0;font-size:12px;color:#e1cbff;min-height:26px}
.desk-foot{flex:none;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:6px 0 0;min-height:30px;font-size:11px;color:#c1d5ef}.desk-foot .text-button{font-size:11px;min-height:28px;padding:4px 8px;border:1px solid #7185a5;border-radius:5px}#game .outcome{flex:none;position:static;transform:none;display:block;width:100%;max-width:none;min-height:28px;max-height:42px;overflow:auto;margin:4px 0 0;padding:5px 10px;opacity:0;font-size:12px;line-height:1.35;border-radius:5px;pointer-events:none}#game .outcome.visible{opacity:1}#game .outcome.warning{color:#ffe6d5;background:#522e24;border-color:#dfad88}
#system-dialog{max-width:580px;width:calc(100% - 32px);max-height:80dvh;border:1px solid #b4c6e1;border-radius:12px;background:#17283f;color:#f5f8ff;padding:20px;overflow:auto}#system-dialog::backdrop{background:#020711b3}.system-dialog-content>button{float:right;width:auto;padding:8px 15px;margin:0 0 12px;min-height:40px}.system-dialog-content h2{font-size:20px;clear:both}.system-dialog-content .feed{padding:0}.system-dialog-content .feed-item{font-size:13px;color:#e0ebf9}.system-dialog-content p{color:#ccddf2;font-size:13px}.playing #achievement-banner{top:auto;bottom:64px;right:22px;padding:9px 12px;max-width:310px;background:#223829;border-color:#cfefa7;box-shadow:0 5px 15px #0005}.playing #achievement-banner>strong{font-size:13px;margin:3px 0}.playing #achievement-banner p{display:none}.playing #achievement-banner>span{font-size:9px}
@media(min-width:1100px){#game #ticket-detail.has-case{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;align-items:start}.has-case .detail-toolbar{grid-column:1/-1}.has-case #active-ticket,.has-case #acknowledge-button,.has-case #acknowledged-note,.has-case #boss-status,.has-case #hold-notice,.has-case #history-status{grid-column:1}.has-case #action-area{grid-column:2;grid-row:2/span 6}.has-case #evidence-drawer{grid-column:1/-1}.has-case #empty-ticket{grid-column:1/-1}}
@media(max-width:760px){body.playing .app-header{flex-basis:44px;padding:5px 12px}.playing .brand-icon{width:26px;height:26px}.playing .brand{font-size:11px;gap:6px}.playing .brand-hero{font-size:13px}.playing .app-header nav{font-size:10px;gap:10px}.playing .icon-button{font-size:10px}#game{padding:0 8px 4px}#game .shift-strip{min-height:29px;padding:3px 0;font-size:9px}#game .hud{padding:7px 0;margin-bottom:6px;grid-template-columns:1fr 1fr 1fr 1fr}#game .hud>div{padding:0 8px}#game .hud strong{font-size:18px}#game .hud .stat-label{font-size:8px;letter-spacing:0}#game .stat-label b{margin-left:0;display:block}#game .morale-track{height:5px;margin-top:4px}#game .score-pop{display:none}.desk-tabs{gap:4px;margin-bottom:5px}.desk-tabs button{font-size:11px;padding:8px 3px;min-height:44px}.desk-tabs [data-count]{font-size:9px;padding:0 2px;margin-left:1px}.desk-tabs [data-unread]{right:-1px;font-size:9px;min-width:16px}.desk-toolbar{gap:5px;min-height:42px;font-size:10px;flex-wrap:wrap;padding-bottom:5px}#desk-filters{gap:4px}#desk-filters button{min-width:51px;padding:8px 7px;min-height:36px;font-size:11px}.desk-alert{font-size:10px;padding:5px 6px;min-height:32px}#open-total{font-size:10px}#game .workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:104px minmax(0,1fr);gap:7px}#game .queue-panel .panel-title{display:none}#game #queue{flex-direction:row;overflow-x:auto;overflow-y:auto;padding:6px;gap:6px;align-items:stretch}#game .queue-ticket{width:173px;min-width:173px;padding:7px 9px;min-height:73px}#game .queue-ticket.selected{padding:6px 8px}#game .queue-ticket h3{font-size:11px;margin:3px 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#game .queue-top{font-size:8px}#game .queue-timer{font-size:9px}#game .queue-empty{font-size:12px;padding:8px}#game #ticket-detail{padding:10px 12px}.detail-toolbar{top:-10px;margin:-4px 0 10px;padding:7px 0;gap:7px}#game .sla-panel strong{font-size:18px}#game .sla-panel p{font-size:9px;max-width:130px}#game .sla-panel .stat-label{display:none}#game .sla-panel>div{gap:0}#game #hold-button{min-width:62px;min-height:36px;padding:7px 10px;font-size:11px}#game #ticket-title{font-size:21px}#game .ticket-meta{font-size:8px;margin-bottom:6px}#game .pill{font-size:8px}#game .ticket-category{font-size:9px}#game .clue p{font-size:13px}#game .approach-button{font-size:11px;min-height:44px;padding:8px 5px}#game .action-label{font-size:13px}#game .action-button{min-height:48px}#game .inquiry-button{display:block;min-height:48px}#game .inquiry-button span{display:block;margin-top:4px}#game .desk-foot{font-size:9px;gap:5px;min-height:27px}.desk-foot #resolved-label{display:none}#game .outcome{font-size:10px;min-height:26px;max-height:38px;padding:4px 7px;margin-top:2px}#task-workspace,#training-workspace{padding:13px}#projects,#risk-register{grid-template-columns:minmax(0,1fr)}#game .project-card{padding:13px}#game .project-card h3{font-size:17px}#game .project-actions button{min-height:46px}.playing #achievement-banner{bottom:55px;right:12px;max-width:245px}#training-workspace details p{font-size:13px}#game .work-status{padding:5px 8px;margin-top:5px}#game .work-top{font-size:10px}#game #cancel-work-button{font-size:10px;min-height:26px}}
@media(max-height:520px) and (min-width:600px){body.playing .app-header{flex-basis:38px;padding:3px 16px}#game .shift-strip{min-height:24px;padding:1px 0}#game .hud{padding:4px 0;margin-bottom:4px}#game .hud strong{font-size:17px}#game .hud .stat-label{font-size:8px}.desk-tabs{margin-bottom:4px}.desk-tabs button{min-height:36px;padding:5px}.desk-toolbar{min-height:34px;padding-bottom:4px}#desk-filters button{min-height:30px;padding:4px 10px}#game .workspace{grid-template-columns:195px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}#game .desk-foot{min-height:24px;padding-top:3px}#game .outcome{min-height:23px;max-height:26px;margin:2px 0 0;font-size:10px}#game #ticket-detail{padding:8px 12px}.detail-toolbar{top:-8px;padding:5px 0}#game .sla-panel strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){.desk-tabs .new-arrival{animation:none!important}.desk-tabs [data-unread]{border-color:#ffdeb0}}
@media(forced-colors:active){.desk-tabs button,#desk-filters button,#game .queue-ticket,#game .action-button{border:1px solid ButtonText}.desk-tabs [aria-selected=true],#desk-filters [aria-pressed=true]{outline:2px solid Highlight}}

#ticket-detail{scroll-padding-top:68px}#ticket-detail button,#ticket-detail summary{scroll-margin-top:68px}

/* Pulse the outline only: text contrast must never dip during a notification. */
.playing #achievement-banner{display:none}
@media(max-height:520px) and (min-width:600px){body.playing .app-header{display:none}#game .shift-strip{position:absolute;top:10px;right:20px;z-index:5;min-height:0;padding:0}#game .shift-strip>span{display:none}#game .hud{margin-top:6px;padding:7px 80px 7px 0}#game .hud strong{font-size:18px}#game .shift-strip #pause-button{min-height:30px}}
