:root {
    --sidebar-width: 292px;
    --primary: #6236ff;
    --primary-2: #2f7dff;
    --ink: #101828;
    --muted: #667085;
    --line: #e6eaf2;
    --soft: #f6f8fb;
    --dark: #06122a;
    --dark-2: #020912;
}
* { box-sizing: border-box; }
body {
    margin: 0;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ink);
    background: #f7f9fc;
}
a { text-decoration: none; }
.web-shell { display: flex; min-height: 100vh; }
.web-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--sidebar-width);
    color: #fff;
    background: radial-gradient(circle at 30% 0, rgba(98,54,255,.55), transparent 32%), linear-gradient(180deg, var(--dark), var(--dark-2));
    padding: 24px 18px;
    overflow-y: auto;
    z-index: 1050;
}
.web-brand { display: flex; align-items: center; gap: 14px; color: #fff; padding-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.09); }
.web-brand:hover { color: #fff; }
.web-logo {
    width: 56px; height: 56px; border-radius: 16px;
    display: grid; place-items: center;
    background: linear-gradient(135deg,#2f7dff,#7b2cff);
    color: #fff; font-weight: 900; font-size: 20px;
    box-shadow: 0 16px 30px rgba(91,44,255,.35);
}
.web-brand strong { display: block; font-size: 20px; line-height: 1.1; }
.web-brand small { display: block; color: #9daac3; margin-top: 3px; }
.web-nav { display: grid; gap: 7px; margin-top: 22px; }
.web-link {
    display: flex; align-items: center; gap: 14px;
    color: rgba(255,255,255,.86);
    padding: 13px 14px;
    border-radius: 14px;
    font-weight: 600;
}
.web-link:hover, .web-link.active {
    color: #fff;
    background: linear-gradient(135deg, #6039ff, #7138ff);
    box-shadow: 0 12px 26px rgba(91,44,255,.28);
}
.sidebar-mini-card {
    margin-top: 28px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 20px;
    background: rgba(255,255,255,.06);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07);
}
.sidebar-mini-card p { margin: 10px 0 16px; color: #b8c2d8; font-size: 13px; line-height: 1.55; }
.web-content-wrap { margin-left: var(--sidebar-width); width: calc(100% - var(--sidebar-width)); min-height: 100vh; }
.web-topbar {
    min-height: 88px;
    display: flex; align-items: center; gap: 20px;
    padding: 16px 28px;
    position: sticky; top: 0; z-index: 980;
    background: rgba(255,255,255,.9);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid var(--line);
}
.web-page-title { margin: 0; font-size: 23px; font-weight: 850; letter-spacing: -.02em; }
.web-page-subtitle { margin: 2px 0 0; color: var(--muted); font-size: 14px; }
.top-search { position: relative; width: min(430px, 40vw); margin-left: auto; }
.top-search .form-control { border-radius: 14px; padding: 12px 48px 12px 16px; border-color: #d9e1ee; }
.top-search button { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); border: 0; width: 36px; height: 36px; border-radius: 11px; background: #eef2ff; color: var(--primary); }
.web-main { padding: 26px 28px 38px; }
.web-footer { display: flex; justify-content: space-between; gap: 16px; color: #53657e; font-size: 13px; padding: 10px 28px 28px; }
.icon-btn { width: 42px; height: 42px; border-radius: 12px; background: #eef2ff; color: var(--primary); border: 0; }
.hero-panel {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
    gap: 26px;
    padding: 34px;
    border-radius: 28px;
    color: #fff;
    background: radial-gradient(circle at 10% 0, rgba(47,125,255,.72), transparent 34%), radial-gradient(circle at 85% 20%, rgba(123,44,255,.75), transparent 35%), linear-gradient(135deg, #071225, #0d1830 64%, #050b16);
    box-shadow: 0 24px 70px rgba(10,20,40,.18);
    margin-bottom: 28px;
}
.hero-panel:after { content: ""; position: absolute; width: 320px; height: 320px; border-radius: 50%; background: rgba(255,255,255,.06); right: -120px; bottom: -150px; }
.hero-copy, .hero-stats { position: relative; z-index: 1; }
.hero-copy h2 { font-size: clamp(32px, 5vw, 58px); line-height: 1.02; letter-spacing: -.05em; margin: 15px 0; font-weight: 900; }
.hero-copy p { max-width: 720px; color: #c9d4ea; font-size: 17px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.btn { border-radius: 13px; font-weight: 700; }
.btn-primary { background: linear-gradient(135deg,#6236ff,#4324d9); border: none; box-shadow: 0 10px 26px rgba(91,44,255,.28); }
.btn-outline-light { border-color: rgba(255,255,255,.35); }
.hero-stats { display: grid; gap: 14px; align-content: center; }
.hero-stats div { padding: 22px; border-radius: 22px; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.1); backdrop-filter: blur(10px); }
.hero-stats strong { display: block; font-size: 34px; line-height: 1; }
.hero-stats span { color: #c5d1e7; font-size: 13px; }
.pill-soft, .prompt-badge {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 8px 12px;
    border-radius: 999px;
    color: #4b22e8;
    background: #eef2ff;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.section-block { margin: 30px 0; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 15px; }
.section-heading h3 { margin: 0; font-weight: 850; letter-spacing: -.025em; }
.section-heading p { margin: 4px 0 0; color: var(--muted); }
.section-row { display: flex; gap: 18px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; }
.section-row > * { flex: 0 0 290px; scroll-snap-align: start; }
.prompt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(255px, 1fr)); gap: 18px; }
.category-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 18px; }
.prompt-card, .category-card, .section-head-card, .detail-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: 0 10px 34px rgba(16,24,40,.05);
}
.prompt-card { overflow: hidden; transition: transform .18s ease, box-shadow .18s ease; }
.prompt-card:hover { transform: translateY(-4px); box-shadow: 0 18px 46px rgba(16,24,40,.11); }
.prompt-thumb-wrap { position: relative; aspect-ratio: 16 / 11; background: #eef2f7; overflow: hidden; }
.prompt-thumb-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
.prompt-card-body { padding: 16px; }
.prompt-title { color: var(--ink); font-size: 17px; font-weight: 850; line-height: 1.3; margin: 10px 0 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.prompt-preview { color: var(--muted); font-size: 13px; line-height: 1.52; min-height: 39px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.prompt-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; color: #667085; font-size: 12px; }
.prompt-meta span { display: inline-flex; align-items: center; gap: 5px; padding: 6px 9px; border-radius: 999px; background: #f2f4f7; }
.prompt-flags { position: absolute; left: 12px; top: 12px; display: flex; gap: 8px; flex-wrap: wrap; }
.prompt-badge { color: #fff; background: rgba(3,8,23,.72); backdrop-filter: blur(8px); text-transform: none; letter-spacing: 0; padding: 7px 10px; }
.category-card { padding: 18px; min-height: 166px; display: flex; flex-direction: column; justify-content: space-between; color: var(--ink); transition: transform .18s ease, box-shadow .18s ease; }
.category-card:hover { transform: translateY(-4px); box-shadow: 0 18px 46px rgba(16,24,40,.11); color: var(--ink); }
.category-icon { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg,#6236ff,#2f7dff); font-weight: 900; font-size: 20px; }
.category-card h4 { font-size: 18px; margin: 14px 0 6px; font-weight: 850; }
.category-card p { color: var(--muted); font-size: 13px; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.category-card footer { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; color: var(--primary); font-weight: 800; font-size: 13px; }
.loading-state, .empty-state {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 30px;
    color: var(--muted);
    text-align: center;
}
.section-head-card { display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 25px; margin-bottom: 22px; }
.section-head-card h2 { margin: 12px 0 6px; font-weight: 900; letter-spacing: -.035em; }
.section-head-card p { color: var(--muted); margin: 0; }
.filter-pills { display: flex; flex-wrap: wrap; gap: 9px; }
.chip { border: 1px solid #d9e1ee; border-radius: 999px; background: #fff; padding: 9px 15px; font-weight: 800; color: #344054; }
.chip.active, .chip:hover { background: #eef2ff; color: var(--primary); border-color: #c8d1ff; }
.search-filter-card { min-width: min(100%, 780px); display: grid; grid-template-columns: 1.3fr .7fr .7fr auto; gap: 10px; }
.form-control, .form-select { border-color: #d9e1ee; border-radius: 12px; min-height: 44px; }
.detail-card { overflow: hidden; }
.detail-cover { aspect-ratio: 21 / 8; background: #eef2f7; overflow: hidden; }
.detail-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.detail-body { padding: 26px; }
.detail-title { font-size: clamp(28px, 4vw, 48px); font-weight: 900; letter-spacing: -.05em; margin: 12px 0; }
.detail-copy-box { border: 1px solid #d9e1ee; background: #fbfcff; border-radius: 18px; padding: 18px; white-space: pre-wrap; line-height: 1.72; color: #233049; }
.tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.tags span { background: #f2f4f7; color: #344054; border-radius: 999px; padding: 7px 10px; font-size: 12px; font-weight: 700; }
.detail-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.toast-wrap { position: fixed; right: 18px; bottom: 18px; z-index: 2000; display: grid; gap: 10px; }
.mini-toast { padding: 12px 16px; background: #101828; color: #fff; border-radius: 14px; box-shadow: 0 14px 34px rgba(16,24,40,.2); }
.sidebar-backdrop { display: none; }
code { color: #4b22e8; }
@media (max-width: 1100px) {
    .hero-panel { grid-template-columns: 1fr; }
    .search-filter-card { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 992px) {
    :root { --sidebar-width: 0px; }
    .web-sidebar { transform: translateX(-100%); transition: .25s ease; width: 292px; }
    .web-sidebar.open { transform: translateX(0); }
    .sidebar-backdrop.show { display: block; position: fixed; inset: 0; background: rgba(2,9,18,.55); z-index: 1040; }
    .web-content-wrap { margin-left: 0; width: 100%; }
    .top-search { display: none; }
    .web-topbar { padding: 14px 18px; }
    .web-main { padding: 18px; }
    .web-footer { padding: 10px 18px 24px; flex-direction: column; }
}
@media (max-width: 720px) {
    .hero-panel { padding: 24px; border-radius: 24px; }
    .section-head-card { display: block; }
    .search-filter-card { grid-template-columns: 1fr; margin-top: 16px; }
    .section-row > * { flex-basis: 250px; }
    .detail-cover { aspect-ratio: 16 / 10; }
}


/* ===== MOBILE GALLERY FRONTEND UPGRADE (MATCHED APP STYLE) ===== */
body.gallery-body {
    min-height: 100svh;
    color: #fff;
    background:
        radial-gradient(circle at 8% 4%, rgba(117, 61, 255, .20), transparent 28%),
        radial-gradient(circle at 92% 2%, rgba(19, 188, 255, .10), transparent 24%),
        #020813;
    overflow-x: hidden;
}
.gallery-body .web-shell { display: block; min-height: 100svh; }
.gallery-body .web-sidebar,
.gallery-body .web-topbar,
.gallery-body .web-footer { display: none !important; }
.gallery-body .web-content-wrap { width: 100%; margin-left: 0; min-height: 100svh; }
.gallery-body .web-main {
    width: min(100%, 860px);
    min-height: 100svh;
    margin: 0 auto;
    padding: 34px 22px 132px;
    background:
        linear-gradient(180deg, rgba(10,18,31,.70), rgba(2,8,18,.96)),
        radial-gradient(circle at 50% -8%, rgba(98, 54, 255, .18), transparent 36%);
    border-left: 1px solid rgba(148, 163, 184, .10);
    border-right: 1px solid rgba(148, 163, 184, .10);
    box-shadow: 0 0 0 1px rgba(255,255,255,.02), 0 30px 100px rgba(0,0,0,.45);
}
.gallery-screen { position: relative; }
.gallery-filters {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding: 18px 8px 32px;
    margin: -8px -8px 8px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.gallery-filters::-webkit-scrollbar { display: none; }
.gallery-filter {
    position: relative;
    flex: 0 0 104px;
    height: 134px;
    border: 1px solid rgba(148, 163, 184, .20);
    border-radius: 27px;
    color: #fff;
    background: linear-gradient(180deg, rgba(22, 28, 42, .86), rgba(8, 13, 24, .86));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 18px 34px rgba(0,0,0,.32);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.gallery-filter:hover { transform: translateY(-2px); }
.gallery-filter strong { font-size: 14px; font-weight: 760; line-height: 1; }
.gallery-filter em {
    position: absolute;
    left: 50%; bottom: 11px;
    width: 0; height: 5px;
    border-radius: 99px;
    transform: translateX(-50%);
    background: #b581ff;
    box-shadow: 0 0 18px rgba(181,129,255,.95);
    transition: width .22s ease;
}
.gallery-filter.active {
    border-color: rgba(151, 71, 255, .94);
    background: radial-gradient(circle at 50% 25%, rgba(129, 60, 255, .56), rgba(22, 28, 42, .88) 62%, rgba(8,13,24,.92));
    box-shadow: 0 0 0 1px rgba(151, 71, 255, .38), 0 0 28px rgba(119, 72, 255, .36), 0 22px 46px rgba(0,0,0,.45);
}
.gallery-filter.active em { width: 48px; }
.filter-icon { display: grid; place-items: center; width: 54px; height: 54px; font-size: 34px; line-height: 1; filter: drop-shadow(0 0 13px currentColor); }
.filter-icon.purple { color: #b58cff; }
.filter-icon.green { color: #0ee7a8; }
.filter-icon.blue { color: #2f7dff; }
.filter-icon.pink { color: #d86bff; }
.filter-icon.orange { color: #ff8542; }
.filter-icon.rose { color: #ff4f86; }
.filter-icon.yellow { color: #ffd064; }
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.gallery-card {
    position: relative;
    display: block;
    overflow: hidden;
    isolation: isolate;
    aspect-ratio: 1 / 1.34;
    border-radius: 24px;
    background: #071120;
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 18px 44px rgba(0,0,0,.34);
    transform: translateZ(0);
    transition: transform .26s ease, border-color .26s ease, box-shadow .26s ease;
}
.gallery-card:hover { transform: translateY(-3px); border-color: rgba(181, 140, 255, .40); box-shadow: 0 22px 56px rgba(0,0,0,.44); }
.gallery-card:active { transform: scale(.985); }
.gallery-card .image-skeleton {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(100deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.13) 18%, rgba(255,255,255,.04) 36%) 0 0 / 220% 100%,
        linear-gradient(135deg, rgba(66, 41, 142, .28), rgba(2, 8, 18, .75));
    animation: galleryShimmer 1.18s infinite linear;
    z-index: 1;
}
.gallery-card.loaded .image-skeleton { opacity: 0; visibility: hidden; transition: opacity .28s ease, visibility .28s ease; }
.gallery-img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    opacity: 0;
    transform: scale(1.035);
    transition: opacity .46s ease, transform .72s cubic-bezier(.2,.7,.2,1);
}
.gallery-card.loaded .gallery-img { opacity: 1; transform: scale(1); }
.gallery-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(0,0,0,0) 60%, rgba(0,0,0,.44) 100%);
}
.views-chip {
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 30px;
    padding: 6px 10px;
    border-radius: 999px;
    color: #fff;
    font-size: 12px;
    font-weight: 750;
    background: rgba(2, 8, 18, .36);
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 10px 26px rgba(0,0,0,.30);
}
.gallery-loader {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 86px;
    color: rgba(255,255,255,.72);
    font-size: 13px;
    font-weight: 700;
}
.gallery-loader.hidden { display: none; }
.infinite-spinner {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 3px solid rgba(181, 140, 255, .18);
    border-top-color: #b58cff;
    box-shadow: 0 0 18px rgba(181, 140, 255, .46);
    animation: gallerySpin .72s linear infinite;
}
.gallery-end {
    display: none;
    text-align: center;
    color: rgba(255,255,255,.48);
    font-size: 12px;
    font-weight: 700;
    padding: 22px 0 6px;
}
.gallery-end.show { display: block; }
.gallery-sentinel { width: 100%; height: 1px; }
.app-tabbar {
    position: fixed;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    z-index: 3000;
    width: min(calc(100% - 32px), 820px);
    min-height: 96px;
    padding: 13px 24px calc(13px + env(safe-area-inset-bottom));
    border-radius: 42px;
    display: flex;
    align-items: center;
    justify-content: space-around;
    background: rgba(6, 12, 23, .76);
    border: 1px solid rgba(148, 163, 184, .16);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 -8px 45px rgba(0,0,0,.58);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
}
.tab-link {
    position: relative;
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    color: rgba(255,255,255,.88);
    font-size: 34px;
    transition: color .22s ease, transform .22s ease;
}
.tab-link:hover { color: #fff; transform: translateY(-2px); }
.tab-link.active { color: #b58cff; filter: drop-shadow(0 0 14px rgba(181,140,255,.9)); }
.tab-link span {
    position: absolute;
    bottom: -6px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0;
}
.tab-link.active span { opacity: 1; }
@keyframes gallerySpin { to { transform: rotate(360deg); } }
@keyframes galleryShimmer { to { background-position: -220% 0, 0 0; } }
@media (max-width: 760px) {
    .gallery-body .web-main { padding: 24px 16px 124px; border: 0; }
    .gallery-filters { gap: 14px; padding-bottom: 26px; }
    .gallery-filter { flex-basis: 92px; height: 124px; border-radius: 24px; }
    .filter-icon { width: 48px; height: 48px; font-size: 30px; }
    .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .gallery-card { border-radius: 20px; }
    .app-tabbar { min-height: 82px; border-radius: 34px; padding-left: 12px; padding-right: 12px; }
    .tab-link { width: 52px; height: 52px; font-size: 29px; }
}
@media (max-width: 380px) {
    .gallery-body .web-main { padding-left: 12px; padding-right: 12px; }
    .gallery-grid { gap: 10px; }
    .gallery-filter { flex-basis: 84px; height: 116px; }
    .gallery-filter strong { font-size: 12px; }
}


/* ===== EXACT MOBILE GALLERY MATCH + ROOT FRONTEND FIX ===== */
body.gallery-body {
    background: #020711 !important;
}
.gallery-body .web-main {
    width: min(100%, 850px) !important;
    padding: 20px 22px 134px !important;
    border: 1px solid rgba(118, 139, 170, .18);
    border-radius: 38px;
    overflow: hidden;
}
.gallery-filters {
    gap: 18px !important;
    padding: 10px 4px 38px !important;
    margin: 0 -4px !important;
}
.gallery-filter {
    flex: 0 0 112px !important;
    height: 132px !important;
    border-radius: 28px !important;
    background: linear-gradient(180deg, rgba(20,26,38,.88), rgba(8,13,24,.92)) !important;
}
.gallery-filter strong {
    font-size: 14px !important;
    color: rgba(255,255,255,.96);
}
.gallery-filter.active {
    background:
        radial-gradient(circle at 50% 22%, rgba(138,75,255,.60), rgba(22,23,42,.88) 56%, rgba(11,14,26,.94)) !important;
}
.filter-icon {
    width: 54px !important;
    height: 54px !important;
    font-size: 36px !important;
}
.gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
}
.gallery-card {
    aspect-ratio: 1 / 1.34 !important;
    border-radius: 22px !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    background: #07101d !important;
}
.views-chip {
    right: 9px !important;
    bottom: 9px !important;
    min-height: 28px !important;
    padding: 6px 9px !important;
    font-size: 11px !important;
    background: rgba(4, 9, 18, .38) !important;
}
.gallery-loader {
    padding-bottom: 18px;
}
@media (max-width: 760px) {
    .gallery-body .web-main {
        width: 100% !important;
        padding: 14px 16px 120px !important;
        border-radius: 30px;
    }
    .gallery-filters {
        gap: 14px !important;
        padding-bottom: 30px !important;
    }
    .gallery-filter {
        flex-basis: 96px !important;
        height: 126px !important;
        border-radius: 24px !important;
    }
    .filter-icon {
        width: 48px !important;
        height: 48px !important;
        font-size: 31px !important;
    }
    .gallery-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }
    .gallery-card {
        border-radius: 18px !important;
    }
    .app-tabbar {
        width: min(calc(100% - 28px), 790px) !important;
        min-height: 82px !important;
        border-radius: 34px !important;
    }
}
@media (max-width: 430px) {
    .gallery-body .web-main {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    .gallery-filter {
        flex-basis: 86px !important;
        height: 116px !important;
    }
    .gallery-filter strong {
        font-size: 12px !important;
    }
    .gallery-grid {
        gap: 10px !important;
    }
    .views-chip {
        font-size: 10px !important;
        padding: 5px 7px !important;
    }
}


/* ===== Single Prompt Mobile Detail UI (screenshot style) ===== */
body.prompt-detail-screen {
    background:
        radial-gradient(circle at 12% 0%, rgba(122, 70, 255, .12), transparent 32%),
        radial-gradient(circle at 92% 12%, rgba(53, 125, 255, .10), transparent 28%),
        #050812;
    color: #fff;
}

body.prompt-detail-screen .web-sidebar,
body.prompt-detail-screen .web-topbar,
body.prompt-detail-screen .web-footer,
body.prompt-detail-screen .app-tabbar {
    display: none !important;
}

body.prompt-detail-screen .web-shell {
    display: block;
    min-height: 100vh;
    background: transparent;
}

body.prompt-detail-screen .web-content-wrap {
    margin-left: 0 !important;
    width: 100% !important;
    min-height: 100vh;
    background: transparent;
}

body.prompt-detail-screen .web-main {
    padding: 0 !important;
    max-width: none !important;
    min-height: 100vh;
    background: transparent;
}

body.prompt-detail-screen #promptDetail {
    width: 100%;
}

.mobile-prompt-detail {
    width: min(100%, 760px);
    margin: 0 auto;
    padding: max(28px, env(safe-area-inset-top)) 32px 56px;
    min-height: 100vh;
    background:
        radial-gradient(circle at 30% -10%, rgba(255,255,255,.06), transparent 38%),
        linear-gradient(180deg, #070b15 0%, #03050a 100%);
    border-left: 1px solid rgba(255,255,255,.05);
    border-right: 1px solid rgba(255,255,255,.05);
    box-shadow: 0 0 80px rgba(0,0,0,.5);
}

.detail-top-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 34px;
}

.detail-circle-btn {
    width: 78px;
    height: 78px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.15);
    background: rgba(255,255,255,.075);
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 34px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 14px 30px rgba(0,0,0,.24);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.detail-circle-btn:active {
    transform: scale(.94);
}

.detail-circle-btn.saved {
    color: #fff;
    border-color: rgba(168, 99, 255, .55);
    box-shadow: 0 0 34px rgba(144, 80, 255, .32), inset 0 1px 0 rgba(255,255,255,.12);
}

.detail-hero-card {
    position: relative;
    overflow: hidden;
    border-radius: 34px;
    min-height: 420px;
    aspect-ratio: 1.24 / 1;
    border: 1px solid rgba(255,255,255,.15);
    background: rgba(255,255,255,.055);
    box-shadow: 0 28px 70px rgba(0,0,0,.42);
}

.detail-hero-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transform: scale(1.015);
    transition: opacity .45s ease, transform .65s ease;
}

.detail-hero-card.loaded img {
    opacity: 1;
    transform: scale(1);
}

.detail-image-loader {
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(110deg, rgba(255,255,255,.06) 8%, rgba(255,255,255,.15) 18%, rgba(255,255,255,.06) 33%),
        rgba(255,255,255,.045);
    background-size: 220% 100%;
    animation: detailShimmer 1.25s linear infinite;
}

.detail-hero-card.loaded .detail-image-loader {
    display: none;
}

@keyframes detailShimmer {
    to { background-position-x: -220%; }
}

.generate-btn {
    width: 100%;
    height: 84px;
    margin: 30px 0;
    border: 0;
    border-radius: 24px;
    color: #fff;
    font-size: 30px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    letter-spacing: .01em;
    background: linear-gradient(135deg, #7a3cff 0%, #6730e8 50%, #742cff 100%);
    box-shadow: 0 18px 44px rgba(113, 64, 255, .34), inset 0 1px 0 rgba(255,255,255,.28);
    transition: transform .2s ease, filter .2s ease;
}

.generate-btn:active {
    transform: scale(.985);
    filter: brightness(1.08);
}

.prompt-glass-card {
    position: relative;
    padding: 28px;
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,.13);
    background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.04));
    box-shadow: 0 18px 55px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.prompt-card-head {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 16px;
}

.prompt-icon-badge {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, #7a42ff, #3d168e);
    box-shadow: 0 10px 28px rgba(122, 66, 255, .28);
}

.prompt-card-head h1 {
    margin: 0;
    color: #fff;
    font-size: 29px;
    line-height: 1;
    font-weight: 800;
    flex: 1;
}

.prompt-collapse-btn {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 0;
    color: #c8c9d4;
    background: rgba(255,255,255,.08);
    display: grid;
    place-items: center;
    font-size: 24px;
}

.prompt-text {
    color: rgba(235, 235, 245, .76);
    font-size: 24px;
    line-height: 1.48;
    white-space: pre-wrap;
    transition: max-height .3s ease;
}

.prompt-text.collapsed {
    max-height: 174px;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 62%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 62%, transparent 100%);
}

.show-more-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: fit-content;
    margin: 14px auto 0;
    border: 0;
    background: transparent;
    color: #9b63ff;
    font-size: 23px;
    line-height: 1;
    font-weight: 800;
}

.detail-action-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin: 22px 0 30px;
}

.detail-action-btn {
    min-height: 78px;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.12);
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035));
    color: #fff;
    font-size: 26px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.detail-action-btn i {
    font-size: 29px;
    color: rgba(235,235,245,.78);
}

.open-tools {
    display: grid;
    gap: 18px;
}

.open-tool-card {
    min-height: 116px;
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,.10);
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035));
    color: #fff;
    padding: 22px 26px;
    display: flex;
    align-items: center;
    gap: 22px;
    box-shadow: 0 14px 40px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.06);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.open-tool-card:hover {
    color: #fff;
    border-color: rgba(155, 99, 255, .35);
}

.tool-logo {
    width: 68px;
    height: 68px;
    flex: 0 0 68px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    font-size: 34px;
}

.chatgpt-logo {
    color: #15e1a4;
    background: rgba(12, 184, 134, .13);
}

.gemini-logo {
    color: #78a8ff;
    background: rgba(62, 106, 255, .12);
}

.tool-copy {
    display: grid;
    gap: 8px;
    flex: 1;
    min-width: 0;
}

.tool-copy strong {
    color: #fff;
    font-size: 25px;
    line-height: 1.05;
}

.tool-copy small {
    color: rgba(235,235,245,.62);
    font-size: 19px;
    line-height: 1.25;
}

.tool-open-icon {
    color: #9b63ff;
    font-size: 28px;
}

.related-detail-section {
    margin-top: 36px;
    padding-bottom: 24px;
}

.related-detail-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.related-detail-head h2 {
    color: #fff;
    font-size: 27px;
    margin: 0;
    font-weight: 850;
}

.related-detail-head a {
    color: #9b63ff;
    font-weight: 800;
}

.related-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.related-gallery-grid .gallery-card {
    min-height: 0;
    aspect-ratio: .78 / 1;
    border-radius: 20px;
    margin: 0;
}

.related-gallery-grid .views-chip {
    font-size: 11px;
    padding: 6px 8px;
}

.related-loader {
    display: grid;
    place-items: center;
    min-height: 70px;
}

@media (max-width: 640px) {
    .mobile-prompt-detail {
        padding: max(20px, env(safe-area-inset-top)) 18px 40px;
        width: 100%;
        border: 0;
    }

    .detail-top-actions {
        margin-bottom: 26px;
    }

    .detail-circle-btn {
        width: 60px;
        height: 60px;
        font-size: 28px;
    }

    .detail-hero-card {
        min-height: 300px;
        border-radius: 28px;
    }

    .generate-btn {
        height: 72px;
        margin: 24px 0;
        font-size: 24px;
        border-radius: 22px;
    }

    .prompt-glass-card {
        padding: 22px;
        border-radius: 24px;
    }

    .prompt-card-head h1 {
        font-size: 25px;
    }

    .prompt-text {
        font-size: 20px;
    }

    .detail-action-grid {
        gap: 14px;
    }

    .detail-action-btn {
        min-height: 70px;
        font-size: 22px;
        border-radius: 20px;
    }

    .open-tool-card {
        min-height: 100px;
        padding: 18px 20px;
        border-radius: 22px;
    }

    .tool-logo {
        width: 56px;
        height: 56px;
        flex-basis: 56px;
        font-size: 29px;
    }

    .tool-copy strong {
        font-size: 21px;
    }

    .tool-copy small {
        font-size: 16px;
    }

    .related-gallery-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 9px;
    }

    .related-gallery-grid .gallery-card {
        border-radius: 16px;
    }
}

@media (max-width: 430px) {
    .mobile-prompt-detail {
        padding-left: 14px;
        padding-right: 14px;
    }

    .detail-hero-card {
        min-height: 255px;
        aspect-ratio: 1.08 / 1;
    }

    .prompt-text {
        font-size: 18px;
    }

    .detail-action-btn {
        gap: 11px;
        font-size: 19px;
    }

    .detail-action-btn i {
        font-size: 24px;
    }

    .related-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
}

/* ===== Final mobile app screens matched to supplied references ===== */
.tab-title { display: none; }
.tab-link .tab-dot {
    position: absolute;
    bottom: -6px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0;
}
.tab-link.active .tab-dot { opacity: 1; }

body.app-categories-body {
    min-height: 100svh;
    color: #fff;
    background:
        radial-gradient(circle at 14% 0%, rgba(124, 77, 255, .12), transparent 28%),
        radial-gradient(circle at 90% 8%, rgba(57, 151, 255, .08), transparent 26%),
        #020710;
    overflow-x: hidden;
}
body.app-categories-body .web-sidebar,
body.app-categories-body .web-topbar,
body.app-categories-body .web-footer { display: none !important; }
body.app-categories-body .web-shell { display: block; min-height: 100svh; background: transparent; }
body.app-categories-body .web-content-wrap { margin-left: 0 !important; width: 100% !important; min-height: 100svh; background: transparent; }
body.app-categories-body .web-main {
    width: min(100%, 853px);
    min-height: 100svh;
    margin: 0 auto;
    padding: 35px 41px 190px;
    background:
        linear-gradient(180deg, rgba(7, 13, 24, .72) 0%, rgba(2, 7, 16, .98) 100%),
        radial-gradient(circle at 50% -10%, rgba(91, 127, 255, .10), transparent 38%);
    border: 1px solid rgba(106, 128, 162, .18);
    border-radius: 42px;
    box-shadow: 0 0 0 1px rgba(255,255,255,.025), 0 34px 110px rgba(0,0,0,.55);
    overflow: hidden;
}
.category-app-screen { position: relative; }
.category-back-btn {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.055);
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 40px;
    line-height: 1;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 16px 32px rgba(0,0,0,.32);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.category-back-btn:active { transform: scale(.96); }
.category-app-title {
    margin: 29px 0 28px;
    color: #fff;
    font-size: 34px;
    font-weight: 830;
    letter-spacing: -.025em;
    line-height: 1;
}
.mobile-category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 29px 27px;
}
.mobile-category-card {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: .96 / 1;
    border-radius: 28px;
    background: rgba(7, 16, 30, .92);
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 18px 46px rgba(0,0,0,.36);
    isolation: isolate;
    transform: translateZ(0);
    transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.mobile-category-card:hover {
    transform: translateY(-3px);
    border-color: rgba(159, 99, 255, .42);
    box-shadow: 0 22px 58px rgba(0,0,0,.45);
}
.mobile-category-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 0;
    transform: scale(1.02);
    transition: opacity .42s ease, transform .68s cubic-bezier(.2,.7,.2,1);
    z-index: 2;
}
.mobile-category-card.loaded img { opacity: 1; transform: scale(1); }
.category-image-skeleton {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(100deg, rgba(255,255,255,.035) 0%, rgba(255,255,255,.13) 18%, rgba(255,255,255,.035) 36%) 0 0 / 220% 100%,
        linear-gradient(135deg, rgba(60, 37, 135, .25), rgba(2, 8, 18, .78));
    animation: galleryShimmer 1.18s infinite linear;
}
.mobile-category-card.loaded .category-image-skeleton { opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s ease; }
.category-name-pill {
    position: absolute;
    z-index: 4;
    left: 50%;
    bottom: 17px;
    transform: translateX(-50%);
    max-width: calc(100% - 70px);
    min-width: 124px;
    min-height: 22px;
    padding: 5px 16px;
    border-radius: 999px;
    color: rgba(255,255,255,.72);
    background: rgba(29, 37, 52, .82);
    border: 1px solid rgba(255,255,255,.04);
    text-align: center;
    font-size: 11px;
    font-weight: 760;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.category-loading-state {
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: rgba(255,255,255,.72);
    font-weight: 750;
}
body.app-categories-body .app-tabbar {
    width: min(calc(100% - 53px), 800px);
    min-height: 122px;
    bottom: 58px;
    border-radius: 47px;
    padding: 13px 28px calc(13px + env(safe-area-inset-bottom));
    background: rgba(6, 12, 23, .80);
    border-color: rgba(148, 163, 184, .14);
}
body.app-categories-body .tab-link { width: 72px; height: 72px; font-size: 36px; }
body.app-categories-body .tab-link.active {
    width: 230px;
    height: 77px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    color: #fff;
    background:
        radial-gradient(circle at 30% 20%, rgba(136, 78, 255, .88), rgba(82, 38, 176, .74) 62%, rgba(19, 18, 36, .88)),
        rgba(17, 20, 34, .88);
    border: 1px solid rgba(154, 79, 255, .92);
    box-shadow: 0 0 30px rgba(137, 78, 255, .42), inset 0 1px 0 rgba(255,255,255,.14);
    filter: none;
}
body.app-categories-body .tab-link.active .tab-dot { display: none; }
body.app-categories-body .tab-link.active .tab-title {
    display: block;
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
}

/* single prompt page exact app detail */
body.prompt-detail-screen {
    background:
        radial-gradient(circle at 10% 0%, rgba(92, 116, 255, .11), transparent 32%),
        radial-gradient(circle at 88% 8%, rgba(44, 153, 255, .08), transparent 26%),
        #020710;
}
.mobile-prompt-detail {
    width: min(100%, 853px) !important;
    margin: 0 auto !important;
    padding: 0 0 58px !important;
    min-height: 100svh !important;
    background:
        linear-gradient(180deg, rgba(6, 12, 23, .55) 0%, rgba(2, 7, 16, .98) 44%, rgba(2, 7, 16, 1) 100%),
        radial-gradient(circle at 50% -8%, rgba(91, 127, 255, .12), transparent 40%) !important;
    border: 1px solid rgba(106, 128, 162, .16) !important;
    border-radius: 42px !important;
    overflow: hidden !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,.025), 0 34px 110px rgba(0,0,0,.58) !important;
}
.mobile-prompt-detail .detail-hero-card {
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 1.123 / 1 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 38px !important;
    box-shadow: 0 28px 74px rgba(0,0,0,.42) !important;
}
.mobile-prompt-detail .detail-hero-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(0,0,0,.13) 0%, rgba(0,0,0,0) 38%, rgba(0,0,0,.10) 100%),
        radial-gradient(circle at 50% 5%, rgba(255,255,255,.18), transparent 34%);
}
.mobile-prompt-detail .detail-top-actions {
    position: absolute !important;
    z-index: 3;
    left: 52px;
    right: 52px;
    top: 56px;
    margin: 0 !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    pointer-events: none;
}
.mobile-prompt-detail .detail-circle-btn {
    width: 92px !important;
    height: 92px !important;
    font-size: 42px !important;
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.23) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.13), 0 18px 38px rgba(0,0,0,.25) !important;
    pointer-events: auto;
}
.mobile-prompt-detail .detail-circle-btn.saved {
    border-color: rgba(255,255,255,.28) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 0 28px rgba(155, 99, 255, .32) !important;
}
.mobile-prompt-detail .generate-btn {
    width: min(calc(100% - 312px), 540px) !important;
    min-width: 420px;
    height: 87px !important;
    margin: 50px auto 48px !important;
    border: 2px solid rgba(151, 78, 255, .95) !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(31, 34, 51, .82), rgba(20, 24, 38, .82)) !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,.035), 0 18px 44px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.08) !important;
    font-size: 31px !important;
    gap: 21px !important;
}
.mobile-prompt-detail .generate-btn i {
    color: #b58cff;
    filter: drop-shadow(0 0 12px rgba(181, 140, 255, .95));
}
.mobile-prompt-detail .prompt-glass-card,
.mobile-prompt-detail .detail-action-grid,
.mobile-prompt-detail .open-tools,
.mobile-prompt-detail .related-detail-section {
    width: calc(100% - 122px) !important;
    max-width: 730px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.mobile-prompt-detail .prompt-glass-card {
    padding: 28px 31px 29px !important;
    border-radius: 23px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.062), rgba(255,255,255,.032)) !important;
    border-color: rgba(255,255,255,.12) !important;
    box-shadow: 0 18px 56px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.mobile-prompt-detail .prompt-card-head { gap: 22px !important; margin-bottom: 20px !important; }
.mobile-prompt-detail .prompt-icon-badge { width: 46px !important; height: 46px !important; border-radius: 12px !important; }
.mobile-prompt-detail .prompt-card-head h1 { font-size: 29px !important; letter-spacing: -.01em; }
.mobile-prompt-detail .prompt-collapse-btn { width: 46px !important; height: 46px !important; background: rgba(255,255,255,.07) !important; }
.mobile-prompt-detail .prompt-text { font-size: 25px !important; line-height: 1.45 !important; color: rgba(235,235,245,.70) !important; }
.mobile-prompt-detail .prompt-text.collapsed { max-height: 145px !important; }
.mobile-prompt-detail .show-more-btn { display: none !important; }
.mobile-prompt-detail .detail-action-grid { gap: 20px !important; margin-top: 50px !important; margin-bottom: 36px !important; }
.mobile-prompt-detail .detail-action-btn {
    min-height: 91px !important;
    border-radius: 22px !important;
    font-size: 28px !important;
    gap: 19px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.060), rgba(255,255,255,.028)) !important;
}
.mobile-prompt-detail .detail-action-btn i { color: #a668ff !important; font-size: 31px !important; }
.mobile-prompt-detail .open-tools { gap: 28px !important; }
.mobile-prompt-detail .open-tool-card {
    min-height: 139px !important;
    border-radius: 24px !important;
    padding: 25px 30px !important;
    gap: 27px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.060), rgba(255,255,255,.029)) !important;
}
.mobile-prompt-detail .tool-logo { width: 84px !important; height: 84px !important; flex-basis: 84px !important; border-radius: 17px !important; font-size: 42px !important; }
.mobile-prompt-detail .tool-copy strong { font-size: 28px !important; letter-spacing: -.01em; }
.mobile-prompt-detail .tool-copy small { font-size: 20px !important; color: rgba(235,235,245,.66) !important; }
.mobile-prompt-detail .tool-open-icon { font-size: 30px !important; color: #9b63ff !important; }

@media (max-width: 760px) {
    body.app-categories-body .web-main {
        width: 100%;
        min-height: 100svh;
        padding: 31px 25px 156px;
        border-radius: 34px;
    }
    .category-back-btn { width: 64px; height: 64px; font-size: 31px; }
    .category-app-title { margin: 29px 0 26px; font-size: 30px; }
    .mobile-category-grid { gap: 20px 16px; }
    .mobile-category-card { border-radius: 22px; }
    body.app-categories-body .app-tabbar { bottom: 28px; min-height: 96px; border-radius: 40px; }
    body.app-categories-body .tab-link.active { width: 190px; height: 68px; }
    body.app-categories-body .tab-link.active .tab-title { font-size: 18px; }

    .mobile-prompt-detail { width: 100% !important; border-radius: 34px !important; }
    .mobile-prompt-detail .detail-top-actions { left: 30px; right: 30px; top: 30px; }
    .mobile-prompt-detail .detail-circle-btn { width: 64px !important; height: 64px !important; font-size: 30px !important; }
    .mobile-prompt-detail .generate-btn { width: min(calc(100% - 120px), 540px) !important; min-width: 0; height: 72px !important; font-size: 24px !important; margin: 36px auto !important; }
    .mobile-prompt-detail .prompt-glass-card,
    .mobile-prompt-detail .detail-action-grid,
    .mobile-prompt-detail .open-tools,
    .mobile-prompt-detail .related-detail-section { width: calc(100% - 60px) !important; }
    .mobile-prompt-detail .prompt-text { font-size: 20px !important; }
    .mobile-prompt-detail .detail-action-grid { margin-top: 34px !important; }
    .mobile-prompt-detail .detail-action-btn { min-height: 72px !important; font-size: 22px !important; }
    .mobile-prompt-detail .open-tool-card { min-height: 104px !important; padding: 18px 21px !important; }
    .mobile-prompt-detail .tool-logo { width: 56px !important; height: 56px !important; flex-basis: 56px !important; font-size: 29px !important; }
    .mobile-prompt-detail .tool-copy strong { font-size: 21px !important; }
    .mobile-prompt-detail .tool-copy small { font-size: 16px !important; }
}
@media (max-width: 430px) {
    body.app-categories-body .web-main { padding: 24px 18px 135px; border-radius: 30px; }
    .mobile-category-grid { gap: 13px 10px; }
    .mobile-category-card { border-radius: 18px; }
    .category-name-pill { min-width: 86px; max-width: calc(100% - 42px); bottom: 12px; }
    body.app-categories-body .tab-link.active { width: 160px; gap: 10px; }
    body.app-categories-body .tab-link.active .tab-title { font-size: 16px; }
    .mobile-prompt-detail .detail-hero-card { aspect-ratio: 1.08 / 1 !important; }
    .mobile-prompt-detail .prompt-glass-card,
    .mobile-prompt-detail .detail-action-grid,
    .mobile-prompt-detail .open-tools,
    .mobile-prompt-detail .related-detail-section { width: calc(100% - 32px) !important; }
}

/* ===== Category data + improved app navigation/header refinements ===== */
.filter-icon.dynamic { color: #b58cff; }
.filter-icon.dynamic-1 { color: #0ee7a8; }
.filter-icon.dynamic-2 { color: #2f7dff; }
.filter-icon.dynamic-3 { color: #d86bff; }
.filter-icon.dynamic-4 { color: #ff8542; }
.filter-icon.dynamic-5 { color: #c77dff; }
.filter-icon.dynamic-6 { color: #ffd064; }
.filter-icon img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 0 13px currentColor);
}

.app-page-head {
    display: flex;
    align-items: center;
    gap: 22px;
    margin: 0 0 28px;
}
.app-page-head .category-app-title {
    margin: 0 !important;
    flex: 1;
}
.app-title-copy {
    display: grid;
    gap: 7px;
    min-width: 0;
    flex: 1;
}
.app-title-copy span {
    color: rgba(181, 140, 255, .92);
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.app-title-copy h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(27px, 5vw, 38px);
    font-weight: 880;
    letter-spacing: -.035em;
    line-height: 1.05;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.app-page-description {
    width: min(100%, 730px);
    margin: -10px 0 24px;
    color: rgba(235,235,245,.64);
    font-size: 16px;
    line-height: 1.55;
}

.category-prompts-body .web-main,
.favorites-body .web-main,
.profile-body .web-main {
    padding-top: 35px !important;
}
.category-prompts-screen,
.favorites-screen,
.profile-screen {
    position: relative;
}
.category-prompt-grid,
.favorites-grid {
    margin-top: 20px;
}
.category-prompts-body .gallery-loader,
.favorites-body .gallery-loader {
    min-height: 120px;
}
.category-prompts-body .empty-state,
.favorites-body .empty-state {
    grid-column: 1 / -1;
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.72);
    border-color: rgba(255,255,255,.12);
}

.category-name-pill {
    min-height: 30px !important;
    padding: 7px 16px !important;
    color: rgba(255,255,255,.94) !important;
    background: rgba(6, 12, 23, .54) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    box-shadow: 0 10px 26px rgba(0,0,0,.24);
    font-size: 12px !important;
    letter-spacing: .01em;
}
.mobile-category-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(0,0,0,0) 58%, rgba(0,0,0,.46) 100%);
}

body.gallery-body .app-tabbar,
body.app-categories-body .app-tabbar {
    width: min(calc(100% - 34px), 800px) !important;
    min-height: 96px;
    bottom: 22px;
    border-radius: 42px;
    padding: 13px 18px calc(13px + env(safe-area-inset-bottom));
}
body.gallery-body .tab-link,
body.app-categories-body .tab-link {
    width: 58px;
    height: 62px;
    font-size: 31px;
}
body.gallery-body .tab-link.active,
body.app-categories-body .tab-link.active {
    width: clamp(116px, 27vw, 220px) !important;
    height: 70px !important;
    border-radius: 999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 30% 20%, rgba(136, 78, 255, .90), rgba(82, 38, 176, .75) 62%, rgba(19, 18, 36, .90)),
        rgba(17, 20, 34, .88) !important;
    border: 1px solid rgba(154, 79, 255, .92) !important;
    box-shadow: 0 0 30px rgba(137, 78, 255, .42), inset 0 1px 0 rgba(255,255,255,.14) !important;
    filter: none !important;
}
body.gallery-body .tab-link.active .tab-dot,
body.app-categories-body .tab-link.active .tab-dot { display: none !important; }
body.gallery-body .tab-link.active .tab-title,
body.app-categories-body .tab-link.active .tab-title {
    display: block !important;
    font-size: 18px;
    font-weight: 820;
    line-height: 1;
    white-space: nowrap;
}

.profile-card {
    display: flex;
    gap: 20px;
    align-items: center;
    padding: 24px;
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 18px 56px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.06);
    color: #fff;
}
.profile-avatar {
    width: 82px;
    height: 82px;
    flex: 0 0 82px;
    border-radius: 24px;
    display: grid;
    place-items: center;
    font-size: 42px;
    color: #fff;
    background: radial-gradient(circle at 30% 20%, rgba(181,140,255,.92), rgba(91,46,204,.65));
    box-shadow: 0 0 32px rgba(137, 78, 255, .38);
}
.profile-card h2 {
    margin: 0 0 8px;
    font-size: 27px;
    font-weight: 850;
}
.profile-card p {
    margin: 0;
    color: rgba(235,235,245,.66);
    line-height: 1.55;
}
.profile-action-list {
    display: grid;
    gap: 16px;
    margin-top: 24px;
}
.profile-action-card {
    min-height: 82px;
    border-radius: 24px;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 18px 22px;
    color: #fff;
    background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.030));
    border: 1px solid rgba(255,255,255,.11);
    box-shadow: 0 14px 38px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05);
}
.profile-action-card:hover { color: #fff; border-color: rgba(155,99,255,.36); }
.profile-action-card span {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    color: #b58cff;
    font-size: 25px;
    background: rgba(155,99,255,.13);
}
.profile-action-card strong {
    flex: 1;
    font-size: 18px;
}
.profile-action-card > i {
    color: #9b63ff;
    font-size: 22px;
}

@media (max-width: 760px) {
    .app-page-head { gap: 16px; margin-bottom: 24px; }
    .app-title-copy h1 { font-size: 30px; }
    .app-page-description { font-size: 15px; margin-bottom: 20px; }
    body.gallery-body .app-tabbar,
    body.app-categories-body .app-tabbar { min-height: 84px !important; bottom: 18px !important; border-radius: 36px !important; }
    body.gallery-body .tab-link,
    body.app-categories-body .tab-link { width: 46px !important; height: 56px !important; font-size: 27px !important; }
    body.gallery-body .tab-link.active,
    body.app-categories-body .tab-link.active { width: clamp(108px, 31vw, 160px) !important; height: 62px !important; gap: 9px !important; }
    body.gallery-body .tab-link.active .tab-title,
    body.app-categories-body .tab-link.active .tab-title { font-size: 16px !important; }
}
@media (max-width: 430px) {
    .app-page-head { gap: 13px; }
    .app-title-copy span { font-size: 11px; }
    .app-title-copy h1 { font-size: 26px; }
    .profile-card { padding: 18px; border-radius: 24px; }
    .profile-avatar { width: 64px; height: 64px; flex-basis: 64px; font-size: 32px; border-radius: 20px; }
    .profile-card h2 { font-size: 22px; }
    body.gallery-body .app-tabbar,
    body.app-categories-body .app-tabbar { width: min(calc(100% - 22px), 800px) !important; padding-left: 10px !important; padding-right: 10px !important; }
    body.gallery-body .tab-link,
    body.app-categories-body .tab-link { width: 40px !important; font-size: 25px !important; }
    body.gallery-body .tab-link.active,
    body.app-categories-body .tab-link.active { width: clamp(94px, 30vw, 130px) !important; gap: 7px !important; }
    body.gallery-body .tab-link.active .tab-title,
    body.app-categories-body .tab-link.active .tab-title { font-size: 14px !important; }
}

/* ===== Requested refinements: top slider, category spacing, prompt counts ===== */
.gallery-filters {
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    cursor: grab;
}
.gallery-filters.dragging {
    cursor: grabbing;
    scroll-behavior: auto;
}
.gallery-filter {
    scroll-snap-align: start;
    user-select: none;
    -webkit-user-select: none;
}
.category-loading-state.hidden,
.category-loading-state:empty {
    display: none !important;
    min-height: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}
.categories-head-row {
    margin-bottom: 22px !important;
}
.mobile-category-grid {
    margin-top: 0 !important;
}
.category-count-pill {
    position: absolute;
    z-index: 5;
    top: 13px;
    right: 13px;
    min-height: 28px;
    padding: 6px 10px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: rgba(255,255,255,.94);
    font-size: 11px;
    font-weight: 820;
    line-height: 1;
    background: rgba(5, 10, 20, .48);
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: 0 10px 26px rgba(0,0,0,.26);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.category-count-pill i {
    color: #b58cff;
    font-size: 12px;
    filter: drop-shadow(0 0 10px rgba(181, 140, 255, .7));
}
.category-card footer span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
@media (max-width: 430px) {
    .categories-head-row { margin-bottom: 16px !important; }
    .category-count-pill {
        top: 9px;
        right: 9px;
        min-height: 25px;
        padding: 5px 8px;
        font-size: 10px;
    }
}

/* ===== v4 profile screen + four-tab navigation refinements ===== */
body.gallery-body .app-tabbar,
body.app-categories-body .app-tabbar {
    justify-content: space-between !important;
    gap: 8px;
}
body.gallery-body .tab-link,
body.app-categories-body .tab-link {
    flex: 1 1 0;
    max-width: 145px;
    min-width: 0;
}
body.gallery-body .tab-link:not(.active),
body.app-categories-body .tab-link:not(.active) {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: auto !important;
    height: 68px !important;
    color: rgba(235,235,245,.82);
    filter: none !important;
}
body.gallery-body .tab-link:not(.active) .tab-title,
body.app-categories-body .tab-link:not(.active) .tab-title {
    display: block !important;
    font-size: 12px !important;
    font-weight: 650;
    line-height: 1;
    color: rgba(235,235,245,.72);
    white-space: nowrap;
}
body.gallery-body .tab-link:not(.active) .tab-dot,
body.app-categories-body .tab-link:not(.active) .tab-dot { display: none !important; }
body.gallery-body .tab-link.active,
body.app-categories-body .tab-link.active {
    flex: 1.5 0 auto;
    max-width: 190px;
}

.profile-body .web-main {
    width: min(100%, 840px) !important;
    padding: 78px 32px 146px !important;
    border-radius: 0 !important;
    border-left: 1px solid rgba(148, 163, 184, .10);
    border-right: 1px solid rgba(148, 163, 184, .10);
    background:
        radial-gradient(circle at 8% 0%, rgba(135, 75, 255, .16), transparent 28%),
        radial-gradient(circle at 90% 6%, rgba(83, 114, 255, .10), transparent 24%),
        linear-gradient(180deg, rgba(3, 7, 18, .98), rgba(2, 6, 15, 1)) !important;
}
.profile-app-screen { position: relative; }
.profile-top-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 42px;
}
.profile-main-title {
    margin: 0;
    color: #fff;
    font-size: clamp(44px, 8vw, 58px);
    font-weight: 900;
    letter-spacing: -.06em;
    line-height: .95;
}
.profile-tagline {
    margin: 22px 0 0;
    color: rgba(235,235,245,.66);
    font-size: clamp(19px, 4.2vw, 26px);
    line-height: 1.3;
    font-weight: 520;
}
.profile-tagline span { filter: drop-shadow(0 0 12px rgba(181, 140, 255, .9)); }
.profile-settings-btn {
    width: 78px;
    height: 78px;
    flex: 0 0 78px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 33px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.075);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 42px rgba(0,0,0,.34);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.profile-settings-btn:hover { color: #fff; border-color: rgba(181,140,255,.38); }
.profile-welcome-card {
    position: relative;
    min-height: 230px;
    border-radius: 26px;
    padding: 38px 232px 34px 36px;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 38px;
    color: #fff;
    background:
        radial-gradient(circle at 16% 38%, rgba(143, 67, 255, .45), transparent 31%),
        radial-gradient(circle at 90% 30%, rgba(98, 54, 255, .55), transparent 34%),
        linear-gradient(135deg, rgba(24, 16, 62, .92), rgba(30, 17, 68, .78) 42%, rgba(54, 16, 96, .76));
    border: 1px solid rgba(151, 71, 255, .55);
    box-shadow: 0 26px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08);
    margin-bottom: 26px;
}
.profile-welcome-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 7% 18%, rgba(255,255,255,.14), transparent 2px),
        radial-gradient(circle at 17% 72%, rgba(255,255,255,.12), transparent 2px),
        linear-gradient(90deg, rgba(255,255,255,.04), transparent 55%);
    pointer-events: none;
}
.welcome-orb {
    position: relative;
    z-index: 1;
    width: 138px;
    height: 138px;
    flex: 0 0 138px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #b58cff;
    font-size: 58px;
    background: radial-gradient(circle at 50% 45%, rgba(94, 43, 204, .86), rgba(32, 19, 70, .88));
    border: 3px solid rgba(158, 82, 255, .76);
    box-shadow: 0 0 0 20px rgba(110, 60, 220, .18), 0 0 48px rgba(156, 83, 255, .40);
}
.welcome-copy { position: relative; z-index: 1; min-width: 0; }
.welcome-copy h2 {
    margin: 0 0 22px;
    font-size: clamp(24px, 4vw, 32px);
    line-height: 1.12;
    font-weight: 880;
    letter-spacing: -.035em;
}
.welcome-copy p {
    margin: 0;
    color: rgba(235,235,245,.72);
    font-size: clamp(18px, 3.6vw, 25px);
    line-height: 1.45;
}
.welcome-folder {
    position: absolute;
    right: 36px;
    top: 38px;
    width: 174px;
    height: 150px;
    transform: rotate(5deg);
    z-index: 1;
}
.folder-back,
.folder-front {
    position: absolute;
    left: 12px;
    right: 0;
    bottom: 0;
    height: 104px;
    border-radius: 22px 22px 28px 28px;
    background: linear-gradient(145deg, #2541e9, #8b45ff 82%);
    box-shadow: 0 24px 44px rgba(24, 20, 80, .40);
}
.folder-back { bottom: 24px; opacity: .80; transform: skewX(-7deg); }
.folder-front::before {
    content: "";
    position: absolute;
    left: 0;
    top: -22px;
    width: 74px;
    height: 36px;
    border-radius: 14px 18px 0 0;
    background: linear-gradient(145deg, #3158ff, #9155ff);
}
.folder-card {
    position: absolute;
    top: 0;
    width: 62px;
    height: 82px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-weight: 900;
    font-size: 28px;
    color: #fff;
    border: 1px solid rgba(255,255,255,.24);
    box-shadow: 0 18px 35px rgba(0,0,0,.24);
}
.folder-card.one { left: 52px; background: linear-gradient(145deg, #286dff, #7d4fff); transform: rotate(6deg); }
.folder-card.two { right: 12px; background: linear-gradient(145deg, #b071ff, #f2a6ff); color: #8326df; transform: rotate(8deg); }
.profile-menu-list {
    display: grid;
    gap: 12px;
}
.profile-menu-card {
    width: 100%;
    min-height: 132px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 24px 36px 24px 23px;
    color: #fff;
    border: 1px solid rgba(255,255,255,.075);
    background:
        linear-gradient(180deg, rgba(12, 18, 38, .92), rgba(6, 11, 28, .94));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 12px 34px rgba(0,0,0,.22);
}
.profile-menu-button {
    appearance: none;
    border: 1px solid rgba(255,255,255,.075);
    text-align: left;
    cursor: pointer;
    font-family: inherit;
}
.profile-menu-card:hover { color: #fff; border-color: rgba(156, 83, 255, .30); transform: translateY(-1px); }
.profile-menu-icon {
    width: 76px;
    height: 76px;
    flex: 0 0 76px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 34px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 24px rgba(0,0,0,.24);
}
.profile-menu-icon.purple { color: #c596ff; background: radial-gradient(circle at 34% 24%, #955dff, #2d126e 72%); }
.profile-menu-icon.green { color: #6bffc5; background: radial-gradient(circle at 34% 24%, #18d89e, #073d34 76%); }
.profile-menu-icon.blue { color: #77bcff; background: radial-gradient(circle at 34% 24%, #2f9bff, #082e70 76%); }
.profile-menu-icon.red { color: #ff7048; background: radial-gradient(circle at 34% 24%, #ff6b4a, #42192e 76%); }
.profile-menu-icon.yellow { color: #ffde49; background: radial-gradient(circle at 34% 24%, #ffd84e, #443819 76%); }
.profile-menu-icon.violet { color: #ad79ff; background: radial-gradient(circle at 34% 24%, #8f58ff, #24105f 76%); }
.profile-menu-icon.pink { color: #ff5db8; background: radial-gradient(circle at 34% 24%, #ff4cb2, #41103e 76%); }
.profile-menu-icon.gold { color: #ffe04b; background: radial-gradient(circle at 34% 24%, #ffdf3d, #453916 76%); }
.profile-menu-copy {
    display: grid;
    gap: 10px;
    flex: 1;
    min-width: 0;
}
.profile-menu-copy strong {
    color: #fff;
    font-size: clamp(21px, 4vw, 28px);
    font-weight: 820;
    line-height: 1.08;
    letter-spacing: -.025em;
}
.profile-menu-copy small {
    color: rgba(235,235,245,.64);
    font-size: clamp(16px, 3.4vw, 22px);
    line-height: 1.25;
}
.profile-menu-arrow {
    flex: 0 0 auto;
    color: #a763ff;
    font-size: 31px;
    filter: drop-shadow(0 0 9px rgba(166,99,255,.42));
}
.profile-info-screen { position: relative; }
.profile-info-head { margin-bottom: 22px; }
.profile-info-card,
.profile-content-card {
    border-radius: 26px;
    color: #fff;
    border: 1px solid rgba(255,255,255,.11);
    background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.03));
    box-shadow: 0 18px 48px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.05);
}
.profile-info-card {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 24px;
    margin-bottom: 18px;
}
.profile-info-card h2 { margin: 0 0 8px; font-weight: 880; letter-spacing: -.03em; }
.profile-info-card p { margin: 0; color: rgba(235,235,245,.66); font-size: 17px; }
.profile-content-card {
    padding: 28px;
    color: rgba(235,235,245,.74);
    font-size: 18px;
    line-height: 1.7;
}
.profile-content-card h2,
.profile-content-card h3,
.profile-content-card h4 { color: #fff; margin: 0 0 12px; font-weight: 850; letter-spacing: -.025em; }
.profile-content-card p + h2,
.profile-content-card ul + h2,
.profile-content-card ol + h2 { margin-top: 26px; }
.profile-content-card a { color: #b58cff; font-weight: 800; }

/* tighter category title-to-grid spacing */
.categories-head-row { margin-bottom: 10px !important; }
.category-loading-state { min-height: 52px !important; }
.category-loading-state.hidden { display: none !important; }
.category-loading-state.hidden + .mobile-category-grid { margin-top: 0 !important; }
.category-count-pill {
    max-width: calc(100% - 22px);
    white-space: nowrap;
}

@media (max-width: 760px) {
    .profile-body .web-main { padding: 56px 24px 126px !important; }
    .profile-top-row { margin-bottom: 32px; }
    .profile-settings-btn { width: 62px; height: 62px; flex-basis: 62px; font-size: 27px; }
    .profile-welcome-card { padding: 28px 142px 28px 26px; gap: 24px; min-height: 182px; border-radius: 24px; }
    .welcome-orb { width: 88px; height: 88px; flex-basis: 88px; font-size: 42px; box-shadow: 0 0 0 13px rgba(110,60,220,.16), 0 0 36px rgba(156,83,255,.34); }
    .welcome-folder { right: 20px; top: 42px; width: 116px; height: 110px; transform: rotate(5deg) scale(.86); transform-origin: center; }
    .profile-menu-card { min-height: 104px; border-radius: 17px; padding: 18px 22px; gap: 18px; }
    .profile-menu-icon { width: 58px; height: 58px; flex-basis: 58px; font-size: 27px; }
    .profile-menu-arrow { font-size: 25px; }
    body.gallery-body .app-tabbar,
    body.app-categories-body .app-tabbar { gap: 4px; }
    body.gallery-body .tab-link.active,
    body.app-categories-body .tab-link.active { max-width: 148px; }
}
@media (max-width: 520px) {
    .profile-body .web-main { padding: 46px 18px 118px !important; }
    .profile-main-title { font-size: 40px; }
    .profile-tagline { margin-top: 14px; font-size: 19px; }
    .profile-welcome-card { padding: 24px 18px; display: grid; grid-template-columns: 74px 1fr; min-height: 0; }
    .welcome-folder { display: none; }
    .welcome-orb { width: 70px; height: 70px; flex-basis: 70px; font-size: 34px; }
    .welcome-copy h2 { font-size: 21px; margin-bottom: 10px; }
    .welcome-copy p { font-size: 16px; line-height: 1.42; }
    .profile-menu-card { min-height: 88px; padding: 15px 16px; gap: 14px; }
    .profile-menu-icon { width: 50px; height: 50px; flex-basis: 50px; font-size: 23px; }
    .profile-menu-copy { gap: 5px; }
    .profile-menu-copy strong { font-size: 18px; }
    .profile-menu-copy small { font-size: 14px; }
    .profile-menu-arrow { font-size: 22px; }
    .profile-info-card { padding: 18px; }
    .profile-content-card { padding: 22px; font-size: 16px; }
    body.gallery-body .tab-link:not(.active) .tab-title,
    body.app-categories-body .tab-link:not(.active) .tab-title { font-size: 11px !important; }
    body.gallery-body .tab-link:not(.active),
    body.app-categories-body .tab-link:not(.active) { height: 58px !important; gap: 4px; }
    body.gallery-body .tab-link.active,
    body.app-categories-body .tab-link.active { flex: 1.2 0 auto; max-width: 122px; }
}
@media (max-width: 390px) {
    body.gallery-body .tab-link:not(.active) .tab-title,
    body.app-categories-body .tab-link:not(.active) .tab-title { display: none !important; }
    body.gallery-body .tab-link.active,
    body.app-categories-body .tab-link.active { max-width: 118px; }
}
.category-count-pill {
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (max-width: 430px) {
    .category-count-pill { max-width: calc(100% - 18px); }
}

/* ===== V5 immersive single prompt page: full image background + action overlay ===== */
body.prompt-detail-screen {
    background: #020710 !important;
}
body.prompt-detail-screen .web-main {
    overflow: visible !important;
}
.immersive-prompt-detail.mobile-prompt-detail {
    width: min(100%, 853px) !important;
    padding: 0 !important;
    min-height: 100svh !important;
    background:
        radial-gradient(circle at 50% 102%, rgba(116, 55, 255, .14), transparent 34%),
        linear-gradient(180deg, #020710 0%, #020710 100%) !important;
    border-radius: 42px !important;
    overflow: hidden !important;
}
.immersive-prompt-detail .detail-hero-fullscreen {
    width: 100% !important;
    height: 100svh !important;
    min-height: 780px !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 0 34px 34px !important;
    box-shadow: none !important;
    background: #030813 !important;
}
.immersive-prompt-detail .detail-hero-fullscreen img {
    z-index: 0;
    object-fit: cover !important;
    object-position: center top !important;
}
.immersive-prompt-detail .detail-hero-fullscreen::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(180deg,
            rgba(2, 7, 16, .10) 0%,
            rgba(2, 7, 16, .08) 18%,
            rgba(2, 7, 16, .38) 42%,
            rgba(2, 7, 16, .82) 68%,
            rgba(2, 7, 16, .98) 100%),
        radial-gradient(circle at 50% 18%, rgba(255,255,255,.16), transparent 32%),
        radial-gradient(circle at 18% 78%, rgba(136, 72, 255, .22), transparent 30%);
}
.immersive-prompt-detail .detail-image-loader {
    z-index: 0 !important;
}
.immersive-prompt-detail .detail-top-actions {
    z-index: 5 !important;
}
.immersive-prompt-detail .detail-hero-overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: max(28px, env(safe-area-inset-bottom));
    z-index: 4;
    width: calc(100% - 122px);
    max-width: 730px;
    margin: 0 auto;
    display: grid;
    gap: 22px;
    max-height: calc(100svh - 150px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 4px 3px 2px;
    scrollbar-width: none;
}
.immersive-prompt-detail .detail-hero-overlay::-webkit-scrollbar {
    display: none;
}
.immersive-prompt-detail .detail-hero-overlay .generate-btn,
.immersive-prompt-detail .detail-hero-overlay .prompt-glass-card,
.immersive-prompt-detail .detail-hero-overlay .detail-action-grid,
.immersive-prompt-detail .detail-hero-overlay .open-tools {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.immersive-prompt-detail .generate-btn {
    min-width: 0 !important;
    height: 78px !important;
    margin: 0 !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg, rgba(20, 24, 38, .72), rgba(13, 17, 30, .66)) !important;
    border: 2px solid rgba(168, 92, 255, .92) !important;
    box-shadow:
        0 18px 44px rgba(0,0,0,.35),
        0 0 36px rgba(130, 70, 255, .18),
        inset 0 1px 0 rgba(255,255,255,.12) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}
.immersive-prompt-detail .prompt-glass-card {
    padding: 24px 27px !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(14, 20, 35, .68), rgba(8, 13, 25, .54)) !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    box-shadow: 0 18px 54px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08) !important;
    backdrop-filter: blur(24px) saturate(1.25) !important;
    -webkit-backdrop-filter: blur(24px) saturate(1.25) !important;
}
.immersive-prompt-detail .prompt-card-head {
    margin-bottom: 14px !important;
}
.immersive-prompt-detail .prompt-text {
    font-size: 21px !important;
    line-height: 1.42 !important;
    color: rgba(239, 239, 248, .76) !important;
}
.immersive-prompt-detail .prompt-text.collapsed {
    max-height: 116px !important;
}
.immersive-prompt-detail .prompt-text:not(.collapsed) {
    max-height: 30svh;
    overflow-y: auto;
    padding-right: 4px;
}
.immersive-prompt-detail .detail-action-grid {
    gap: 20px !important;
    margin: 0 !important;
}
.immersive-prompt-detail .detail-action-btn {
    min-height: 78px !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg, rgba(14, 20, 35, .64), rgba(8, 13, 25, .50)) !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    box-shadow: 0 14px 42px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.07) !important;
}
.immersive-prompt-detail .open-tools {
    gap: 18px !important;
}
.immersive-prompt-detail .open-tool-card {
    min-height: 108px !important;
    padding: 19px 24px !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(14, 20, 35, .64), rgba(8, 13, 25, .50)) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    box-shadow: 0 14px 42px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.07) !important;
}
.immersive-prompt-detail .tool-logo {
    width: 66px !important;
    height: 66px !important;
    flex-basis: 66px !important;
    font-size: 34px !important;
}
.immersive-prompt-detail .tool-copy strong {
    font-size: 24px !important;
}
.immersive-prompt-detail .tool-copy small {
    font-size: 17px !important;
}
.immersive-prompt-detail .related-detail-section {
    position: relative;
    z-index: 2;
    width: calc(100% - 80px) !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 38px 0 62px !important;
    background: transparent !important;
}
.immersive-prompt-detail .related-detail-head {
    margin-bottom: 22px !important;
}
.immersive-prompt-detail .related-detail-head h2 {
    font-size: 28px !important;
}
.immersive-prompt-detail .related-gallery-grid {
    gap: 16px !important;
}
.immersive-prompt-detail .related-gallery-grid .gallery-card {
    box-shadow: 0 18px 44px rgba(0,0,0,.35) !important;
}

@media (max-width: 760px) {
    .immersive-prompt-detail.mobile-prompt-detail {
        border-radius: 34px !important;
    }
    .immersive-prompt-detail .detail-hero-fullscreen {
        min-height: 760px !important;
    }
    .immersive-prompt-detail .detail-hero-overlay {
        width: calc(100% - 60px) !important;
        bottom: max(24px, env(safe-area-inset-bottom));
        gap: 18px;
        max-height: calc(100svh - 112px);
    }
    .immersive-prompt-detail .generate-btn {
        height: 68px !important;
        font-size: 23px !important;
        margin: 0 !important;
    }
    .immersive-prompt-detail .prompt-glass-card {
        padding: 20px 22px !important;
    }
    .immersive-prompt-detail .prompt-card-head h1 {
        font-size: 24px !important;
    }
    .immersive-prompt-detail .prompt-text {
        font-size: 18px !important;
    }
    .immersive-prompt-detail .prompt-text.collapsed {
        max-height: 102px !important;
    }
    .immersive-prompt-detail .detail-action-grid {
        gap: 14px !important;
    }
    .immersive-prompt-detail .detail-action-btn {
        min-height: 66px !important;
        font-size: 21px !important;
    }
    .immersive-prompt-detail .open-tools {
        gap: 14px !important;
    }
    .immersive-prompt-detail .open-tool-card {
        min-height: 92px !important;
        padding: 16px 18px !important;
    }
    .immersive-prompt-detail .tool-logo {
        width: 54px !important;
        height: 54px !important;
        flex-basis: 54px !important;
        font-size: 27px !important;
    }
    .immersive-prompt-detail .tool-copy strong {
        font-size: 20px !important;
    }
    .immersive-prompt-detail .tool-copy small {
        font-size: 15px !important;
    }
    .immersive-prompt-detail .related-detail-section {
        width: calc(100% - 52px) !important;
        padding-top: 32px !important;
    }
}

@media (max-width: 430px) {
    .immersive-prompt-detail .detail-hero-fullscreen {
        min-height: 720px !important;
    }
    .immersive-prompt-detail .detail-top-actions {
        left: 22px !important;
        right: 22px !important;
        top: 22px !important;
    }
    .immersive-prompt-detail .detail-circle-btn {
        width: 56px !important;
        height: 56px !important;
        font-size: 26px !important;
    }
    .immersive-prompt-detail .detail-hero-overlay {
        width: calc(100% - 32px) !important;
        gap: 14px;
        max-height: calc(100svh - 96px);
    }
    .immersive-prompt-detail .generate-btn {
        height: 62px !important;
        font-size: 21px !important;
        border-radius: 18px !important;
    }
    .immersive-prompt-detail .prompt-glass-card {
        border-radius: 20px !important;
        padding: 18px !important;
    }
    .immersive-prompt-detail .prompt-card-head {
        gap: 13px !important;
        margin-bottom: 12px !important;
    }
    .immersive-prompt-detail .prompt-icon-badge,
    .immersive-prompt-detail .prompt-collapse-btn {
        width: 38px !important;
        height: 38px !important;
        font-size: 20px !important;
    }
    .immersive-prompt-detail .prompt-card-head h1 {
        font-size: 22px !important;
    }
    .immersive-prompt-detail .prompt-text {
        font-size: 16px !important;
    }
    .immersive-prompt-detail .prompt-text.collapsed {
        max-height: 90px !important;
    }
    .immersive-prompt-detail .detail-action-btn {
        min-height: 58px !important;
        font-size: 18px !important;
        gap: 9px !important;
    }
    .immersive-prompt-detail .detail-action-btn i {
        font-size: 22px !important;
    }
    .immersive-prompt-detail .open-tool-card {
        min-height: 82px !important;
        gap: 15px !important;
        padding: 14px 16px !important;
    }
    .immersive-prompt-detail .tool-logo {
        width: 48px !important;
        height: 48px !important;
        flex-basis: 48px !important;
        font-size: 24px !important;
    }
    .immersive-prompt-detail .tool-copy strong {
        font-size: 18px !important;
    }
    .immersive-prompt-detail .tool-copy small {
        font-size: 13px !important;
    }
    .immersive-prompt-detail .tool-open-icon {
        font-size: 23px !important;
    }
    .immersive-prompt-detail .related-detail-section {
        width: calc(100% - 32px) !important;
        padding-bottom: 42px !important;
    }
}

/* ===== V6: favorite icons on prompt grids + revealable prompt action overlay ===== */
html { scroll-behavior: smooth; }
.gallery-card-link {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    color: inherit;
    text-decoration: none;
    z-index: 0;
}
.gallery-card-link:hover,
.gallery-card-link:focus { color: inherit; text-decoration: none; }
.gallery-fav-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 6;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.24);
    color: #fff;
    display: grid;
    place-items: center;
    background: rgba(6, 10, 22, .34);
    box-shadow: 0 12px 28px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.10);
    backdrop-filter: blur(16px) saturate(1.25);
    -webkit-backdrop-filter: blur(16px) saturate(1.25);
    transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.gallery-fav-btn i { font-size: 18px; line-height: 1; }
.gallery-fav-btn:hover,
.gallery-fav-btn:focus-visible {
    transform: translateY(-1px) scale(1.04);
    border-color: rgba(181, 140, 255, .58);
    box-shadow: 0 16px 34px rgba(0,0,0,.34), 0 0 22px rgba(151, 78, 255, .26);
}
.gallery-fav-btn:active { transform: scale(.92); }
.gallery-fav-btn.saved {
    color: #fff;
    border-color: rgba(181, 140, 255, .76);
    background: radial-gradient(circle at 50% 28%, rgba(196, 140, 255, .46), rgba(93, 54, 186, .44) 58%, rgba(6, 10, 22, .42));
    box-shadow: 0 16px 36px rgba(0,0,0,.34), 0 0 28px rgba(151, 78, 255, .34), inset 0 1px 0 rgba(255,255,255,.18);
}
.gallery-fav-btn.saved i { filter: drop-shadow(0 0 10px rgba(196, 140, 255, .86)); }

.immersive-prompt-detail .detail-hero-overlay.prompt-action-overlay {
    width: calc(100% - 80px) !important;
    max-width: 730px !important;
    bottom: max(24px, env(safe-area-inset-bottom)) !important;
    max-height: calc(100svh - 140px) !important;
    overflow: visible !important;
    padding: 0 !important;
    pointer-events: none;
}
.immersive-prompt-detail .detail-generate-only {
    width: 100%;
    pointer-events: auto;
    transition: opacity .22s ease, transform .22s ease, filter .22s ease;
}
.immersive-prompt-detail .detail-generate-only.is-hiding {
    opacity: 0;
    transform: translateY(20px) scale(.98);
    filter: blur(6px);
}
.immersive-prompt-detail .detail-generate-only[hidden] { display: none !important; }
.immersive-prompt-detail .prompt-action-sheet[hidden] { display: none !important; }
.immersive-prompt-detail .prompt-action-sheet {
    pointer-events: auto;
    display: grid;
    gap: 16px;
    width: 100%;
    max-height: min(72svh, 680px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-behavior: smooth;
    padding: 12px 5px max(8px, env(safe-area-inset-bottom));
    border-radius: 28px;
    scrollbar-width: none;
    animation: promptSheetIn .34s cubic-bezier(.2,.78,.22,1) both;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
}
.immersive-prompt-detail .prompt-action-sheet::-webkit-scrollbar { display: none; }
@keyframes promptSheetIn {
    from { opacity: 0; transform: translateY(34px) scale(.985); filter: blur(8px); }
    to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
.immersive-prompt-detail .sheet-handle {
    width: 54px;
    height: 5px;
    border-radius: 999px;
    margin: 0 auto 1px;
    background: rgba(255,255,255,.42);
    box-shadow: 0 0 18px rgba(181, 140, 255, .42);
}
.immersive-prompt-detail .sheet-scroll-hint {
    margin: 0 auto 2px;
    max-width: 520px;
    text-align: center;
    color: rgba(240, 240, 250, .60);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .01em;
    text-shadow: 0 2px 12px rgba(0,0,0,.55);
}
.immersive-prompt-detail:not(.prompt-actions-open) .detail-hero-fullscreen::after {
    background:
        linear-gradient(180deg,
            rgba(2, 7, 16, .05) 0%,
            rgba(2, 7, 16, .03) 30%,
            rgba(2, 7, 16, .34) 68%,
            rgba(2, 7, 16, .86) 100%),
        radial-gradient(circle at 50% 16%, rgba(255,255,255,.12), transparent 30%);
}
.immersive-prompt-detail.prompt-actions-open .detail-hero-fullscreen::after {
    background:
        linear-gradient(180deg,
            rgba(2, 7, 16, .08) 0%,
            rgba(2, 7, 16, .12) 25%,
            rgba(2, 7, 16, .42) 54%,
            rgba(2, 7, 16, .88) 100%),
        radial-gradient(circle at 50% 18%, rgba(255,255,255,.14), transparent 32%),
        radial-gradient(circle at 18% 78%, rgba(136, 72, 255, .18), transparent 30%);
}
.immersive-prompt-detail .prompt-action-sheet .prompt-glass-card,
.immersive-prompt-detail .prompt-action-sheet .detail-action-grid,
.immersive-prompt-detail .prompt-action-sheet .open-tools {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.immersive-prompt-detail .prompt-action-sheet .prompt-glass-card {
    margin-top: 0 !important;
}
.immersive-prompt-detail .prompt-action-sheet .detail-action-grid {
    margin: 0 !important;
}
.immersive-prompt-detail .prompt-action-sheet .open-tools {
    margin-bottom: 10px !important;
}
.immersive-prompt-detail .prompt-action-sheet .prompt-text:not(.collapsed) {
    max-height: 36svh !important;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.immersive-prompt-detail .detail-hero-fullscreen {
    min-height: 100svh !important;
}

@media (max-width: 760px) {
    .gallery-fav-btn { width: 36px; height: 36px; top: 9px; right: 9px; }
    .immersive-prompt-detail .detail-hero-overlay.prompt-action-overlay {
        width: calc(100% - 44px) !important;
        max-height: calc(100svh - 112px) !important;
    }
    .immersive-prompt-detail .prompt-action-sheet {
        max-height: min(70svh, 610px);
        gap: 14px;
        padding-left: 2px;
        padding-right: 2px;
    }
    .immersive-prompt-detail .sheet-scroll-hint { font-size: 12px; }
}
@media (max-width: 430px) {
    .gallery-fav-btn { width: 34px; height: 34px; top: 8px; right: 8px; }
    .gallery-fav-btn i { font-size: 16px; }
    .immersive-prompt-detail .detail-hero-overlay.prompt-action-overlay {
        width: calc(100% - 28px) !important;
        bottom: max(18px, env(safe-area-inset-bottom)) !important;
    }
    .immersive-prompt-detail .prompt-action-sheet {
        max-height: min(68svh, 560px);
        border-radius: 24px;
    }
    .immersive-prompt-detail .sheet-scroll-hint { display: none; }
}

/* ===== V7: single-page prompt overlay scroll + stronger home infinite loading ===== */
body.prompt-detail-screen,
body.prompt-detail-screen .web-shell,
body.prompt-detail-screen .web-content-wrap,
body.prompt-detail-screen .web-main {
    overscroll-behavior-y: auto !important;
    overflow-x: hidden !important;
}
.immersive-prompt-detail.mobile-prompt-detail {
    overflow: visible !important;
    border-radius: 42px !important;
}
.immersive-prompt-detail .detail-hero-fullscreen {
    position: relative !important;
    height: auto !important;
    min-height: 100svh !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: max(112px, calc(env(safe-area-inset-top) + 84px)) 0 max(26px, env(safe-area-inset-bottom)) !important;
    overflow: hidden !important;
    scroll-margin-top: 0 !important;
}
.immersive-prompt-detail .detail-hero-fullscreen img,
.immersive-prompt-detail .detail-image-loader {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}
.immersive-prompt-detail .detail-hero-overlay.prompt-action-overlay {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: calc(100% - 80px) !important;
    max-width: 730px !important;
    max-height: none !important;
    margin: auto auto 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    pointer-events: auto !important;
}
.immersive-prompt-detail .detail-generate-only {
    transform-origin: center bottom;
}
.immersive-prompt-detail.prompt-actions-opening .detail-generate-only,
.immersive-prompt-detail .detail-generate-only.is-hiding {
    opacity: 0;
    transform: translateY(24px) scale(.96);
    filter: blur(8px);
}
.immersive-prompt-detail .prompt-action-sheet {
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    overscroll-behavior-y: auto !important;
    scroll-behavior: smooth !important;
    padding: 10px 5px 12px !important;
    touch-action: auto !important;
    will-change: transform, opacity, filter;
}
.immersive-prompt-detail .prompt-action-sheet[hidden] {
    display: none !important;
}
.immersive-prompt-detail.prompt-actions-open .prompt-action-sheet {
    animation: promptSheetSinglePageIn .48s cubic-bezier(.18,.78,.18,1) both !important;
}
@keyframes promptSheetSinglePageIn {
    0% { opacity: 0; transform: translateY(46px) scale(.965); filter: blur(10px); }
    62% { opacity: 1; transform: translateY(-4px) scale(1.004); filter: blur(0); }
    100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
.immersive-prompt-detail.prompt-actions-open .detail-hero-fullscreen {
    min-height: 100svh !important;
    padding-top: max(112px, calc(env(safe-area-inset-top) + 84px)) !important;
}
.immersive-prompt-detail.prompt-actions-open .detail-hero-overlay.prompt-action-overlay {
    margin-top: clamp(150px, 32svh, 300px) !important;
}
.immersive-prompt-detail .prompt-action-sheet .prompt-glass-card,
.immersive-prompt-detail .prompt-action-sheet .detail-action-grid,
.immersive-prompt-detail .prompt-action-sheet .open-tools {
    width: 100% !important;
    max-width: none !important;
}
.immersive-prompt-detail .prompt-action-sheet .show-more-btn {
    display: inline-flex !important;
}
.immersive-prompt-detail .prompt-action-sheet .prompt-text:not(.collapsed) {
    max-height: none !important;
    overflow: visible !important;
}
.immersive-prompt-detail .related-detail-section {
    scroll-margin-top: 24px;
}
.gallery-loader:not(.hidden) {
    display: flex !important;
}
.gallery-grid[aria-busy="true"] {
    min-height: 520px;
}

@media (max-width: 760px) {
    .immersive-prompt-detail.mobile-prompt-detail {
        border-radius: 34px !important;
    }
    .immersive-prompt-detail .detail-hero-fullscreen {
        padding-top: max(96px, calc(env(safe-area-inset-top) + 74px)) !important;
        padding-bottom: max(22px, env(safe-area-inset-bottom)) !important;
    }
    .immersive-prompt-detail .detail-hero-overlay.prompt-action-overlay {
        width: calc(100% - 44px) !important;
    }
    .immersive-prompt-detail.prompt-actions-open .detail-hero-overlay.prompt-action-overlay {
        margin-top: clamp(120px, 29svh, 230px) !important;
    }
}
@media (max-width: 430px) {
    .immersive-prompt-detail .detail-hero-fullscreen {
        padding-top: max(86px, calc(env(safe-area-inset-top) + 66px)) !important;
        padding-bottom: max(18px, env(safe-area-inset-bottom)) !important;
    }
    .immersive-prompt-detail .detail-hero-overlay.prompt-action-overlay {
        width: calc(100% - 28px) !important;
    }
    .immersive-prompt-detail.prompt-actions-open .detail-hero-overlay.prompt-action-overlay {
        margin-top: clamp(94px, 25svh, 190px) !important;
    }
    .immersive-prompt-detail .prompt-action-sheet {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}


/* ===== V8: reliable single-page generated overlay + smoother home loading ===== */
body.prompt-detail-screen,
body.prompt-detail-screen .web-shell,
body.prompt-detail-screen .web-content-wrap,
body.prompt-detail-screen .web-main {
    overflow-x: hidden !important;
    overflow-y: visible !important;
    scroll-behavior: smooth;
}
.immersive-prompt-detail.mobile-prompt-detail {
    overflow: visible !important;
    border-radius: 42px !important;
}
.immersive-prompt-detail .detail-hero-fullscreen {
    position: relative !important;
    isolation: isolate !important;
    height: auto !important;
    min-height: 100svh !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: max(104px, calc(env(safe-area-inset-top) + 82px)) 0 max(28px, env(safe-area-inset-bottom)) !important;
    overflow: visible !important;
    border-radius: 0 0 34px 34px !important;
}
.immersive-prompt-detail.prompt-actions-open .detail-hero-fullscreen {
    justify-content: flex-start !important;
    padding-top: clamp(260px, 42svh, 420px) !important;
    padding-bottom: 56px !important;
}
.immersive-prompt-detail .detail-hero-fullscreen img,
.immersive-prompt-detail .detail-image-loader {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    z-index: 0 !important;
}
.immersive-prompt-detail .detail-hero-fullscreen::after {
    z-index: 1 !important;
    border-radius: inherit;
    background:
        linear-gradient(180deg,
            rgba(2, 7, 16, .04) 0%,
            rgba(2, 7, 16, .04) 25%,
            rgba(2, 7, 16, .35) 63%,
            rgba(2, 7, 16, .92) 100%),
        radial-gradient(circle at 50% 18%, rgba(255,255,255,.12), transparent 32%) !important;
}
.immersive-prompt-detail.prompt-actions-open .detail-hero-fullscreen::after {
    background:
        linear-gradient(180deg,
            rgba(2, 7, 16, .08) 0%,
            rgba(2, 7, 16, .18) 36%,
            rgba(2, 7, 16, .62) 78%,
            rgba(2, 7, 16, .96) 100%),
        radial-gradient(circle at 50% 18%, rgba(255,255,255,.14), transparent 34%),
        radial-gradient(circle at 18% 78%, rgba(136,72,255,.20), transparent 32%) !important;
}
.immersive-prompt-detail .detail-top-actions {
    position: absolute !important;
    top: max(26px, env(safe-area-inset-top)) !important;
    left: 34px !important;
    right: 34px !important;
    z-index: 6 !important;
}
.immersive-prompt-detail .detail-hero-overlay.prompt-action-overlay {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 5 !important;
    width: min(calc(100% - 80px), 730px) !important;
    max-width: 730px !important;
    max-height: none !important;
    margin: auto auto 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    pointer-events: auto !important;
    transform: translateZ(0);
}
.immersive-prompt-detail.prompt-actions-open .detail-hero-overlay.prompt-action-overlay {
    margin-top: 0 !important;
}
.immersive-prompt-detail .detail-generate-only {
    display: block !important;
    width: 100% !important;
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
    pointer-events: auto;
    transition: opacity .32s ease, transform .32s cubic-bezier(.2,.74,.18,1), filter .32s ease;
}
.immersive-prompt-detail .detail-generate-only[hidden] {
    display: none !important;
}
.immersive-prompt-detail.prompt-actions-opening .detail-generate-only,
.immersive-prompt-detail .detail-generate-only.is-hiding {
    opacity: 0 !important;
    transform: translateY(28px) scale(.94) !important;
    filter: blur(10px) !important;
    pointer-events: none !important;
}
.immersive-prompt-detail .prompt-action-sheet[hidden] {
    display: none !important;
}
.immersive-prompt-detail .prompt-action-sheet {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    overflow: visible !important;
    overscroll-behavior-y: auto !important;
    -webkit-overflow-scrolling: auto !important;
    touch-action: pan-y !important;
    gap: 16px !important;
    padding: 0 4px 18px !important;
    border-radius: 0 !important;
    scrollbar-width: auto !important;
    opacity: 0;
    transform: translateY(42px) scale(.965);
    filter: blur(10px);
    pointer-events: none;
    animation: none !important;
    transition:
        opacity .46s ease,
        transform .56s cubic-bezier(.16,.86,.18,1),
        filter .46s ease;
}
.immersive-prompt-detail.prompt-actions-open .prompt-action-sheet {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
    filter: blur(0) !important;
    pointer-events: auto !important;
}
.immersive-prompt-detail .prompt-action-sheet::-webkit-scrollbar {
    display: initial !important;
}
.immersive-prompt-detail .sheet-handle {
    width: 58px !important;
    height: 5px !important;
    margin: 0 auto 2px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.46) !important;
}
.immersive-prompt-detail .sheet-scroll-hint {
    display: block !important;
    margin: 0 auto 4px !important;
    max-width: 520px !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    color: rgba(245,247,255,.64) !important;
}
.immersive-prompt-detail .prompt-action-sheet .prompt-glass-card,
.immersive-prompt-detail .prompt-action-sheet .detail-action-grid,
.immersive-prompt-detail .prompt-action-sheet .open-tools {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.immersive-prompt-detail .prompt-action-sheet .prompt-glass-card {
    margin-top: 0 !important;
}
.immersive-prompt-detail .prompt-action-sheet .detail-action-grid {
    margin: 0 !important;
}
.immersive-prompt-detail .prompt-action-sheet .open-tools {
    margin-bottom: 0 !important;
}
.immersive-prompt-detail .prompt-action-sheet .prompt-text,
.immersive-prompt-detail .prompt-action-sheet .prompt-text:not(.collapsed) {
    overflow: visible !important;
    max-height: none !important;
    -webkit-overflow-scrolling: auto !important;
}
.immersive-prompt-detail .prompt-action-sheet .prompt-text.collapsed {
    max-height: 128px !important;
    overflow: hidden !important;
}
.immersive-prompt-detail .prompt-action-sheet .show-more-btn {
    display: inline-flex !important;
}
.immersive-prompt-detail .related-detail-section {
    position: relative !important;
    z-index: 4 !important;
    scroll-margin-top: 22px !important;
}
.gallery-loader:not(.hidden) {
    display: flex !important;
}
.gallery-sentinel {
    min-height: 4px !important;
}
@media (max-width: 760px) {
    .immersive-prompt-detail.mobile-prompt-detail {
        border-radius: 34px !important;
    }
    .immersive-prompt-detail .detail-hero-fullscreen {
        padding-top: max(92px, calc(env(safe-area-inset-top) + 74px)) !important;
        padding-bottom: max(22px, env(safe-area-inset-bottom)) !important;
    }
    .immersive-prompt-detail.prompt-actions-open .detail-hero-fullscreen {
        padding-top: clamp(210px, 38svh, 330px) !important;
        padding-bottom: 44px !important;
    }
    .immersive-prompt-detail .detail-top-actions {
        left: 26px !important;
        right: 26px !important;
        top: max(22px, env(safe-area-inset-top)) !important;
    }
    .immersive-prompt-detail .detail-hero-overlay.prompt-action-overlay {
        width: calc(100% - 44px) !important;
    }
    .immersive-prompt-detail .prompt-action-sheet {
        gap: 14px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}
@media (max-width: 430px) {
    .immersive-prompt-detail .detail-hero-fullscreen {
        padding-top: max(84px, calc(env(safe-area-inset-top) + 64px)) !important;
        padding-bottom: max(18px, env(safe-area-inset-bottom)) !important;
    }
    .immersive-prompt-detail.prompt-actions-open .detail-hero-fullscreen {
        padding-top: clamp(160px, 34svh, 265px) !important;
        padding-bottom: 36px !important;
    }
    .immersive-prompt-detail .detail-top-actions {
        left: 20px !important;
        right: 20px !important;
        top: max(18px, env(safe-area-inset-top)) !important;
    }
    .immersive-prompt-detail .detail-hero-overlay.prompt-action-overlay {
        width: calc(100% - 28px) !important;
    }
    .immersive-prompt-detail .sheet-scroll-hint {
        display: block !important;
        font-size: 11px !important;
    }
    .immersive-prompt-detail .prompt-action-sheet .prompt-text.collapsed {
        max-height: 104px !important;
    }
}

/* ===== V9: fixed image background single prompt with smooth generated overlay ===== */
body.prompt-detail-screen {
    background: #020710 !important;
    min-height: 100svh;
}
body.prompt-detail-screen,
body.prompt-detail-screen .web-shell,
body.prompt-detail-screen .web-content-wrap,
body.prompt-detail-screen .web-main {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scroll-behavior: smooth !important;
    overscroll-behavior-y: auto !important;
}
body.prompt-detail-screen #promptDetail {
    min-height: 100svh;
    background: #020710;
}
.prompt-detail-v13.immersive-prompt-detail.mobile-prompt-detail {
    --detail-black-alpha: 0;
    position: relative !important;
    isolation: isolate !important;
    width: min(100%, 853px) !important;
    min-height: 100svh !important;
    margin: 0 auto !important;
    padding: 0 0 80px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.prompt-detail-v13.immersive-prompt-detail::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: #020710;
    opacity: var(--detail-black-alpha, 0);
    transition: opacity .18s linear;
}
.prompt-detail-v13 .detail-hero-fullscreen {
    position: relative !important;
    z-index: 4 !important;
    width: 100% !important;
    min-height: 100svh !important;
    height: 100svh !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: max(96px, calc(env(safe-area-inset-top) + 74px)) 0 max(28px, env(safe-area-inset-bottom)) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.prompt-detail-v13 .detail-hero-fullscreen img,
.prompt-detail-v13 .detail-image-loader {
    position: fixed !important;
    inset: 0 !important;
    z-index: 0 !important;
    width: 100vw !important;
    height: 100svh !important;
    min-height: 100svh !important;
    object-fit: cover !important;
    object-position: center top !important;
    transform: none !important;
    border-radius: 0 !important;
    pointer-events: none !important;
}
.prompt-detail-v13 .detail-hero-fullscreen.loaded img {
    opacity: 1 !important;
}
.prompt-detail-v13 .detail-hero-fullscreen::after {
    content: "";
    position: fixed !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    border-radius: 0 !important;
    background:
        linear-gradient(180deg,
            rgba(2, 7, 16, .06) 0%,
            rgba(2, 7, 16, .02) 25%,
            rgba(2, 7, 16, .22) 55%,
            rgba(2, 7, 16, .70) 86%,
            rgba(2, 7, 16, .86) 100%),
        radial-gradient(circle at 50% 12%, rgba(255,255,255,.13), transparent 34%),
        radial-gradient(circle at 14% 82%, rgba(140, 70, 255, .23), transparent 32%) !important;
}
.prompt-detail-v13.prompt-actions-open .detail-hero-fullscreen::after {
    background:
        linear-gradient(180deg,
            rgba(2, 7, 16, .10) 0%,
            rgba(2, 7, 16, .05) 24%,
            rgba(2, 7, 16, .28) 58%,
            rgba(2, 7, 16, .76) 100%),
        radial-gradient(circle at 50% 12%, rgba(255,255,255,.12), transparent 34%),
        radial-gradient(circle at 14% 82%, rgba(140, 70, 255, .20), transparent 32%) !important;
}
.prompt-detail-v13 .detail-top-actions {
    position: fixed !important;
    top: max(22px, env(safe-area-inset-top)) !important;
    left: max(18px, calc((100vw - min(100vw, 853px)) / 2 + 22px)) !important;
    right: max(18px, calc((100vw - min(100vw, 853px)) / 2 + 22px)) !important;
    z-index: 8 !important;
    margin: 0 !important;
    pointer-events: none;
}
.prompt-detail-v13 .detail-circle-btn {
    width: 58px !important;
    height: 58px !important;
    font-size: 25px !important;
    border-radius: 50% !important;
    background: rgba(8, 12, 24, .34) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    box-shadow: 0 16px 36px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.12) !important;
    backdrop-filter: blur(18px) saturate(1.35) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.35) !important;
    pointer-events: auto;
}
.prompt-detail-v13 .detail-circle-btn.saved {
    background: radial-gradient(circle at 50% 28%, rgba(196,140,255,.42), rgba(62,34,130,.42) 62%, rgba(8,12,24,.34)) !important;
    border-color: rgba(196, 140, 255, .58) !important;
}
.prompt-detail-v13 .detail-hero-overlay.prompt-action-overlay {
    position: relative !important;
    z-index: 6 !important;
    width: min(calc(100% - 40px), 610px) !important;
    max-width: 610px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
    pointer-events: auto !important;
}
.prompt-detail-v13 .detail-generate-only {
    display: block !important;
    width: 100% !important;
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
    transition: opacity .34s ease, transform .44s cubic-bezier(.16,.86,.18,1), filter .34s ease;
}
.prompt-detail-v13 .detail-generate-only[hidden] { display: none !important; }
.prompt-detail-v13.prompt-actions-opening .detail-generate-only,
.prompt-detail-v13 .detail-generate-only.is-hiding {
    opacity: 0 !important;
    transform: translateY(28px) scale(.94) !important;
    filter: blur(10px) !important;
    pointer-events: none !important;
}
.prompt-detail-v13 .generate-btn {
    width: 100% !important;
    min-width: 0 !important;
    height: 66px !important;
    margin: 0 !important;
    border-radius: 22px !important;
    font-size: 22px !important;
    background: linear-gradient(180deg, rgba(24, 28, 44, .62), rgba(11, 15, 28, .54)) !important;
    border: 2px solid rgba(176, 104, 255, .92) !important;
    box-shadow:
        0 18px 46px rgba(0,0,0,.38),
        0 0 38px rgba(126,70,255,.24),
        inset 0 1px 0 rgba(255,255,255,.14) !important;
    backdrop-filter: blur(22px) saturate(1.35) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.35) !important;
}
.prompt-detail-v13 .prompt-generated-scroll {
    position: relative !important;
    z-index: 6 !important;
    width: min(calc(100% - 40px), 730px) !important;
    max-width: 730px !important;
    margin: -132px auto 0 !important;
    padding: 0 0 20px !important;
    opacity: 0;
    transform: translateY(58px) scale(.965);
    filter: blur(12px);
    pointer-events: none;
    transition:
        opacity .52s ease,
        transform .68s cubic-bezier(.16,.86,.18,1),
        filter .52s ease;
}
.prompt-detail-v13 .prompt-generated-scroll[hidden] { display: none !important; }
.prompt-detail-v13 .prompt-generated-scroll.is-revealed {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
    pointer-events: auto;
}
.prompt-detail-v13 .prompt-action-sheet,
.prompt-detail-v13.prompt-actions-open .prompt-action-sheet {
    display: grid !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    padding: 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    pointer-events: auto !important;
    animation: none !important;
    touch-action: auto !important;
    scroll-behavior: smooth !important;
}
.prompt-detail-v13 .prompt-action-sheet[hidden] { display: none !important; }
.prompt-detail-v13 .sheet-handle {
    width: 58px !important;
    height: 5px !important;
    margin: 0 auto 3px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.46) !important;
    box-shadow: 0 0 22px rgba(181,140,255,.38) !important;
}
.prompt-detail-v13 .sheet-scroll-hint {
    margin: 0 auto 4px !important;
    max-width: 520px !important;
    text-align: center !important;
    color: rgba(245,247,255,.62) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    text-shadow: 0 2px 14px rgba(0,0,0,.65) !important;
}
.prompt-detail-v13 .prompt-glass-card,
.prompt-detail-v13 .detail-action-btn,
.prompt-detail-v13 .open-tool-card {
    background: linear-gradient(180deg, rgba(12, 18, 32, .54), rgba(7, 12, 24, .42)) !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    box-shadow: 0 18px 56px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08) !important;
    backdrop-filter: blur(22px) saturate(1.30) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.30) !important;
}
.prompt-detail-v13 .prompt-glass-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 22px !important;
    border-radius: 24px !important;
}
.prompt-detail-v13 .prompt-card-head {
    margin-bottom: 14px !important;
}
.prompt-detail-v13 .prompt-card-head h1 {
    font-size: 24px !important;
}
.prompt-detail-v13 .prompt-text {
    font-size: 17px !important;
    line-height: 1.5 !important;
    color: rgba(244,245,255,.80) !important;
    font-weight: 760 !important;
}
.prompt-detail-v13 .prompt-text.collapsed {
    max-height: 128px !important;
    overflow: hidden !important;
}
.prompt-detail-v13 .prompt-text:not(.collapsed) {
    max-height: none !important;
    overflow: visible !important;
}
.prompt-detail-v13 .show-more-btn {
    display: inline-flex !important;
}
.prompt-detail-v13 .detail-action-grid {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    gap: 14px !important;
}
.prompt-detail-v13 .detail-action-btn {
    min-height: 64px !important;
    border-radius: 20px !important;
    font-size: 19px !important;
}
.prompt-detail-v13 .open-tools {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    gap: 14px !important;
}
.prompt-detail-v13 .open-tool-card {
    min-height: 90px !important;
    border-radius: 22px !important;
    padding: 16px 18px !important;
}
.prompt-detail-v13 .tool-logo {
    width: 52px !important;
    height: 52px !important;
    flex-basis: 52px !important;
    font-size: 26px !important;
}
.prompt-detail-v13 .tool-copy strong {
    font-size: 19px !important;
}
.prompt-detail-v13 .tool-copy small {
    font-size: 13px !important;
}
.prompt-detail-v13 .related-detail-section {
    position: relative !important;
    z-index: 6 !important;
    width: min(calc(100% - 40px), 760px) !important;
    max-width: 760px !important;
    margin: 8px auto 0 !important;
    padding: 34px 0 72px !important;
    background: transparent !important;
    scroll-margin-top: 80px !important;
}
.prompt-detail-v13 .related-detail-section[hidden] { display: none !important; }
.prompt-detail-v13 .related-detail-head h2 {
    font-size: 25px !important;
}
.prompt-detail-v13 .related-gallery-grid {
    gap: 14px !important;
}
.prompt-detail-v13 .related-gallery-grid .gallery-card {
    background: rgba(255,255,255,.06) !important;
    border-color: rgba(255,255,255,.12) !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.34) !important;
}
@supports not (height: 100svh) {
    .prompt-detail-v13 .detail-hero-fullscreen,
    .prompt-detail-v13 .detail-hero-fullscreen img,
    .prompt-detail-v13 .detail-image-loader {
        height: 100vh !important;
        min-height: 100vh !important;
    }
}
@media (min-width: 854px) {
    .prompt-detail-v13 .detail-hero-fullscreen img,
    .prompt-detail-v13 .detail-image-loader,
    .prompt-detail-v13 .detail-hero-fullscreen::after,
    .prompt-detail-v13.immersive-prompt-detail::before {
        left: calc((100vw - 853px) / 2) !important;
        right: calc((100vw - 853px) / 2) !important;
        width: 853px !important;
        margin-left: auto;
        margin-right: auto;
    }
}
@media (max-width: 430px) {
    .prompt-detail-v13 .detail-top-actions {
        left: 18px !important;
        right: 18px !important;
        top: max(16px, env(safe-area-inset-top)) !important;
    }
    .prompt-detail-v13 .detail-circle-btn {
        width: 52px !important;
        height: 52px !important;
        font-size: 23px !important;
    }
    .prompt-detail-v13 .detail-hero-overlay.prompt-action-overlay,
    .prompt-detail-v13 .prompt-generated-scroll,
    .prompt-detail-v13 .related-detail-section {
        width: calc(100% - 28px) !important;
    }
    .prompt-detail-v13 .generate-btn {
        height: 62px !important;
        font-size: 21px !important;
    }
    .prompt-detail-v13 .prompt-generated-scroll {
        margin-top: -116px !important;
    }
    .prompt-detail-v13 .prompt-glass-card {
        padding: 18px !important;
        border-radius: 22px !important;
    }
    .prompt-detail-v13 .prompt-card-head {
        gap: 12px !important;
    }
    .prompt-detail-v13 .prompt-icon-badge,
    .prompt-detail-v13 .prompt-collapse-btn {
        width: 38px !important;
        height: 38px !important;
        font-size: 19px !important;
    }
    .prompt-detail-v13 .prompt-card-head h1 {
        font-size: 22px !important;
    }
    .prompt-detail-v13 .prompt-text {
        font-size: 16px !important;
    }
    .prompt-detail-v13 .detail-action-btn {
        min-height: 58px !important;
        font-size: 18px !important;
    }
    .prompt-detail-v13 .open-tool-card {
        min-height: 82px !important;
        padding: 14px 15px !important;
    }
    .prompt-detail-v13 .tool-logo {
        width: 48px !important;
        height: 48px !important;
        flex-basis: 48px !important;
        font-size: 24px !important;
    }
    .prompt-detail-v13 .tool-copy strong {
        font-size: 18px !important;
    }
    .prompt-detail-v13 .tool-copy small {
        font-size: 12px !important;
    }
}

/* ===== V10: translucent scroll layer + prompt handoff links ===== */
.prompt-detail-v13.immersive-prompt-detail::before {
    transition: opacity .42s ease !important;
}
.prompt-detail-v13 .prompt-scrollable-stage {
    position: relative !important;
    z-index: 6 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: -142px auto 0 !important;
    padding: 0 0 78px !important;
    isolation: isolate !important;
    overflow: visible !important;
    opacity: 0;
    transform: translateY(32px);
    filter: blur(8px);
    pointer-events: none;
    transition:
        opacity .56s ease,
        transform .72s cubic-bezier(.16,.86,.18,1),
        filter .56s ease;
}
.prompt-detail-v13 .prompt-scrollable-stage[hidden] {
    display: none !important;
}
.prompt-detail-v13.prompt-actions-open .prompt-scrollable-stage {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
    pointer-events: auto;
}
.prompt-detail-v13 .prompt-scrollable-stage::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -86px;
    bottom: 0;
    z-index: -1;
    pointer-events: none;
    border-radius: 40px 40px 0 0;
    background:
        linear-gradient(180deg,
            rgba(2, 7, 16, 0) 0%,
            rgba(2, 7, 16, .24) 76px,
            rgba(2, 7, 16, .34) 190px,
            rgba(2, 7, 16, .30) 44%,
            rgba(2, 7, 16, .52) 100%),
        radial-gradient(circle at 50% 4%, rgba(184, 121, 255, .18), transparent 34%),
        radial-gradient(circle at 18% 22%, rgba(120, 84, 255, .12), transparent 28%);
    backdrop-filter: blur(3px) saturate(1.16);
    -webkit-backdrop-filter: blur(3px) saturate(1.16);
    transition: background .42s ease, backdrop-filter .42s ease, -webkit-backdrop-filter .42s ease;
}
.prompt-detail-v13.prompt-actions-open .detail-hero-fullscreen {
    height: 100svh !important;
    min-height: 100svh !important;
    padding-bottom: max(28px, env(safe-area-inset-bottom)) !important;
    justify-content: flex-end !important;
}
.prompt-detail-v13 .prompt-generated-scroll {
    width: min(calc(100% - 40px), 730px) !important;
    max-width: 730px !important;
    margin: 0 auto !important;
    padding: 0 0 18px !important;
}
.prompt-detail-v13 .prompt-generated-scroll.is-revealed {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
    filter: blur(0) !important;
}
.prompt-detail-v13 .prompt-action-sheet {
    gap: 15px !important;
}
.prompt-detail-v13 .sheet-handle {
    background: rgba(255, 255, 255, .50) !important;
    box-shadow: 0 0 22px rgba(181, 140, 255, .42), 0 12px 30px rgba(0,0,0,.28) !important;
}
.prompt-detail-v13 .sheet-scroll-hint {
    padding: 9px 14px !important;
    border-radius: 999px !important;
    color: rgba(248,249,255,.72) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05)) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    backdrop-filter: blur(14px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.18) !important;
}
.prompt-detail-v13 .prompt-glass-card,
.prompt-detail-v13 .detail-action-btn,
.prompt-detail-v13 .open-tool-card,
.prompt-detail-v13 .related-detail-section {
    border-color: rgba(255,255,255,.17) !important;
    background:
        linear-gradient(180deg, rgba(13, 19, 34, .62), rgba(7, 12, 24, .48)) !important;
    box-shadow:
        0 18px 56px rgba(0,0,0,.34),
        0 0 0 1px rgba(255,255,255,.035),
        inset 0 1px 0 rgba(255,255,255,.10) !important;
    backdrop-filter: blur(24px) saturate(1.32) !important;
    -webkit-backdrop-filter: blur(24px) saturate(1.32) !important;
}
.prompt-detail-v13 .prompt-glass-card {
    background:
        linear-gradient(180deg, rgba(18, 24, 42, .66), rgba(7, 12, 24, .50)) !important;
}
.prompt-detail-v13 .prompt-card-head,
.prompt-detail-v13 .tool-copy,
.prompt-detail-v13 .related-detail-head {
    text-shadow: 0 2px 16px rgba(0,0,0,.55);
}
.prompt-detail-v13 .prompt-text {
    color: rgba(248, 249, 255, .86) !important;
    text-shadow: 0 2px 18px rgba(0,0,0,.48) !important;
}
.prompt-detail-v13 .open-tool-card {
    position: relative !important;
    overflow: hidden !important;
}
.prompt-detail-v13 .open-tool-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(184,121,255,.12), transparent 42%, rgba(255,255,255,.07));
    opacity: .9;
}
.prompt-detail-v13 .open-tool-card > * {
    position: relative;
    z-index: 1;
}
.prompt-detail-v13 .tool-copy small {
    color: rgba(238,240,255,.68) !important;
}
.prompt-detail-v13 .related-detail-section {
    width: min(calc(100% - 40px), 760px) !important;
    max-width: 760px !important;
    margin: 12px auto 0 !important;
    padding: 24px 18px 34px !important;
    border-radius: 28px !important;
    background:
        linear-gradient(180deg,
            rgba(10, 15, 28, .44),
            rgba(5, 9, 18, .56)) !important;
    transition: background .42s ease, box-shadow .42s ease, border-color .42s ease !important;
}
.prompt-detail-v13 .related-detail-section[hidden] {
    display: none !important;
}
.prompt-detail-v13 .related-gallery-grid .gallery-card {
    background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.04)) !important;
    backdrop-filter: blur(16px) saturate(1.20) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.20) !important;
}
.prompt-detail-v13 .related-loader {
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 18px !important;
}
@media (min-width: 854px) {
    .prompt-detail-v13 .prompt-scrollable-stage::before {
        left: calc((100vw - 853px) / 2) !important;
        right: calc((100vw - 853px) / 2) !important;
    }
}
@media (max-width: 430px) {
    .prompt-detail-v13 .prompt-scrollable-stage {
        margin-top: -126px !important;
        padding-bottom: 56px !important;
    }
    .prompt-detail-v13 .prompt-scrollable-stage::before {
        top: -76px;
        border-radius: 30px 30px 0 0;
        background:
            linear-gradient(180deg,
                rgba(2, 7, 16, 0) 0%,
                rgba(2, 7, 16, .27) 70px,
                rgba(2, 7, 16, .38) 170px,
                rgba(2, 7, 16, .34) 50%,
                rgba(2, 7, 16, .56) 100%),
            radial-gradient(circle at 50% 2%, rgba(184, 121, 255, .20), transparent 36%);
    }
    .prompt-detail-v13 .prompt-generated-scroll,
    .prompt-detail-v13 .related-detail-section {
        width: calc(100% - 28px) !important;
    }
    .prompt-detail-v13 .related-detail-section {
        padding: 20px 12px 28px !important;
        border-radius: 24px !important;
    }
    .prompt-detail-v13 .sheet-scroll-hint {
        font-size: 11px !important;
        padding: 8px 11px !important;
    }
}

/* ===== V11: no forced reload feel + related visible before Generate ===== */
.prompt-detail-v13 .prompt-scrollable-stage {
    display: block !important;
    position: relative !important;
    z-index: 6 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px auto 0 !important;
    padding: 0 0 78px !important;
    isolation: isolate !important;
    overflow: visible !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    pointer-events: auto !important;
    transition: margin .58s cubic-bezier(.16,.86,.18,1), padding .34s ease !important;
}
.prompt-detail-v13 .prompt-scrollable-stage[hidden] {
    display: block !important;
}
.prompt-detail-v13.prompt-actions-open .prompt-scrollable-stage {
    margin: -142px auto 0 !important;
}
.prompt-detail-v13 .prompt-scrollable-stage::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -22px;
    bottom: 0;
    z-index: -1;
    pointer-events: none;
    border-radius: 36px 36px 0 0;
    background:
        linear-gradient(180deg,
            rgba(2, 7, 16, 0) 0%,
            rgba(2, 7, 16, .18) 44px,
            rgba(2, 7, 16, .30) 144px,
            rgba(2, 7, 16, .42) 55%,
            rgba(2, 7, 16, .62) 100%),
        radial-gradient(circle at 50% 0%, rgba(184, 121, 255, .16), transparent 35%);
    backdrop-filter: blur(2px) saturate(1.12);
    -webkit-backdrop-filter: blur(2px) saturate(1.12);
    transition: top .58s cubic-bezier(.16,.86,.18,1), background .46s ease, backdrop-filter .46s ease, -webkit-backdrop-filter .46s ease !important;
}
.prompt-detail-v13.prompt-actions-open .prompt-scrollable-stage::before {
    top: -86px;
    background:
        linear-gradient(180deg,
            rgba(2, 7, 16, 0) 0%,
            rgba(2, 7, 16, .25) 76px,
            rgba(2, 7, 16, .36) 190px,
            rgba(2, 7, 16, .34) 44%,
            rgba(2, 7, 16, .60) 100%),
        radial-gradient(circle at 50% 4%, rgba(184, 121, 255, .20), transparent 34%),
        radial-gradient(circle at 18% 22%, rgba(120, 84, 255, .13), transparent 28%);
    backdrop-filter: blur(3px) saturate(1.16);
    -webkit-backdrop-filter: blur(3px) saturate(1.16);
}
.prompt-detail-v13:not(.prompt-actions-open) .prompt-generated-scroll {
    display: none !important;
}
.prompt-detail-v13 .prompt-generated-scroll {
    transition:
        opacity .52s ease,
        transform .68s cubic-bezier(.16,.86,.18,1),
        filter .52s ease !important;
}
.prompt-detail-v13 .detail-generate-only {
    transition: opacity .34s ease, transform .44s cubic-bezier(.16,.86,.18,1), filter .34s ease !important;
}
.prompt-detail-v13 .related-detail-section {
    margin-top: 0 !important;
}
.prompt-detail-v13:not(.prompt-actions-open) .related-detail-section {
    margin-top: 0 !important;
    background:
        linear-gradient(180deg, rgba(10, 15, 28, .40), rgba(5, 9, 18, .54)) !important;
}
.prompt-detail-v13.prompt-actions-open .related-detail-section {
    margin-top: 12px !important;
}
@media (min-width: 854px) {
    .prompt-detail-v13 .prompt-scrollable-stage::before {
        left: calc((100vw - 853px) / 2) !important;
        right: calc((100vw - 853px) / 2) !important;
    }
}
@media (max-width: 430px) {
    .prompt-detail-v13 .prompt-scrollable-stage {
        margin-top: 16px !important;
        padding-bottom: 56px !important;
    }
    .prompt-detail-v13.prompt-actions-open .prompt-scrollable-stage {
        margin-top: -126px !important;
    }
    .prompt-detail-v13 .prompt-scrollable-stage::before {
        top: -18px !important;
        border-radius: 30px 30px 0 0;
    }
    .prompt-detail-v13.prompt-actions-open .prompt-scrollable-stage::before {
        top: -76px !important;
    }
}

/* ===== V12: full SPA navigation + native-style share sheet ===== */
.web-main {
    view-transition-name: aph-page;
}
.web-main.spa-leaving {
    opacity: .45;
    transform: translate3d(-10px, 0, 0) scale(.992);
    filter: blur(3px);
    transition: opacity .18s ease, transform .18s ease, filter .18s ease;
    pointer-events: none;
}
.web-main.spa-entering {
    animation: aphSpaPageIn .34s cubic-bezier(.16, .86, .18, 1) both;
}
@keyframes aphSpaPageIn {
    from { opacity: 0; transform: translate3d(18px, 0, 0) scale(.992); filter: blur(6px); }
    to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); }
}
body.spa-loading .web-main,
body.spa-loading .app-tabbar,
body.spa-loading .web-nav {
    pointer-events: none;
}
.spa-progress-bar {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999;
    width: 100%;
    height: 3px;
    pointer-events: none;
    opacity: 0;
    overflow: hidden;
    background: rgba(145, 82, 255, .12);
    transition: opacity .18s ease;
}
.spa-progress-bar::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 42%;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(152, 91, 255, 0), rgba(180, 119, 255, .95), rgba(255,255,255,.82));
    box-shadow: 0 0 18px rgba(181, 119, 255, .66);
    animation: aphSpaProgress 1.05s ease-in-out infinite;
}
.spa-progress-bar.show { opacity: 1; }
@keyframes aphSpaProgress {
    0% { transform: translateX(-105%); }
    100% { transform: translateX(245%); }
}
.native-share-backdrop {
    position: fixed;
    inset: 0;
    z-index: 99998;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 20px;
    background: rgba(2, 6, 16, 0);
    opacity: 0;
    pointer-events: auto;
    transition: opacity .24s ease, background .24s ease;
}
.native-share-backdrop.show {
    opacity: 1;
    background: rgba(2, 6, 16, .54);
}
.native-share-sheet {
    width: min(100%, 520px);
    border-radius: 30px 30px 24px 24px;
    padding: 14px 18px max(18px, env(safe-area-inset-bottom));
    color: #fff;
    border: 1px solid rgba(255,255,255,.16);
    background:
        linear-gradient(180deg, rgba(20, 25, 42, .82), rgba(7, 11, 22, .78)),
        radial-gradient(circle at 50% 0%, rgba(181, 119, 255, .20), transparent 38%);
    box-shadow: 0 -24px 80px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.12);
    backdrop-filter: blur(26px) saturate(1.28);
    -webkit-backdrop-filter: blur(26px) saturate(1.28);
    transform: translateY(36px) scale(.985);
    transition: transform .32s cubic-bezier(.16,.86,.18,1);
}
.native-share-backdrop.show .native-share-sheet {
    transform: translateY(0) scale(1);
}
.native-share-sheet .sheet-handle {
    display: block;
    width: 54px;
    height: 5px;
    border-radius: 999px;
    margin: 0 auto 14px;
    background: rgba(255,255,255,.48);
}
.native-share-sheet h3 {
    margin: 0;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: -.02em;
}
.native-share-sheet p {
    margin: 4px 0 16px;
    color: rgba(238,240,255,.68);
    font-weight: 700;
}
.native-share-options {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.native-share-options a {
    min-height: 86px;
    display: grid;
    place-items: center;
    gap: 8px;
    text-decoration: none;
    color: #fff;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.12);
    background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.055));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.native-share-options a:active { transform: scale(.96); }
.native-share-options i { font-size: 28px; line-height: 1; }
.native-share-options span { font-size: 12px; font-weight: 850; }
.native-share-cancel {
    width: 100%;
    height: 54px;
    margin-top: 14px;
    border: 0;
    border-radius: 18px;
    color: #fff;
    font-size: 16px;
    font-weight: 900;
    background: rgba(255,255,255,.10);
}
body.share-sheet-open { overflow: hidden; }
@media (max-width: 430px) {
    .native-share-backdrop { padding: 12px; }
    .native-share-sheet { border-radius: 28px 28px 22px 22px; padding-left: 14px; padding-right: 14px; }
    .native-share-options { gap: 8px; }
    .native-share-options a { min-height: 78px; border-radius: 19px; }
    .native-share-options i { font-size: 25px; }
}
@media (prefers-reduced-motion: reduce) {
    .web-main.spa-entering,
    .spa-progress-bar::before,
    .native-share-sheet {
        animation: none !important;
        transition: none !important;
    }
}

/* ===== V13: stable native-style bottom nav, centered prompt loader, smoother SPA transitions ===== */
:root {
    --aph-tabbar-bottom: calc(14px + env(safe-area-inset-bottom, 0px));
    --aph-tabbar-height: 82px;
}

body:not(.prompt-detail-screen) .app-tabbar,
body.gallery-body .app-tabbar,
body.app-categories-body .app-tabbar {
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    bottom: var(--aph-tabbar-bottom) !important;
    width: min(calc(100% - 22px), 800px) !important;
    height: var(--aph-tabbar-height) !important;
    min-height: var(--aph-tabbar-height) !important;
    padding: 9px 10px !important;
    border-radius: 34px !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 7px !important;
    transform: translate3d(-50%, 0, 0) !important;
    contain: layout paint style !important;
    will-change: transform !important;
    transition: background .24s ease, border-color .24s ease, box-shadow .24s ease, opacity .20s ease !important;
}

body:not(.prompt-detail-screen) .tab-link,
body.gallery-body .tab-link,
body.app-categories-body .tab-link,
body:not(.prompt-detail-screen) .tab-link.active,
body.gallery-body .tab-link.active,
body.app-categories-body .tab-link.active,
body.gallery-body .tab-link:not(.active),
body.app-categories-body .tab-link:not(.active) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 64px !important;
    flex: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    border-radius: 26px !important;
    transform: translate3d(0, 0, 0) !important;
    transition: background .22s ease, color .22s ease, box-shadow .22s ease, border-color .22s ease, opacity .22s ease !important;
    filter: none !important;
}

body:not(.prompt-detail-screen) .tab-link i,
body.gallery-body .tab-link i,
body.app-categories-body .tab-link i {
    font-size: 25px !important;
    line-height: 1 !important;
}

body:not(.prompt-detail-screen) .tab-link .tab-title,
body.gallery-body .tab-link .tab-title,
body.app-categories-body .tab-link .tab-title,
body.gallery-body .tab-link:not(.active) .tab-title,
body.app-categories-body .tab-link:not(.active) .tab-title,
body.gallery-body .tab-link.active .tab-title,
body.app-categories-body .tab-link.active .tab-title {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 11px !important;
    font-weight: 760 !important;
    line-height: 1 !important;
    color: rgba(235, 235, 245, .72) !important;
}

body:not(.prompt-detail-screen) .tab-link.active,
body.gallery-body .tab-link.active,
body.app-categories-body .tab-link.active {
    color: #fff !important;
    background:
        radial-gradient(circle at 35% 18%, rgba(157, 95, 255, .78), rgba(87, 42, 194, .54) 64%, rgba(19, 18, 36, .80)),
        rgba(18, 20, 36, .78) !important;
    border: 1px solid rgba(154, 79, 255, .70) !important;
    box-shadow: 0 0 26px rgba(137, 78, 255, .32), inset 0 1px 0 rgba(255,255,255,.12) !important;
}

body:not(.prompt-detail-screen) .tab-link.active .tab-title,
body.gallery-body .tab-link.active .tab-title,
body.app-categories-body .tab-link.active .tab-title {
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 860 !important;
}

body:not(.prompt-detail-screen) .tab-link .tab-dot,
body.gallery-body .tab-link .tab-dot,
body.app-categories-body .tab-link .tab-dot {
    display: none !important;
}

body.gallery-body .web-main,
body.app-categories-body .web-main,
.category-prompts-body .web-main,
.favorites-body .web-main,
.profile-body .web-main {
    padding-bottom: calc(var(--aph-tabbar-height) + 48px + env(safe-area-inset-bottom, 0px)) !important;
}

@media (max-width: 390px) {
    body:not(.prompt-detail-screen) .app-tabbar,
    body.gallery-body .app-tabbar,
    body.app-categories-body .app-tabbar {
        width: min(calc(100% - 16px), 800px) !important;
        height: 78px !important;
        min-height: 78px !important;
        gap: 5px !important;
        padding-left: 7px !important;
        padding-right: 7px !important;
        border-radius: 30px !important;
    }
    body:not(.prompt-detail-screen) .tab-link,
    body.gallery-body .tab-link,
    body.app-categories-body .tab-link,
    body:not(.prompt-detail-screen) .tab-link.active,
    body.gallery-body .tab-link.active,
    body.app-categories-body .tab-link.active,
    body.gallery-body .tab-link:not(.active),
    body.app-categories-body .tab-link:not(.active) {
        height: 60px !important;
        border-radius: 23px !important;
    }
    body:not(.prompt-detail-screen) .tab-link i,
    body.gallery-body .tab-link i,
    body.app-categories-body .tab-link i {
        font-size: 23px !important;
    }
    body:not(.prompt-detail-screen) .tab-link .tab-title,
    body.gallery-body .tab-link .tab-title,
    body.app-categories-body .tab-link .tab-title,
    body.gallery-body .tab-link:not(.active) .tab-title,
    body.app-categories-body .tab-link:not(.active) .tab-title,
    body.gallery-body .tab-link.active .tab-title,
    body.app-categories-body .tab-link.active .tab-title {
        display: block !important;
        font-size: 10px !important;
    }
}

body.prompt-detail-screen #promptDetail:has(.prompt-page-loader),
body.prompt-detail-screen #promptDetail:has(.loading-state) {
    min-height: 100svh !important;
    display: grid !important;
    place-items: center !important;
}

.prompt-page-loader,
body.prompt-detail-screen .loading-state {
    position: fixed !important;
    inset: 0 !important;
    z-index: 40 !important;
    display: grid !important;
    place-items: center !important;
    min-height: 100svh !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: transparent !important;
    font-size: 0 !important;
    background:
        radial-gradient(circle at 50% 42%, rgba(155, 93, 255, .22), transparent 28%),
        #020710 !important;
    box-shadow: none !important;
}

.prompt-loader-icon,
body.prompt-detail-screen .loading-state .spinner-border {
    width: 74px !important;
    height: 74px !important;
    border-radius: 26px !important;
    display: grid !important;
    place-items: center !important;
    color: #fff !important;
    font-size: 34px !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    background:
        radial-gradient(circle at 34% 22%, rgba(189, 139, 255, .95), rgba(103, 56, 224, .74) 58%, rgba(14, 18, 34, .82)),
        rgba(18, 23, 42, .78) !important;
    box-shadow: 0 26px 70px rgba(0,0,0,.44), 0 0 42px rgba(142, 83, 255, .42), inset 0 1px 0 rgba(255,255,255,.18) !important;
    animation: aphNativeLoader 1.15s cubic-bezier(.45, 0, .2, 1) infinite !important;
}

body.prompt-detail-screen .loading-state .spinner-border::before {
    content: "\F588";
    font-family: bootstrap-icons !important;
    line-height: 1;
}

@keyframes aphNativeLoader {
    0%, 100% { transform: translateY(0) scale(1); filter: brightness(1); }
    50% { transform: translateY(-4px) scale(1.045); filter: brightness(1.12); }
}

.spa-progress-bar { display: none !important; }

.spa-route-loader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    pointer-events: none;
    opacity: 0;
    background: rgba(2, 7, 16, 0);
    transition: opacity .18s ease, background .18s ease;
}
.spa-route-loader.show {
    opacity: 1;
    background: rgba(2, 7, 16, .10);
}
.spa-route-loader span {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 22px;
    color: #fff;
    font-size: 28px;
    border: 1px solid rgba(255,255,255,.18);
    background:
        radial-gradient(circle at 35% 20%, rgba(189, 139, 255, .88), rgba(103, 56, 224, .72) 60%, rgba(14, 18, 34, .84)),
        rgba(18, 23, 42, .78);
    box-shadow: 0 22px 60px rgba(0,0,0,.36), 0 0 34px rgba(142, 83, 255, .36), inset 0 1px 0 rgba(255,255,255,.18);
    transform: translateY(10px) scale(.92);
    transition: transform .24s cubic-bezier(.16,.86,.18,1);
    animation: aphNativeLoader 1.15s cubic-bezier(.45, 0, .2, 1) infinite;
}
.spa-route-loader.show span {
    transform: translateY(0) scale(1);
}

.web-main.spa-leaving {
    opacity: .72 !important;
    transform: translate3d(0, 8px, 0) scale(.992) !important;
    filter: blur(2px) !important;
    transition: opacity .20s ease, transform .20s cubic-bezier(.22,.7,.28,1), filter .20s ease !important;
    pointer-events: none !important;
}
.web-main.spa-entering {
    animation: aphNativePageIn .44s cubic-bezier(.16, .86, .18, 1) both !important;
}
@keyframes aphNativePageIn {
    from { opacity: 0; transform: translate3d(0, 16px, 0) scale(.986); filter: blur(9px); }
    70% { opacity: 1; filter: blur(0); }
    to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); }
}

html.spa-route-animating .app-tabbar {
    transform: translate3d(-50%, 0, 0) !important;
}

@media (prefers-reduced-motion: reduce) {
    .prompt-loader-icon,
    body.prompt-detail-screen .loading-state .spinner-border,
    .spa-route-loader span,
    .web-main.spa-entering {
        animation: none !important;
    }
    .web-main.spa-leaving,
    .app-tabbar,
    .tab-link,
    .spa-route-loader,
    .spa-route-loader span {
        transition: none !important;
    }
}


/* ===== V14: calmer skeletons + true native/share-picker compatibility ===== */
.gallery-grid,
.mobile-category-grid,
.category-prompt-grid {
    transform: translateZ(0);
    backface-visibility: hidden;
}

.gallery-card,
.mobile-category-card {
    background:
        radial-gradient(circle at 30% 18%, rgba(124, 72, 255, .18), transparent 34%),
        linear-gradient(145deg, rgba(12, 19, 34, .96), rgba(4, 9, 19, .98)) !important;
    contain: layout paint style;
}

.gallery-card .image-skeleton,
.mobile-category-card .category-image-skeleton,
.category-image-skeleton {
    background:
        linear-gradient(105deg,
            rgba(255,255,255,.035) 0%,
            rgba(255,255,255,.055) 26%,
            rgba(181,140,255,.105) 46%,
            rgba(255,255,255,.050) 64%,
            rgba(255,255,255,.030) 100%) 0 0 / 240% 100%,
        radial-gradient(circle at 28% 18%, rgba(120, 78, 255, .18), transparent 34%),
        linear-gradient(145deg, rgba(15, 22, 40, .98), rgba(4, 9, 19, .98)) !important;
    animation: aphSoftSkeleton 2.45s ease-in-out infinite !important;
    opacity: 1 !important;
    visibility: visible !important;
    will-change: opacity, background-position !important;
    transition: opacity .62s cubic-bezier(.2,.7,.2,1), visibility 0s linear .62s !important;
}

.gallery-card.loaded .image-skeleton,
.mobile-category-card.loaded .category-image-skeleton,
.mobile-category-card.loaded .category-image-skeleton {
    opacity: 0 !important;
    visibility: hidden !important;
    animation-play-state: paused !important;
}

.gallery-img,
.mobile-category-card img {
    backface-visibility: hidden !important;
    transform: translateZ(0) scale(1.018) !important;
    transition:
        opacity .62s cubic-bezier(.2,.7,.2,1),
        transform .86s cubic-bezier(.16,.86,.18,1) !important;
}

.gallery-card.loaded .gallery-img,
.mobile-category-card.loaded img {
    transform: translateZ(0) scale(1) !important;
}

.gallery-grid.is-loading-soft,
.mobile-category-grid.is-loading-soft,
.category-prompt-grid.is-loading-soft {
    opacity: .985;
    transition: opacity .28s ease;
}

.gallery-loader,
.category-loading-state {
    transition: opacity .28s ease, transform .28s cubic-bezier(.16,.86,.18,1) !important;
}

.gallery-loader.hidden,
.category-loading-state.hidden {
    opacity: 0 !important;
    transform: translateY(6px) !important;
    pointer-events: none !important;
}

.native-share-options {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}
.native-share-options button,
.native-share-options a {
    appearance: none;
    border: 1px solid rgba(255,255,255,.12) !important;
    font: inherit;
    cursor: pointer;
    min-height: 86px;
    display: grid;
    place-items: center;
    gap: 8px;
    text-decoration: none;
    color: #fff !important;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.055)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.native-share-options button:active,
.native-share-options a:active { transform: scale(.96); }
.native-share-options button i,
.native-share-options a i { font-size: 28px; line-height: 1; }
.native-share-options button span,
.native-share-options a span { font-size: 12px; font-weight: 850; }
.native-share-options [data-system-share] {
    background:
        radial-gradient(circle at 50% 18%, rgba(181,140,255,.30), transparent 42%),
        linear-gradient(180deg, rgba(126, 78, 255, .24), rgba(255,255,255,.055)) !important;
    border-color: rgba(181,140,255,.32) !important;
}

@keyframes aphSoftSkeleton {
    0% { background-position: 135% 0, 0 0, 0 0; filter: brightness(.96); }
    50% { background-position: 35% 0, 0 0, 0 0; filter: brightness(1.04); }
    100% { background-position: -85% 0, 0 0, 0 0; filter: brightness(.96); }
}

@media (max-width: 430px) {
    .native-share-options {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }
    .native-share-options button,
    .native-share-options a {
        min-height: 74px !important;
        border-radius: 18px !important;
    }
    .native-share-options button i,
    .native-share-options a i { font-size: 23px !important; }
    .native-share-options button span,
    .native-share-options a span { font-size: 10px !important; }
}

@media (prefers-reduced-motion: reduce) {
    .gallery-card .image-skeleton,
    .mobile-category-card .category-image-skeleton,
    .category-image-skeleton {
        animation: none !important;
    }
}

/* ===== V15: stable thumbnails + compact prompt spacing ===== */
.gallery-grid,
.mobile-category-grid,
.category-prompt-grid {
    transform: none !important;
    backface-visibility: visible !important;
}

.gallery-grid.is-loading-soft,
.mobile-category-grid.is-loading-soft,
.category-prompt-grid.is-loading-soft {
    opacity: 1 !important;
    transition: none !important;
}

.gallery-card .image-skeleton,
.mobile-category-card .category-image-skeleton,
.category-image-skeleton,
.detail-image-loader {
    animation: none !important;
    filter: none !important;
    will-change: auto !important;
}

.gallery-card .image-skeleton,
.mobile-category-card .category-image-skeleton,
.category-image-skeleton {
    transition: opacity .16s ease, visibility 0s linear .16s !important;
}

.gallery-img,
.mobile-category-card img {
    transform: none !important;
    backface-visibility: visible !important;
    will-change: auto !important;
    transition: opacity .16s ease !important;
}

.gallery-card.loaded .gallery-img,
.mobile-category-card.loaded img {
    transform: none !important;
}

/* Keep the old page steady while the next SPA document is fetched. */
.web-main.spa-leaving {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}

.spa-route-loader.show {
    background: rgba(2, 7, 16, .04) !important;
}

/* Remove the stacked bottom padding that produced large gaps around Generate
   and after Related Prompts on the full-screen prompt page. */
.prompt-detail-v13.immersive-prompt-detail.mobile-prompt-detail {
    padding-bottom: 0 !important;
}

.prompt-detail-v13 .detail-hero-fullscreen {
    padding-bottom: max(10px, env(safe-area-inset-bottom)) !important;
}

.prompt-detail-v13:not(.prompt-actions-open) .prompt-scrollable-stage {
    margin-top: 0 !important;
}

.prompt-detail-v13 .prompt-scrollable-stage,
.prompt-detail-v13.prompt-actions-open .prompt-scrollable-stage {
    padding-bottom: 0 !important;
}

.prompt-detail-v13 .related-detail-section,
.prompt-detail-v13:not(.prompt-actions-open) .related-detail-section,
.prompt-detail-v13.prompt-actions-open .related-detail-section {
    margin-top: 0 !important;
    padding-top: 16px !important;
    padding-bottom: max(14px, env(safe-area-inset-bottom)) !important;
}

.prompt-detail-v13 .related-gallery-grid {
    margin-bottom: 0 !important;
}

@media (max-width: 430px) {
    .prompt-detail-v13 .detail-hero-fullscreen {
        padding-bottom: max(8px, env(safe-area-inset-bottom)) !important;
    }

    .prompt-detail-v13 .related-detail-section,
    .prompt-detail-v13:not(.prompt-actions-open) .related-detail-section,
    .prompt-detail-v13.prompt-actions-open .related-detail-section {
        padding: 14px 12px max(12px, env(safe-area-inset-bottom)) !important;
    }
}

/* ===== V24: no-flicker home and category rendering ===== */
body.gallery-body .web-main.spa-entering,
body.app-categories-body .web-main.spa-entering,
body.category-prompts-body .web-main.spa-entering {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}

/* Do not hide real thumbnails behind a transient skeleton after SPA insertion. */
.gallery-card .image-skeleton,
.mobile-category-card .category-image-skeleton,
.category-image-skeleton {
    display: none !important;
}

.gallery-img,
.mobile-category-card img {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

.gallery-card,
.mobile-category-card,
.gallery-grid,
.mobile-category-grid,
.category-prompt-grid {
    backface-visibility: visible !important;
    will-change: auto !important;
}

/* Keep an SSR-filled page visible while optional pagination is fetched. */
.gallery-grid[data-ssr-ready="1"][aria-busy="true"],
.mobile-category-grid[data-ssr-ready="1"].is-loading-soft,
.category-prompt-grid[data-ssr-ready="1"].is-loading-soft {
    min-height: 0 !important;
    opacity: 1 !important;
}

/* ===== V24.2: exact SPA back-position restoration + Generate safe spacing ===== */
/* Keep the Generate control above mobile browser/glass UI and leave visible
   breathing room after the button before the bottom of the image. */
.prompt-detail-v13:not(.prompt-actions-open) .detail-generate-only {
    padding-bottom: max(36px, calc(env(safe-area-inset-bottom, 0px) + 12px)) !important;
}

.prompt-detail-v13:not(.prompt-actions-open) .detail-hero-fullscreen {
    padding-bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
}

@media (max-width: 430px) {
    .prompt-detail-v13:not(.prompt-actions-open) .detail-generate-only {
        padding-bottom: max(44px, calc(env(safe-area-inset-bottom, 0px) + 16px)) !important;
    }
}


/* ===== V24.6: profile history + inline category prompt counts ===== */
.history-body .web-main {
    padding-top: 35px !important;
}
.history-screen {
    position: relative;
}
.history-grid {
    margin-top: 20px;
}
.history-body .gallery-loader {
    min-height: 120px;
}
.history-body .empty-state {
    grid-column: 1 / -1;
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.72);
    border-color: rgba(255,255,255,.12);
}
.history-page-head {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
}
.history-clear-btn {
    min-height: 42px;
    padding: 9px 14px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: rgba(255,255,255,.88);
    background: rgba(255,255,255,.07);
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 10px 26px rgba(0,0,0,.18);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.history-clear-btn:hover,
.history-clear-btn:focus-visible {
    color: #fff;
    background: rgba(255,255,255,.12);
}
.history-clear-btn[hidden] {
    display: none !important;
}

/* Count is now shown only inside the bottom name pill: Category (12). */
.mobile-category-card .category-count-pill {
    display: none !important;
}
.mobile-category-card .category-name-pill {
    min-width: 0 !important;
    max-width: calc(100% - 24px) !important;
    width: auto !important;
    padding-inline: 15px !important;
    color: rgba(255,255,255,.90) !important;
}

@media (max-width: 520px) {
    .history-body .web-main { padding: 46px 18px 118px !important; }
    .history-clear-btn { min-height: 38px; padding: 8px 11px; }
    .history-clear-btn span { display: none; }
}

/* v24.10 production profile pages, support forms and report tracking */
.profile-content-card > :last-child { margin-bottom: 0; }
.profile-content-card ul,
.profile-content-card ol { padding-left: 1.25rem; }
.profile-content-card li + li { margin-top: 8px; }
.profile-content-card strong { color: rgba(255,255,255,.95); }

.support-panel {
    margin-top: 18px;
    padding: 28px;
    border-radius: 26px;
    color: #fff;
    border: 1px solid rgba(255,255,255,.11);
    background: linear-gradient(180deg, rgba(12,18,38,.96), rgba(5,10,25,.98));
    box-shadow: 0 20px 54px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05);
}
.support-panel-head { margin-bottom: 22px; }
.support-panel-head h2 { margin: 10px 0 8px; color: #fff; font-size: clamp(25px, 4vw, 34px); font-weight: 880; letter-spacing: -.035em; }
.support-panel-head p { margin: 0; color: rgba(235,235,245,.66); font-size: 16px; line-height: 1.65; }
.support-kicker { display: inline-flex; align-items: center; gap: 8px; color: #c8a8ff; font-size: 13px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.support-form { position: relative; }
.support-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.support-field { display: grid; gap: 9px; min-width: 0; }
.support-field-full { grid-column: 1 / -1; }
.support-field > span { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: rgba(255,255,255,.91); font-size: 14px; font-weight: 800; }
.support-field > span em { color: #ffb2c0; font-size: 11px; font-style: normal; text-transform: uppercase; letter-spacing: .06em; }
.support-field > span small { color: rgba(235,235,245,.48); font-size: 12px; font-weight: 700; }
.support-field input,
.support-field select,
.support-field textarea {
    width: 100%;
    min-height: 50px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 15px;
    padding: 13px 15px;
    color: #fff;
    background: rgba(255,255,255,.055);
    outline: none;
    font: inherit;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.support-field textarea { min-height: 150px; resize: vertical; line-height: 1.55; }
.support-field select { color-scheme: dark; }
.support-field input::placeholder,
.support-field textarea::placeholder { color: rgba(235,235,245,.34); }
.support-field input:focus,
.support-field select:focus,
.support-field textarea:focus { border-color: rgba(169,105,255,.75); background: rgba(255,255,255,.075); box-shadow: 0 0 0 4px rgba(145,77,255,.14); }
.support-field > small { color: rgba(235,235,245,.47); font-size: 12px; line-height: 1.5; }
.support-check { display: flex; align-items: flex-start; gap: 11px; margin: 20px 0; color: rgba(235,235,245,.65); font-size: 13px; line-height: 1.55; }
.support-check input { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 2px; accent-color: #9b63ff; }
.support-check a { color: #c49cff; font-weight: 800; }
.support-submit-btn,
.support-secondary-btn {
    min-height: 52px;
    border: 0;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 22px;
    color: #fff;
    font-weight: 850;
    cursor: pointer;
    background: linear-gradient(135deg, #7651ff, #a241ff);
    box-shadow: 0 14px 32px rgba(113,55,255,.27), inset 0 1px 0 rgba(255,255,255,.18);
}
.report-submit-btn { background: linear-gradient(135deg, #ff5e62, #ad3dff); }
.support-secondary-btn { align-self: end; background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.13); box-shadow: none; }
.support-submit-btn:hover,
.support-secondary-btn:hover { transform: translateY(-1px); filter: brightness(1.06); }
.form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.support-alert { display: flex; align-items: flex-start; gap: 13px; padding: 16px 17px; margin-bottom: 20px; border-radius: 17px; border: 1px solid transparent; }
.support-alert > i { margin-top: 2px; font-size: 20px; }
.support-alert strong { display: block; margin-bottom: 4px; }
.support-alert p { margin: 0; line-height: 1.55; }
.support-alert ul { margin: 7px 0 0; padding-left: 18px; }
.support-alert-success { color: #c9ffe8; border-color: rgba(57,219,151,.30); background: rgba(24,139,91,.16); }
.support-alert-error { color: #ffd6df; border-color: rgba(255,92,122,.30); background: rgba(164,37,65,.18); }
.support-alert code { display: inline-block; margin: 4px 2px; color: #fff; font-size: 13px; }
.report-status-panel { margin-bottom: 18px; }
.status-lookup-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 14px; align-items: end; }
.report-result-card { margin-bottom: 22px; padding: 22px; border-radius: 20px; border: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.045); }
.report-result-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.report-result-label { display: block; margin-bottom: 7px; color: rgba(235,235,245,.49); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.tracking-code-row { display: flex; align-items: center; gap: 9px; }
.tracking-code-row code { color: #fff; padding: 8px 10px; border-radius: 10px; background: rgba(0,0,0,.28); font-size: 15px; font-weight: 850; letter-spacing: .04em; }
.tracking-code-row button { width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; color: #fff; background: rgba(255,255,255,.07); }
.support-status-badge { display: inline-flex; align-items: center; gap: 7px; border-radius: 999px; padding: 8px 12px; font-size: 12px; font-weight: 850; white-space: nowrap; }
.status-info { color: #bfe3ff; background: rgba(53,145,224,.18); border: 1px solid rgba(83,174,255,.24); }
.status-warning { color: #ffe9a8; background: rgba(196,137,17,.18); border: 1px solid rgba(255,194,65,.24); }
.status-success { color: #bff8d9; background: rgba(32,164,103,.18); border: 1px solid rgba(69,222,147,.24); }
.status-secondary { color: #d8dce7; background: rgba(128,139,159,.16); border: 1px solid rgba(177,187,204,.20); }
.report-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 22px; }
.report-summary-grid > div { min-width: 0; padding: 13px; border-radius: 14px; background: rgba(0,0,0,.18); }
.report-summary-grid span { display: block; margin-bottom: 5px; color: rgba(235,235,245,.45); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.report-summary-grid strong { display: block; color: rgba(255,255,255,.92); font-size: 14px; overflow-wrap: anywhere; }
.report-summary-grid a { color: #c7a6ff; }
.report-timeline { display: grid; gap: 0; }
.report-step { position: relative; display: grid; grid-template-columns: 34px 1fr; gap: 12px; min-height: 62px; color: rgba(235,235,245,.48); }
.report-step:not(:last-child)::after { content: ""; position: absolute; left: 16px; top: 32px; bottom: 0; width: 2px; background: rgba(255,255,255,.10); }
.report-step > span { position: relative; z-index: 1; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.13); background: #10172a; }
.report-step strong { display: block; margin: 2px 0 3px; color: rgba(255,255,255,.73); }
.report-step small { font-size: 12px; line-height: 1.45; }
.report-step.complete { color: rgba(225,255,240,.64); }
.report-step.complete > span { color: #d3ffeb; border-color: rgba(64,220,148,.40); background: rgba(29,148,94,.30); }
.report-step.complete:not(:last-child)::after { background: rgba(64,220,148,.35); }
.report-step.complete strong { color: #fff; }
.public-response-box { margin-top: 18px; padding: 16px; border-radius: 15px; border: 1px solid rgba(181,140,255,.22); background: rgba(126,76,214,.12); }
.public-response-box > span { color: #caaaff; font-size: 12px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.public-response-box p { margin: 8px 0 0; color: rgba(255,255,255,.82); line-height: 1.65; }
.prompt-report-link { margin-top: 14px; display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 13px; padding: 14px; border-radius: 16px; color: #fff; border: 1px solid rgba(255,105,122,.22); background: rgba(116,34,61,.17); }
.prompt-report-link:hover { color: #fff; background: rgba(142,40,72,.24); }
.prompt-report-link > span { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; color: #ff9bad; background: rgba(255,88,116,.14); }
.prompt-report-link div { display: grid; gap: 3px; }
.prompt-report-link strong { font-size: 14px; }
.prompt-report-link small { color: rgba(235,235,245,.52); font-size: 11px; }
.prompt-report-link > i { color: #ff8ca0; }

@media (max-width: 700px) {
    .support-panel { padding: 21px 17px; border-radius: 22px; }
    .support-form-grid,
    .status-lookup-form { grid-template-columns: 1fr; }
    .support-field-full { grid-column: auto; }
    .support-submit-btn,
    .support-secondary-btn { width: 100%; }
    .report-result-top { display: grid; }
    .support-status-badge { justify-self: start; }
    .report-summary-grid { grid-template-columns: 1fr; }
}
.detail-top-action-group { display: flex; align-items: center; gap: 10px; pointer-events: auto; }
.detail-report-btn { text-decoration: none; color: #fff; }
.detail-report-btn:hover { color: #ffb3c1; border-color: rgba(255,112,139,.48) !important; }

/* Premium / account UI */
.premium-chip{position:absolute;left:8px;top:8px;z-index:3;display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:linear-gradient(135deg,#ffd76a,#ffb11b);color:#2c2100;font-size:10px;font-weight:900;letter-spacing:.04em;box-shadow:0 6px 20px rgba(255,177,27,.28)}
.prompt-premium-badge{background:linear-gradient(135deg,#ffe082,#ffbd2e)!important;color:#332400!important}
.detail-premium-chip{position:absolute;z-index:8;left:18px;top:78px;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:linear-gradient(135deg,#ffe27a,#ffb51f);color:#2b2100;font-size:11px;font-weight:900;letter-spacing:.06em;box-shadow:0 10px 30px rgba(0,0,0,.24)}
.premium-unlock-btn{background:linear-gradient(135deg,#ffd96c,#ffae17)!important;color:#241a00!important;box-shadow:0 12px 34px rgba(255,174,23,.32)!important}
.profile-plan-badge{display:inline-flex;vertical-align:middle;margin-left:6px;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.16);font-size:10px;letter-spacing:.06em}.profile-plan-badge.is-pro{background:#ffd04c;color:#271d00}
.pro-page-shell{max-width:980px;margin:0 auto;padding:18px 0 34px}.pro-hero-card{display:flex;gap:20px;align-items:center;padding:28px;border-radius:28px;background:linear-gradient(135deg,#191128,#0a0e1d);color:#fff;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 60px rgba(0,0,0,.18)}.pro-hero-card h1{font-weight:800;margin:4px 0 8px}.pro-hero-card p{margin:0;color:rgba(255,255,255,.72)}.pro-gem{width:72px;height:72px;flex:0 0 72px;border-radius:22px;display:grid;place-items:center;font-size:34px;background:linear-gradient(135deg,#ffe17b,#ffaf18);color:#2b2000}.premium-kicker{font-size:11px;font-weight:900;letter-spacing:.14em;color:#ffd55b}.pro-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.pro-benefit-grid article,.pro-status-card{padding:20px;border-radius:22px;background:var(--card-bg,#fff);border:1px solid rgba(120,130,155,.14);box-shadow:0 10px 30px rgba(20,28,50,.06)}.pro-benefit-grid article{display:grid;gap:7px}.pro-benefit-grid i{font-size:22px}.pro-benefit-grid strong{font-size:16px}.pro-benefit-grid span,.pro-status-card p{color:#7a8294;font-size:13px}.pro-status-card strong{font-size:18px}.pro-status-card .bi-patch-check-fill{color:#22b573}@media(max-width:720px){.pro-page-shell{padding:10px 0 24px}.pro-hero-card{padding:20px;align-items:flex-start}.pro-gem{width:54px;height:54px;flex-basis:54px;border-radius:17px;font-size:25px}.pro-benefit-grid{grid-template-columns:1fr}.detail-premium-chip{top:70px;left:14px}}

/* PromptGem Pro membership page v29 */
.pro-membership-body{background:#020711}.pro-v29{max-width:980px;padding:18px 0 40px}.pro-v29 *{box-sizing:border-box}.pro-membership-hero{position:relative;overflow:hidden;padding:30px;border-radius:30px;background:linear-gradient(145deg,#151023 0%,#0a0d19 52%,#060a13 100%);border:1px solid rgba(255,210,82,.18);box-shadow:0 24px 70px rgba(0,0,0,.28)}.pro-membership-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.035),transparent 35%,rgba(255,193,44,.025));}.pro-hero-glow{position:absolute;border-radius:999px;filter:blur(12px);pointer-events:none}.pro-hero-glow-a{width:280px;height:280px;right:-120px;top:-120px;background:rgba(255,184,35,.11)}.pro-hero-glow-b{width:220px;height:220px;left:-100px;bottom:-130px;background:rgba(119,64,255,.14)}.pro-hero-topline,.pro-hero-copy,.pro-price-row,.pro-primary-action{position:relative;z-index:1}.pro-hero-topline{display:flex;align-items:center;gap:14px}.pro-v29 .pro-gem{width:58px;height:58px;flex:0 0 58px;border-radius:19px;font-size:27px;background:linear-gradient(145deg,#ffe27a,#ffb216);box-shadow:0 10px 35px rgba(255,178,22,.24)}.pro-brand-block{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pro-v29 .premium-kicker{color:#ffd45d;letter-spacing:.14em;font-size:11px;font-weight:900}.pro-plan-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:rgba(255,205,71,.09);border:1px solid rgba(255,205,71,.16);color:#ffe284;font-size:10px;font-weight:800;letter-spacing:.06em}.pro-hero-copy{max-width:760px;margin-top:24px}.pro-hero-copy h1{margin:0;color:#fff;font-size:clamp(30px,4.2vw,52px);line-height:1.03;letter-spacing:-.035em;font-weight:900}.pro-hero-copy p{max-width:690px;margin:14px 0 0;color:rgba(237,239,247,.72);font-size:15px;line-height:1.7}.pro-price-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.62fr);gap:14px;margin-top:26px}.pro-price-box,.pro-value-badge{border-radius:20px;border:1px solid rgba(255,255,255,.08)}.pro-price-box{padding:18px 20px;background:rgba(255,255,255,.045)}.pro-price-label{display:block;color:rgba(255,255,255,.55);font-size:10px;font-weight:800;letter-spacing:.12em}.pro-price{display:flex;align-items:baseline;margin-top:3px;color:#fff}.pro-price .currency{font-size:23px;font-weight:800;color:#ffd257}.pro-price strong{font-size:43px;line-height:1;font-weight:900;letter-spacing:-.04em}.pro-price .period{margin-left:8px;color:rgba(255,255,255,.62);font-size:14px;font-weight:700}.pro-price-box small{display:block;margin-top:7px;color:rgba(255,255,255,.55);font-size:12px}.pro-value-badge{display:flex;align-items:center;gap:12px;padding:17px;background:linear-gradient(135deg,rgba(255,212,90,.11),rgba(255,180,24,.05))}.pro-value-badge>i{font-size:27px;color:#ffd45e}.pro-value-badge span{display:grid;gap:2px}.pro-value-badge strong{color:#fff;font-size:14px}.pro-value-badge small{color:rgba(255,255,255,.58);font-size:11px;line-height:1.45}.pro-primary-action{display:flex;align-items:center;gap:12px;margin-top:16px;padding:15px 16px;border-radius:18px;text-decoration:none;border:1px solid rgba(255,211,85,.2);background:linear-gradient(135deg,#ffda64,#ffb414);color:#261a00;box-shadow:0 14px 34px rgba(255,177,20,.15)}.pro-primary-action:hover{color:#261a00;transform:translateY(-1px)}.pro-primary-action.is-active{background:rgba(34,181,115,.09);border-color:rgba(50,205,136,.25);color:#eafff4;box-shadow:none}.pro-action-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:13px;background:rgba(38,26,0,.10);font-size:20px}.is-active .pro-action-icon{background:rgba(48,206,137,.12);color:#57e4a2}.pro-primary-action>span:nth-child(2){display:grid;gap:2px;min-width:0}.pro-primary-action strong{font-size:14px;font-weight:900}.pro-primary-action small{font-size:11px;opacity:.72}.pro-action-arrow{margin-left:auto;font-size:18px}.pro-section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin:28px 3px 14px}.pro-section-head h2{margin:5px 0 0;color:#f5f7fb;font-size:24px;letter-spacing:-.02em;font-weight:850}.pro-no-hidden{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:#9ca6bb;font-size:11px}.pro-no-hidden i{color:#ffd45d}.pro-benefit-list{display:grid;gap:10px}.pro-benefit-item{display:grid;grid-template-columns:48px minmax(0,1fr) 32px;align-items:center;gap:14px;padding:16px;border-radius:20px;background:linear-gradient(145deg,rgba(17,23,37,.96),rgba(8,13,24,.96));border:1px solid rgba(145,157,181,.11);box-shadow:0 12px 35px rgba(0,0,0,.12)}.pro-benefit-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,rgba(255,214,93,.15),rgba(255,179,18,.07));border:1px solid rgba(255,209,75,.12);color:#ffd45d;font-size:20px}.pro-benefit-item>div{display:grid;gap:4px}.pro-benefit-item strong{color:#f7f8fb;font-size:14px;font-weight:850}.pro-benefit-item span:not(.pro-benefit-icon){color:#8792a9;font-size:12px;line-height:1.55}.pro-benefit-check{width:29px;height:29px;display:grid;place-items:center;border-radius:999px;background:rgba(52,208,139,.10);color:#55e29e;font-size:18px}.pro-bottom-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:18px;padding:20px;border-radius:24px;background:linear-gradient(145deg,#121526,#090e1a);border:1px solid rgba(255,209,72,.12);box-shadow:0 18px 50px rgba(0,0,0,.16)}.pro-bottom-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#ffe272,#ffb315);color:#2c1f00;font-size:25px}.pro-bottom-copy h3{margin:4px 0 5px;color:#fff;font-size:19px;font-weight:850}.pro-bottom-copy p{margin:0;color:#7f8aa1;font-size:12px;line-height:1.6}.pro-secondary-btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;min-height:43px;padding:10px 14px;border-radius:14px;background:rgba(255,211,78,.10);border:1px solid rgba(255,211,78,.17);color:#ffe07d;text-decoration:none;font-size:12px;font-weight:850;white-space:nowrap}.pro-secondary-btn:hover{color:#fff;border-color:rgba(255,211,78,.32)}.pro-secondary-btn.is-static{cursor:default}.pro-footnote{display:flex;align-items:center;justify-content:center;gap:6px;margin:14px 0 0;color:#667188;font-size:10px;text-align:center}
@media(max-width:720px){.pro-v29{padding:8px 0 26px}.pro-membership-hero{padding:20px 18px;border-radius:24px}.pro-v29 .pro-gem{width:50px;height:50px;flex-basis:50px;border-radius:16px;font-size:23px}.pro-hero-copy{margin-top:20px}.pro-hero-copy h1{font-size:31px;line-height:1.07}.pro-hero-copy p{font-size:13px;line-height:1.62}.pro-price-row{grid-template-columns:1fr;gap:9px;margin-top:20px}.pro-price strong{font-size:38px}.pro-value-badge{padding:13px 15px}.pro-section-head{align-items:flex-start;margin:24px 2px 12px}.pro-section-head h2{font-size:20px}.pro-no-hidden{display:none}.pro-benefit-item{grid-template-columns:44px minmax(0,1fr) 27px;gap:11px;padding:14px 13px;border-radius:18px}.pro-benefit-icon{width:44px;height:44px;border-radius:14px}.pro-benefit-check{width:26px;height:26px}.pro-bottom-card{grid-template-columns:50px minmax(0,1fr);gap:13px;padding:16px;border-radius:20px}.pro-bottom-icon{width:50px;height:50px;border-radius:16px;font-size:22px}.pro-secondary-btn{grid-column:1/-1;width:100%}.pro-primary-action{padding:13px 14px}.pro-primary-action small{font-size:10px}}

/* ===== v32 compact premium home category rail ===== */
.gallery-screen > .gallery-filters {
    gap: 10px !important;
    padding: 4px 4px 18px !important;
    margin: 0 -4px 8px !important;
    scroll-padding-inline: 4px;
}
.gallery-screen > .gallery-filters .gallery-filter {
    flex: 0 0 92px !important;
    height: 78px !important;
    padding: 8px 7px 9px !important;
    gap: 5px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background:
        linear-gradient(180deg, rgba(22,29,45,.88), rgba(7,12,23,.92)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.055),
        0 10px 24px rgba(0,0,0,.24) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
.gallery-screen > .gallery-filters .gallery-filter .filter-icon {
    width: 35px !important;
    height: 35px !important;
    border-radius: 12px;
    font-size: 22px !important;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.06);
    filter: none !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
    overflow: hidden;
}
.gallery-screen > .gallery-filters .gallery-filter .filter-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}
.gallery-screen > .gallery-filters .gallery-filter strong {
    width: 100%;
    font-size: 11.5px !important;
    font-weight: 780 !important;
    line-height: 1.1 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
}
.gallery-screen > .gallery-filters .gallery-filter em {
    bottom: 5px !important;
    height: 3px !important;
}
.gallery-screen > .gallery-filters .gallery-filter.active {
    transform: translateY(-1px);
    border-color: rgba(151,78,255,.70) !important;
    background:
        radial-gradient(circle at 50% 15%, rgba(137,72,255,.38), transparent 52%),
        linear-gradient(180deg, rgba(33,25,61,.95), rgba(12,12,30,.96)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.09),
        0 0 0 1px rgba(129,70,255,.16),
        0 12px 28px rgba(80,42,180,.26) !important;
}
.gallery-screen > .gallery-filters .gallery-filter.active .filter-icon {
    background: linear-gradient(145deg, rgba(139,80,255,.28), rgba(255,255,255,.07));
    border-color: rgba(181,140,255,.30);
}
.gallery-screen > .gallery-filters .gallery-filter.active em { width: 28px !important; }

/* ===== v32 native sub-category rail on category detail ===== */
.subcategory-slider {
    display: flex;
    gap: 9px;
    overflow-x: auto;
    padding: 2px 2px 14px;
    margin: -2px -2px 8px;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    transition: opacity .18s ease;
}
.subcategory-slider::-webkit-scrollbar { display: none; }
.subcategory-slider.is-loading { opacity: .72; pointer-events: none; }
.subcategory-chip {
    flex: 0 0 auto;
    min-width: 82px;
    max-width: 148px;
    height: 52px;
    padding: 6px 11px 6px 7px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 18px;
    color: rgba(255,255,255,.76);
    background: rgba(255,255,255,.045);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 8px 18px rgba(0,0,0,.18);
    display: grid;
    grid-template-columns: 34px minmax(0,1fr);
    grid-template-rows: 1fr auto;
    column-gap: 8px;
    align-items: center;
    text-align: left;
    scroll-snap-align: start;
    transition: transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.subcategory-chip-icon {
    grid-row: 1 / 3;
    width: 34px;
    height: 34px;
    border-radius: 11px;
    display: grid;
    place-items: center;
    overflow: hidden;
    color: #c9a7ff;
    background: rgba(146,84,255,.12);
    font-size: 17px;
}
.subcategory-chip-icon img { width: 100%; height: 100%; object-fit: cover; }
.subcategory-chip strong {
    min-width: 0;
    align-self: end;
    font-size: 12px;
    font-weight: 820;
    line-height: 1.05;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.subcategory-chip small {
    align-self: start;
    color: rgba(235,235,245,.43);
    font-size: 9.5px;
    line-height: 1;
    font-weight: 700;
}
.subcategory-chip.active {
    color: #fff;
    border-color: rgba(160,98,255,.62);
    background: linear-gradient(145deg, rgba(111,47,221,.52), rgba(40,24,82,.78));
    box-shadow: 0 10px 26px rgba(75,32,165,.28), inset 0 1px 0 rgba(255,255,255,.11);
}
.subcategory-chip.active .subcategory-chip-icon {
    color: #fff;
    background: linear-gradient(145deg, #9c62ff, #6941c6);
    box-shadow: 0 5px 14px rgba(130,73,235,.30);
}
.subcategory-chip.active small { color: rgba(255,255,255,.64); }
.category-prompts-body .subcategory-slider + .app-page-description { margin-top: 0 !important; }
.category-prompts-body .category-prompt-grid { margin-top: 14px !important; }

@media (max-width: 520px) {
    .gallery-screen > .gallery-filters { gap: 8px !important; padding-bottom: 14px !important; }
    .gallery-screen > .gallery-filters .gallery-filter {
        flex-basis: 78px !important;
        height: 68px !important;
        border-radius: 18px !important;
        gap: 3px !important;
    }
    .gallery-screen > .gallery-filters .gallery-filter .filter-icon { width: 30px !important; height: 30px !important; font-size: 19px !important; border-radius: 10px; }
    .gallery-screen > .gallery-filters .gallery-filter strong { font-size: 10.5px !important; }
    .subcategory-slider { gap: 7px; padding-bottom: 12px; }
    .subcategory-chip { min-width: 76px; height: 48px; border-radius: 16px; padding-right: 9px; grid-template-columns: 31px minmax(0,1fr); column-gap: 7px; }
    .subcategory-chip-icon { width: 31px; height: 31px; border-radius: 10px; font-size: 15px; }
    .subcategory-chip strong { font-size: 11px; }
}

/* ===== v34 native category polish + prompt-detail bottom navigation ===== */
.category-page-hero,
.category-detail-hero {
    position: relative;
    display: grid;
    align-items: center;
    gap: 14px;
    border: 1px solid rgba(255,255,255,.10);
    background:
        radial-gradient(circle at 88% 0%, rgba(144, 83, 255, .18), transparent 35%),
        linear-gradient(145deg, rgba(15, 23, 42, .82), rgba(5, 9, 20, .74));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 18px 44px rgba(0,0,0,.22);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.category-page-hero {
    grid-template-columns: auto minmax(0,1fr) auto;
    padding: 16px 18px;
    border-radius: 25px;
    margin-bottom: 20px !important;
}
.category-page-copy { min-width: 0; }
.category-page-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 5px;
    color: #bba1ff;
    font-size: 10px;
    font-weight: 850;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .11em;
}
.category-page-hero .category-app-title {
    margin: 0 !important;
    color: #fff;
    font-size: clamp(24px, 5vw, 32px);
    line-height: 1.05;
    letter-spacing: -.035em;
}
.category-page-copy p {
    margin: 6px 0 0;
    color: rgba(235,235,245,.58);
    font-size: 12px;
    line-height: 1.4;
}
.category-page-total {
    min-width: 54px;
    min-height: 54px;
    padding: 8px 9px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    align-content: center;
    color: #fff;
    background: rgba(143, 80, 255, .13);
    border: 1px solid rgba(171, 123, 255, .24);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.category-page-total strong { font-size: 18px; line-height: 1; font-weight: 900; }
.category-page-total small { margin-top: 3px; color: rgba(233,224,255,.60); font-size: 9px; font-weight: 760; text-transform: uppercase; letter-spacing: .08em; }

.category-detail-hero {
    grid-template-columns: auto minmax(0,1fr) auto;
    padding: 15px 17px;
    border-radius: 24px;
    margin-bottom: 12px;
}
.category-detail-hero .app-title-copy { min-width: 0; }
.category-detail-hero .app-title-copy > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 5px;
    color: #bba1ff;
    font-size: 10px;
    font-weight: 820;
    text-transform: uppercase;
    letter-spacing: .10em;
}
.category-detail-hero .app-title-copy h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(23px, 5vw, 31px);
    font-weight: 900;
    line-height: 1.06;
    letter-spacing: -.035em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.category-detail-count {
    min-height: 34px;
    padding: 8px 11px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #f5efff;
    background: rgba(137, 78, 255, .16);
    border: 1px solid rgba(177, 129, 255, .28);
    box-shadow: 0 8px 24px rgba(72, 35, 151, .18), inset 0 1px 0 rgba(255,255,255,.06);
    font-size: 10px;
    font-weight: 850;
    white-space: nowrap;
}
.category-detail-count[hidden] { display: none !important; }

/* Category card hierarchy: count top-right, category name bottom. */
.mobile-category-card {
    border-radius: 22px !important;
    border-color: rgba(255,255,255,.12) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 14px 32px rgba(0,0,0,.30) !important;
}
.mobile-category-card::after {
    background: linear-gradient(180deg, rgba(0,0,0,.02) 48%, rgba(1,4,10,.68) 100%) !important;
}
.mobile-category-card .category-count-pill {
    display: inline-flex !important;
    top: 10px !important;
    right: 10px !important;
    min-height: 27px !important;
    padding: 6px 9px !important;
    gap: 5px !important;
    color: #fff !important;
    background: rgba(6, 10, 20, .60) !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    box-shadow: 0 9px 22px rgba(0,0,0,.22) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.mobile-category-card .category-count-pill i { color: #c09bff !important; }
.mobile-category-card .category-name-pill {
    left: 12px !important;
    right: 12px !important;
    bottom: 11px !important;
    transform: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 34px !important;
    padding: 8px 12px !important;
    border-radius: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
    color: rgba(255,255,255,.96) !important;
    background: rgba(5, 9, 18, .48) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    font-size: 11px !important;
    font-weight: 820 !important;
    letter-spacing: .005em !important;
}

/* Single prompt now keeps the same four-item native bottom menu. */
body.prompt-detail-screen .app-tabbar {
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    bottom: var(--aph-tabbar-bottom) !important;
    width: min(calc(100% - 22px), 760px) !important;
    height: var(--aph-tabbar-height) !important;
    min-height: var(--aph-tabbar-height) !important;
    padding: 9px 10px !important;
    border-radius: 34px !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    align-items: center !important;
    gap: 7px !important;
    transform: translate3d(-50%,0,0) !important;
    background: rgba(6, 12, 23, .82) !important;
    border: 1px solid rgba(148,163,184,.16) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 -8px 40px rgba(0,0,0,.48) !important;
    backdrop-filter: blur(22px) !important;
    -webkit-backdrop-filter: blur(22px) !important;
}
body.prompt-detail-screen .tab-link,
body.prompt-detail-screen .tab-link.active {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 64px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    border-radius: 26px !important;
    color: rgba(235,235,245,.78) !important;
    filter: none !important;
}
body.prompt-detail-screen .tab-link i { font-size: 25px !important; line-height: 1 !important; }
body.prompt-detail-screen .tab-link .tab-title {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: rgba(235,235,245,.68) !important;
    font-size: 11px !important;
    font-weight: 760 !important;
    line-height: 1 !important;
}
body.prompt-detail-screen .tab-link .tab-dot { display: none !important; }
body.prompt-detail-screen .mobile-prompt-detail {
    padding-bottom: calc(var(--aph-tabbar-height) + 54px + env(safe-area-inset-bottom, 0px)) !important;
}

@media (max-width: 520px) {
    .category-page-hero { padding: 13px 14px; gap: 11px; border-radius: 22px; }
    .category-page-copy p { font-size: 11px; }
    .category-page-total { min-width: 48px; min-height: 48px; border-radius: 15px; }
    .category-detail-hero { padding: 12px 13px; gap: 10px; border-radius: 21px; }
    .category-detail-count { min-height: 30px; padding: 7px 9px; font-size: 9px; }
    .mobile-category-grid { gap: 12px 10px !important; }
    .mobile-category-card .category-name-pill { left: 8px !important; right: 8px !important; bottom: 8px !important; min-height: 30px !important; padding: 7px 9px !important; border-radius: 12px !important; font-size: 10px !important; }
    .mobile-category-card .category-count-pill { top: 8px !important; right: 8px !important; min-height: 24px !important; padding: 5px 7px !important; font-size: 9px !important; }
}

@media (max-width: 390px) {
    body.prompt-detail-screen .app-tabbar {
        width: min(calc(100% - 16px), 760px) !important;
        height: 78px !important;
        min-height: 78px !important;
        gap: 5px !important;
        padding: 7px !important;
        border-radius: 30px !important;
    }
    body.prompt-detail-screen .tab-link,
    body.prompt-detail-screen .tab-link.active { height: 60px !important; border-radius: 23px !important; }
    body.prompt-detail-screen .tab-link i { font-size: 23px !important; }
    body.prompt-detail-screen .tab-link .tab-title { font-size: 10px !important; }
}

/* ===== v35 compact glass prompt navigation + safe content spacing ===== */
body.prompt-detail-screen {
    --prompt-nav-height: 68px;
    --prompt-nav-bottom: calc(9px + env(safe-area-inset-bottom, 0px));
}

/* Prompt detail bottom navigation: shorter, lighter and more glass-like. */
body.prompt-detail-screen .app-tabbar {
    bottom: var(--prompt-nav-bottom) !important;
    width: min(calc(100% - 24px), 720px) !important;
    height: var(--prompt-nav-height) !important;
    min-height: var(--prompt-nav-height) !important;
    padding: 6px 7px !important;
    gap: 5px !important;
    border-radius: 27px !important;
    background: linear-gradient(180deg, rgba(10, 16, 29, .58), rgba(4, 9, 19, .48)) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 10px 34px rgba(0,0,0,.30) !important;
    backdrop-filter: blur(28px) saturate(1.45) !important;
    -webkit-backdrop-filter: blur(28px) saturate(1.45) !important;
}

body.prompt-detail-screen .tab-link,
body.prompt-detail-screen .tab-link.active {
    height: 54px !important;
    gap: 3px !important;
    border-radius: 20px !important;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
body.prompt-detail-screen .tab-link i {
    font-size: 21px !important;
}
body.prompt-detail-screen .tab-link .tab-title {
    font-size: 9.5px !important;
    font-weight: 720 !important;
    color: rgba(245,247,255,.66) !important;
}
body.prompt-detail-screen .tab-link:active {
    background: rgba(255,255,255,.07) !important;
}

/* Keep the initial Generate control visibly above the floating navigation. */
.prompt-detail-v13:not(.prompt-actions-open) .detail-generate-only {
    padding-bottom: calc(var(--prompt-nav-height) + 28px + env(safe-area-inset-bottom, 0px)) !important;
}

/* The final related-prompt cards and generated tools must be scrollable fully above the nav. */
.prompt-detail-v13 .prompt-scrollable-stage,
.prompt-detail-v13.prompt-actions-open .prompt-scrollable-stage {
    padding-bottom: calc(var(--prompt-nav-height) + 38px + env(safe-area-inset-bottom, 0px)) !important;
}
.prompt-detail-v13 .related-detail-section,
.prompt-detail-v13:not(.prompt-actions-open) .related-detail-section,
.prompt-detail-v13.prompt-actions-open .related-detail-section {
    padding-bottom: 18px !important;
}

body.prompt-detail-screen .mobile-prompt-detail {
    padding-bottom: calc(var(--prompt-nav-height) + 28px + env(safe-area-inset-bottom, 0px)) !important;
}

@media (max-width: 390px) {
    body.prompt-detail-screen {
        --prompt-nav-height: 64px;
        --prompt-nav-bottom: calc(7px + env(safe-area-inset-bottom, 0px));
    }
    body.prompt-detail-screen .app-tabbar {
        width: calc(100% - 16px) !important;
        height: var(--prompt-nav-height) !important;
        min-height: var(--prompt-nav-height) !important;
        padding: 5px 6px !important;
        gap: 4px !important;
        border-radius: 25px !important;
    }
    body.prompt-detail-screen .tab-link,
    body.prompt-detail-screen .tab-link.active {
        height: 50px !important;
        border-radius: 18px !important;
    }
    body.prompt-detail-screen .tab-link i { font-size: 20px !important; }
    body.prompt-detail-screen .tab-link .tab-title { font-size: 9px !important; }
    .prompt-detail-v13:not(.prompt-actions-open) .detail-generate-only {
        padding-bottom: calc(var(--prompt-nav-height) + 30px + env(safe-area-inset-bottom, 0px)) !important;
    }
    .prompt-detail-v13 .prompt-scrollable-stage,
    .prompt-detail-v13.prompt-actions-open .prompt-scrollable-stage {
        padding-bottom: calc(var(--prompt-nav-height) + 34px + env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* ===== v36 prompt swipe + clean image + 2-column category grid ===== */
/* Remove the coloured hero wash near Generate so the source image stays visually clean. */
.prompt-detail-v13 .detail-hero-fullscreen::after,
.prompt-detail-v13.prompt-actions-open .detail-hero-fullscreen::after,
.immersive-prompt-detail:not(.prompt-actions-open) .detail-hero-fullscreen::after,
.immersive-prompt-detail.prompt-actions-open .detail-hero-fullscreen::after {
    background: transparent !important;
}

/* Horizontal prompt swipe has no visible arrows; only a short native-like exit motion. */
body.prompt-detail-screen #promptDetail {
    overflow-x: hidden !important;
    touch-action: pan-y pinch-zoom;
}
body.prompt-detail-screen #promptDetail.prompt-swipe-next .mobile-prompt-detail {
    animation: promptSwipeNextOut .12s ease-out both;
}
body.prompt-detail-screen #promptDetail.prompt-swipe-prev .mobile-prompt-detail {
    animation: promptSwipePrevOut .12s ease-out both;
}
@keyframes promptSwipeNextOut {
    to { opacity: .72; transform: translate3d(-7%,0,0) scale(.995); }
}
@keyframes promptSwipePrevOut {
    to { opacity: .72; transform: translate3d(7%,0,0) scale(.995); }
}

/* App category screen: two cards per row on phones and centered bottom category labels. */
.mobile-category-card .category-name-pill {
    justify-content: center !important;
    text-align: center !important;
}
@media (max-width: 760px) {
    .mobile-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px 12px !important;
    }
    .mobile-category-card {
        aspect-ratio: .96 / 1 !important;
    }
    .mobile-category-card .category-name-pill {
        left: 9px !important;
        right: 9px !important;
        bottom: 9px !important;
        min-height: 32px !important;
        padding: 7px 9px !important;
        font-size: 10.5px !important;
        justify-content: center !important;
        text-align: center !important;
    }
}
@media (max-width: 390px) {
    .mobile-category-grid { gap: 11px 9px !important; }
    .mobile-category-card .category-name-pill { font-size: 10px !important; }
}

/* ===== v37 image-only native prompt swipe ===== */
/* The prompt body/buttons never translate during left/right navigation. */
body.prompt-detail-screen #promptDetail .mobile-prompt-detail,
body.prompt-detail-screen #promptDetail.prompt-swipe-next .mobile-prompt-detail,
body.prompt-detail-screen #promptDetail.prompt-swipe-prev .mobile-prompt-detail {
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
}

/* Only the fixed hero artwork follows the finger. */
body.prompt-detail-screen .prompt-detail-v13 .detail-hero-fullscreen [data-detail-image] {
    transform: translate3d(var(--prompt-swipe-x, 0px), 0, 0) !important;
    transition: transform .235s cubic-bezier(.22,.78,.22,1), opacity .18s ease !important;
    will-change: transform !important;
    backface-visibility: hidden !important;
}
body.prompt-detail-screen .prompt-detail-v13 .detail-hero-fullscreen .detail-swipe-preview {
    position: fixed !important;
    inset: 0 !important;
    z-index: 0 !important;
    width: 100vw !important;
    height: 100svh !important;
    min-height: 100svh !important;
    object-fit: cover !important;
    object-position: center top !important;
    transform: translate3d(var(--prompt-preview-x, 100vw), 0, 0) !important;
    opacity: var(--prompt-preview-opacity, 0) !important;
    transition: transform .235s cubic-bezier(.22,.78,.22,1), opacity .16s ease !important;
    will-change: transform, opacity !important;
    backface-visibility: hidden !important;
    pointer-events: none !important;
}
body.prompt-detail-screen .prompt-detail-v13 .detail-hero-fullscreen.prompt-image-dragging [data-detail-image],
body.prompt-detail-screen .prompt-detail-v13 .detail-hero-fullscreen.prompt-image-dragging .detail-swipe-preview {
    transition: none !important;
}
body.prompt-detail-screen .prompt-detail-v13 .detail-hero-fullscreen.prompt-image-committing [data-detail-image],
body.prompt-detail-screen .prompt-detail-v13 .detail-hero-fullscreen.prompt-image-committing .detail-swipe-preview {
    transition-duration: .19s !important;
}

/* Keep all controls visually anchored while artwork is moving below them. */
body.prompt-detail-screen .prompt-detail-v13 .detail-top-actions,
body.prompt-detail-screen .prompt-detail-v13 .detail-premium-chip,
body.prompt-detail-screen .prompt-detail-v13 .detail-hero-overlay,
body.prompt-detail-screen .prompt-detail-v13 .detail-generate-only {
    transform: none !important;
}

/* v39: single prompt category shortcut next to back */
.prompt-detail-v13 .detail-back-category-group {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    max-width: min(68vw, 360px);
}
.prompt-detail-v13 .detail-category-name {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    max-width: min(48vw, 250px);
    height: 42px;
    padding: 0 14px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    color: rgba(255,255,255,.96);
    background: rgba(8,12,24,.28);
    backdrop-filter: blur(18px) saturate(145%);
    -webkit-backdrop-filter: blur(18px) saturate(145%);
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
    font-size: 13px;
    line-height: 1;
    font-weight: 750;
    letter-spacing: -.01em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.prompt-detail-v13 .detail-category-name:active {
    transform: scale(.97);
    background: rgba(255,255,255,.17);
}
@media (max-width: 480px) {
    .prompt-detail-v13 .detail-back-category-group { gap: 7px; max-width: 67vw; }
    .prompt-detail-v13 .detail-category-name {
        height: 38px;
        max-width: 45vw;
        padding: 0 11px;
        font-size: 12px;
    }
}

/* ===== v40 admin-controlled grids + sticky native discovery chrome ===== */
/* Admin-controlled prompt/card density. These rules intentionally sit last so they
   override older responsive defaults while preserving the same card component UI. */
body.home-grid-cols-2 .gallery-screen #galleryGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
body.home-grid-cols-3 .gallery-screen #galleryGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
body.category-grid-cols-2 #promptList.category-prompt-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
body.category-grid-cols-3 #promptList.category-prompt-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
body.related-grid-cols-2 .related-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
body.related-grid-cols-3 .related-gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
body.category-card-cols-2 .mobile-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
body.category-card-cols-3 .mobile-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* Home: the category rail becomes a compact floating/sticky glass strip while the
   prompt grid scrolls beneath it. */
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters {
    position: sticky !important;
    top: max(7px, env(safe-area-inset-top, 0px)) !important;
    z-index: 210 !important;
    margin: 0 -8px 28px !important;
    padding: 7px 8px 10px !important;
    border-radius: 21px !important;
    border: 1px solid rgba(255,255,255,.075) !important;
    background: linear-gradient(180deg, rgba(7,13,25,.78), rgba(4,9,19,.66)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.055), 0 12px 32px rgba(0,0,0,.22) !important;
    backdrop-filter: blur(24px) saturate(1.35) !important;
    -webkit-backdrop-filter: blur(24px) saturate(1.35) !important;
    isolation: isolate;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: radial-gradient(circle at 22% 0%, rgba(126,72,255,.12), transparent 42%);
    z-index: -1;
}

/* Category detail: compact sticky navigation row only. Sub-category/tag discovery
   remains normal document content and scrolls away as requested. */
.category-prompts-body .category-detail-head {
    position: sticky !important;
    top: max(7px, env(safe-area-inset-top, 0px)) !important;
    z-index: 215 !important;
    min-height: 54px !important;
    grid-template-columns: 40px minmax(0,1fr) auto !important;
    gap: 9px !important;
    padding: 7px 9px !important;
    margin: 0 -3px 11px !important;
    border-radius: 19px !important;
    background: linear-gradient(180deg, rgba(8,14,27,.80), rgba(4,9,19,.69)) !important;
    border-color: rgba(255,255,255,.09) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.055), 0 12px 32px rgba(0,0,0,.24) !important;
    backdrop-filter: blur(25px) saturate(1.35) !important;
    -webkit-backdrop-filter: blur(25px) saturate(1.35) !important;
}
.category-prompts-body .category-detail-head .category-back-btn {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 14px !important;
    font-size: 18px !important;
    background: rgba(255,255,255,.055) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.category-prompts-body .category-detail-head .app-title-copy > span {
    display: none !important;
}
.category-prompts-body .category-detail-head .app-title-copy h1 {
    font-size: clamp(16px, 4.2vw, 20px) !important;
    line-height: 1 !important;
    letter-spacing: -.02em !important;
}
.category-prompts-body .category-detail-head .category-detail-count {
    min-height: 30px !important;
    padding: 6px 9px !important;
    border-radius: 12px !important;
    font-size: 9px !important;
    background: rgba(132,76,255,.13) !important;
    box-shadow: none !important;
}

/* Sub-category + tag rail is explicitly non-sticky. */
.category-prompts-body .category-discovery-slider,
.category-prompts-body #subcategorySlider {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
    margin-top: 2px !important;
}
.category-tag-chip .subcategory-chip-icon {
    color: #7ddcff !important;
    background: rgba(38,167,255,.10) !important;
}
.category-tag-chip.active .subcategory-chip-icon {
    color: #fff !important;
    background: linear-gradient(145deg, #2f9fff, #6b55ff) !important;
}

/* Keep the configured three-column layouts useful even on narrow phones. */
@media (max-width: 520px) {
    body.home-grid-cols-2 .gallery-screen #galleryGrid,
    body.category-grid-cols-2 #promptList.category-prompt-grid,
    body.related-grid-cols-2 .related-gallery-grid,
    body.category-card-cols-2 .mobile-category-grid { gap: 11px 9px !important; }

    body.home-grid-cols-3 .gallery-screen #galleryGrid,
    body.category-grid-cols-3 #promptList.category-prompt-grid,
    body.related-grid-cols-3 .related-gallery-grid,
    body.category-card-cols-3 .mobile-category-grid { gap: 8px 7px !important; }

    body.category-card-cols-3 .mobile-category-card .category-name-pill {
        left: 6px !important;
        right: 6px !important;
        bottom: 6px !important;
        min-height: 27px !important;
        padding: 5px 6px !important;
        font-size: 8.5px !important;
        border-radius: 10px !important;
    }
    body.category-card-cols-3 .mobile-category-card .category-count-pill {
        top: 6px !important;
        right: 6px !important;
        min-height: 22px !important;
        padding: 4px 6px !important;
        font-size: 8px !important;
    }
    .gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters {
        top: max(5px, env(safe-area-inset-top, 0px)) !important;
        border-radius: 18px !important;
        padding: 6px 7px 8px !important;
        margin: 0 -8px 30px !important;
    }
    .category-prompts-body .category-detail-head {
        top: max(5px, env(safe-area-inset-top, 0px)) !important;
        min-height: 50px !important;
        grid-template-columns: 37px minmax(0,1fr) auto !important;
        padding: 6px 7px !important;
        border-radius: 17px !important;
    }
    .category-prompts-body .category-detail-head .category-back-btn {
        width: 37px !important;
        height: 37px !important;
        min-width: 37px !important;
        border-radius: 12px !important;
        font-size: 17px !important;
    }
    .category-prompts-body .category-detail-head .category-detail-count {
        min-height: 27px !important;
        padding: 5px 7px !important;
        font-size: 8px !important;
    }
}

/* ===== v41 screenshot-matched category UI ===== */
/* Homepage compact native category rail */
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters {
    gap: 7px !important;
    min-height: 72px !important;
    padding: 7px 7px 9px !important;
    border-radius: 18px !important;
    background: rgba(3, 6, 15, .74) !important;
    border: 1px solid rgba(255,255,255,.07) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04) !important;
    backdrop-filter: blur(24px) saturate(1.22) !important;
    -webkit-backdrop-filter: blur(24px) saturate(1.22) !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters::before {
    background: radial-gradient(circle at 16% 0%, rgba(140,61,255,.16), transparent 36%) !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter {
    flex: 0 0 50px !important;
    width: 50px !important;
    height: 58px !important;
    min-height: 58px !important;
    padding: 5px 3px 4px !important;
    gap: 4px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255,255,255,.05) !important;
    background: linear-gradient(180deg, rgba(24,28,43,.86), rgba(13,17,30,.76)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
    color: #eef1ff !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter:hover {
    transform: none !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter .filter-icon {
    width: 29px !important;
    height: 29px !important;
    min-width: 29px !important;
    border-radius: 9px !important;
    font-size: 18px !important;
    background: rgba(255,255,255,.035) !important;
    color: #b66cff !important;
    filter: none !important;
    box-shadow: none !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter strong {
    width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    text-align: center !important;
    font-size: 8.5px !important;
    line-height: 1 !important;
    font-weight: 720 !important;
    letter-spacing: -.01em !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter em {
    position: absolute !important;
    left: 50% !important;
    bottom: -7px !important;
    width: 0 !important;
    height: 3px !important;
    transform: translateX(-50%) !important;
    border-radius: 999px !important;
    background: #a75bff !important;
    box-shadow: 0 0 10px rgba(168,82,255,.9) !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter.active {
    border-color: rgba(177,83,255,.82) !important;
    background: linear-gradient(180deg, rgba(55,26,91,.88), rgba(24,13,49,.86)) !important;
    box-shadow: 0 0 0 1px rgba(144,55,255,.18), 0 0 19px rgba(138,49,255,.25), inset 0 1px 0 rgba(255,255,255,.07) !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter.active em {
    width: 17px !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter.active .filter-icon {
    background: rgba(147,59,255,.19) !important;
    color: #c47dff !important;
}
.gallery-body:not(.category-prompts-body) .gallery-filter[data-trending="1"] .filter-icon,
.gallery-body:not(.category-prompts-body) .gallery-filter.cat-tone-orange .filter-icon { color: #ff6d34 !important; }
.gallery-body:not(.category-prompts-body) .gallery-filter.cat-tone-pink .filter-icon,
.gallery-body:not(.category-prompts-body) .gallery-filter.cat-tone-rose .filter-icon { color: #ff6194 !important; }
.gallery-body:not(.category-prompts-body) .gallery-filter.cat-tone-cyan .filter-icon { color: #21d8f5 !important; }
.gallery-body:not(.category-prompts-body) .gallery-filter.cat-tone-blue .filter-icon { color: #4a8cff !important; }
.gallery-body:not(.category-prompts-body) .gallery-filter.cat-tone-gold .filter-icon,
.gallery-body:not(.category-prompts-body) .gallery-filter.cat-tone-amber .filter-icon { color: #ffc648 !important; }
.gallery-body:not(.category-prompts-body) .gallery-filter.cat-tone-green .filter-icon { color: #82db35 !important; }
.gallery-body:not(.category-prompts-body) .gallery-filter.cat-tone-violet .filter-icon,
.gallery-body:not(.category-prompts-body) .gallery-filter.cat-tone-purple .filter-icon { color: #ae71ff !important; }
.gallery-body:not(.category-prompts-body) .gallery-filter.cat-tone-red .filter-icon { color: #ff5d61 !important; }

/* Categories archive: cinematic photo cards with bottom information bar */
.category-app-screen .category-page-hero {
    min-height: 52px !important;
    margin-bottom: 9px !important;
    padding: 4px 2px 7px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.category-app-screen .category-page-hero .category-back-btn {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    border-radius: 13px !important;
}
.category-app-screen .category-page-kicker,
.category-app-screen .category-page-copy p { display: none !important; }
.category-app-screen .category-app-title {
    margin: 0 !important;
    font-size: 19px !important;
    line-height: 1 !important;
    letter-spacing: -.025em !important;
}
.category-app-screen .category-page-total {
    min-width: 42px !important;
    min-height: 35px !important;
    padding: 5px 8px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.045) !important;
    border: 1px solid rgba(255,255,255,.07) !important;
    box-shadow: none !important;
}
.category-app-screen .category-page-total strong { font-size: 12px !important; }
.category-app-screen .category-page-total small { font-size: 7px !important; text-transform: uppercase; letter-spacing: .08em; }

.mobile-category-grid {
    align-items: stretch !important;
}
.mobile-category-card {
    position: relative !important;
    aspect-ratio: 1.18 / 1 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 15px !important;
    border: 1px solid rgba(255,255,255,.075) !important;
    background: #090d17 !important;
    box-shadow: 0 9px 25px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.035) !important;
    isolation: isolate !important;
}
.mobile-category-card::before,
.mobile-category-card::after { display: none !important; }
.mobile-category-card img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    transform: scale(1.002) !important;
    opacity: 1 !important;
    z-index: 0 !important;
}
.mobile-category-card:active img { transform: scale(1.025) !important; transition: transform .16s ease !important; }
.mobile-category-card .category-image-skeleton {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
}
.category-card-shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(180deg, transparent 37%, rgba(3,5,12,.16) 55%, rgba(4,6,14,.92) 100%),
        linear-gradient(90deg, rgba(4,6,14,.08), transparent 50%, rgba(4,6,14,.06));
}
.category-card-info {
    position: absolute;
    left: 7px;
    right: 7px;
    bottom: 7px;
    z-index: 2;
    display: grid;
    grid-template-columns: 29px minmax(0,1fr) 25px;
    align-items: center;
    gap: 7px;
    min-height: 39px;
}
.category-card-icon {
    width: 29px;
    height: 29px;
    border-radius: 9px;
    display: grid;
    place-items: center;
    font-size: 15px;
    color: #fff;
    background: rgba(140,73,255,.18);
    border: 1px solid rgba(255,255,255,.055);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 5px 14px rgba(0,0,0,.14);
}
.category-card-icon.tone-pink, .category-card-icon.tone-rose { color:#ff78a7; background:rgba(211,44,112,.17); }
.category-card-icon.tone-cyan { color:#35dff5; background:rgba(0,177,211,.17); }
.category-card-icon.tone-blue { color:#6c9fff; background:rgba(47,112,239,.16); }
.category-card-icon.tone-gold, .category-card-icon.tone-amber { color:#ffcf48; background:rgba(207,142,0,.16); }
.category-card-icon.tone-green { color:#93e352; background:rgba(77,174,25,.16); }
.category-card-icon.tone-violet, .category-card-icon.tone-purple { color:#c087ff; background:rgba(131,62,230,.17); }
.category-card-icon.tone-orange { color:#ff9e54; background:rgba(214,92,16,.16); }
.category-card-icon.tone-red { color:#ff7575; background:rgba(212,53,53,.16); }
.category-card-copy {
    min-width: 0;
    display: grid;
    gap: 2px;
    text-align: left;
}
.category-card-copy strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #f5f6fb;
    font-size: 11px;
    line-height: 1.05;
    font-weight: 770;
    letter-spacing: -.015em;
}
.category-card-copy small {
    color: #9299aa;
    font-size: 7.5px;
    line-height: 1;
    font-weight: 560;
}
.category-card-arrow {
    width: 25px;
    height: 25px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    justify-self: end;
    font-size: 10px;
    color: #dce0ec;
    background: rgba(13,17,29,.70);
    border: 1px solid rgba(255,255,255,.085);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* 3-column admin mode remains usable with the same card language. */
body.category-card-cols-3 .mobile-category-card { border-radius: 12px !important; }
body.category-card-cols-3 .category-card-info {
    left: 5px; right: 5px; bottom: 5px;
    grid-template-columns: 23px minmax(0,1fr) 20px;
    gap: 4px;
}
body.category-card-cols-3 .category-card-icon { width:23px; height:23px; border-radius:7px; font-size:12px; }
body.category-card-cols-3 .category-card-copy strong { font-size: 8.5px; }
body.category-card-cols-3 .category-card-copy small { font-size: 6.4px; }
body.category-card-cols-3 .category-card-arrow { width:20px; height:20px; font-size:8px; }

@media (max-width: 390px) {
    .gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters {
        gap: 6px !important;
        min-height: 68px !important;
        padding: 6px 6px 8px !important;
        margin: 0 -8px 30px !important;
    }
    .gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter {
        flex-basis: 47px !important;
        width: 47px !important;
        height: 55px !important;
        min-height: 55px !important;
    }
    .gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter .filter-icon {
        width: 27px !important;
        height: 27px !important;
        min-width: 27px !important;
        font-size: 17px !important;
    }
    .gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter strong { font-size: 8px !important; }
    .mobile-category-grid { gap: 8px !important; }
    .category-card-info { left:6px; right:6px; bottom:6px; grid-template-columns:27px minmax(0,1fr) 23px; gap:6px; }
    .category-card-icon { width:27px; height:27px; font-size:14px; }
    .category-card-copy strong { font-size:10.3px; }
    .category-card-copy small { font-size:7.2px; }
    .category-card-arrow { width:23px; height:23px; }
}


/* ===== v42 PHP UI: icon-only home category rail + screenshot-style category archive ===== */
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters {
    display:flex !important;
    align-items:stretch !important;
    gap:7px !important;
    min-height:70px !important;
    padding:7px 7px 9px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scrollbar-width:none !important;
    background:rgba(3,6,15,.72) !important;
    border:1px solid rgba(255,255,255,.065) !important;
    border-radius:18px !important;
    box-shadow:0 9px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035) !important;
    backdrop-filter:blur(22px) saturate(1.18) !important;
    -webkit-backdrop-filter:blur(22px) saturate(1.18) !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters::-webkit-scrollbar { display:none !important; }
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter {
    position:relative !important;
    flex:0 0 51px !important;
    width:51px !important;
    height:57px !important;
    min-height:57px !important;
    padding:5px 3px 4px !important;
    border-radius:12px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;
    background:linear-gradient(180deg,rgba(25,29,44,.88),rgba(12,16,29,.78)) !important;
    border:1px solid rgba(255,255,255,.055) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035) !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter .filter-icon {
    width:29px !important;
    height:29px !important;
    min-width:29px !important;
    border-radius:9px !important;
    display:grid !important;
    place-items:center !important;
    margin:0 !important;
    font-size:18px !important;
    background:rgba(255,255,255,.025) !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter strong {
    width:100% !important;
    margin:0 !important;
    color:#f3f4fb !important;
    text-align:center !important;
    font-size:8.2px !important;
    line-height:1 !important;
    font-weight:720 !important;
    overflow:hidden !important;
    white-space:nowrap !important;
    text-overflow:ellipsis !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter em {
    position:absolute !important;
    left:50% !important;
    bottom:-7px !important;
    height:3px !important;
    width:0 !important;
    border-radius:999px !important;
    transform:translateX(-50%) !important;
    background:#a85cff !important;
    box-shadow:0 0 10px rgba(168,92,255,.92) !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter.active {
    border-color:rgba(171,75,255,.92) !important;
    background:linear-gradient(180deg,rgba(55,25,91,.92),rgba(24,13,49,.9)) !important;
    box-shadow:0 0 0 1px rgba(153,60,255,.18),0 0 18px rgba(139,49,255,.28),inset 0 1px 0 rgba(255,255,255,.07) !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter.active em { width:17px !important; }

.category-app-screen { padding-top:2px !important; }
.category-app-screen .category-page-hero {
    min-height:48px !important;
    margin:0 0 9px !important;
    padding:3px 1px 7px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}
.category-app-screen .category-page-kicker,
.category-app-screen .category-page-copy p { display:none !important; }
.category-app-screen .category-app-title { font-size:18px !important; font-weight:790 !important; }
.mobile-category-grid { align-items:stretch !important; }
body.category-card-cols-2 .mobile-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:9px !important; }
.mobile-category-card {
    aspect-ratio:1.16/1 !important;
    min-height:0 !important;
    border-radius:14px !important;
    border:1px solid rgba(255,255,255,.075) !important;
    background:#090d17 !important;
    overflow:hidden !important;
    box-shadow:0 8px 23px rgba(0,0,0,.21), inset 0 1px 0 rgba(255,255,255,.035) !important;
}
.mobile-category-card img { object-fit:cover !important; background:#0b101b !important; }
.category-card-shade {
    background:linear-gradient(180deg,transparent 34%,rgba(3,5,12,.12) 50%,rgba(3,5,12,.94) 100%) !important;
}
.category-card-info {
    left:7px !important;
    right:7px !important;
    bottom:7px !important;
    grid-template-columns:29px minmax(0,1fr) 25px !important;
    gap:7px !important;
}
.category-card-copy { text-align:left !important; }
.category-card-copy strong { font-size:11px !important; color:#f7f8fd !important; }
.category-card-copy small { font-size:7.5px !important; color:#969dae !important; }
.category-card-arrow { background:rgba(13,17,29,.72) !important; backdrop-filter:blur(9px) !important; -webkit-backdrop-filter:blur(9px) !important; }
@media (max-width:390px) {
    .gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter { flex-basis:48px !important; width:48px !important; }
    body.category-card-cols-2 .mobile-category-grid { gap:8px !important; }
}


/* ===== v45 larger semantic-color homepage category rail ===== */
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters {
    gap: 10px !important;
    min-height: 92px !important;
    padding: 10px 10px 12px !important;
    border-radius: 21px !important;
    background: rgba(3, 6, 15, .70) !important;
    border: 1px solid rgba(255,255,255,.075) !important;
    box-shadow: 0 12px 34px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.04) !important;
    backdrop-filter: blur(25px) saturate(1.25) !important;
    -webkit-backdrop-filter: blur(25px) saturate(1.25) !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter {
    flex: 0 0 68px !important;
    width: 68px !important;
    height: 76px !important;
    min-height: 76px !important;
    padding: 8px 5px 6px !important;
    gap: 6px !important;
    border-radius: 17px !important;
    border: 1px solid color-mix(in srgb, var(--cat-accent, #a85cff) 24%, rgba(255,255,255,.04)) !important;
    background:
        radial-gradient(circle at 50% 4%, var(--cat-soft, rgba(168,92,255,.18)), transparent 67%),
        linear-gradient(180deg, rgba(25,29,44,.91), rgba(11,15,28,.84)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 7px 19px rgba(0,0,0,.12) !important;
    color: #f5f7ff !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter .filter-icon,
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter[class*="cat-tone-"] .filter-icon,
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter[data-trending="1"] .filter-icon {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 13px !important;
    font-size: 23px !important;
    color: var(--cat-accent, #a85cff) !important;
    background: var(--cat-soft, rgba(168,92,255,.18)) !important;
    border: 1px solid color-mix(in srgb, var(--cat-accent, #a85cff) 18%, transparent) !important;
    box-shadow: 0 6px 17px color-mix(in srgb, var(--cat-accent, #a85cff) 15%, transparent), inset 0 1px 0 rgba(255,255,255,.05) !important;
    filter: none !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter strong {
    width: 100% !important;
    font-size: 10px !important;
    line-height: 1.05 !important;
    font-weight: 760 !important;
    text-align: center !important;
    color: #f4f6ff !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter em {
    background: var(--cat-accent, #a85cff) !important;
    box-shadow: 0 0 12px color-mix(in srgb, var(--cat-accent, #a85cff) 82%, transparent) !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter.active {
    border-color: color-mix(in srgb, var(--cat-accent, #a85cff) 75%, #ffffff 8%) !important;
    background:
        radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--cat-accent, #a85cff) 24%, transparent), transparent 70%),
        linear-gradient(180deg, rgba(29,29,45,.96), rgba(13,14,28,.93)) !important;
    box-shadow:
        0 0 0 1px color-mix(in srgb, var(--cat-accent, #a85cff) 18%, transparent),
        0 0 24px color-mix(in srgb, var(--cat-accent, #a85cff) 30%, transparent),
        inset 0 1px 0 rgba(255,255,255,.075) !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter.active .filter-icon {
    color: var(--cat-accent, #a85cff) !important;
    background: color-mix(in srgb, var(--cat-accent, #a85cff) 23%, transparent) !important;
}
.gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter.active em {
    width: 22px !important;
}
@media (max-width: 390px) {
    .gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters {
        gap: 8px !important;
        min-height: 86px !important;
        padding: 9px 8px 11px !important;
        margin: 0 -8px 34px !important;
    }
    .gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter {
        flex-basis: 63px !important;
        width: 63px !important;
        height: 71px !important;
        min-height: 71px !important;
    }
    .gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter .filter-icon {
        width: 37px !important;
        height: 37px !important;
        min-width: 37px !important;
        font-size: 21px !important;
    }
    .gallery-body:not(.category-prompts-body) .gallery-screen > .gallery-filters .gallery-filter strong {
        font-size: 9.3px !important;
    }
}


/* v46: related recommendations stay in one grid; this is only a lightweight divider label. */
.related-gallery-grid .related-you-may-like {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 30px;
    margin: 5px 0 -1px;
    color: rgba(255,255,255,.72);
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .01em;
}
.related-gallery-grid .related-you-may-like::after {
    content: "";
    height: 1px;
    flex: 1;
    background: linear-gradient(90deg, rgba(255,255,255,.16), rgba(255,255,255,0));
}
.related-gallery-grid .related-you-may-like span {
    white-space: nowrap;
}


/* ===== v47 click reliability fixes ===== */
body.prompt-detail-screen .prompt-detail-v13 .detail-back-category-group {
    position: relative;
    z-index: 14 !important;
    pointer-events: auto !important;
}
body.prompt-detail-screen .prompt-detail-v13 .detail-category-name {
    position: relative;
    z-index: 15 !important;
    pointer-events: auto !important;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}
body.prompt-detail-screen .prompt-detail-v13 .detail-category-name * {
    pointer-events: none;
}
.category-prompts-body .category-discovery-slider,
.category-prompts-body .category-discovery-slider .subcategory-chip {
    position: relative;
    z-index: 3;
    pointer-events: auto !important;
}
.category-prompts-body .category-discovery-slider .subcategory-chip {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

/* ===== v48 reliable category discovery links ===== */
.category-prompts-body .category-discovery-slider a.subcategory-chip {
    text-decoration: none !important;
    cursor: pointer;
    pointer-events: auto !important;
    -webkit-user-select: none;
    user-select: none;
}
.category-prompts-body .category-discovery-slider a.subcategory-chip:visited { color: inherit; }

/* ===== v50 unified compact glass navigation + native search ===== */
:root {
    --aph-tabbar-height: 68px;
    --aph-tabbar-bottom: calc(9px + env(safe-area-inset-bottom, 0px));
}

body .app-tabbar.app-tabbar-v50,
body.prompt-detail-screen .app-tabbar.app-tabbar-v50,
body:not(.prompt-detail-screen) .app-tabbar.app-tabbar-v50,
body.gallery-body .app-tabbar.app-tabbar-v50,
body.app-categories-body .app-tabbar.app-tabbar-v50 {
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    bottom: var(--aph-tabbar-bottom) !important;
    width: min(calc(100% - 24px), 720px) !important;
    height: var(--aph-tabbar-height) !important;
    min-height: var(--aph-tabbar-height) !important;
    padding: 6px 7px !important;
    border-radius: 27px !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 4px !important;
    transform: translate3d(-50%, 0, 0) !important;
    background: linear-gradient(180deg, rgba(10, 16, 29, .58), rgba(4, 9, 19, .48)) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 10px 34px rgba(0,0,0,.30) !important;
    backdrop-filter: blur(28px) saturate(1.45) !important;
    -webkit-backdrop-filter: blur(28px) saturate(1.45) !important;
    contain: layout paint style !important;
    z-index: 3000 !important;
}

body .app-tabbar.app-tabbar-v50 .tab-link,
body .app-tabbar.app-tabbar-v50 .tab-link.active,
body.prompt-detail-screen .app-tabbar.app-tabbar-v50 .tab-link,
body.prompt-detail-screen .app-tabbar.app-tabbar-v50 .tab-link.active {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 54px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    padding: 0 3px !important;
    border-radius: 20px !important;
    color: rgba(235,235,245,.74) !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
}

body .app-tabbar.app-tabbar-v50 .tab-link:not(.tab-search-center).active {
    color: #fff !important;
    background: rgba(132, 75, 244, .18) !important;
    border-color: rgba(164, 111, 255, .28) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}

body .app-tabbar.app-tabbar-v50 .tab-link > i {
    font-size: 20px !important;
    line-height: 1 !important;
}
body .app-tabbar.app-tabbar-v50 .tab-title {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: rgba(245,247,255,.64) !important;
    font-size: 9px !important;
    font-weight: 740 !important;
    line-height: 1 !important;
}
body .app-tabbar.app-tabbar-v50 .tab-link.active .tab-title { color: #fff !important; }
body .app-tabbar.app-tabbar-v50 .tab-dot { display: none !important; }

body .app-tabbar.app-tabbar-v50 .tab-search-center {
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
}
body .app-tabbar.app-tabbar-v50 .tab-search-orb {
    width: 46px !important;
    height: 46px !important;
    border-radius: 17px !important;
    display: grid !important;
    place-items: center !important;
    color: #fff !important;
    background: linear-gradient(145deg, rgba(143,72,255,.98), rgba(91,52,220,.94)) !important;
    border: 1px solid rgba(205,170,255,.62) !important;
    box-shadow: 0 9px 24px rgba(108,50,225,.38), inset 0 1px 0 rgba(255,255,255,.24) !important;
    transform: translateY(-3px) !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
}
body .app-tabbar.app-tabbar-v50 .tab-search-orb i { font-size: 21px !important; line-height: 1 !important; }
body .app-tabbar.app-tabbar-v50 .tab-search-center:active .tab-search-orb { transform: translateY(-1px) scale(.95) !important; }
body .app-tabbar.app-tabbar-v50 .tab-search-center.active .tab-search-orb {
    background: linear-gradient(145deg, #b04cff, #6f3cff) !important;
    border-color: rgba(229,201,255,.78) !important;
    box-shadow: 0 0 0 4px rgba(153,77,255,.12), 0 10px 28px rgba(141,66,255,.54), inset 0 1px 0 rgba(255,255,255,.28) !important;
}

/* All content stays fully scrollable above the same compact navigation. */
body.gallery-body .web-main,
body.app-categories-body .web-main,
.category-prompts-body .web-main,
.favorites-body .web-main,
.profile-body .web-main,
.search-body .web-main {
    padding-bottom: calc(var(--aph-tabbar-height) + 42px + env(safe-area-inset-bottom, 0px)) !important;
}
body.prompt-detail-screen .mobile-prompt-detail {
    padding-bottom: calc(var(--aph-tabbar-height) + 30px + env(safe-area-inset-bottom, 0px)) !important;
}

/* Native search screen */
body.search-body .web-main {
    width: min(100%, 760px) !important;
    padding-top: max(22px, env(safe-area-inset-top, 0px)) !important;
    background:
        radial-gradient(circle at 50% -8%, rgba(119,58,255,.20), transparent 34%),
        linear-gradient(180deg, rgba(7,12,23,.96), rgba(2,7,15,.99)) !important;
}
.native-search-page { width: 100%; }
.native-search-intro { padding: 4px 4px 18px; }
.native-search-kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #b995ff;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.native-search-intro h2 {
    margin: 7px 0 5px;
    color: #fff;
    font-size: clamp(26px, 6vw, 34px);
    font-weight: 900;
    letter-spacing: -.04em;
}
.native-search-intro p { margin: 0; color: rgba(226,232,240,.58); font-size: 12px; }

.native-search-form {
    padding: 14px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(17,25,40,.78), rgba(8,14,27,.82));
    border: 1px solid rgba(148,163,184,.14);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 18px 42px rgba(0,0,0,.24);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.native-search-input-wrap { position: relative; }
.native-search-leading {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #a98aff;
    font-size: 18px;
    pointer-events: none;
}
.native-search-input {
    width: 100%;
    height: 54px;
    padding: 0 48px 0 45px;
    border: 1px solid rgba(164,174,196,.16);
    border-radius: 17px;
    outline: 0;
    color: #fff;
    caret-color: #b995ff;
    background: rgba(4,9,18,.74);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
    font-size: 14px;
    font-weight: 650;
}
.native-search-input::placeholder { color: rgba(203,213,225,.42); }
.native-search-input:focus {
    border-color: rgba(166,107,255,.62);
    box-shadow: 0 0 0 4px rgba(129,70,230,.12), inset 0 1px 0 rgba(255,255,255,.05);
}
.native-search-clear {
    position: absolute;
    right: 9px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 12px;
    display: grid;
    place-items: center;
    color: rgba(241,245,249,.74);
    background: rgba(255,255,255,.06);
}
.native-search-filter-block { margin-top: 14px; }
.native-search-filter-label {
    display: block;
    margin: 0 2px 8px;
    color: rgba(226,232,240,.54);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .07em;
}
.native-search-chips {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 1px 1px 3px;
    scrollbar-width: none;
}
.native-search-chips::-webkit-scrollbar { display: none; }
.native-search-chip {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid rgba(148,163,184,.14);
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: rgba(241,245,249,.72);
    background: rgba(255,255,255,.04);
    font-size: 11px;
    font-weight: 780;
    white-space: nowrap;
}
.native-search-chip.active {
    color: #fff;
    border-color: rgba(177,119,255,.52);
    background: linear-gradient(135deg, rgba(137,70,255,.46), rgba(76,48,183,.28));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 7px 20px rgba(97,47,198,.20);
}
.native-search-submit {
    width: 100%;
    min-height: 48px;
    margin-top: 15px;
    border: 0;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: #fff;
    background: linear-gradient(135deg, #7c3cff, #a83cff);
    box-shadow: 0 12px 30px rgba(112,49,225,.28), inset 0 1px 0 rgba(255,255,255,.18);
    font-size: 13px;
    font-weight: 850;
}
.native-search-submit:active { transform: scale(.985); }

.native-recent-searches { margin-top: 18px; }
.native-search-section-title,
.native-search-results-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.native-search-section-title { margin-bottom: 9px; color: rgba(241,245,249,.72); font-size: 11px; font-weight: 800; }
.native-search-section-title button {
    border: 0;
    padding: 5px 7px;
    color: #b995ff;
    background: transparent;
    font-size: 10px;
    font-weight: 800;
}
.native-recent-chips { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 3px; scrollbar-width: none; }
.native-recent-chips::-webkit-scrollbar { display: none; }
.native-recent-chip {
    flex: 0 0 auto;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid rgba(148,163,184,.13);
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(241,245,249,.68);
    background: rgba(255,255,255,.035);
    font-size: 10.5px;
    font-weight: 720;
}
.native-recent-chip i { color: #9475e8; }

.native-search-results-head { margin: 24px 2px 13px; }
.native-search-results-kicker { color: #9b7be8; font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .09em; }
.native-search-results-head h3 { margin: 2px 0 0; color: #fff; font-size: 17px; font-weight: 880; letter-spacing: -.02em; }
.native-search-reset { color: #b995ff; font-size: 10px; font-weight: 820; }
.search-gallery-grid { margin-top: 0 !important; }
.search-body.home-grid-cols-2 .search-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.search-body.home-grid-cols-3 .search-gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }

@media (max-width: 390px) {
    :root { --aph-tabbar-height: 64px; --aph-tabbar-bottom: calc(7px + env(safe-area-inset-bottom, 0px)); }
    body .app-tabbar.app-tabbar-v50,
    body.prompt-detail-screen .app-tabbar.app-tabbar-v50,
    body:not(.prompt-detail-screen) .app-tabbar.app-tabbar-v50 {
        width: calc(100% - 16px) !important;
        height: var(--aph-tabbar-height) !important;
        min-height: var(--aph-tabbar-height) !important;
        padding: 5px 6px !important;
        gap: 3px !important;
        border-radius: 25px !important;
    }
    body .app-tabbar.app-tabbar-v50 .tab-link,
    body .app-tabbar.app-tabbar-v50 .tab-link.active { height: 50px !important; border-radius: 17px !important; }
    body .app-tabbar.app-tabbar-v50 .tab-link > i { font-size: 18px !important; }
    body .app-tabbar.app-tabbar-v50 .tab-title { font-size: 8.3px !important; }
    body .app-tabbar.app-tabbar-v50 .tab-search-orb { width: 43px !important; height: 43px !important; border-radius: 15px !important; }
    body .app-tabbar.app-tabbar-v50 .tab-search-orb i { font-size: 20px !important; }
    .native-search-form { padding: 12px; border-radius: 21px; }
    .native-search-input { height: 51px; }
}
/* Search orb must not inherit the legacy tab-dot span positioning. */
body .app-tabbar.app-tabbar-v50 .tab-search-orb {
    position: relative !important;
    inset: auto !important;
    bottom: auto !important;
    opacity: 1 !important;
}


/* v51 advanced search: dark states, tag discovery and relevance UI */
body.search-body #listState.search-list-state {
    margin: 12px 0 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(226,232,240,.58) !important;
    box-shadow: none !important;
}
body.search-body #listState.search-list-state:empty { display: none !important; }
body.search-body #listState.search-list-state > .empty-state,
body.search-body .native-search-page .empty-state {
    width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 24px 18px !important;
    border: 1px solid rgba(148,163,184,.13) !important;
    border-radius: 20px !important;
    color: rgba(226,232,240,.64) !important;
    background: linear-gradient(180deg, rgba(16,24,39,.74), rgba(7,13,24,.78)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}
body.search-body #listState.search-list-state > .spinner-border { color: #9c6cff !important; }
.native-search-tags-block { margin-top: 16px; }
.native-search-tag-rail { padding-bottom: 5px; scroll-snap-type: x proximity; }
.native-search-tag-chip { scroll-snap-align: start; }
.native-search-tag-chip.active {
    border-color: rgba(99,205,255,.46) !important;
    background: linear-gradient(135deg, rgba(33,142,218,.32), rgba(119,58,255,.24)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 20px rgba(24,122,204,.14) !important;
}
.native-search-hint {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin: 11px 3px 0;
    color: rgba(203,213,225,.48);
    font-size: 9.5px;
    line-height: 1.45;
}
.native-search-hint i { flex: 0 0 auto; margin-top: 1px; color: #a982ff; }
.native-search-intro p strong { color: rgba(226,232,240,.82); font-weight: 760; }

/* ===== V52: prompt card category + non-clickable tag overlays ===== */
.gallery-card-category {
    position: absolute;
    top: 9px;
    left: 9px;
    z-index: 8;
    max-width: calc(100% - 62px);
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    background: rgba(5, 10, 24, .44);
    color: #fff;
    box-shadow: 0 8px 22px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(14px) saturate(1.25);
    -webkit-backdrop-filter: blur(14px) saturate(1.25);
    font-size: 10.5px;
    line-height: 1;
    font-weight: 800;
    text-decoration: none;
    overflow: hidden;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.gallery-card-category i { flex: none; font-size: 11px; opacity: .92; }
.gallery-card-category span {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.gallery-card-category:hover,
.gallery-card-category:focus-visible {
    color: #fff;
    text-decoration: none;
    background: rgba(90, 52, 180, .54);
    border-color: rgba(201,174,255,.54);
    transform: translateY(-1px);
}
.gallery-card-category:active { transform: scale(.96); }

.gallery-card-tags {
    position: absolute;
    left: 9px;
    bottom: 9px;
    z-index: 5;
    max-width: calc(100% - 76px);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    pointer-events: none;
}
.gallery-card-tags span {
    display: inline-flex;
    align-items: center;
    max-width: 92px;
    min-height: 20px;
    padding: 3px 6px;
    border-radius: 999px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: rgba(255,255,255,.94);
    background: rgba(3, 8, 18, .40);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-size: 8.5px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -.01em;
    text-shadow: 0 1px 6px rgba(0,0,0,.30);
}
.gallery-card.has-card-category .premium-chip { top: 44px; left: 9px; }

@media (max-width: 760px) {
    .gallery-card-category {
        top: 7px;
        left: 7px;
        min-height: 27px;
        max-width: calc(100% - 50px);
        gap: 4px;
        padding: 5px 8px;
        font-size: 9px;
    }
    .gallery-card-category i { font-size: 9.5px; }
    .gallery-card-tags {
        left: 7px;
        bottom: 7px;
        max-width: calc(100% - 58px);
        gap: 3px;
    }
    .gallery-card-tags span {
        max-width: 72px;
        min-height: 17px;
        padding: 2px 5px;
        font-size: 7px;
    }
    .gallery-card.has-card-category .premium-chip { top: 38px; left: 7px; }
}

@media (max-width: 420px) {
    .gallery-grid[data-grid-columns="3"] .gallery-card-tags span,
    .gallery-grid.grid-cols-3 .gallery-card-tags span { max-width: 58px; font-size: 6.5px; }
}


/* ===== V54: single-row tags + raised views + semantic category chip ===== */
.gallery-card-category {
    --chip-accent: #a982ff;
    --chip-soft: rgba(169,130,255,.22);
    border-color: color-mix(in srgb, var(--chip-accent) 52%, rgba(255,255,255,.18)) !important;
    background: linear-gradient(135deg, var(--chip-soft), rgba(5,10,24,.58)) !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.10) !important;
}
.gallery-card-category i {
    color: var(--chip-accent) !important;
    opacity: 1 !important;
    filter: drop-shadow(0 1px 5px color-mix(in srgb, var(--chip-accent) 44%, transparent));
}
.gallery-card-category:hover,
.gallery-card-category:focus-visible {
    border-color: var(--chip-accent) !important;
    background: linear-gradient(135deg, color-mix(in srgb, var(--chip-accent) 28%, rgba(8,12,26,.82)), rgba(5,10,24,.70)) !important;
}

.gallery-card-tags {
    flex-wrap: nowrap !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    max-width: calc(100% - 14px) !important;
    right: 7px;
}
.gallery-card-tags span {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 92px;
}
.gallery-card.has-card-tags .views-chip {
    bottom: 41px !important;
}

@media (max-width: 760px) {
    .gallery-card-tags {
        left: 7px !important;
        right: 7px !important;
        bottom: 7px !important;
        max-width: calc(100% - 14px) !important;
        gap: 3px !important;
    }
    .gallery-card-tags span {
        max-width: 68px !important;
        min-height: 17px !important;
        padding: 2px 5px !important;
        font-size: 7px !important;
    }
    .gallery-card.has-card-tags .views-chip {
        bottom: 32px !important;
    }
}

@media (max-width: 420px) {
    .gallery-grid[data-grid-columns="3"] .gallery-card-tags span,
    .gallery-grid.grid-cols-3 .gallery-card-tags span {
        max-width: 54px !important;
        font-size: 6.5px !important;
    }
    .gallery-grid[data-grid-columns="3"] .gallery-card.has-card-tags .views-chip,
    .gallery-grid.grid-cols-3 .gallery-card.has-card-tags .views-chip {
        bottom: 30px !important;
    }
}

/* ===== V61: production prompt reveal cleanup =====
   Remove the decorative blurred handoff layer and helper pill. The small drag/scroll
   handle stays as the only visual cue before the generated prompt tools. */
.prompt-detail-v13 .prompt-scrollable-stage::before,
.prompt-detail-v13.prompt-actions-open .prompt-scrollable-stage::before {
    content: none !important;
    display: none !important;
    background: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.prompt-detail-v13 .sheet-scroll-hint {
    display: none !important;
}

.prompt-detail-v13 .prompt-action-sheet,
.prompt-detail-v13.prompt-actions-open .prompt-action-sheet {
    gap: 12px !important;
}

.prompt-detail-v13 .sheet-handle {
    display: block !important;
    width: 48px !important;
    height: 5px !important;
    margin: 0 auto 2px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.58) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.22), 0 0 14px rgba(151,88,255,.22) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Let the real image remain visible above the handle instead of showing a duplicate
   blurred band. Keep just enough overlap for the prompt panel to feel connected. */
.prompt-detail-v13.prompt-actions-open .prompt-scrollable-stage {
    margin-top: -72px !important;
}

.prompt-detail-v13 .prompt-generated-scroll {
    padding-top: 0 !important;
}

.prompt-detail-v13 .prompt-glass-card {
    margin-top: 0 !important;
}

@media (max-width: 430px) {
    .prompt-detail-v13.prompt-actions-open .prompt-scrollable-stage {
        margin-top: -64px !important;
    }
    .prompt-detail-v13 .prompt-action-sheet,
    .prompt-detail-v13.prompt-actions-open .prompt-action-sheet {
        gap: 11px !important;
    }
    .prompt-detail-v13 .sheet-handle {
        width: 46px !important;
    }
}

/* ===== v62 live Home Sections ===== */
.dynamic-home-sections:empty { display: none; }
.dynamic-home-sections {
    display: grid;
    gap: 24px;
    margin: 4px 0 26px;
}
.home-dynamic-section {
    min-width: 0;
    padding: 0;
}
.home-section-heading,
.home-main-feed-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0 1px 11px;
}
.home-section-heading h2,
.home-main-feed-heading h2 {
    margin: 0;
    color: rgba(255,255,255,.96);
    font-size: clamp(17px, 2.4vw, 22px);
    line-height: 1.2;
    font-weight: 850;
    letter-spacing: -.025em;
}
.home-section-viewall {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 32px;
    padding: 6px 9px;
    border-radius: 999px;
    color: #c9b8ff;
    background: rgba(137,96,255,.09);
    border: 1px solid rgba(167,132,255,.14);
    font-size: 11px;
    font-weight: 780;
}
.home-section-viewall:hover,
.home-section-viewall:focus-visible { color: #fff; background: rgba(137,96,255,.17); }
.home-main-feed-heading { margin-top: 2px; margin-bottom: 12px; }
.home-main-feed-heading span { color: rgba(219,224,238,.48); font-size: 11px; font-weight: 700; }

.home-section-track {
    min-width: 0;
}
.home-section-track.layout-horizontal,
.home-section-track.layout-carousel,
.home-section-track.layout-large_cards,
.home-section-track.layout-small_cards,
.home-section-track.layout-compact_row {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(142px, 178px);
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    padding: 2px 2px 7px;
    margin: 0 -2px;
    -webkit-overflow-scrolling: touch;
}
.home-section-track.layout-horizontal::-webkit-scrollbar,
.home-section-track.layout-carousel::-webkit-scrollbar,
.home-section-track.layout-large_cards::-webkit-scrollbar,
.home-section-track.layout-small_cards::-webkit-scrollbar,
.home-section-track.layout-compact_row::-webkit-scrollbar,
.home-section-track.layout-featured_row::-webkit-scrollbar,
.home-section-track.layout-two_row::-webkit-scrollbar { display: none; }
.home-section-track.layout-horizontal > *,
.home-section-track.layout-carousel > *,
.home-section-track.layout-large_cards > *,
.home-section-track.layout-small_cards > *,
.home-section-track.layout-compact_row > *,
.home-section-track.layout-featured_row > *,
.home-section-track.layout-two_row > * { scroll-snap-align: start; }
.home-section-track.layout-carousel { scroll-snap-type: x mandatory; }
.home-section-track.layout-large_cards { grid-auto-columns: minmax(190px, 280px); }
.home-section-track.layout-small_cards { grid-auto-columns: minmax(118px, 142px); gap: 8px; }
.home-section-track.layout-compact_row { grid-auto-columns: minmax(102px, 124px); gap: 7px; }

/* Featured first card: one strong lead visual, followed by standard cards. */
.home-section-track.layout-featured_row {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    padding: 2px 2px 7px;
    margin: 0 -2px;
    -webkit-overflow-scrolling: touch;
}
.home-section-track.layout-featured_row > * { flex: 0 0 min(178px, 42vw); min-width: 0; }
.home-section-track.layout-featured_row > :first-child { flex-basis: min(290px, 70vw); }
.home-section-track.category-track.layout-featured_row > * { flex-basis: min(220px, 56vw); }
.home-section-track.category-track.layout-featured_row > :first-child { flex-basis: min(340px, 78vw); }

/* Two stacked cards per horizontal slide column. */
.home-section-track.layout-two_row {
    display: grid;
    grid-template-rows: repeat(2, auto);
    grid-auto-flow: column;
    grid-auto-columns: minmax(142px, 178px);
    gap: 9px 10px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    padding: 2px 2px 7px;
    margin: 0 -2px;
    -webkit-overflow-scrolling: touch;
}
.home-section-track.category-track.layout-two_row { grid-auto-columns: minmax(190px, 250px); }

.home-section-track.layout-grid,
.home-section-track.layout-mosaic {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
body.home-grid-cols-2 .home-section-track.layout-grid.prompt-track { grid-template-columns: repeat(2, minmax(0,1fr)); }
body.home-grid-cols-3 .home-section-track.layout-grid.prompt-track { grid-template-columns: repeat(3, minmax(0,1fr)); }
body.category-card-cols-2 .home-section-track.layout-grid.category-track { grid-template-columns: repeat(2, minmax(0,1fr)); }
body.category-card-cols-3 .home-section-track.layout-grid.category-track { grid-template-columns: repeat(3, minmax(0,1fr)); }
.home-section-track.layout-mosaic > :first-child { grid-column: span 2; }
.home-section-track.layout-mosaic.prompt-track > :first-child { align-self: start; }
.home-section-track.category-track.layout-mosaic > :first-child { grid-column: span 2; }
.home-section-track.category-track.layout-horizontal,
.home-section-track.category-track.layout-carousel { grid-auto-columns: minmax(190px, 260px); }
.home-section-track.category-track.layout-large_cards { grid-auto-columns: minmax(230px, 330px); }
.home-section-track.category-track.layout-small_cards { grid-auto-columns: minmax(155px, 200px); }
.home-section-track.category-track.layout-compact_row { grid-auto-columns: minmax(138px, 170px); }

@media (max-width: 520px) {
    .dynamic-home-sections { gap: 21px; margin-bottom: 23px; }
    .home-section-heading h2,
    .home-main-feed-heading h2 { font-size: 17px; }
    .home-section-viewall { min-height: 30px; padding: 5px 8px; font-size: 10px; }
    .home-section-track.layout-horizontal,
    .home-section-track.layout-carousel { grid-auto-columns: minmax(132px, 42vw); gap: 8px; }
    .home-section-track.layout-large_cards { grid-auto-columns: minmax(182px, 60vw); gap: 9px; }
    .home-section-track.layout-small_cards { grid-auto-columns: minmax(108px, 34vw); gap: 7px; }
    .home-section-track.layout-compact_row { grid-auto-columns: minmax(94px, 29vw); gap: 7px; }
    .home-section-track.layout-featured_row > * { flex-basis: min(132px, 42vw); }
    .home-section-track.layout-featured_row > :first-child { flex-basis: min(224px, 70vw); }
    .home-section-track.layout-two_row { grid-auto-columns: minmax(116px, 37vw); gap: 8px 7px; }
    .home-section-track.category-track.layout-horizontal,
    .home-section-track.category-track.layout-carousel { grid-auto-columns: minmax(178px, 58vw); }
    .home-section-track.category-track.layout-large_cards { grid-auto-columns: minmax(215px, 70vw); }
    .home-section-track.category-track.layout-small_cards { grid-auto-columns: minmax(150px, 48vw); }
    .home-section-track.category-track.layout-compact_row { grid-auto-columns: minmax(135px, 43vw); }
    .home-section-track.category-track.layout-featured_row > * { flex-basis: min(178px, 58vw); }
    .home-section-track.category-track.layout-featured_row > :first-child { flex-basis: min(240px, 76vw); }
    .home-section-track.category-track.layout-two_row { grid-auto-columns: minmax(160px, 52vw); }
    .home-section-track.layout-grid,
    .home-section-track.layout-mosaic { gap: 8px 7px; }
    .home-section-track.layout-mosaic { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* ===== v62 native-feel Pull to Refresh ===== */
html.aph-ptr-enabled,
body.aph-ptr-enabled { overscroll-behavior-y: contain; }
.aph-pull-refresh {
    --pull-distance: 0px;
    position: fixed;
    z-index: 1400;
    left: 50%;
    top: max(6px, env(safe-area-inset-top, 0px));
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 5px 12px 5px 6px;
    border-radius: 999px;
    color: rgba(255,255,255,.9);
    background: rgba(7,12,23,.82);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 10px 30px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06);
    -webkit-backdrop-filter: blur(18px) saturate(1.2);
    backdrop-filter: blur(18px) saturate(1.2);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, calc(-56px + var(--pull-distance))) scale(.94);
    transition: opacity .14s ease, transform .14s ease, border-color .14s ease;
    will-change: transform, opacity;
}
.aph-pull-refresh.show { opacity: 1; transform: translate(-50%, calc(-56px + var(--pull-distance))) scale(1); }
.aph-pull-refresh.ready { border-color: rgba(163,116,255,.55); }
.aph-pull-refresh-icon {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(145deg,#8d48ff,#5d55ff);
    box-shadow: 0 5px 14px rgba(105,70,255,.32);
    font-size: 14px;
}
.aph-pull-refresh.ready .aph-pull-refresh-icon { background: linear-gradient(145deg,#a25cff,#5368ff); }
.aph-pull-refresh.refreshing .aph-pull-refresh-icon i { animation: aphPtrSpin .72s linear infinite; }
.aph-pull-refresh-label { white-space: nowrap; font-size: 10px; font-weight: 780; letter-spacing: .01em; }
@keyframes aphPtrSpin { to { transform: rotate(360deg); } }


/* ===== v63 trending page aligned with category/gallery UI ===== */
.trending-prompts-screen .category-detail-hero {
    background:
        radial-gradient(circle at 88% 0%, rgba(255, 113, 61, .18), transparent 35%),
        linear-gradient(145deg, rgba(15, 23, 42, .82), rgba(5, 9, 20, .74));
}
.trending-prompts-screen .category-detail-hero .app-title-copy > span { color: #ff9a72; }
.trending-prompts-screen .category-detail-count {
    background: rgba(255, 113, 61, .13);
    border-color: rgba(255, 145, 96, .25);
    color: #fff3ed;
}
.trending-prompts-screen .app-page-description { margin-top: 0; margin-bottom: 14px; }


/* ===== v64 latest page aligned with category/gallery UI ===== */
.latest-prompts-screen .category-detail-hero {
    background:
        radial-gradient(circle at 88% 0%, rgba(73, 119, 255, .20), transparent 35%),
        linear-gradient(145deg, rgba(15, 23, 42, .82), rgba(5, 9, 20, .74));
}
.latest-prompts-screen .category-detail-hero .app-title-copy > span { color: #9bb6ff; }
.latest-prompts-screen .category-detail-count {
    background: rgba(73, 119, 255, .13);
    border-color: rgba(122, 154, 255, .24);
    color: #eef3ff;
}
.latest-prompts-screen .app-page-description { margin-top: 0; margin-bottom: 14px; }


/* ===== v65 homepage category-filter result focus ===== */
#homeAllPrompts {
    scroll-margin-top: calc(max(7px, env(safe-area-inset-top, 0px)) + 88px);
}
.gallery-screen #galleryGrid[data-page="gallery-home"] {
    scroll-margin-top: calc(max(7px, env(safe-area-inset-top, 0px)) + 88px);
}

/* ===== v67 homepage category rail: sticky + compact while scrolling ===== */
/* v69: reserve a real mobile status-bar gap even when Android WebView reports
   env(safe-area-inset-top) as 0. This keeps the sticky rail visibly below the
   native status bar instead of compacting behind it. */
.gallery-body {
    --aph-home-rail-sticky-top: max(8px, calc(env(safe-area-inset-top, 0px) + 6px));
}
.gallery-screen[data-page="gallery-home"] > .home-filter-sticky-sentinel {
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    pointer-events: none;
    visibility: hidden;
}
.gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters {
    top: var(--aph-home-rail-sticky-top) !important;
    z-index: 1250 !important;
    transform-origin: top center;
    padding-right: 24px !important;
    mask-image: linear-gradient(90deg, #000 92%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, #000 92%, transparent 100%);
    transition:
        min-height .18s ease,
        padding .18s ease,
        border-radius .18s ease,
        margin .18s ease,
        background-color .18s ease,
        box-shadow .18s ease !important;
    will-change: min-height, padding;
}
.gallery-body .gallery-screen[data-page="gallery-home"] .section-heading,
.gallery-body .gallery-screen[data-page="gallery-home"] .home-section-heading {
    margin-top: 6px !important;
}
.gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters .gallery-filter,
.gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters .filter-icon,
.gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters .gallery-filter strong {
    transition:
        width .18s ease,
        height .18s ease,
        min-height .18s ease,
        padding .18s ease,
        gap .18s ease,
        border-radius .18s ease,
        font-size .18s ease !important;
}
.gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters.is-stuck {
    min-height: 68px !important;
    gap: 7px !important;
    padding: 6px 8px 7px !important;
    margin: 0 -8px 36px !important;
    border-radius: 16px !important;
    background: rgba(3, 6, 15, .91) !important;
    border-color: rgba(255,255,255,.105) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.055) !important;
    backdrop-filter: blur(28px) saturate(1.35) !important;
    -webkit-backdrop-filter: blur(28px) saturate(1.35) !important;
}
.gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters.is-stuck .gallery-filter {
    flex: 0 0 54px !important;
    width: 54px !important;
    height: 55px !important;
    min-height: 55px !important;
    padding: 5px 4px 4px !important;
    gap: 4px !important;
    border-radius: 13px !important;
}
.gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters.is-stuck .gallery-filter .filter-icon,
.gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters.is-stuck .gallery-filter[class*="cat-tone-"] .filter-icon,
.gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters.is-stuck .gallery-filter[data-trending="1"] .filter-icon {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    border-radius: 10px !important;
    font-size: 18px !important;
    box-shadow: none !important;
}
.gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters.is-stuck .gallery-filter strong {
    font-size: 8.2px !important;
    line-height: 1 !important;
}
.gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters.is-stuck .gallery-filter em {
    bottom: -5px !important;
    height: 2px !important;
}
#homeAllPrompts,
.gallery-screen #galleryGrid[data-page="gallery-home"] {
    scroll-margin-top: calc(var(--aph-home-rail-sticky-top) + 76px);
}
@media (max-width: 390px) {
    .gallery-body { --aph-home-rail-sticky-top: max(27px, calc(env(safe-area-inset-top, 0px) + 5px)); }
    .gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters.is-stuck {
        min-height: 62px !important;
        gap: 6px !important;
        padding: 5px 6px 6px !important;
        margin-bottom: 36px !important;
        border-radius: 15px !important;
    }
    .gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters.is-stuck .gallery-filter {
        flex-basis: 49px !important;
        width: 49px !important;
        height: 50px !important;
        min-height: 50px !important;
        padding: 4px 3px 3px !important;
        border-radius: 12px !important;
    }
    .gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters.is-stuck .gallery-filter .filter-icon,
    .gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters.is-stuck .gallery-filter[class*="cat-tone-"] .filter-icon,
    .gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters.is-stuck .gallery-filter[data-trending="1"] .filter-icon {
        width: 27px !important;
        height: 27px !important;
        min-width: 27px !important;
        font-size: 16px !important;
        border-radius: 9px !important;
    }
    .gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters.is-stuck .gallery-filter strong {
        font-size: 7.6px !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    .gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters,
    .gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters .gallery-filter,
    .gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters .filter-icon,
    .gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters .gallery-filter strong {
        transition: none !important;
    }
}

/* ===== v70 frontend UI logic/stability polish ===== */
/* A configured 3-column layout is useful on larger phones, but cards become too
   cramped below 420px. Keep admin preference above that breakpoint and use a
   readable two-column fallback on compact devices. */
@media (max-width: 420px) {
    body.home-grid-cols-3 .gallery-screen #galleryGrid,
    body.home-grid-cols-3 .search-gallery-grid,
    body.category-grid-cols-3 #promptList.category-prompt-grid,
    body.related-grid-cols-3 .related-gallery-grid,
    body.category-card-cols-3 .mobile-category-grid,
    body.home-grid-cols-3 .home-section-track.layout-grid.prompt-track,
    body.category-card-cols-3 .home-section-track.layout-grid.category-track {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px 8px !important;
    }
}

/* Shared infinite-list pagination sentinel used by Search, Category, Latest and Trending. */
.list-gallery-sentinel {
    width: 100%;
    height: 2px;
    grid-column: 1 / -1;
    pointer-events: none;
}
.list-gallery-end { margin-top: 14px; }

/* Search results use the same compact loading treatment as gallery lists. */
.search-list-state[hidden] { display: none !important; }
.search-list-state:not([hidden]) {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: rgba(235,240,252,.66);
    font-size: 11px;
}

/* ===== v71 smooth sticky homepage category focus ===== */
/* Keep the sticky rail visually stable while it compacts. Only paint/composite
   properties are animated here; the result feed is positioned after data load in JS. */
.gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters {
    scroll-behavior: smooth;
    scroll-padding-inline: 16px !important;
    transform: translateZ(0);
    transition:
        min-height .24s cubic-bezier(.22,.75,.2,1),
        padding .24s cubic-bezier(.22,.75,.2,1),
        border-radius .24s cubic-bezier(.22,.75,.2,1),
        background-color .24s ease,
        border-color .24s ease,
        box-shadow .24s ease,
        backdrop-filter .24s ease !important;
}
.gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters.is-stuck {
    transform: translateZ(0);
}
.gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters.is-stuck::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: -9px;
    height: 10px;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(2,6,15,.30), transparent);
    filter: blur(3px);
    opacity: .75;
}

/* A small selected-category loading cue makes it clear that the tap registered
   while old cards intentionally remain visible until the new result set arrives. */
.gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters.is-switching .gallery-filter:not(.active) {
    opacity: .70;
}
.gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters .gallery-filter {
    transition:
        width .22s cubic-bezier(.22,.75,.2,1),
        height .22s cubic-bezier(.22,.75,.2,1),
        min-height .22s cubic-bezier(.22,.75,.2,1),
        padding .22s cubic-bezier(.22,.75,.2,1),
        gap .22s cubic-bezier(.22,.75,.2,1),
        border-radius .22s cubic-bezier(.22,.75,.2,1),
        font-size .22s cubic-bezier(.22,.75,.2,1),
        opacity .18s ease,
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease !important;
}
.gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters .gallery-filter.is-loading::after {
    content: "";
    position: absolute;
    top: 6px;
    right: 6px;
    width: 11px;
    height: 11px;
    border: 2px solid rgba(255,255,255,.26);
    border-top-color: rgba(255,255,255,.96);
    border-radius: 50%;
    animation: homeCategorySpin .68s linear infinite;
    z-index: 4;
}
.gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters .gallery-filter.is-loading {
    pointer-events: none;
}
@keyframes homeCategorySpin { to { transform: rotate(360deg); } }

/* This is a fallback for browser-native anchor/scrollIntoView behavior. The JS
   path measures the rail dynamically and therefore remains the primary offset. */
#homeAllPrompts,
.gallery-screen #galleryGrid[data-page="gallery-home"] {
    scroll-margin-top: calc(var(--aph-home-rail-sticky-top) + 90px) !important;
}

@media (max-width: 520px) {
    .gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters.is-stuck {
        margin-bottom: 30px !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    .gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters,
    .gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters .gallery-filter {
        scroll-behavior: auto !important;
        transition: none !important;
    }
    .gallery-body .gallery-screen[data-page="gallery-home"] > .gallery-filters .gallery-filter.is-loading::after {
        animation-duration: 1.2s;
    }
}


/* ===== v72 reliable homepage category sticky rail ===== */
/* Legacy app-shell styling used overflow:hidden on .web-main. That creates a
   sticky containing block in some Chromium/WebView versions and lets the Home
   category rail scroll away. Enable visible overflow only on Home while this
   feature is switched on. */
body.gallery-body.home-category-sticky-enabled .web-main {
    overflow: visible !important;
}

/* Explicit admin-off state wins over all older v40/v67 sticky declarations. */
body.gallery-body.home-category-sticky-disabled .gallery-screen[data-page="gallery-home"] > .gallery-filters {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
    max-width: none !important;
    z-index: auto !important;
}
body.gallery-body.home-category-sticky-disabled .gallery-screen[data-page="gallery-home"] > .gallery-filters.is-stuck {
    min-height: unset !important;
    margin: 0 -8px 28px !important;
}

/* JS only enables this when native CSS sticky is detected as missed. */
.gallery-screen[data-page="gallery-home"] > .gallery-filters.is-fixed-fallback {
    z-index: 2200 !important;
    box-sizing: border-box !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    overscroll-behavior-x: contain !important;
    touch-action: pan-x pan-y;
    animation: homeStickyFallbackIn .14s ease-out both;
}
.home-filter-fixed-spacer {
    display: none;
    width: 100%;
    height: 0;
    pointer-events: none;
}
.home-filter-fixed-spacer.show {
    display: block;
}
@keyframes homeStickyFallbackIn {
    from { opacity: .92; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
    .gallery-screen[data-page="gallery-home"] > .gallery-filters.is-fixed-fallback {
        animation: none !important;
    }
}
