.onboarding-open{overflow:hidden}
.mobile-onboarding{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--text);overflow:hidden}
.mobile-onboarding::backdrop{background:rgb(0 0 0 / .65)}
.mobile-onboarding [hidden]{display:none!important}
.onboarding-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 12px 50px rgb(0 0 0 / .25)}
.onboarding-panel h2{font-size:22px;line-height:1.25;margin:0 0 12px;color:var(--text)}
.onboarding-panel p{font-size:15px;line-height:1.5;margin:0 0 16px;color:var(--text-2)}
.onboarding-languages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}
.onboarding-language-option{display:flex;align-items:center;gap:8px;min-height:48px;padding:9px;border:1px solid var(--line);border-radius:7px;font-size:14px;cursor:pointer}
.onboarding-language-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.onboarding-language-option input{width:16px;height:16px;flex:none;accent-color:var(--accent);margin:0}
.onboarding-language-option .language-flag{width:22px;height:14px;flex:none}
.onboarding-continue{width:100%;justify-content:center;min-height:44px}
.onboarding-topline{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;font-size:12px;color:var(--text-3)}
.onboarding-text-button{padding:8px 0;background:none;border:0;color:var(--accent-text);font:inherit;font-size:12px;line-height:1.35;cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:36px}
.onboarding-topline .onboarding-text-button{text-align:right;max-width:65%}
.onboarding-panel .onboarding-practice-note{font-size:12px;color:var(--text-3);margin-bottom:12px}
.onboarding-stage{min-height:168px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:12px;touch-action:none;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.onboarding-practice-sheet{display:grid;place-items:center;gap:4px;width:100%;font-size:14px;transform:translate(var(--gesture-x,0px),var(--gesture-y,0px))}
.onboarding-practice-brand{font-size:13px;letter-spacing:.04em;color:var(--text-3)}
.onboarding-gesture{font:44px/1.3 system-ui,sans-serif;color:var(--accent-text)}
.onboarding-stage[data-complete="1"]{border-color:var(--ok)}
.onboarding-stage[data-complete="1"] .onboarding-gesture{color:var(--ok)}
.onboarding-stage[data-step="5"]{touch-action:pan-x;padding:12px 0}
.onboarding-categories{display:flex;gap:8px;width:100%;overflow-x:auto;overscroll-behavior-x:contain;touch-action:pan-x;padding:14px 10px;scrollbar-width:thin}
.onboarding-categories .chip{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;white-space:nowrap;padding:10px;font-size:13px}
.onboarding-panel .onboarding-success{min-height:22px;font-size:13px;margin:10px 0 0;color:var(--ok)}
.onboarding-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:10px}
.onboarding-actions .btn-pri{margin-left:auto;min-height:44px}
.onboarding-actions .btn-pri:disabled{opacity:.45;cursor:default}
.mobile-onboarding :focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}
.mobile-onboarding[data-mode="highlight"]::backdrop{background:transparent}
.mobile-onboarding[data-mode="highlight"] .onboarding-panel{top:var(--panel-y,130px);transform:translateX(-50%);max-height:var(--panel-height,calc(100dvh - 150px))}
.onboarding-spotlight{position:absolute;left:var(--spot-x);top:var(--spot-y);width:var(--spot-width);height:var(--spot-height);border:2px solid var(--accent);border-radius:9px;box-shadow:0 0 0 200vmax rgb(0 0 0 / .7);pointer-events:none}
@media(max-height:650px){.onboarding-panel{padding:16px}.onboarding-panel h2{font-size:20px}.onboarding-panel p{font-size:14px;margin-bottom:10px}.onboarding-topline{margin-bottom:10px}.onboarding-stage{min-height:120px}.onboarding-gesture{font-size:36px}}
@media(prefers-reduced-motion:reduce){.onboarding-practice-sheet{transform:none}}
