.prep-guide { margin: 16px 0; }
.prep-guide .public-notice { margin-top: 12px; }
.prep-tour { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: transparent; color: #f4fffb; pointer-events: none; overflow: hidden; }
.prep-tour::backdrop { background: transparent; }
.prep-tour-without-target { background: #001018bb; }
.prep-tour-card .prep-tour-unavailable { border-left: 3px solid #61dcc2; padding-left: 12px; color: #aff3df; }
.prep-tour-highlight { position: fixed; border: 3px solid #61dcc2; border-radius: 10px; box-shadow: 0 0 0 100vmax #001018bb; box-sizing: border-box; pointer-events: none; }
.prep-tour-card { position: absolute; right: 16px; bottom: 16px; width: min(420px, calc(100% - 32px)); max-height: calc(100% - 32px); overflow-y: auto; box-sizing: border-box; padding: 20px; border: 1px solid #61dcc2; border-radius: 12px; background: #102b36; pointer-events: auto; box-shadow: 0 8px 32px #0008; }
.prep-tour-card h2 { margin: 8px 0; font-size: 20px; }
.prep-tour-card p { font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.prep-tour-card [data-tour-progress] { font-size: 12px; color: #aff3df; margin: 0; }
.prep-tour-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.prep-tour-actions button { padding: 10px 12px; }
@media(max-width:600px) { .prep-tour-card { padding: 16px; } }
