/* Boost Mode — agreement window + red/black live card. Everything is scoped to .boost-* classes or #miningVisualCard.boost-on,
   so the normal mining screen is untouched unless a Boost session is running. */
.boost-overlay { position: fixed; inset: 0; z-index: 10000; background: rgba(3,4,8,.88); backdrop-filter: blur(7px); display: flex; align-items: center; justify-content: center; padding: 18px; animation: boostFade .25s ease-out; }
@keyframes boostFade { from { opacity: 0; } to { opacity: 1; } }
.boost-box { position: relative; max-width: 400px; width: 100%; background: linear-gradient(180deg, #1a0a0d, #0a0709); border: 1px solid rgba(239,68,68,.55); border-radius: 20px; padding: 24px 18px 18px; text-align: center; box-shadow: 0 0 40px rgba(239,68,68,.25), 0 24px 60px rgba(0,0,0,.65); overflow: hidden; animation: boostPop .3s cubic-bezier(.2,1.2,.4,1); }
@keyframes boostPop { from { transform: scale(.9); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.boost-box::before { content: ''; position: absolute; inset: -40% -20% auto -20%; height: 70%; background: radial-gradient(ellipse at center, rgba(239,68,68,.28), transparent 70%); pointer-events: none; }
.boost-box > * { position: relative; }
.boost-bolt { font-size: 2.2rem; filter: drop-shadow(0 0 12px rgba(251,191,36,.8)); }
.boost-box h3 { margin: 4px 0 2px; font-size: .9rem; color: #f87171; letter-spacing: .5px; }
.boost-head { font-size: 1.25rem; font-weight: 800; color: #fbbf24; margin: 4px 0 12px; text-shadow: 0 0 18px rgba(251,191,36,.45); line-height: 1.4; }
.boost-body { color: #d1c7c9; font-size: .8rem; line-height: 1.8; margin: 0 0 10px; }
.boost-warn { color: #fca5a5; background: rgba(239,68,68,.12); border: 1px solid rgba(239,68,68,.35); border-radius: 10px; padding: 8px 10px; font-size: .78rem; font-weight: 700; margin-bottom: 14px; }
.boost-btn { display: block; width: 100%; border: 0; border-radius: 13px; padding: 13px; font-size: .95rem; font-weight: 800; cursor: pointer; }
.boost-btn.go { color: #fff; background: linear-gradient(135deg, #dc2626, #991b1b); box-shadow: 0 8px 22px rgba(220,38,38,.4); margin-bottom: 9px; }
.boost-btn.normal { color: #e2e8f0; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.18); }
.boost-hint { color: #8b8497; font-size: .68rem; margin-top: 8px; }

/* Live card while a Boost session runs */
#miningVisualCard.boost-on { background: linear-gradient(180deg, rgba(28,6,9,.97), rgba(4,2,3,.99)); border-color: rgba(239,68,68,.6); box-shadow: 0 0 30px rgba(239,68,68,.22), inset 0 0 34px rgba(0,0,0,.55); }
#miningVisualCard.boost-on #miningLiveAmount { display: none; }
#miningVisualCard.boost-on .mining-visual-bar .fill { background: linear-gradient(90deg, #991b1b, #ef4444); box-shadow: 0 0 10px rgba(239,68,68,.7); }
#miningVisualCard.boost-on .mining-visual-bar { border-color: rgba(239,68,68,.35); background: #170708; }
#miningVisualCard.boost-on .mining-terminal-log { color: #f87171; }
.boost-live { display: none; }
#miningVisualCard.boost-on .boost-live { display: block; }
#miningVisualCard .boost-tag { position: absolute; top: 8px; right: 10px; z-index: 2; font-size: .62rem; font-weight: 800; color: #fecaca; background: rgba(239,68,68,.22); border: 1px solid rgba(239,68,68,.5); border-radius: 20px; padding: 2px 8px; animation: boostPulse 1.6s infinite; }
@keyframes boostPulse { 0%,100% { opacity: 1; } 50% { opacity: .55; } }
.boost-amount { font-family: 'Courier New', ui-monospace, monospace; font-size: 2.4rem; font-weight: 800; letter-spacing: 1px; margin-bottom: 6px; color: #fecaca; transition: color .25s, text-shadow .25s; }
.boost-amount.up { color: #4ade80; text-shadow: 0 0 20px rgba(74,222,128,.5); }
.boost-amount.down { color: #f87171; text-shadow: 0 0 20px rgba(248,113,113,.55); }
#miningVisualCard .boost-delta { position: absolute; top: 8px; left: 10px; z-index: 2; font-family: 'Courier New', ui-monospace, monospace; font-size: .72rem; font-weight: 700; direction: ltr; text-align: right; line-height: 1.5; }
.boost-delta div { opacity: 0; animation: boostDelta 1.4s ease-out forwards; }
.boost-delta .u { color: #4ade80; }
.boost-delta .d { color: #f87171; }
@keyframes boostDelta { 0% { opacity: 0; transform: translateY(6px); } 15% { opacity: 1; } 100% { opacity: 0; transform: translateY(-8px); } }
.boost-result { margin-top: 10px; padding: 9px 10px; border-radius: 10px; font-size: .78rem; font-weight: 700; }
.boost-result.gain { color: #86efac; background: rgba(34,197,94,.12); border: 1px solid rgba(34,197,94,.4); }
.boost-result.loss { color: #fca5a5; background: rgba(239,68,68,.12); border: 1px solid rgba(239,68,68,.4); }
.boost-result.flat { color: #cbd5e1; background: rgba(148,163,184,.12); border: 1px solid rgba(148,163,184,.35); }

#miningVisualCard .boost-chart { display: none; position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; opacity: .75; }
#miningVisualCard.boost-on .boost-chart { display: block; }

/* Whole-platform look while a Boost session runs (class set on <body> by boost.js, removed when the session ends) */
body.boost-world { background: radial-gradient(circle at 50% 25%, #5a0a13 0%, #1c0408 46%, #050102 100%); transition: background .6s; }
body.boost-world .app-container { background: rgba(24, 4, 8, .9); border-color: rgba(239, 68, 68, .5); box-shadow: 0 30px 60px rgba(0, 0, 0, .75), 0 0 46px rgba(239, 68, 68, .28), 0 0 0 1px rgba(239, 68, 68, .35); }
body.boost-world .app-container::before { background: radial-gradient(circle at 30% 40%, rgba(239, 68, 68, .13), transparent 70%); animation: boostWorldPulse 2.2s ease-in-out infinite; }
@keyframes boostWorldPulse { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
body.boost-world .dashboard-header { background: rgba(60, 6, 12, .45); }
body.boost-world .nav-tabs { background: rgba(60, 6, 12, .4); border-color: rgba(239, 68, 68, .25); }
body.boost-world .nav-tab.active { background: #ef4444; color: #fff; box-shadow: 0 0 20px rgba(239, 68, 68, .45); }
body.boost-world .nav-tab:hover { color: #f87171; background: rgba(239, 68, 68, .12); }

/* HOT / COLD word shown over the live chart */
#miningVisualCard .boost-phase { display: none; position: absolute; left: 0; right: 0; bottom: 14px; z-index: 2; text-align: center; font-size: 1.5rem; font-weight: 900; letter-spacing: 3px; pointer-events: none; text-transform: uppercase; }
#miningVisualCard.boost-on .boost-phase { display: block; }
.boost-phase.hot { color: #fb923c; text-shadow: 0 0 16px rgba(251,146,60,.9), 0 0 34px rgba(239,68,68,.7); }
.boost-phase.cold { color: #7dd3fc; text-shadow: 0 0 16px rgba(96,165,250,.9), 0 0 34px rgba(59,130,246,.7); }
.boost-phase.pop { animation: boostPhasePop .5s cubic-bezier(.2,1.4,.4,1); }
@keyframes boostPhasePop { from { transform: scale(1.7); opacity: 0; } to { transform: scale(1); opacity: 1; } }

/* Header status (replaces "mining balance 0.00" while a Boost session runs) */
.mining-stats .boost-status { display: none; }
body.boost-world .mining-stats > :not(.boost-status) { display: none; }
body.boost-world .mining-stats .boost-status { display: block; text-align: center; width: 100%; }
.boost-status small { display: block; color: #fca5a5; font-size: .72rem; font-weight: 700; margin-bottom: 4px; letter-spacing: .3px; }
.boost-status b { display: block; font-size: 1.25rem; font-weight: 900; color: #fecaca; line-height: 1.5; }
.boost-status.win b { color: #4ade80; text-shadow: 0 0 18px rgba(74,222,128,.55); }
.boost-status.lose b { color: #f87171; text-shadow: 0 0 18px rgba(248,113,113,.6); }
.boost-status.pop b { animation: boostStatusPop .45s cubic-bezier(.2,1.4,.4,1); }
@keyframes boostStatusPop { from { transform: scale(1.25); opacity: .3; } to { transform: scale(1); opacity: 1; } }

/* announced profit % set by the administration */
.boost-declared { margin: 10px 0; padding: 10px 12px; border-radius: 10px; background: rgba(250,204,21,.12); border: 1px solid rgba(250,204,21,.45); color: #fde68a; font-weight: 800; text-align: center; }
#miningVisualCard .boost-declared { display: none; position: relative; z-index: 2; margin: 8px 12px 0; font-size: .9rem; }
#miningVisualCard.boost-on .boost-declared { display: block; }
.boost-declared.up { color: #4ade80; border-color: rgba(74,222,128,.5); background: rgba(74,222,128,.12); }
.boost-declared.down { color: #f87171; border-color: rgba(248,113,113,.55); background: rgba(248,113,113,.12); }
