/* Shared owner Mini App art direction. Public storefront and admin stay isolated. */
.neon-home, .neon-chat-screen, .neon-my-bots, .neon-workspace-content {
    --neon-page-max-width: 1060px;
    --neon-page-gutter: 12px;
    --neon-cyan: #37dfff;
    --neon-muted: #a1bed6;
    --neon-border: rgba(95, 188, 255, .3);
    --neon-panel: linear-gradient(130deg, rgba(13, 82, 125, .82), rgba(14, 34, 82, .88));
    color: #edf8ff;
    font-family: var(--font-family);
    isolation: isolate;
}
.app-container:has(.neon-home), .app-container:has(.neon-chat-screen), .app-container:has(.neon-my-bots),
.app-container.neon-workspace-shell {
    background: radial-gradient(ellipse at 4% 5%, #064e70 0, transparent 45%),
        radial-gradient(ellipse at 100% 70%, #132853 0, transparent 50%), #06182d;
}
.neon-glass {
    position: relative;
    border: 1px solid var(--neon-border);
    border-radius: 24px;
    background: var(--neon-panel);
    box-shadow: inset 0 1px 0 #c6efff18, 0 12px 30px #0003;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}
.neon-glass::after {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    border: 1px solid transparent;
    background: linear-gradient(115deg, transparent 15%, #44e7ffb3 32%, transparent 48%, #8d6aff85 75%, transparent 90%) border-box;
    background-size: 250% 250%;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    animation: neon-edge-drift 12s ease-in-out infinite alternate;
}
.neon-icon { width: 22px; height: 22px; flex: 0 0 auto; color: var(--neon-cyan); }
.neon-home button, .neon-chat-screen button, .neon-chat-screen summary,
.neon-workspace-content :is(button, summary) {
    font: inherit;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.neon-home button:focus-visible, .neon-chat-screen :is(button, summary, textarea):focus-visible,
.neon-workspace-content :is(button, summary, input, select, textarea, a):focus-visible {
    outline: 2px solid #7eeaff;
    outline-offset: 3px;
}
.neon-home button:disabled, .neon-chat-screen button:disabled,
.neon-workspace-content button:disabled { cursor: default; }
.neon-home .text-hint, .neon-chat-screen .text-hint,
.neon-workspace-content :is(.text-hint, .text-secondary) { color: var(--neon-muted); }
.neon-chat-screen .btn-primary {
    background: linear-gradient(110deg, #176cf5, #05aaca);
    color: #fff; border: 1px solid #60bfff99;
    box-shadow: inset 0 1px 0 #fff3, 0 0 20px #0384ff26;
}
.neon-chat-screen .btn-secondary {
    background: #28578452; color: #dff5ff; border: 1px solid var(--neon-border);
}
.app-container:has(.neon-home) .bottom-nav,
.app-container:has(.neon-chat-screen) .bottom-nav,
.app-container.neon-workspace-shell .bottom-nav {
    background: linear-gradient(115deg, #064265ed, #102b64ed);
    border: 1px solid #448bc766;
    box-shadow: 0 -8px 32px #0013274d, inset 0 1px 0 #b4eaff1f;
}
.app-container:has(.neon-home) .nav-item.active,
.app-container:has(.neon-chat-screen) .nav-item.active,
.app-container.neon-workspace-shell .nav-item.active {
    background: linear-gradient(120deg, #047cbb, #124abe);
    box-shadow: 0 0 20px #0985ff66, inset 0 0 0 1px #58c5ff99;
    color: white;
}
.app-container:has(.neon-home) .nav-item.active svg,
.app-container:has(.neon-chat-screen) .nav-item.active svg,
.app-container.neon-workspace-shell .nav-item.active svg { filter: drop-shadow(0 0 6px #44e7ff); }
@keyframes neon-edge-drift { from { background-position: 0% 20%; } to { background-position: 100% 80%; } }
@keyframes neon-reveal { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
    .neon-home *, .neon-home *::after, .neon-chat-screen *, .neon-chat-screen *::after,
    .neon-workspace-content *, .neon-workspace-content *::before, .neon-workspace-content *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}
@media (max-width: 767px) {
    #content:has(.neon-home) {
        padding: calc(14px + max(var(--app-top-chrome-padding), calc(var(--tg-safe-area-inset-top, 0px) + var(--tg-content-safe-area-inset-top, 0px)))) 12px calc(var(--bottom-nav-height, 86px) + 18px);
    }
    .app-container:has(.neon-home) .bottom-nav,
    .app-container:has(.neon-chat-screen) .bottom-nav,
    .app-container.neon-workspace-shell .bottom-nav { border-radius: 24px 24px 0 0; padding-top: 8px; }
}

.app-container:has(.neon-home), .app-container:has(.neon-chat-screen),
.app-container.neon-workspace-shell { max-height: var(--app-visible-viewport-height, 100dvh); }
@media (max-width: 767px) {
    .app-container:has(.neon-home) .nav-item,
    .app-container:has(.neon-chat-screen) .nav-item,
    .app-container.neon-workspace-shell .nav-item { font-size: 10px; padding-inline: 3px; }
}

