/* Aura Spectrum Index — final cascade overrides */
body { background: var(--aura-bg); color: var(--aura-ink); font-size: 15px; line-height: 1.65; }
.transition { transition-property: color, background-color, border-color, opacity, box-shadow, transform; }
:where(a,button,input,select,textarea,[tabindex]):focus-visible {
    outline: 1px solid var(--aura-line) !important;
    outline-offset: 2px;
    box-shadow: none !important;
}

/* Text fields use a quiet single-border focus state instead of the global blue focus ring. */
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea):focus,
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea):focus-visible {
    border-color: var(--aura-line) !important;
    outline: none !important;
    outline-offset: 0;
    box-shadow: none !important;
}
.aura-auth-input {
    font-size: 14px;
}
.aura-auth-input::placeholder {
    color: #94a3b8;
    font-size: 13px;
}
input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="url"],input[type="number"],input[type="tel"],select,textarea { font-size: max(14px,1em); }
.aura-portal-slider-arrow,.aura-auth-close,.aura-home-modal-close,.aura-icon-btn-sm { min-width: 44px; min-height: 44px; }
.aura-portal-slider-dots button,.aura-portal-slider-dots button.is-active { width: 44px; height: 44px; min-width: 44px; background: transparent; }
.aura-home-modal { display:flex; opacity:0; visibility:hidden; pointer-events:none; transition:opacity 170ms var(--aura-ease-in),visibility 170ms; }
.aura-home-modal.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.aura-auth-overlay { opacity:0; visibility:hidden; pointer-events:none; transition:opacity 170ms var(--aura-ease-in),visibility 170ms; }
.aura-auth-overlay.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.aura-auth-overlay.is-open .aura-auth-box:not(.hidden) { opacity:1; transform:none; }
.aura-mobile-nav-toggle { width:44px; height:44px; align-items:center; justify-content:center; border:1px solid var(--aura-line); border-radius:var(--aura-radius-md); background:var(--aura-surface); color:var(--aura-ink); cursor:pointer; }
.aura-mobile-account-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:22px; padding-top:18px; border-top:1px solid var(--aura-line); }
.aura-mobile-account-actions :where(a,button) { display:flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:0 12px; border:1px solid var(--aura-line); border-radius:12px; background:var(--aura-surface-muted); color:var(--aura-ink); font-size:14px; font-weight:750; text-decoration:none; cursor:pointer; }
.aura-mobile-account-actions :where(a,button):active { transform:scale(.98); }

.aura-footer-section-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; min-height:32px; padding:0 0 6px; border:0; border-bottom:1px solid #1e293b; background:transparent; color:#fff; font-size:12px; font-weight:600; text-align:left; cursor:default; }
.aura-footer-section-toggle i { transition:transform 180ms var(--aura-ease-out); }

.aura-mobile-filter-toggle,
.aura-mobile-filter-head,
.aura-mobile-filter-backdrop { display:none; }

/* Content ads need a clear visual pause from the modules around them. */
.aura-ad-frame {
    position: relative;
    width: 100%;
    aspect-ratio: var(--aura-ad-aspect, 8 / 1);
    overflow: hidden;
    background: #f1f5f9;
    contain: layout paint;
}

.aura-ad-frame > a,
.aura-ad-frame > .aura-ad-text {
    width: 100%;
    height: 100%;
}

.aura-ad-frame > a {
    display: block;
    overflow: hidden;
}

.aura-ad-frame > a > img,
.aura-ad-frame > img {
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover;
    object-position: center;
}

.aura-ad-frame > .aura-ad-text {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 16px 24px;
    overflow: hidden;
    text-align: center;
}

.aura-ad-frame > :where(iframe, ins, div:not(.aura-ad-popup)) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    margin: 0 auto !important;
    overflow: hidden;
}

[data-theme="dark"] .aura-ad-frame {
    background: #172033;
}

.aura-ad-position-notice_bar.aura-ad-frame {
    height: 56px;
    aspect-ratio: auto;
}

.aura-ad-position-detail_popup .aura-popup-inner {
    aspect-ratio: 14 / 9;
}

.aura-ad-position-detail_popup .aura-popup-inner > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

:where(
    .aura-ad-position-home_top,
    .aura-ad-position-home_middle,
    .aura-ad-position-home_bottom,
    .aura-ad-position-list_top,
    .aura-ad-position-list_between,
    .aura-ad-position-list_bottom,
    .aura-ad-position-search_top,
    .aura-ad-position-detail_top,
    .aura-ad-position-detail_middle,
    .aura-ad-position-detail_bottom,
    .aura-ad-position-user_center,
    .aura-ad-position-not_found
) {
    margin-block: clamp(20px, 2vw, 28px) !important;
}

:where(
    .aura-ad-position-sidebar,
    .aura-ad-position-list_sidebar,
    .aura-ad-position-detail_sidebar,
    .aura-ad-position-post_sidebar
) {
    margin-block: 16px !important;
}

@media (max-width:1023px) {
    body { font-size:16px; }
    .aura-desktop-primary-nav,
    .aura-desktop-search { display:none !important; }
    .aura-mobile-nav-toggle { display:inline-flex !important; }
    header > .max-w-7xl { gap:12px; }
    header > .max-w-7xl > .flex:first-child { min-width:0; }
    header > .max-w-7xl > .flex:first-child > a { min-width:0; }
    header > .max-w-7xl > .flex:first-child > a img { max-width:min(160px,42vw); }

    .aura-footer-grid { grid-template-columns:1fr !important; gap:12px; }
    .aura-site-footer { padding-top:28px; padding-bottom:max(20px,env(safe-area-inset-bottom)); }
    .aura-footer-about { padding-bottom:14px; }
    .aura-footer-about > h4 { display:none; }
    .aura-footer-about p { max-width:62ch; font-size:13px !important; }
    .aura-footer-about > .flex.space-x-3 :where(a,span) { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
    .aura-footer-section { margin:0 !important; }
    .aura-footer-section-toggle { min-height:48px; padding:0 4px; border-bottom-color:#334155; cursor:pointer; font-size:14px; }
    .aura-footer-section-content { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows 200ms var(--aura-ease-out),opacity 160ms ease; }
    .aura-footer-section-content > .aura-footer-section-inner { min-height:0; overflow:hidden; }
    .aura-footer-section.is-open .aura-footer-section-content { grid-template-rows:1fr; opacity:1; }
    .aura-footer-section.is-open .aura-footer-section-toggle i { transform:rotate(180deg); }
    .aura-footer-section-content :where(a,li) { font-size:13px; }
    .aura-footer-section-content a { display:flex; align-items:center; min-height:44px; }

    .aura-mobile-filter-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:52px; margin:12px 0 16px; padding:0 16px; border:1px solid var(--aura-line); border-radius:14px; background:var(--aura-surface); color:var(--aura-ink); box-shadow:var(--aura-shadow-sm); font-size:15px; font-weight:800; cursor:pointer; }
    .aura-mobile-filter-toggle span { display:flex; align-items:center; gap:10px; }
    .aura-mobile-filter-backdrop { position:fixed; inset:0; z-index:9996; background:rgba(15,23,42,.58); opacity:0; visibility:hidden; pointer-events:none; transition:opacity 170ms var(--aura-ease-in),visibility 170ms; }
    .aura-mobile-filter-backdrop.is-open { display:block; opacity:1; visibility:visible; pointer-events:auto; }
    .aura-software-filter-sidebar { position:fixed !important; z-index:9997; top:0; right:0; bottom:0; width:min(88vw,380px) !important; max-width:none; padding:max(18px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom)); overflow-y:auto; overscroll-behavior:contain; background:var(--aura-bg); transform:translateX(105%); visibility:hidden; pointer-events:none; transition:transform 180ms var(--aura-ease-in),visibility 180ms; }
    .aura-software-filter-sidebar.is-open { transform:none; visibility:visible; pointer-events:auto; transition-duration:260ms; transition-timing-function:var(--aura-ease-out); }
    .aura-mobile-filter-head { position:sticky; top:calc(-1 * max(18px,env(safe-area-inset-top))); z-index:2; display:flex; align-items:center; justify-content:space-between; min-height:58px; margin:calc(-1 * max(18px,env(safe-area-inset-top))) -16px 14px; padding:max(10px,env(safe-area-inset-top)) 16px 10px; background:var(--aura-bg); border-bottom:1px solid var(--aura-line); }
    .aura-mobile-filter-head button { width:44px; height:44px; border:0; border-radius:12px; background:var(--aura-surface-muted); color:var(--aura-ink); cursor:pointer; }
    .max-w-7xl > .flex.md\:flex-row { flex-direction:column !important; }
    .aura-software-filter-sidebar label,
    .aura-software-filter-sidebar a { min-height:44px; align-items:center; }
    .aura-mobile-filter-extras { display:none; }

    .aura-floating-actions { right:max(12px,env(safe-area-inset-right)); bottom:max(12px,env(safe-area-inset-bottom)); }
    .aura-ai-send { width:44px; height:44px; }
    .aura-ai-messages,
    .aura-ai-inputbar input { font-size:14px; }
    .aura-software-card-desc { color:#64748b; font-size:14px; }
    .aura-software-card-sub,
    .aura-software-meta,
    .aura-software-card-rating,
    .aura-software-tags span { font-size:12px; }
    .aura-software-card-download { min-height:44px; font-size:14px; }
}
@media (max-width:639px) {
    .aura-desktop-auth-action { display:none !important; }
    .aura-footer-about p { max-width:none; }
    :where(
        .aura-ad-position-home_top,
        .aura-ad-position-home_middle,
        .aura-ad-position-home_bottom,
        .aura-ad-position-list_top,
        .aura-ad-position-list_between,
        .aura-ad-position-list_bottom,
        .aura-ad-position-search_top,
        .aura-ad-position-detail_top,
        .aura-ad-position-detail_middle,
        .aura-ad-position-detail_bottom,
        .aura-ad-position-user_center,
        .aura-ad-position-not_found
    ) {
        margin-block: 16px !important;
        height: 76px;
        aspect-ratio: auto;
    }
}
@media (min-width:1024px) {
    .aura-mobile-nav-toggle { display:none !important; }
    .aura-mobile-account-actions { display:none; }
    .aura-footer-section-content { display:block !important; }
}
@media (hover:none) and (pointer:coarse) {
    .aura-software-card:hover,
    .aura-portal-resource-card:hover,
    .aura-portal-category-card:hover,
    .aura-home-post-card:hover,
    .aura-float-ai:hover { transform:none; }
}
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto !important; }
    *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; transition-delay:0ms !important; scroll-behavior:auto !important; }
    .aura-portal-slide,.aura-reveal,.aura-home-modal-card,.aura-auth-box { transform:none !important; }
}
