.onboarding-trigger { position: fixed; right: 22px; bottom: 22px; z-index: 780; display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 9px 14px; border: 1px solid var(--border-color, #30363d); border-radius: 999px; background: var(--surface-raised, #161b22); color: var(--text-primary, #f0f6fc); box-shadow: 0 8px 28px rgba(0, 0, 0, .28); cursor: pointer; font: inherit; font-weight: 600; } .onboarding-trigger:hover { border-color: var(--accent, #58a6ff); } .onboarding-trigger:focus-visible, .onboarding-panel button:focus-visible, .onboarding-panel a:focus-visible { outline: 2px solid var(--accent, #58a6ff); outline-offset: 2px; } .onboarding-panel { position: fixed; right: 22px; bottom: 76px; z-index: 790; width: min(410px, calc(100vw - 28px)); max-height: min(700px, calc(100vh - 104px)); overflow: auto; scroll-behavior: auto; border: 1px solid var(--border-color, #30363d); border-radius: 14px; background: var(--surface-raised, #161b22); color: var(--text-primary, #f0f6fc); box-shadow: 0 18px 48px rgba(0, 0, 0, .4); } .onboarding-panel[hidden] { display: none; } .onboarding-head { display: flex; justify-content: space-between; gap: 12px; padding: 17px 18px 12px; border-bottom: 1px solid var(--border-color, #30363d); } .onboarding-title { margin: 0; font-size: 17px; } .onboarding-subtitle { margin: 4px 0 0; color: var(--text-muted, #8b949e); font-size: 12px; } .onboarding-head-actions { display: flex; gap: 4px; } .onboarding-icon-button { border: 0; background: transparent; color: inherit; cursor: pointer; border-radius: 6px; min-width: 32px; min-height: 32px; } .onboarding-body { padding: 14px 18px 18px; } .onboarding-status { min-height: 20px; color: var(--text-muted, #8b949e); font-size: 12px; margin-bottom: 10px; } .onboarding-error { padding: 12px; border: 1px solid var(--danger, #f85149); border-radius: 8px; color: var(--danger, #f85149); } .onboarding-error-ids { margin-top: 6px; overflow-wrap: anywhere; font-size: 12px; } .onboarding-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; } .onboarding-step { display: grid; grid-template-columns: 26px 1fr; gap: 9px; padding: 10px; border: 1px solid var(--border-color, #30363d); border-radius: 9px; } .onboarding-step[aria-current="step"] { border-color: var(--accent, #58a6ff); background: rgba(88, 166, 255, .08); } .onboarding-step.is-regressed { border-color: var(--amber, #d29922); } .onboarding-step-marker { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--surface-muted, #21262d); font-size: 12px; } .onboarding-step.is-complete .onboarding-step-marker { background: var(--success, #3fb950); color: #07140a; } .onboarding-step-title { font-weight: 600; font-size: 13px; } .onboarding-step-reason { margin-top: 3px; color: var(--text-muted, #8b949e); font-size: 12px; } .onboarding-step-action { margin-top: 8px; border: 0; border-radius: 7px; padding: 7px 10px; background: var(--accent, #58a6ff); color: #08111c; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; } .onboarding-completion { padding: 12px; border: 1px solid var(--success, #3fb950); border-radius: 9px; overflow-wrap: anywhere; } .onboarding-completion a { color: var(--accent, #58a6ff); } .onboarding-first-call-evidence { display: grid; grid-template-columns: max-content 1fr; gap: 4px 10px; margin: 10px 0; font-size: 12px; } .onboarding-first-call-evidence dt { color: var(--text-muted, #8b949e); } .onboarding-first-call-evidence dd { margin: 0; font-family: var(--font-mono, monospace); overflow-wrap: anywhere; } .onboarding-deep-link-stale { position: fixed; left: 50%; top: 76px; z-index: 810; width: min(520px, calc(100vw - 28px)); transform: translateX(-50%); padding: 14px; border: 1px solid var(--amber, #d29922); border-radius: 10px; background: var(--surface-raised, #161b22); color: var(--text-primary, #f0f6fc); box-shadow: 0 12px 36px rgba(0, 0, 0, .35); } .onboarding-footer { display: flex; justify-content: space-between; gap: 8px; margin-top: 12px; } .onboarding-link-button { border: 0; background: transparent; color: var(--text-muted, #8b949e); text-decoration: underline; cursor: pointer; font: inherit; font-size: 12px; } /* Active task surfaces own the pointer plane. The optional onboarding helper must never cover drawer controls while guiding the user through that drawer. */ body:has(.drawer.open) .onboarding-trigger, body:has(.drawer.open) .onboarding-panel { z-index: 149; } /* The wizard owns a fixed bottom action bar. Keep this optional helper above it so the primary Continue action remains both visible and clickable. */ body.wizard-page .onboarding-trigger { bottom: calc(96px + env(safe-area-inset-bottom, 0px)); } body.wizard-page .onboarding-panel { bottom: calc(150px + env(safe-area-inset-bottom, 0px)); max-height: min(700px, calc(100vh - 178px)); } @media (max-width: 640px) { .onboarding-trigger { right: 14px; bottom: 14px; } .onboarding-panel { right: 14px; bottom: 68px; } } @media (prefers-reduced-motion: reduce) { .onboarding-panel, .onboarding-trigger { transition: none !important; animation: none !important; scroll-behavior: auto; } }