/* Boss Office world layer and dialogs */
.boss-art{position:absolute;pointer-events:none;image-rendering:pixelated}
.boss-room{image-rendering:auto}
.boss-layer{position:absolute;left:0;top:0;width:0;height:0}
.boss-layer img,.boss-layer svg,.boss-art{max-width:none;max-height:none}
.layout-editing .boss-layer{pointer-events:none;z-index:3}
.boss-overlay{position:absolute;pointer-events:none;overflow:visible}
.boss-overlay text{font-family:var(--font-game);fill:#e9f2f7}
.boss-scr-sym{font-size:13px;font-weight:700}
.boss-scr-price{font-size:10px;fill:#b9c8d2}
.boss-scr-dim{font-size:11px;fill:#8aa0ae}
.boss-scr-change{font-size:15px;font-weight:700}
.boss-scr-change.is-up{fill:#49d46c}.boss-scr-change.is-down{fill:#ff5f57}
.boss-overlay .boss-dart-count{font-size:15px;font-weight:700;fill:#fff;stroke:#2a150a;stroke-width:3px;paint-order:stroke;text-anchor:middle}
.boss-plate{position:absolute;display:flex;align-items:center;justify-content:center;transform-origin:0 0;font:700 3.5px/8px var(--font-game);letter-spacing:.1px;text-align:center;color:#3b230d;pointer-events:none;white-space:nowrap}
.boss-hit,.boss-prop,.boss-ceo{position:absolute;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:pointer;transform:none;min-width:0;min-height:0}
.boss-hit:hover,.boss-prop:hover,.boss-ceo:hover{background:transparent;transform:none}
.boss-prop img{display:block;width:100%;height:100%;image-rendering:pixelated;pointer-events:none}
.boss-prop:hover img,.boss-prop:focus-visible img{filter:brightness(1.2) drop-shadow(0 0 2px #ffe28c)}
.boss-badge{position:absolute;right:-6px;top:-6px;min-width:11px;height:11px;padding:0 2px;background:#c8231e;color:#fff;font:700 8px/11px var(--font-game);text-align:center;box-shadow:0 0 0 1px #2a150a}
.boss-badge[hidden]{display:none}
.boss-paused-tag{display:none;position:absolute;left:50%;top:-14px;transform:translateX(-50%);background:#c8231e;color:#fff;font:700 7px/10px var(--font-game);padding:0 3px;white-space:nowrap;animation:boss-blink 1s steps(2,end) infinite}
.ai-paused .boss-paused-tag{display:block}
@keyframes boss-blink{50%{opacity:.35}}
.boss-ceo{width:var(--ceo-width);height:var(--ceo-height);overflow:visible}
.boss-ceo .pixel-person{--character-direction:1;width:100%;height:100%;image-rendering:pixelated;animation:character-idle 3s steps(2,end) infinite}
.boss-dialog{display:flex;flex-direction:column;gap:20px;min-height:0;max-width:1280px;width:100%;margin:auto}
.boss-dialog h3{margin:8px 0 0}
.boss-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.boss-stat{display:flex;flex-direction:column;gap:10px;padding:0 0 14px;background:var(--work-paper);border:3px solid var(--work-wood)}
.boss-stat .mail-queue-head{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--font-body);font-size:14px;min-height:70px;padding:12px}
.boss-stat strong,.boss-stat>small{padding:0 14px;overflow-wrap:anywhere}
.boss-stat span,.boss-stat small{color:var(--muted)}
.boss-stat strong{font:700 24px/1.2 var(--font-game)}
.boss-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.boss-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;background:var(--surface);border-left:4px solid var(--line-strong)}
.boss-list li>span:first-child{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}
.boss-list small,.boss-note,.boss-empty{color:var(--muted)}
.boss-list li>button{min-height:36px}
.boss-actions{display:flex;flex-wrap:wrap;gap:6px}
.boss-reply-body{white-space:pre-wrap}
.boss-demo{font-style:normal;font-size:12px;padding:0 4px;background:var(--yellow);color:#1b1b1b}
.boss-alert-red{border-left-color:var(--red)!important}.boss-alert-yellow{border-left-color:var(--yellow)!important}
.boss-meter{height:22px;background:var(--surface-2);border:2px solid var(--line-strong)}
.boss-meter span{display:block;height:100%;background:var(--green)}
.boss-table{overflow:auto}
.boss-table table{border-collapse:collapse;width:100%;min-width:560px}
.boss-table th,.boss-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}
.is-up{color:var(--green)}.is-down{color:var(--red)}
.boss-control{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.boss-dialog .boss-red-button{min-height:64px;padding:12px 24px;background:var(--work-red);color:var(--work-title-ink);font:700 18px/1.5 var(--font-game);box-shadow:inset 0 -5px var(--work-edge)}
.boss-dialog .boss-red-button:hover{filter:brightness(1.1)}
.boss-dialog .boss-red-button.is-paused{background:var(--work-green);color:var(--work-title-ink)}
.boss-trophies{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.boss-trophies li{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px;text-align:center;background:var(--surface);border:2px solid var(--line-strong)}
.boss-trophies .is-locked{opacity:.55}
.boss-cup{width:28px;height:32px;background:linear-gradient(#e7b93c,#a8751c);clip-path:polygon(10% 0,90% 0,85% 45%,60% 60%,60% 80%,80% 85%,80% 100%,20% 100%,20% 85%,40% 80%,40% 60%,15% 45%)}
.boss-trophies .is-locked .boss-cup{background:var(--line-strong)}
.boss-deals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.boss-deal{background:var(--surface);border-top:6px solid var(--line-strong);padding:10px;min-width:0}
.boss-deal.boss-red{border-top-color:var(--red)}.boss-deal.boss-yellow{border-top-color:var(--yellow)}.boss-deal.boss-green{border-top-color:var(--green)}
.boss-deal h3{display:flex;justify-content:space-between;gap:8px;margin:0 0 6px}
.boss-deal ul{list-style:none;margin:0;padding:0;max-height:50vh;overflow:auto}
.boss-deal li{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.boss-leaders{margin:0;padding:0;list-style:none;counter-reset:rank;display:flex;flex-direction:column;gap:6px}
.boss-leaders li{counter-increment:rank;display:grid;grid-template-columns:28px 40px 1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:10px;padding:8px 10px;background:var(--surface);border:2px solid var(--line-strong)}
.boss-leaders li::before{content:counter(rank);grid-row:1/3;font:700 20px var(--font-game)}
.boss-leaders img{grid-row:1/3;width:40px;height:60px;object-fit:contain;object-position:center;justify-self:center;image-rendering:pixelated}
.boss-leaders span{display:flex;flex-direction:column}
.boss-leaders b{font:700 22px var(--font-game);text-align:right}
.boss-leaders li>small{grid-column:3/5;color:var(--muted)}
.boss-portfolio-form{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.boss-portfolio-form textarea{width:100%;max-width:520px;font-family:var(--font-mono)}
@media(max-width:700px){.boss-deals{grid-template-columns:1fr}.boss-stat strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.boss-ceo .pixel-person,.boss-paused-tag{animation:none}}

.boss-ceo-identity{top:calc(100% + 2px);pointer-events:none}
.boss-ceo::after{content:none}

/* Desk tools follow Maxim in DOM order, so they stay clickable in front of his silhouette. Neither makes a stacking context, which lets hover tags rise above the whole office. */

/* CEO tools use the employee workstation shell, queue cards and title palette. */
.boss-tool-intro{margin:0;padding-bottom:16px;border-bottom:2px solid var(--work-wood)}
.boss-tool-intro>.work-icon{width:48px;height:48px}
.boss-tool-intro small{display:block;color:var(--work-muted);margin-top:4px}
.boss-menu .mail-queue{min-width:0;align-self:start}
.boss-dialog .mail-queue-head{margin:0;line-height:1.5}
.boss-menu .work-menu-card{grid-template-columns:minmax(0,1fr) 140px}
.work-menu-card>span>span{min-width:0}
.work-menu-card small{display:block;color:var(--work-muted);font-size:13px;line-height:1.45;margin-top:5px}
.work-menu-card .mail-status{font-size:13px;overflow-wrap:anywhere}
.boss-dialog .boss-menu .work-menu-card:hover{background:var(--work-paper-deep)}
.boss-dialog .goal-board{margin:0;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.boss-dialog .goal-board .quarter{border-top:0;border-left:2px solid var(--work-wood);padding:0 0 0 24px;margin:0}
.boss-dialog .goal-board .quarter button{display:flex;align-items:center;gap:10px}
.boss-dialog .boss-list li{padding:16px;border-left-color:var(--work-title);box-shadow:inset 0 -2px var(--work-wood)}
.boss-dialog .boss-deal{padding:18px;border:3px solid var(--work-wood);border-top:6px solid var(--work-signal-red)}
.boss-dialog .boss-yellow{border-top-color:var(--work-signal-yellow)}
.boss-dialog .boss-green{border-top-color:var(--work-signal-green)}
.boss-dialog .boss-trophies li{padding:24px 16px;border-color:var(--work-wood);box-shadow:0 3px var(--work-edge)}
.boss-dialog .boss-table{border:3px solid var(--work-wood)}
.boss-dialog .boss-table th,.boss-dialog .boss-table td{padding:14px}
.boss-dialog .boss-table thead{background:var(--work-paper-deep)}
.boss-dialog .boss-leaders li{border-color:var(--work-wood);padding:14px}
.boss-dialog .boss-portfolio-form{padding-top:20px;border-top:2px solid var(--work-wood)}
@media(max-width:700px){
 .boss-menu .mail-queue+ .mail-queue{margin-top:24px}
 .game-panel-main .boss-menu .work-menu-card{grid-template-columns:minmax(0,1fr);gap:10px}
 .work-menu-card .mail-status{margin-left:40px;text-align:left;width:fit-content}
 .boss-dialog{gap:18px}.boss-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .boss-stat strong{font-size:16px}
 .boss-dialog .goal-board{display:block}
 .boss-dialog .goal-board .quarter{border-left:0;border-top:2px solid var(--work-wood);padding:14px 0 0;margin-top:14px}
 .boss-stat .mail-queue-head{align-items:flex-start;flex-direction:column;min-height:110px}
 .boss-dialog .boss-leaders li{padding:10px;column-gap:6px;grid-template-columns:24px 40px minmax(0,1fr) auto}
 .boss-dialog .boss-leaders b{font-size:18px}.boss-dialog .boss-leaders li>small{grid-column:3/5}
 .boss-dialog .boss-red-button{width:100%;font-size:14px}
}
