/* Only local controls and interaction states; the imported site CSS owns layout. */
.local-dialog { position: fixed; inset: 0; margin: auto; width: min(520px, calc(100vw - 32px)); max-height: min(720px, calc(100dvh - 48px)); overflow: auto; padding: 28px; border: 1px solid #30343a; border-radius: 20px; background: #101317; color: #fff; box-shadow: 0 24px 100px #0009; font-family: inherit; }
.local-dialog::backdrop { background: #0009; backdrop-filter: blur(8px); }
.local-dialog-heading { margin: 0 40px 24px 0; font-size: 23px; font-weight: 600; letter-spacing: -.035em; }
.local-dialog-close { position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; border-radius: 50%; background: transparent; color: #a7abb2; font-size: 28px; cursor: pointer; }
.local-dialog-close:hover { background: #ffffff0b; color: #fff; }
.local-dialog-body { display: flex; flex-direction: column; gap: 20px; }
.local-muted { color: #a1a6af; font-size: 15px; line-height: 1.6; }
.local-small { font-size: 12px; }
.local-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.local-action { min-height: 42px; padding: 9px 18px; color: #fff; font-size: 14px; border: 1px solid #ffffff20; border-radius: 10px; background: #ffffff09; cursor: pointer; }
.local-action:hover { background: #ffffff15; }
.local-action-primary { color: #06140d; background: #30c994; border-color: #30c994; font-weight: 600; }
.local-action-primary:hover { background: #43d8a5; }
.local-navigation, .local-search-results { display: flex; flex-direction: column; gap: 3px; }
.local-link { display: flex; min-height: 44px; width: 100%; align-items: center; padding: 12px 14px; border: 0; border-radius: 9px; color: #e8ebef; background: transparent; text-align: left; font-size: 15px; text-decoration: none; cursor: pointer; }
.local-link:hover, .local-link:focus-visible { background: #ffffff0a; color: #31c995; }
.local-input { width: 100%; min-height: 48px; padding: 12px 14px; background: #080a0d; color: #fff; border: 1px solid #343941; border-radius: 10px; font: inherit; }
.local-input::placeholder { color: #787f8b; }
.local-input:focus { outline: 2px solid #31c995; outline-offset: 2px; }
.local-search-results { max-height: 420px; overflow: auto; }
.local-cookie-option { display: flex; gap: 12px; align-items: center; font-size: 14px; }
.local-cookie-option input { width: 18px; height: 18px; accent-color: #30c994; }
.local-toast { position: fixed; z-index: 99999; left: 50%; bottom: 28px; max-width: calc(100vw - 36px); width: max-content; padding: 13px 20px; background: #161d20; color: #f6faf8; border: 1px solid #374641; border-radius: 12px; box-shadow: 0 12px 30px #0006; font-size: 14px; opacity: 0; pointer-events: none; transform: translate(-50%, 12px); transition: opacity .2s, transform .2s; }
.local-toast-visible { opacity: 1; transform: translate(-50%, 0); }
.local-support-launcher { position: fixed; z-index: 80; right: 24px; bottom: 24px; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #30c994; color: #03120d; border: 0; box-shadow: 0 4px 16px #0002; cursor: pointer; transition: transform .18s, background .18s; }
.local-support-launcher:hover { transform: translateY(-2px); background: #42d5a2; }
.local-dialog button:focus-visible, .local-link:focus-visible, .local-support-launcher:focus-visible { outline: 2px solid #31c995; outline-offset: 3px; }
.local-support-launcher:focus-visible { outline-color: #fff; }
.local-form-feedback { flex-basis: 100%; margin-top: 12px; color: #a3e8cb; font-size: 13px; line-height: 1.5; }
.challenge-card-turn { transition: transform .65s cubic-bezier(.2,.7,.2,1); transform-style: preserve-3d; }
.landing-challenge-card-tilt { transition: transform .16s ease-out; }
html[data-local-motion-paused="true"] *, html[data-local-motion-paused="true"] *::before, html[data-local-motion-paused="true"] *::after { animation-play-state: paused !important; }
html[data-local-motion-paused="true"] .landing-challenge-card-tilt { transform: none !important; }
@media (max-width: 640px) { .local-dialog { padding: 24px; } .local-support-launcher { right: 16px; bottom: 16px; width: 54px; height: 54px; } .local-menu-dialog { inset: 0 auto 0 0; height: 100dvh; max-height: 100dvh; margin: 0; width: min(360px, 88vw); border-radius: 0 20px 20px 0; } }
@media (prefers-reduced-motion: reduce) { .challenge-card-turn, .landing-challenge-card-tilt, .local-toast, .local-support-launcher { transition: none; } }
