/* Employee badges, staff notices and a brief, non-blocking Boss announcement. */
body.immersive-game .campaign-lobby .hero-stage {
  height:244px; border:2px solid #b9c1af; border-radius:7px;
  background:#e9e2ce; box-shadow:0 5px 0 #080f1b66,inset 0 0 0 5px #f7f0dc;
  overflow:hidden;
}
body.immersive-game .campaign-lobby .hero-stage::before {
  content:''; position:absolute; z-index:3; top:9px; left:calc(50% - 21px);
  width:42px; height:7px; background:#263a3c; border:2px solid #fff8e6; border-radius:4px;
}
body.immersive-game .campaign-lobby .hero-stage::after {
  content:'夜班突擊部'; position:absolute; left:16px; right:16px; top:29px;
  padding:7px 10px; background:#315851; border-bottom:3px solid #bd9180;
  color:#f2ebd6; font:600 11px/1.4 var(--sans); letter-spacing:3px;
}
body.immersive-game .campaign-lobby .hero-stage > canvas#lobby-map-scene { opacity:.08; filter:grayscale(1); }
body.immersive-game .campaign-lobby .hero-stage-shade { background:none; }
body.immersive-game .campaign-lobby .hero-serial { top:36px; right:25px; left:auto; z-index:4; color:#dfebce; font:9px/1.4 var(--mono); letter-spacing:1px; }
body.immersive-game .campaign-lobby .hero-pedestal { left:18px; bottom:43px; width:40%; height:115px; border:1px solid #8fa396; border-radius:3px; background:repeating-linear-gradient(0deg,#d8decf 0 12px,#d2dacb 12px 13px); transform:none; box-shadow:inset 0 0 0 4px #f2ecd9; }
body.immersive-game .campaign-lobby .hero-stage .character-preview { left:calc(25% - 67px); bottom:43px; width:134px; height:134px; background:transparent; }
body.immersive-game .campaign-lobby .hero-caption { left:51%; top:76px; right:14px; bottom:auto; }
body.immersive-game .campaign-lobby .hero-caption > span { color:#53675d; font-size:9px; }
body.immersive-game .campaign-lobby .hero-caption strong { color:#263e3a; text-shadow:0 1px #fff9eb; font-size:29px; letter-spacing:2px; }
body.immersive-game .campaign-lobby .hero-caption .hero-specialty { color:#765261; background:#dcbac533; border-color:#a7697d; }
body.immersive-game .campaign-lobby .hero-weapon { margin-top:6px; gap:6px; }
body.immersive-game .campaign-lobby .hero-weapon canvas { width:32px; height:32px; flex-basis:32px; background:#cfd8c5; border-color:#8a9d8b; border-radius:2px; }
body.immersive-game .campaign-lobby .hero-caption small { color:#3a5149; font-size:10px; }
body.immersive-game .campaign-lobby .hero-map-badge { top:192px; bottom:auto; right:16px; padding:2px 5px; color:#5c6557; background:none; border:0; font-size:9px; }
body.immersive-game .campaign-lobby .hero-quote { position:absolute; bottom:9px; left:16px; right:16px; margin:0; padding-top:7px; border-top:1px dashed #8fa08c; color:#506254; font:11px/1.5 var(--sans); text-align:center; }

body.immersive-game .game-modal.staff-notice { color:#293f39; background:#e7dfc7; border:2px solid #c8b98b; border-radius:4px; box-shadow:0 9px 0 #09132066,inset 0 0 0 5px #f4ecd6; }
body.immersive-game .staff-notice .modal-eyebrow { display:block; border-bottom:2px solid #71887a; margin:0 0 10px; padding-bottom:10px; color:#536a5d; font-size:9px; letter-spacing:1px; }
body.immersive-game .staff-notice h2 { color:#294239; font-size:24px; text-shadow:none; }
body.immersive-game .staff-notice .upgrade-subtitle { color:#56675b; }
body.immersive-game .staff-notice .upgrade-subtitle > span { color:#916177; }
body.immersive-game .staff-notice .upgrade-option { --card-accent:#aa607d; border:1px solid #b0b3a0; border-left:4px solid var(--card-accent); border-radius:2px; background:#f7f0de; box-shadow:0 3px #817b6026; }
body.immersive-game .staff-notice .support-upgrade { --card-accent:#427e70; }
body.immersive-game .staff-notice .evolution-card { --card-accent:#a77520; background:#fbebba; }
body.immersive-game .staff-notice .basic-upgrade { --card-accent:#6b73a1; }
body.immersive-game .staff-notice .upgrade-option > canvas,
body.immersive-game .staff-notice .upgrade-option > .support-icon { border:1px solid #b3bcaa; background:#dfe4d5; color:#587166; border-radius:2px; }
body.immersive-game .staff-notice .upgrade-option strong { color:#2c443c; }
body.immersive-game .staff-notice .upgrade-option small { color:#57665b; }
body.immersive-game .staff-notice .upgrade-num,
body.immersive-game .staff-notice .evolution-card .upgrade-num { color:#7b5c65; }
body.immersive-game .staff-notice .upgrade-kind { color:var(--card-accent); border:1px solid currentColor; background:#f5eddc; transform:rotate(-2deg); border-radius:1px; }
body.immersive-game .staff-notice .upgrade-option .upgrade-pairing { color:#3e6659; border-color:#a6b29d; }
body.immersive-game .staff-notice .rank-dots i { background:#c8cbb9; }
body.immersive-game .staff-notice .rank-dots i.filled { background:var(--card-accent); }
body.immersive-game .staff-notice .upgrade-footnote { color:#627265; border-top:1px dashed #9ba58f; padding-top:10px; }
body.immersive-game .staff-notice .upgrade-option:hover { background:#fff8e8; border-color:var(--card-accent); box-shadow:inset 0 0 0 1px var(--card-accent); }
body.immersive-game .staff-notice .upgrade-option:focus-visible { outline:3px solid #467b6a; outline-offset:3px; }

.boss-arrival { position:absolute; z-index:8; top:calc(var(--safe-top,0px) + 171px); left:50%; transform:translateX(-50%); width:min(360px,calc(100% - 28px)); display:flex; align-items:center; gap:10px; padding:9px 13px; border:1px solid var(--boss-color,#efb5c7); border-left:5px solid var(--boss-color,#efb5c7); background:#172c35ed; color:#f6ecda; box-shadow:0 4px #081a2377; pointer-events:none; animation:office-stamp .18s steps(3,end); }
.boss-arrival[hidden],body:not([data-game-state='playing']) .boss-arrival { display:none; }
.boss-arrival canvas { width:50px; height:50px; image-rendering:pixelated; flex:0 0 50px; }
.boss-arrival > div { min-width:0; }
.boss-arrival small { display:block; font:8px/1.3 var(--sans); color:var(--boss-color); letter-spacing:1px; }
.boss-arrival strong { display:block; font:700 17px/1.5 var(--sans); }
.boss-arrival p { margin:2px 0 0; color:#d5ddd1; font:11px/1.4 var(--sans); }
@keyframes office-stamp { from{opacity:0;translate:0 -6px} to{opacity:1;translate:0 0} }
@media(max-width:360px){
  body.immersive-game .campaign-lobby .hero-stage { height:224px; }
  body.immersive-game .campaign-lobby .hero-caption { top:73px; }
  body.immersive-game .campaign-lobby .hero-caption strong { font-size:25px; }
  body.immersive-game .campaign-lobby .hero-stage .character-preview { width:116px;height:116px;left:calc(25% - 58px);bottom:41px; }
  body.immersive-game .campaign-lobby .hero-pedestal { height:105px;bottom:41px;left:14px; }
  body.immersive-game .campaign-lobby .hero-map-badge { top:174px; }
  body.immersive-game .campaign-lobby .hero-quote { font-size:10px; }
  body.immersive-game .staff-notice h2 { font-size:21px; }
  .boss-arrival strong { font-size:15px; }
}
@media(orientation:landscape) and (max-height:600px){
  .boss-arrival { top:80px; width:300px; padding:6px 10px; }
  .boss-arrival canvas { width:40px;height:40px;flex-basis:40px; }
  body.immersive-game .campaign-lobby .hero-stage { height:218px; }
}
@media(prefers-reduced-motion:reduce){.boss-arrival{animation:none}}

body.immersive-game .campaign-lobby .hero-caption > span:first-child { color:#53675d; font-size:9px; }
