.guide-launch { display: block; padding: 8px 14px; border: 1px solid #b7cff9; border-radius: 8px; background: #f1f6ff; color: #245fad; cursor: pointer; font: inherit; font-size: 13px; font-weight: 600; white-space: nowrap; }
.guide-launch:hover { background: #e6efff; }
.guide-launch:focus-visible { outline: 2px solid #2563eb; outline-offset: 3px; }
.guide-unfinished { animation: guide-halo 2.8s ease-in-out infinite; }
@keyframes guide-halo {
  0%, 100% { box-shadow: 0 0 0 2px #2563eb0a, 0 0 6px #2563eb0a; }
  50% { box-shadow: 0 0 0 5px #2563eb1a, 0 0 16px #2563eb30; }
}
@media (prefers-reduced-motion: reduce) { .guide-unfinished { animation: none; box-shadow: 0 0 0 3px #2563eb1a; } }
.guide-card { position: fixed; z-index: 101; box-sizing: border-box; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: 0 12px 40px #15243830; max-height: calc(100dvh - 32px); overflow: auto; }
.guide-card h2 { margin: 8px 0; font-size: 22px; }.guide-card p { font-size: 14px; line-height: 1.6; margin: 8px 0 16px; }.guide-card small { color: var(--muted); }.guide-card > div { display: flex; flex-wrap: wrap; gap: 8px; }.guide-card button { cursor: pointer; }.guide-card [tabindex]:focus { outline: none; }
.guide-target { outline: 3px solid var(--teal); outline-offset: 5px; }
.guide-tip { position: fixed; z-index: 102; box-sizing: border-box; border-radius: 8px; padding: 10px 12px; background: var(--ink); color: white; font-size: 12px; line-height: 1.5; pointer-events: none; box-shadow: 0 4px 18px #15243820; }
.guide-answer-tip { pointer-events: auto; max-height: min(440px, calc(100dvh - 32px)); overflow: auto; overscroll-behavior: contain; white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 600px) { .guide-card { padding: 16px; } }

.guide-jump { display: block; margin-top: 12px; font-size: 12px; color: var(--muted); }.guide-jump select { display: block; width: 100%; margin-top: 4px; }.guide-location { color: var(--muted); }.guide-card > button { margin-bottom: 12px; }

.app-help { display: flex; flex: none; justify-content: flex-end; min-height: 28px; margin-bottom: 8px; }
