:root{--coach-bg:#23272f;--coach-text:#f2f2f2;--coach-text-muted:#a6a6a6;--coach-primary:#39f;--coach-primary-hover:#0080ff;--coach-primary-text:white;--coach-radius:10px;--coach-shadow:0 8px 32px #0006;--coach-hotspot-size:12px;--coach-hotspot-color:#39f;--coach-z-index:9999;--coach-backdrop:#0009}.coach-backdrop{z-index:calc(var(--coach-z-index) - 1);background:var(--coach-backdrop);clip-path:var(--coach-spotlight,none);transition:clip-path .25s;position:fixed;inset:0}.coach-popover{z-index:var(--coach-z-index);background:var(--coach-bg);width:max-content;max-width:320px;color:var(--coach-text);border-radius:var(--coach-radius);box-shadow:var(--coach-shadow);outline:none;padding:16px;font-family:inherit;line-height:1.5;position:fixed}.coach-popover__arrow{background:var(--coach-bg);width:12px;height:12px;position:absolute;top:-6px;transform:rotate(45deg)}.coach-popover__close{width:24px;height:24px;color:var(--coach-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;display:flex;position:absolute;top:8px;right:8px}.coach-popover__close:hover{color:var(--coach-text);background:#ffffff1a}.coach-popover__title{margin:0 0 4px;padding-right:20px;font-size:14px;font-weight:600}.coach-popover__description{color:var(--coach-text-muted);margin:0 0 12px;font-size:13px}.coach-step-controls{justify-content:space-between;align-items:center;gap:8px;display:flex}.coach-step-indicator{color:var(--coach-text-muted);font-size:12px}.coach-step-buttons{gap:6px;margin-left:auto;display:flex}.coach-btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px 12px;font-size:13px;font-weight:500;line-height:1.5;text-decoration:none;transition:background-color .15s;display:inline-flex}.coach-btn--primary{background:var(--coach-primary);color:var(--coach-primary-text)}.coach-btn--primary:hover{background:var(--coach-primary-hover)}.coach-btn--ghost{color:var(--coach-text-muted);background:0 0}.coach-btn--ghost:hover{color:var(--coach-text);background:#ffffff14}.coach-hotspot{width:var(--coach-hotspot-size);height:var(--coach-hotspot-size);background:var(--coach-hotspot-color);border:2px solid var(--coach-bg);cursor:pointer;z-index:calc(var(--coach-z-index) - 1);box-shadow:0 0 0 0 var(--coach-hotspot-color);border-radius:50%;padding:0;position:absolute;top:4px;right:4px}.coach-hotspot--pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite coach-pulse}@keyframes coach-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--coach-hotspot-color) 60%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--coach-hotspot-color) 0%, transparent)}}@media (prefers-reduced-motion:reduce){.coach-hotspot--pulse{animation:none}.coach-btn,.coach-backdrop{transition:none}}@media (width<=640px){.coach-popover{border-radius:var(--coach-radius) var(--coach-radius) 0 0;width:100%;max-width:none;padding:20px 16px calc(env(safe-area-inset-bottom,0px) + 16px);position:fixed;inset:auto 0 0}.coach-popover__arrow{display:none}}:root{--coach-bg:var(--popover);--coach-text:var(--popover-foreground);--coach-text-muted:var(--muted-foreground);--coach-primary:var(--primary);--coach-primary-hover:var(--primary);--coach-primary-text:var(--primary-foreground);--coach-radius:var(--radius);--coach-hotspot-color:var(--primary);--coach-shadow:0 4px 16px oklch(0% 0 0/.08)}.dark{--coach-shadow:0 8px 32px oklch(0% 0 0/.4)}
