/* =====================================================================
   Boss mode: the whole game disguised as an Excel workbook.
   Toggled by the "Boss mode" button, the Options tab, or the Esc key.
   ===================================================================== */
#bossTop, #bossBottom { display: none; }
body.boss {
  --text: #1f1f1f; --muted: #666; --gold: #1f1f1f; --good: #107c41; --bad: #c42b1c;
  background: #fff !important; color: #1f1f1f;
  font-family: 'Aptos Narrow', 'Calibri', 'Segoe UI', Arial, sans-serif; font-size: 13px;
}
body.boss h2, body.boss h3, body.boss .title, body.boss #bakeryName, body.boss #cookieCount,
body.boss .storeTitle, body.boss .bld .bName, body.boss .bld .bAmt, body.boss #tooltip .tName,
body.boss .notif .nTitle, body.boss .bigBtn, body.boss #nameForm button {
  font-family: 'Aptos Narrow', 'Calibri', 'Segoe UI', Arial, sans-serif !important;
}
body.boss b { color: inherit; }

/* ---------- chrome ---------- */
body.boss #bossTop { display: block; position: fixed; top: 0; left: 0; right: 0; z-index: 60; background: #f3f3f3; font-family: 'Segoe UI', Arial, sans-serif; font-size: 12px; color: #1f1f1f; }
.xTitle { height: 32px; background: #107c41; color: #fff; display: flex; align-items: center; gap: 14px; padding: 0 10px; white-space: nowrap; overflow: hidden; }
.xLogo { background: #fff; color: #107c41; font-weight: bold; width: 20px; height: 20px; text-align: center; line-height: 20px; border-radius: 3px; }
.xAuto i { font-style: normal; background: rgba(255,255,255,.2); padding: 1px 6px; border-radius: 8px; margin-left: 4px; }
.xFile { flex: 1; text-align: center; }
.xSearch { background: rgba(255,255,255,.18); padding: 3px 60px 3px 10px; border-radius: 4px; }
.xUser { width: 22px; height: 22px; border-radius: 50%; background: #c2e5cf; color: #107c41; font-weight: bold; text-align: center; line-height: 22px; }
.xTabs { display: flex; gap: 2px; padding: 4px 8px 0; background: #f3f3f3; }
.xTabs span { padding: 4px 10px; color: #333; }
.xTabs span.on { color: #107c41; font-weight: 600; border-bottom: 3px solid #107c41; }
.xRibbon { display: flex; height: 64px; background: #fafafa; border-top: 1px solid #e1e1e1; border-bottom: 1px solid #d4d4d4; padding: 3px 6px; overflow: hidden; }
.xRibbon .grp { display: flex; gap: 8px; padding: 0 10px; border-right: 1px solid #e1e1e1; position: relative; align-items: flex-start; font-size: 11px; color: #333; flex-shrink: 0; }
.xRibbon .grp label { position: absolute; bottom: 0; left: 0; right: 0; text-align: center; color: #777; font-size: 10px; }
.xRibbon .big { text-align: center; font-size: 10px; line-height: 1.2; }
.xRibbon .sm { line-height: 1.6; }
.xRibbon .box { border: 1px solid #c8c8c8; background: #fff; padding: 0 4px; }
.xFormula { height: 24px; display: flex; align-items: center; background: #fff; border-bottom: 1px solid #d4d4d4; font-family: 'Aptos Narrow', Calibri, Arial, sans-serif; font-size: 13px; }
.xName { width: 80px; padding-left: 6px; border-right: 1px solid #d4d4d4; height: 100%; display: flex; align-items: center; }
.xFx { padding: 0 10px; color: #777; border-right: 1px solid #d4d4d4; height: 100%; display: flex; align-items: center; gap: 6px; }
#xFormulaText { padding-left: 8px; white-space: nowrap; overflow: hidden; }
.xCols { height: 20px; display: flex; background: #f0f0f0; border-bottom: 1px solid #c8c8c8; overflow: hidden; color: #444; font-size: 12px; }
.xCols span { flex: 0 0 72px; text-align: center; border-right: 1px solid #d4d4d4; line-height: 20px; }
.xCols span.corner { flex: 0 0 34px; background: #e6e6e6; }
body.boss #bossBottom { display: block; position: fixed; bottom: 0; left: 0; right: 0; z-index: 60; font-family: 'Segoe UI', Arial, sans-serif; font-size: 12px; color: #1f1f1f; }
.xSheets { height: 26px; display: flex; background: #f3f3f3; border-top: 1px solid #c8c8c8; align-items: stretch; }
.xSheets span { padding: 0 14px; display: flex; align-items: center; color: #444; border-right: 1px solid #e1e1e1; }
.xSheets span.on { background: #fff; color: #107c41; font-weight: 600; border-bottom: 3px solid #107c41; }
.xStatus { height: 22px; display: flex; gap: 18px; align-items: center; padding: 0 10px; background: #f3f3f3; color: #444; border-top: 1px solid #e1e1e1; white-space: nowrap; overflow: hidden; }
.xStatus .grow { flex: 1; }

/* ---------- spreadsheet body ---------- */
body.boss #game {
  height: calc(100vh - 166px - 50px); margin-top: 166px; padding-left: 34px;
  background-color: #fff;
  background-image: linear-gradient(#f0f0f0, #f0f0f0), linear-gradient(to right, #e2e2e2 1px, transparent 1px), linear-gradient(#e2e2e2 1px, transparent 1px);
  background-size: 34px 100%, 72px 20px, 72px 20px; background-repeat: no-repeat, repeat, repeat;
}
body.boss #middle, body.boss #right { border-left: 1px solid #c8c8c8; border-image: none; }
body.boss #left, body.boss #right, body.boss #queueBox, body.boss #upgrades, body.boss #tech,
body.boss #buyMode, body.boss #ticker, body.boss #tabs, body.boss .panelBox { background: transparent; }
body.boss #cookieGlow, body.boss #milk, body.boss .fallingCookie, body.boss .crumb, body.boss .floater small { display: none !important; }
body.boss #bakeryName { background: #107c41; color: #fff; text-shadow: none; font-size: 14px; padding: 3px 8px; text-align: left; }
body.boss #cookieCount { text-shadow: none; font-size: 20px; text-align: left; width: 100%; padding: 6px 8px; border-bottom: 1px solid #c8c8c8; }
body.boss #cps { font-size: 13px; color: #555; }
body.boss #cookieWrap { width: 260px; height: 190px; margin: 12px 0; }
body.boss #bigCookie { inset: 0; border-radius: 0; filter: none; border: 1px solid #c8c8c8; background: #fff; }
body.boss #bigCookie:hover { transform: none; outline: 2px solid #107c41; }
body.boss #bigCookie:active, body.boss #bigCookie.pressed { transform: none; background: #e9f5ee; }
body.boss #bigCookie .cookieArt { display: none; }
#bigCookie .chartArt { display: none; }
body.boss #bigCookie .chartArt { display: block; }
body.boss .floater { color: #107c41 !important; text-shadow: none; font-size: 13px; font-family: 'Aptos Narrow', Calibri, Arial, sans-serif; }
body.boss .wrinkler { width: 34px; height: 18px; }
body.boss .wrinkler .body { background: #fde9e7; border: 1px solid #c42b1c; border-radius: 0; box-shadow: none; animation: none; }
body.boss .wrinkler .body::before { content: '#REF!'; position: static; width: auto; height: auto; background: none; color: #c42b1c; font-size: 9px; border-radius: 0; display: block; text-align: center; line-height: 16px; }
body.boss .wrinkler .body::after { display: none; }
body.boss .buff { background: #fff2cc; border: 1px solid #bf9000; border-radius: 0; color: #1f1f1f; }
body.boss .buff .bar { background: #bf9000; }
body.boss #chatBox { border: 1px solid #c8c8c8; border-radius: 0; background: #fff; }
body.boss #chatBox::before { content: 'Comments'; display: block; padding: 3px 8px; background: #f3f3f3; border-bottom: 1px solid #d4d4d4; font-weight: 600; }
body.boss #chatInput { background: #fff; color: #1f1f1f; border-radius: 0; }
body.boss #chatLog .buy, body.boss #chatLog .sys { color: #666; }

body.boss #ticker { font-style: normal; font-size: 12px; height: 24px; justify-content: flex-start; border-bottom: 1px solid #c8c8c8; color: #555; }
body.boss #ticker::before { content: 'ℹ\00a0'; color: #107c41; }
body.boss #tabs button, body.boss .btn, body.boss #buyMode button, body.boss .qItem button {
  background: #fff; border: 1px solid #c8c8c8; border-radius: 2px; color: #1f1f1f; padding: 3px 10px;
}
body.boss #tabs button.active, body.boss #buyMode button.active { background: #e9f5ee; border-color: #107c41; color: #107c41; }
body.boss #legacyBtn.ready { box-shadow: none; color: #107c41; }
body.boss .row { height: 22px; border-radius: 0; box-shadow: none; margin: 0; border-bottom: 1px solid #e2e2e2; background: #fff !important; padding-left: 0; }
body.boss .row .icons { display: none; }
body.boss .row .label { position: static; background: none; color: #1f1f1f; font-weight: normal; font-size: 13px; padding: 0 8px; width: 220px; }
body.boss .row::after { content: ''; height: 12px; background: linear-gradient(90deg, #63be7b, #c6e8d0); width: var(--bar, 10%); margin-right: 8px; }
body.boss .panelBox { border: 1px solid #d4d4d4; border-radius: 0; }
body.boss .panelBox h3 { color: #107c41; font-size: 15px; }
body.boss .ach { width: 22px; height: 22px; font-size: 12px; border-radius: 0; border: 1px solid #e2e2e2; background: #fff; }
body.boss .ach.won { background: #c6efce; border-color: #a9d8b5; }
body.boss .ach, body.boss .bld .bIcon, body.boss .hIcon, body.boss .notif .nIcon { filter: grayscale(1) opacity(.55); }
body.boss .storeTitle { background: #107c41; text-shadow: none; color: #fff; font-size: 13px; text-align: left; padding: 3px 8px; }
body.boss .upg { width: 26px; height: 22px; font-size: 13px; border-radius: 0; border: 1px solid #d4d4d4; box-shadow: none; background: #fff !important; opacity: .4; filter: grayscale(1); }
body.boss .upg.afford { opacity: 1; background: #e9f5ee !important; }
body.boss .upg .badge { display: none; }
body.boss .bld { height: 24px; grid-template-columns: 22px 1fr auto; background: #fff; border-bottom: 1px solid #e2e2e2; opacity: 1; color: #999; padding: 0 6px; }
body.boss .bld.afford { color: #1f1f1f; }
body.boss .bld.afford:hover { filter: none; background: #e9f5ee; }
body.boss .bld.sell { background: #fff; color: #1f1f1f; }
body.boss .bld .bIcon { font-size: 13px; }
body.boss .bld > div:nth-child(2) { display: flex; gap: 10px; align-items: baseline; }
body.boss .bld .bName { font-size: 13px; text-shadow: none; }
body.boss .bld .bAmt { font-size: 13px; color: #1f1f1f; }
body.boss .qItem { background: #fff; border: 1px solid #e2e2e2; border-radius: 0; }
body.boss .qItem.head { background: #fff2cc; }
body.boss .qItem .qBar div { background: #63be7b; }
body.boss #queueBox { border-bottom: 1px solid #c8c8c8; }
body.boss #queueBox h3 { font-family: inherit; font-size: 13px; font-weight: 600; }
body.boss #tooltip { background: #fff; border: 1px solid #c8c8c8; border-radius: 0; color: #1f1f1f; box-shadow: 0 2px 8px rgba(0,0,0,.2); }
body.boss #tooltip .tName { font-size: 14px; font-weight: 600; }
body.boss .notif { background: #fff; border: 1px solid #c8c8c8; border-left: 4px solid #107c41; border-radius: 2px; color: #1f1f1f; }
body.boss #notifs { top: 172px; }
body.boss .goldenCookie { width: 130px; height: 22px; animation: none; filter: none; transform: translate(-50%, -50%); background: #fff2cc; border: 1px solid #bf9000; color: #1f1f1f; font-size: 12px; font-family: inherit; }
body.boss .goldenCookie svg { display: none; }
body.boss .goldenCookie::after { content: '◥ 1 new comment'; }
body.boss .goldenCookie.wrath { background: #fde9e7; border-color: #c42b1c; }
body.boss .goldenCookie.wrath::after { content: '⚠ #DIV/0! error'; }
body.boss .goldBurst { color: #107c41; text-shadow: none; font-size: 14px; }
body.boss #voteBanner { background: #fff2cc; border: 1px solid #bf9000; border-radius: 0; }
body.boss #ascendOverlay { background: #fff; color: #1f1f1f; top: 166px; bottom: 50px; }
body.boss #ascendOverlay h2 { color: #107c41; text-shadow: none; font-size: 24px; }
body.boss .heavenUp { border-radius: 0; background: #fff; border: 1px solid #d4d4d4; }
body.boss .heavenUp.owned { background: #c6efce; border-color: #a9d8b5; }
body.boss .bigBtn { background: #107c41; color: #fff; border: none; border-radius: 3px; font-size: 14px; padding: 6px 18px; }
body.boss input.text, body.boss select { background: #fff; color: #1f1f1f; border-color: #c8c8c8; }
body.boss #bossBtn { border-color: #107c41; color: #107c41; }
body.boss #disconnected { background: rgba(255,255,255,.85); color: #1f1f1f; }

body.boss #chatLog, body.boss #notifs, body.boss #buffs { filter: grayscale(1); }
body.boss #nameModal, body.boss #ascendOverlay { font-family: 'Segoe UI', Arial, sans-serif; }
body.boss #nameModal { background: rgba(255,255,255,.6); }
body.boss #nameForm { background: #fff; border: 1px solid #c8c8c8; border-radius: 4px; color: #1f1f1f; box-shadow: 0 8px 24px rgba(0,0,0,.2); }
body.boss #nameForm h2 { font-size: 18px; color: #107c41; }
body.boss #nameForm input { background: #fff; color: #1f1f1f; border-color: #c8c8c8; border-radius: 2px; }
body.boss #nameForm button { background: #107c41; color: #fff; border-radius: 3px; font-size: 14px; }

/* kitchen in disguise: a plain "pending order" form */
body.boss #kitchen { background: #fff; border: 1px solid #c8c8c8; border-radius: 0; box-shadow: none; color: #1f1f1f; }
body.boss #kitchen.order { border-left: 4px solid #bf9000; }
body.boss #kitchen .step, body.boss #kitchen .bowlIng, body.boss #kitchen .card, body.boss .recipe .rSteps { filter: grayscale(1); }
body.boss #kitchen .step { border-radius: 0; background: #f3f3f3; animation: none; }
body.boss #kitchen .step.now { border-color: #107c41; }
body.boss #kitchen .card { background: #fff; border: 1px solid #c8c8c8; box-shadow: none; border-radius: 2px; color: #1f1f1f; }
body.boss #kitchen .kTimer div { background: #107c41; }
body.boss #kitchen .kNew { background: #c6efce; color: #1f1f1f; }
body.boss .recipe { background: #fff; border: 1px solid #d4d4d4; border-radius: 0; }
body.boss #kitchen .kMod { background: #fde9e7; color: #1f1f1f; }
body.boss #kitchen .kRules { color: #555; }
body.boss h4.rTier { font-family: inherit; color: #107c41; }
