.tour-launch{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid var(--field-border);border-radius:9px;padding:.45rem .7rem;background:var(--white);color:var(--ink);font:inherit;font-weight:700;cursor:pointer;min-height:36px}
.tour-launch span{display:inline-grid;place-items:center;width:1.2em;height:1.2em;border:1.5px solid currentColor;border-radius:50%;font-size:.85em}
.tour-launch:hover{background:var(--accent-soft)}
.tour-footer-status{font-size:.85rem;max-width:40rem}
.lab-tour[open]{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--ink);overflow:hidden;box-sizing:border-box}
.lab-tour::backdrop{background:transparent}
.tour-shade{position:fixed;inset:0;background:#101c29b8;pointer-events:none}
.tour-spotlight{position:fixed;box-sizing:border-box;border:3px solid var(--accent-bright);border-radius:12px;box-shadow:0 0 0 200vmax #101c29b8;pointer-events:none}
.tour-panel{position:fixed;box-sizing:border-box;width:min(448px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;padding:22px;background:var(--white);color:var(--ink);border:1px solid var(--field-border);border-radius:18px;box-shadow:0 16px 60px #0004;z-index:1}
.tour-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tour-progress{margin:0;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.06em}
.tour-close{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--soft);color:var(--ink);font:inherit;font-size:1.5rem;cursor:pointer}
.tour-panel h2{margin:12px 0;font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.25}
.tour-panel h2:focus{outline:none}
.tour-description{margin:0;font-size:.96rem;line-height:1.6;color:var(--ink)}
.tour-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px}
.tour-actions button{min-height:40px;padding:9px 12px;min-width:0;font-size:.85rem;text-align:center;white-space:normal}
.tour-actions button:first-child{margin-right:auto}
.tour-error{margin:10px 0 0;color:var(--warning-text);font-size:.9rem}
.tour-error:empty{display:none}
.tour-launch[hidden],.lab-tour [hidden]{display:none!important}
@media(max-width:480px){.tour-panel{padding:16px}.tour-actions{gap:6px}.tour-actions button{padding:9px;font-size:.8rem}.tour-description{font-size:.9rem}}
@media(prefers-reduced-motion:no-preference){.tour-panel{animation:tour-appear .14s ease-out}@keyframes tour-appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}}
@media(forced-colors:active){.tour-spotlight{border-color:Highlight}.tour-panel{border:2px solid CanvasText}}
@media print{.lab-tour,.tour-launch,.tour-footer-status{display:none!important}}

.tour-keyboard-help{margin:12px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}
