.tour-entry{text-align:center;padding:16px 20px 0}.guest-access .tour-entry{display:none}
.access-tabs{margin-bottom:24px;flex-wrap:wrap}.access-tabs .button{flex:1;min-width:110px}.access-confirmation{line-height:1.7}
.tour-dialog{width:min(620px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto}
.tour-intro{font-size:16px;line-height:1.7}.tour-dialog .caption{line-height:1.6}
.tour-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:8px 0 12px}
.tour-progress span{height:4px;background:var(--line);border-radius:2px}.tour-progress .active{background:var(--ink)}
.tour-demo{border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:20px;margin:20px 0}
.tour-demo h3{font-size:20px;line-height:1.5;margin:0 0 20px}
.tour-choices,.tour-actions,.tour-areas{display:flex;gap:10px;flex-wrap:wrap}
.tour-actions{margin:24px 0 16px}.tour-actions .button{flex:1}
.tour-areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tour-areas .button:last-child{grid-column:1/-1}
.tour-dialog .button{white-space:normal;text-align:center;min-height:44px;line-height:1.45;border-radius:10px}
.tour-feedback{line-height:1.75;min-height:2em;margin:20px 0 0;animation:tour-enter .18s ease-out}
@keyframes tour-enter{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:480px){.tour-demo{padding:14px}.tour-intro{font-size:15px}.tour-choices>.button{width:100%}.tour-dialog .button{font-size:14px;padding:12px}.tour-actions{gap:8px}}
@media(prefers-reduced-motion:reduce){.tour-feedback{animation:none}}
