/* Homepage instructions, independent of quiz answers and SDK slots. */
.guide-launcher, .home-guide, .home-guide * { box-sizing: border-box; }
.guide-launcher { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: calc(var(--guide-anchor-bottom, 0px) + 16px + env(safe-area-inset-bottom)); z-index: 20; display: flex; align-items: center; gap: 9px; min-height: 44px; padding: 8px 15px 8px 9px; border: 1px solid #efc0d6; border-radius: 30px; background: #fff0f6; color: #82194f; font: 700 13px/1.4 "Segoe UI", Arial, sans-serif; box-shadow: 0 4px 18px #30172326; cursor: pointer; }
.guide-play { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: #f9dce9; font-size: 10px; padding-left: 2px; animation: guide-beacon 3s ease-in-out 3; }
.home-guide { --guide-cycle: 2s; position: fixed; top: var(--guide-anchor-top, 0px); bottom: var(--guide-anchor-bottom, 0px); width: calc(100% - 24px); max-width: 384px; max-height: calc(100dvh - 32px - var(--guide-anchor-top, 0px) - var(--guide-anchor-bottom, 0px)); margin: auto; padding: 20px 20px 12px; border: 1px solid #efc0d6; border-radius: 24px; background: #fff0f6; color: #301723; box-shadow: 0 24px 80px #30172340; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; font-family: "Segoe UI", Arial, sans-serif; }
.home-guide::backdrop { background: #30172380; backdrop-filter: blur(4px); }
.home-guide[open] { display: flex; flex-direction: column; gap: 12px; animation: guide-appear .25s ease-out; }
.guide-header { display: grid; grid-template-columns: 32px minmax(0, 1fr) 32px; align-items: center; gap: 6px; }
.guide-header::before { content: ""; }
.home-guide #guide-title { margin: 0; font: 700 26px/1.25 "Segoe UI", Arial, sans-serif; letter-spacing: -.6px; color: #82194f; text-align: center; }
.guide-close { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid #efc0d6; border-radius: 50%; background: transparent; color: #82194f; font: 24px/1 Arial, sans-serif; cursor: pointer; }
.guide-visual { padding: 10px; border: 1px solid #efc0d6; border-radius: 17px; background: radial-gradient(ellipse at 25% 15%, #fff9fc, transparent 65%), #f9dce9; flex: 0 0 auto; }
.guide-demo { position: relative; width: 100%; }
.guide-demo-title { margin: 0 0 8px; font-size: 14px; font-weight: 800; line-height: 1.3; text-align: center; }
.guide-question-image { display: block; width: 100%; height: auto; border-radius: 9px; }
/* Match the live quiz's two-column answer cards and radio indicators. */
.guide-question-context { margin: 10px 0 7px; color: #6848f2; font-size: 14px; line-height: 1.25; font-weight: 850; }
.guide-answers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 8px; }
.guide-answer { display: flex; justify-content: center; align-items: center; gap: 10px; min-height: 32px; height: 32px; padding: 4px 12px; border: 1px solid #d993bd; border-radius: 12px; background: #fff7fc; font-size: 16px; font-weight: 800; line-height: 1.25; text-align: center; color: #82194f; box-shadow: 0 2px 0 rgba(130, 25, 79, .12); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.guide-radio { display: grid; place-items: center; width: 18px; height: 18px; margin: 0; padding: 0; flex: 0 0 18px; border: 2px solid #c36c9a; border-radius: 50%; background: transparent; color: inherit; }
.guide-radio::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; transform: scale(0); }
.guide-selected { animation: guide-select var(--guide-cycle) ease-in-out infinite; }
.guide-selected .guide-radio { animation: guide-radio-select var(--guide-cycle) ease-in-out infinite; }
.guide-selected .guide-radio::after { animation: guide-radio-check var(--guide-cycle) ease-in-out infinite; }
.guide-demo-next { display: flex; align-items: center; justify-content: center; gap: 10px; height: 38px; margin-top: 10px; border: 1px solid #301723; border-radius: 9px; background: #3b5bdb; color: #fff; font-size: 13px; font-weight: 700; animation: guide-continue var(--guide-cycle) ease-in-out infinite; }
.guide-pointer { position: absolute; width: 30px; height: 38px; left: calc(75% - 10px); top: calc(100% - 102px); filter: drop-shadow(0 2px 2px #30172330); pointer-events: none; animation: guide-tap var(--guide-cycle) ease-in-out infinite; }
.home-guide #guide-description { margin: 0; font-size: 14px; line-height: 1.5; color: #795366; text-align: center; }
:is(.guide-launcher, .guide-close):focus-visible { outline: 3px solid #3b5bdb; outline-offset: 3px; }
:is(.guide-launcher, .guide-close):hover { background: #f9dce9; }
.home-guide:not([open]) .guide-visual *, .home-guide:not([open]) .guide-radio::after { animation-play-state: paused; }
@keyframes guide-appear { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes guide-beacon { 0%, 100% { box-shadow: 0 0 0 0 #b82d7528; } 50% { box-shadow: 0 0 0 5px #b82d7500; } }
@keyframes guide-select { 0%, 15%, 98%, 100% { border-color: #d993bd; background: #fff7fc; color: #82194f; box-shadow: 0 2px 0 rgba(130, 25, 79, .12); } 24%, 90% { border-color: #a62567; background: #a62567; color: #fff; box-shadow: 0 2px 0 #7d194c; } }
@keyframes guide-radio-select { 0%, 15%, 98%, 100% { border-color: #c36c9a; } 24%, 90% { border-color: #fff; } }
@keyframes guide-radio-check { 0%, 15%, 98%, 100% { transform: scale(0); } 24%, 90% { transform: scale(1); } }
@keyframes guide-continue { 0%, 15%, 98%, 100% { opacity: .45; transform: scale(1); filter: none; } 24%, 60%, 80%, 90% { opacity: 1; transform: scale(1); filter: none; } 69% { opacity: 1; transform: scale(.96); filter: brightness(.8); } }
@keyframes guide-tap { 0%, 100% { left: calc(75% - 10px); top: calc(100% - 102px); transform: translate(10px, 12px); opacity: 0; } 10%, 30%, 40% { left: calc(75% - 10px); top: calc(100% - 102px); transform: none; opacity: 1; } 20% { left: calc(75% - 10px); top: calc(100% - 102px); transform: scale(.84); opacity: 1; } 58%, 80%, 88% { left: 68%; top: calc(100% - 23px); transform: none; opacity: 1; } 69% { left: 68%; top: calc(100% - 23px); transform: scale(.84); opacity: 1; } 96% { left: 68%; top: calc(100% - 23px); opacity: 0; } }
@media (max-width: 360px) { .home-guide { padding: 16px 16px 12px; } }
@media (max-height: 500px) { .home-guide { padding: 14px 14px 8px; } .home-guide[open] { gap: 6px; } .guide-visual { padding: 6px; } .guide-demo-next { height: 30px; } .home-guide #guide-title { font-size: 23px; } }
@media (prefers-reduced-motion: reduce) { .guide-launcher *, .home-guide, .home-guide * { animation: none !important; transition: none !important; } .guide-answers .guide-selected { border-color: #a62567; background: #a62567; color: #fff; box-shadow: 0 2px 0 #7d194c; } .guide-selected .guide-radio { border-color: #fff; } .guide-selected .guide-radio::after { transform: scale(1); } .guide-demo-next { opacity: 1; } .guide-pointer { display: none; } }
