.intro-actions { display: flex; align-items: center; gap: 10px; }
.tour-trigger { border: 1px solid #b9d8d2; border-radius: 8px; background: #eff9f7; color: var(--green); padding: 10px 13px; font-weight: 750; cursor: pointer; white-space: nowrap; }
.tour-trigger:hover { background: #dff5f0; }
.profile-menu { position: relative; }
.profile-menu summary { list-style: none; cursor: pointer; }
.profile-menu summary::-webkit-details-marker { display: none; }
.profile-popover { position: absolute; top: calc(100% + 10px); right: 0; z-index: 20; width: 250px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); box-shadow: 0 16px 38px #09243b24; }
.profile-popover small { display: block; margin: 3px 0 14px; color: var(--muted); }
.profile-popover button { width: 100%; border: 1px solid #efd0cd; border-radius: 8px; background: #fff5f4; color: #a22f27; padding: 10px; text-align: left; font-weight: 750; cursor: pointer; }
.reset-card > p { color: var(--muted); }
.reset-safe { display: flex; flex-direction: column; margin: 20px 0; padding: 14px; border-radius: 10px; background: #ecf8f4; color: var(--green); }
.reset-safe span { margin-top: 3px; font-size: .84rem; }
.danger-button { border: 0; border-radius: 8px; background: #a8322a; color: white; padding: 11px 16px; font-weight: 750; cursor: pointer; }

.tour-layer { position: fixed; inset: 0; z-index: 100; pointer-events: none; }
.tour-layer[hidden] { display: none; }
.tour-spotlight { position: fixed; z-index: 1; border: 5px solid var(--mint); border-radius: 14px; box-shadow: 0 0 0 9999px rgba(3, 17, 28, .78); transition: .2s ease; }
.tour-card { position: fixed; z-index: 2; width: min(360px, calc(100vw - 32px)); padding: 20px; border-radius: 14px; background: var(--white); box-shadow: 0 18px 55px #0006; pointer-events: auto; }
.tour-card h3 { margin: 10px 0 7px; font-size: 1.18rem; }
.tour-card p { margin: 0; color: var(--muted); }
.tour-progress, .tour-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.tour-progress span { color: var(--green); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.tour-progress button { border: 0; background: transparent; font-size: 1.5rem; cursor: pointer; }
.tour-actions { margin-top: 18px; justify-content: flex-end; }
.tour-actions .secondary[hidden] { display: none; }

@media (max-width: 720px) {
  .intro-actions { align-items: flex-start; flex-wrap: wrap; }
}
