/* SafetyBuddy AI - first-visit welcome + customer (non-operator) view.
   body.sb-operator      = Bill / TJ tools view (?operator=1 once; ?operator=0 to leave).
   body.sb-welcome-open  = first visit on this browser (or ?welcome=1). */

body:not(.sb-operator) #chatViewBarMid,
body:not(.sb-operator) #hobbLedCaption,
body:not(.sb-operator) #hobbDiscreteLeds,
body:not(.sb-operator) #hobbBiteState,
body:not(.sb-operator) #hobbSeqState,
body:not(.sb-operator) #hobbSendState,
body:not(.sb-operator) #composerAppendHint,
body:not(.sb-operator) #dutyPcPairPanel,
body:not(.sb-operator) .slogan-helper-hint {
  display: none !important;
}

#sbWelcome { display: none; }
body.sb-welcome-open { overflow: hidden; }
body.sb-welcome-open #sbWelcome {
  display: flex;
  position: fixed;
  inset: 0;
  z-index: 2147482500;
  overflow-y: auto;
  justify-content: center;
  align-items: flex-start;
  padding: 32px 16px 48px;
  background: radial-gradient(1200px 600px at 50% -10%, #1e3a5f 0%, #0b1220 60%);
  color: #e2e8f0;
  font: 16px/1.55 system-ui, -apple-system, "Segoe UI", sans-serif;
}
body.sb-welcome-open #hobbSaveLight,
body.sb-welcome-open #hobbDiskErr,
body.sb-welcome-open #sbInstallCard { display: none !important; }

.sbw-inner { width: 100%; max-width: 1040px; }
.sbw-brand { font-weight: 800; letter-spacing: .04em; color: #5eead4; font-size: 14px; text-transform: uppercase; margin: 0 0 14px; }
.sbw-hero h1 { font-size: clamp(28px, 4.2vw, 44px); line-height: 1.15; margin: 0 0 14px; color: #fff; font-weight: 800; }
.sbw-hero p { font-size: clamp(16px, 1.8vw, 19px); margin: 0 0 22px; max-width: 760px; color: #cbd5e1; }
.sbw-cta { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; margin: 0 0 36px; }
.sbw-btn {
  display: inline-block; border: 0; border-radius: 12px; padding: 14px 26px;
  font: 800 17px/1 system-ui, sans-serif; cursor: pointer; text-decoration: none;
  background: #14b8a6; color: #04201d; box-shadow: 0 6px 20px rgba(20, 184, 166, .35);
}
.sbw-btn:hover { background: #2dd4bf; }
.sbw-link { background: none; border: 0; color: #93c5fd; font-size: 15px; cursor: pointer; text-decoration: underline; padding: 6px 2px; }

.sbw-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin: 0 0 40px; padding: 0; list-style: none; }
.sbw-benefits li { background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .1); border-radius: 14px; padding: 16px; }
.sbw-benefits b { display: block; color: #fff; font-size: 16.5px; margin-bottom: 4px; }
.sbw-benefits span { color: #cbd5e1; font-size: 14.5px; }

.sbw-plans-h { font-size: 22px; font-weight: 800; color: #fff; margin: 0 0 14px; }
.sbw-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; margin: 0 0 22px; }
.sbw-plan { background: #111a2e; border: 1px solid #334155; border-radius: 16px; padding: 18px; display: flex; flex-direction: column; gap: 8px; }
.sbw-plan--free { border-color: #14b8a6; box-shadow: 0 0 0 1px #14b8a6 inset; }
.sbw-plan h3 { margin: 0; font-size: 18px; color: #fff; }
.sbw-price { font-size: 26px; font-weight: 800; color: #fff; }
.sbw-price small { font-size: 14px; font-weight: 600; color: #94a3b8; }
.sbw-soon { font-size: 15px; font-weight: 700; color: #94a3b8; }
.sbw-plan ul { margin: 0; padding-left: 18px; color: #cbd5e1; font-size: 14.5px; }
.sbw-plan .sbw-btn { margin-top: auto; text-align: center; font-size: 15px; padding: 11px 16px; }
.sbw-note { color: #94a3b8; font-size: 13.5px; margin: 0; }

@media (max-width: 600px) {
  body.sb-welcome-open #sbWelcome { padding: 20px 12px 36px; }
  .sbw-cta .sbw-btn { width: 100%; text-align: center; }
}
