/* Shared account dialog and quick navigation; hero rules stay on the home route. */
#navbar .btn-signin svg { display: block; flex-shrink: 0; }
body.home-route .main-content { padding-top: 0; }
body.home-route .home-page-shell { margin-top: 0; }
body.home-route .spotlight-section { width: 100%; height: 100svh; min-height: 640px; max-height: none; margin: 0 0 clamp(2rem, 4vw, 4rem); }
body.home-route .spotlight-content { width: 100%; height: 100%; max-width: none; align-items: flex-end; padding: calc(var(--yz-nav-height) + 2rem) var(--home-gutter) clamp(6.5rem, 15svh, 10rem); }
body.home-route .spotlight-info { width: min(100%, 850px); max-width: 850px; }
body.home-route .spotlight-backdrop img { filter: none; object-position: 65% center; }
body.home-route .spotlight-gradient { background: linear-gradient(90deg, rgba(0,0,0,.85), rgba(0,0,0,.55) 38%, rgba(0,0,0,.12) 80%), linear-gradient(0deg, #000 1%, rgba(0,0,0,.18) 50%, rgba(0,0,0,.38)); }
body.home-route .spotlight-carousel::after { height: 13%; background: linear-gradient(transparent, #000); }
body.home-route .spotlight-title-lockup { min-height: 0; margin: 1.4rem 0 1.1rem; padding: 0; }
body.home-route .spotlight-title-kicker, body.home-route .spotlight-title-ghost, body.home-route .spotlight-title-mark { display: none; }
body.home-route .spotlight-brand-lockup, body.home-route .spotlight-brand-lockup.has-logo { height: auto; min-height: 0; max-width: 100%; }
body.home-route .spotlight-logo { width: min(100%, 780px); height: auto; max-height: clamp(90px, 17svh, 180px); object-fit: contain; object-position: left center; }
body.home-route .spotlight-title { margin: 0; font-size: clamp(2.8rem, 6.3vw, 6.5rem); line-height: 1.04; letter-spacing: -.055em; overflow-wrap: anywhere; }
body.home-route .spotlight-title-primary, body.home-route .spotlight-title-accent { display: inline; font-family: Inter, sans-serif; font-weight: 800; font-style: normal; animation: none; }
body.home-route .spotlight-description { max-width: 740px; margin: 1.35rem 0 1.8rem; font-size: clamp(.95rem, 1.25vw, 1.18rem); line-height: 1.65; -webkit-line-clamp: 3; }
body.home-route .spotlight-actions .btn { min-height: 3.6rem; border-radius: 14px; font-size: 1rem; }
body.home-route .spotlight-actions .btn-primary { background: #fff; color: #080b10; }
body.home-route .spotlight-actions .btn-secondary { background: rgba(20,22,27,.75); color: #eee; }
body.home-route .spotlight-nav { right: var(--home-gutter); bottom: clamp(2rem, 6svh, 4rem); }
body.home-route .spotlight-nav-btn { display: inline-flex; }
body.home-route .hero-pause { width: 36px; height: 36px; font-size: .85rem; }
body.home-route .spotlight-slide:not(.active) { pointer-events: none; }
#login-modal { padding: 24px; z-index: 2100; }
#login-modal .modal-backdrop { background: rgba(0,0,0,.75); backdrop-filter: blur(10px); }
#login-modal .auth-dialog { display: grid; grid-template-columns: 1fr 1fr; width: min(1060px, 100%); max-width: 1060px; max-height: min(820px, calc(100dvh - 48px)); padding: 0; overflow: auto; border: 1px solid rgba(255,255,255,.12); border-radius: 24px; background: #0d0f13; box-shadow: 0 30px 120px rgba(0,0,0,.6); }
#login-modal .modal-close { position: absolute; z-index: 3; right: 16px; top: 16px; border-radius: 50%; background: rgba(0,0,0,.55); }
.auth-form-panel { padding: clamp(24px, 3.5vw, 42px); min-width: 0; }
.auth-emblem { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 18px; border-radius: 15px; border: 1px solid rgba(131,195,255,.28); background: rgba(131,195,255,.09); color: #83c3ff; }
.auth-heading { color: #f5f7fb; font-size: clamp(1.6rem, 3vw, 2rem); font-weight: 800; letter-spacing: -.055em; line-height: 1.15; margin: 0 0 9px; }
.auth-form-panel .form-label { display: block; font-size: .82rem; color: #ccd1da; margin: 16px 0 8px; }
.auth-input-wrap { position: relative; }
.auth-form-panel .form-input { height: 52px; margin: 0; padding: 12px 16px; background: #171a20; border: 1px solid #2b2f37; border-radius: 12px; font-size: .95rem; }
.auth-form-panel .auth-input-wrap .form-input { padding-right: 48px; }
.auth-form-panel .form-input:focus { border-color: #83c3ff; box-shadow: 0 0 0 3px rgba(131,195,255,.12); }
.auth-password-toggle { position: absolute; right: 6px; top: 7px; width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 8px; background: none; color: #a5adba; cursor: pointer; }
.auth-password-toggle:hover { color: #fff; background: #262a33; }
.auth-form-panel .cf-turnstile { margin: 20px auto; min-height: 65px; text-align: center; }
.auth-form-panel [type="submit"] { min-height: 50px; margin-top: 20px; background: #83c3ff; color: #09111c; border: 0; border-radius: 12px; font-weight: 750; }
.auth-form-panel [type="submit"]:hover { background: #a4d3ff; }
.auth-form-panel button:disabled { opacity: .45; cursor: not-allowed; }
.auth-form-panel [data-form-error]:empty { display: none; }
.auth-form-panel .auth-provider-button { min-height: 50px; border-radius: 12px; background: #16191e; border-color: #30343d; gap: 12px; }
.auth-form-panel .auth-link { color: #83c3ff; }
.auth-legal { margin-top: 18px; color: #7f8999; font-size: .72rem; line-height: 1.6; text-align: center; }
.auth-legal a { color: #a9b0bd; text-decoration: underline; text-underline-offset: 3px; }
.auth-art-panel { position: relative; min-height: 600px; overflow: hidden; background: #080a0e; border-left: 1px solid #22262e; }
.auth-art-panel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 20%; opacity: .67; }
.auth-art-panel::after { position: absolute; inset: 0; content: ''; background: linear-gradient(0deg, #080a0e, transparent 65%), linear-gradient(90deg, rgba(8,10,14,.25), transparent); }
.auth-art-copy { position: absolute; z-index: 1; inset: auto 32px 35px; }
.auth-art-copy strong { display: block; font-family: 'Space Grotesk', sans-serif; font-size: 2rem; letter-spacing: -.06em; color: #fff; }
.auth-art-copy strong span { color: #83c3ff; }
.auth-art-copy p { margin: 10px 0 0; font-size: .9rem; line-height: 1.7; color: #a9b0bd; }
.quick-context-menu { position: fixed; z-index: 2000; width: min(264px, calc(100vw - 16px)); padding: 8px; border: 1px solid #292d35; border-radius: 18px; background: rgba(12,14,18,.98); box-shadow: 0 16px 60px #0009; }
.quick-context-menu[hidden] { display: none; }
.quick-context-title { padding: 13px 14px 14px; margin: 0 0 5px; border-bottom: 1px solid #22262c; color: #7d8696; font-size: .68rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.quick-context-menu button { width: 100%; display: flex; align-items: center; gap: 13px; min-height: 44px; padding: 10px 14px; border: 0; border-radius: 10px; background: none; color: #d5dae3; font-size: .86rem; font-weight: 650; text-align: left; cursor: pointer; }
.quick-context-menu button svg { flex-shrink: 0; color: #929aaa; }
.quick-context-menu button:first-of-type svg { color: #ffcf55; }
.quick-context-menu button:hover, .quick-context-menu button:focus-visible { background: #232832; color: #fff; outline: none; }
.quick-context-menu kbd { margin-left: auto; padding: 2px 7px; border-radius: 4px; background: #252932; color: #a4adbd; font-size: .72rem; }
.quick-context-menu button:last-child { border-top: 1px solid #22262c; border-radius: 0 0 10px 10px; margin-top: 5px; }
@media (max-width: 900px) {
    #login-modal .auth-dialog { grid-template-columns: 1fr; max-width: 480px; }
    .auth-art-panel { display: none; }
}
@media (max-width: 700px) {
    body.home-route .spotlight-section { min-height: 620px; }
    body.home-route .spotlight-content { padding: calc(var(--yz-nav-height) + 2rem) 22px 100px; }
    body.home-route .spotlight-title { font-size: clamp(2.5rem, 10vw, 4rem); }
    body.home-route .spotlight-logo { max-height: 120px; }
    body.home-route .spotlight-description { font-size: .9rem; -webkit-line-clamp: 3; margin: 1rem 0 1.4rem; }
    body.home-route .spotlight-backdrop img { object-position: 50% center; }
    body.home-route .spotlight-gradient { background: linear-gradient(0deg, #000, rgba(0,0,0,.8) 32%, rgba(0,0,0,.18) 80%); }
    body.home-route .spotlight-actions .btn { min-height: 3.2rem; font-size: .88rem; }
    body.home-route .spotlight-nav { bottom: 24px; right: 22px; gap: 10px; }
    body.home-route .spotlight-nav-btn { width: 38px; height: 38px; }
    #login-modal { padding: 12px; }
    #login-modal .auth-dialog { grid-template-columns: 1fr; max-width: 480px; max-height: calc(100dvh - 24px); border-radius: 20px; }
    .auth-art-panel { display: none; }
    .auth-form-panel { padding: 28px 24px; }
    .auth-form-panel .cf-turnstile { max-width: 100%; overflow: hidden; }
}
@media (max-width: 380px) {
    .auth-form-panel { padding: 24px 16px; }
}
@media (max-width: 360px) {
    #login-modal { padding: 8px; }
    .auth-form-panel { padding: 24px 12px; }
    .auth-form-panel .cf-turnstile { width: calc(100% + 24px); max-width: none; margin-inline: -12px; }
    body.home-route .spotlight-content { padding-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    body.home-route .spotlight-slide, body.home-route .spotlight-backdrop img { transition: none; }
}

.auth-form-panel .auth-intro { margin: 0 0 22px; font-size: .9rem; line-height: 1.6; color: #9198a5; }
.auth-divider { display:flex; gap:12px; align-items:center; margin:22px 0 16px; color:#7f8999; font-size:.72rem; }
.auth-divider::before, .auth-divider::after { content: ""; height:1px; flex:1; background:#2b2f37; }
.auth-switch { margin:22px 0 0; font-size:.85rem; color:#9198a5; text-align:center; }
.auth-text-button { border:0; background:none; color:#83c3ff; font-weight:650; cursor:pointer; }
