/* Shared public-site guide: native dialog focus handling, no layout intrusion. */
#nova-guide { color: #1B2A4A; font-family: 'Inter', system-ui, sans-serif; font-size: 14px; line-height: 1.5; }
#nova-guide *, #nova-guide *::before, #nova-guide *::after { box-sizing: border-box; }
#nova-guide [hidden] { display: none !important; }
#nova-guide button, #nova-guide input, #nova-guide a { font: inherit; }
#nova-guide button, #nova-guide a { min-height: 44px; min-width: 44px; }
#nova-guide button { cursor: pointer; }
#nova-guide :is(button, a, input, summary):focus-visible { outline: 3px solid #0D7377; outline-offset: 3px; }
#nova-guide .nova-launcher { position: fixed; inset-inline-end: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); z-index: 1500; display: flex; align-items: center; gap: 6px; padding: 6px 14px 6px 6px; background: #fff; color: #1B2A4A; border: 2px solid #0D7377; border-radius: 999px; box-shadow: 0 4px 16px #0002; font-weight: 700; }
#nova-guide .nova-launcher img { object-fit: contain; width: 48px; height: 48px; }
#nova-guide .nova-dialog { position: fixed; inset: auto 18px 18px auto; margin: 0; padding: 0; width: min(400px, calc(100vw - 24px)); max-height: min(760px, calc(100dvh - 32px)); border: 1px solid #d4e0e3; border-radius: 20px; background: #fff; color: #1B2A4A; box-shadow: 0 12px 40px #0003; overflow: hidden; }
#nova-guide[dir="rtl"] .nova-dialog { inset: auto auto 18px 18px; }
#nova-guide .nova-dialog[open] { display: flex; flex-direction: column; }
#nova-guide .nova-dialog::backdrop { background: #1b2a4a40; }
#nova-guide .nova-header { display: flex; align-items: center; justify-content: space-between; flex: 0 0 auto; gap: 12px; padding: 12px 16px; background: #0D7377; color: #fff; }
#nova-guide .nova-header h2 { margin: 0; font: 700 20px/1.3 'Inter', system-ui, sans-serif; letter-spacing: normal; color: #fff; }
#nova-guide .nova-header p { margin: 2px 0 0; font-size: 12px; }
#nova-close { border: 1px solid #ffffff80; background: transparent; color: #fff; border-radius: 50%; font-size: 24px !important; flex-shrink: 0; }
#nova-guide .nova-header button:focus-visible { outline-color: #fff; }
#nova-guide .nova-scroll { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 16px; }
#nova-guide .nova-caption { margin: 8px 0; font-size: 12px; color: #526176; }
#nova-guide .nova-limits { margin: 0 0 16px; font-size: 13px; line-height: 1.5; color: #526176; }
#nova-search-label { display: block; font-weight: 600; margin-bottom: 6px; }
#nova-search { display: block; width: 100%; min-height: 44px; padding: 10px 12px; background: #fff; color: #1B2A4A; border: 1px solid #8998aa; border-radius: 10px; cursor: text; }
#nova-search::placeholder { color: #637286; opacity: 1; }
#nova-heading { margin: 12px 0 8px; font: 700 17px/1.4 'Inter', system-ui, sans-serif; letter-spacing: normal; color: #1B2A4A; }
#nova-answer { margin: 0 0 12px; line-height: 1.6; }
#nova-answer:empty { display: none; }
#nova-options { display: grid; gap: 8px; }
#nova-guide .nova-topic, #nova-guide .nova-action { display: flex; align-items: center; padding: 10px 12px; border: 1px solid #c8dcde; border-radius: 10px; background: #f5fafa; color: #1B2A4A; text-align: start; text-decoration: none; line-height: 1.45; overflow-wrap: anywhere; }
#nova-guide .nova-action { background: #0D7377; color: #fff; border-color: #0D7377; }
#nova-guide .nova-topic:hover { background: #e5f3f3; }
#nova-guide .nova-action:hover { background: #09595c; }
#nova-back { margin-top: 12px; }
@media (max-width: 480px) { #nova-guide .nova-dialog { inset: auto 12px max(12px, env(safe-area-inset-bottom)) 12px; width: auto; max-height: calc(100dvh - 24px); } #nova-guide[dir="rtl"] .nova-dialog { inset-inline: 12px; } }
@media (prefers-reduced-motion: reduce) { #nova-guide *, #nova-guide *::before, #nova-guide *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }


#nova-guide .nova-header > div { flex: 1; min-width: 0; }
#nova-pose { width: 56px; height: 64px; object-fit: contain; flex-shrink: 0; }
#nova-back { border: 1px solid #c8dcde; border-radius: 10px; padding: 8px 12px; background: #fff; color: #0D7377; }
