/* Source: public/static/css/fuuvo-mobile-brand.css */
/* The Chinese wordmark is taller than FuuVo; preserve its original proportions. */
@layer fuuvo-mobile-design {
@media (max-width: 920px) {
    html body .fuuvo-mobile-prototype-home-brand:has(> img[data-mobile-brand-locale="zh"]) {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        height: 94px;
        max-height: 78px;
    }
    html body .fuuvo-mobile-prototype-home-brand:has(> img[data-mobile-brand-locale="zh"]) > span {
        position: static;
        inset: auto;
        transform: none;
    }
    html body .fuuvo-mobile-prototype-home-brand:has(> img[data-mobile-brand-locale="zh"]) > img {
        position: static;
        inset: auto;
        width: 200px;
        height: 94px;
        max-width: 166px;
        max-height: 78px;
        transform: none;
    }
    html body .fuuvo-mobile-prototype-drawer-brand .wordmark[data-mobile-brand-locale="zh"] {
        height: 35px !important;
        max-height: 35px !important;
        object-fit: contain !important;
    }
    html body .fuuvo-mobile-composer-wordmark img[data-mobile-brand-locale="zh"] {
        width: auto;
        max-width: 70vw;
        height: 48px;
    }
    html body #creation-app[data-creation-page="home"] #fuuvo-mobile-creation-hub .mhub-brand:has(img[data-mobile-brand-locale="zh"]) {
        height: 94px !important;
    }
    html body #creation-app[data-creation-page="home"] #fuuvo-mobile-creation-hub .mhub-brand:has(img[data-mobile-brand-locale="zh"]) > span {
        top: auto !important;
        bottom: 8px !important;
    }
}
}

/* Source: public/static/css/fuuvo-mobile-prototype.css */
/* Approved mobile prototype. The desktop cascade and desktop DOM stay intact. */
/* Important rules in this layer take precedence over the legacy unlayered
 * mobile passes, so their selector specificity cannot revive old layouts. */
@layer fuuvo-mobile-design {
@media (max-width: 920px) {
    html body.fuuvo-mobile-prototype {
        --mobile-ink: #171821;
        --mobile-muted: #676976;
        --mobile-line: #dddfe6;
        --mobile-paper: #fff;
        --mobile-surface: #f6f6f8;
        --mobile-accent: #eeeafa;
        --mobile-drawer-icon: #807584;
        --mobile-drawer-secondary: #a7a0af;
        --mobile-drawer-search: #82778a;
        --mobile-drawer-section: #82718d;
        --mobile-drawer-account-muted: #82798c;
        --mobile-drawer-avatar: #efe8f4;
        --mobile-drawer-link: #56417a;
        --fuuvo-mobile-header-height: 56px;
        color: var(--mobile-ink);
        background: var(--mobile-paper);
        font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", sans-serif;
        -webkit-text-size-adjust: 100%;
    }
    html body.fuuvo-mobile-prototype:is([data-ui-theme="dark"], [data-theme="dark"]),
    html:is([data-ui-theme="dark"], [data-theme="dark"]) body.fuuvo-mobile-prototype {
        --mobile-ink: #f1f1f5;
        --mobile-muted: #a8a9b5;
        --mobile-line: #353641;
        --mobile-paper: #191a22;
        --mobile-surface: #252630;
        --mobile-accent: #393347;
        --mobile-drawer-icon: #b8afbd;
        --mobile-drawer-secondary: #9e95a6;
        --mobile-drawer-search: #b8afbd;
        --mobile-drawer-section: #b8afbd;
        --mobile-drawer-account-muted: #b8afbd;
        --mobile-drawer-avatar: #393347;
        --mobile-drawer-link: #d5c3ed;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-topbar] {
        position: sticky !important;
        top: 0 !important;
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) 44px !important;
        height: 56px !important;
        min-height: 56px !important;
        padding: 0 max(12px, env(safe-area-inset-left)) !important;
        gap: 4px !important;
        border: 0 !important;
        background: var(--mobile-paper) !important;
        color: var(--mobile-ink) !important;
        box-shadow: none !important;
        z-index: 80 !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-topbar] .shell-topbar-left {
        grid-column: 1 !important;
        width: 44px !important;
        height: 44px !important;
        gap: 0 !important;
        overflow: visible !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-topbar] .shell-topbar-right,
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-topbar] .workspace-chat-header-center,
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-topbar] .shell-topbar-left > :is(.desktop-action-icon, .workspace-header-link, .shell-topbar-middle, .shell-topbar-suffix, .shell-topbar-separator, .fuuvo-mobile-sidebar-inline-trigger) {
        display: none !important;
    }
    html body.fuuvo-mobile-prototype:is([data-mode="image"], [data-mode="video"]) .mobile-chat-topbar { display: none !important; }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-legacy-back {
        display: flex !important; align-items: center; justify-content: center;
        width: 44px; height: 44px; color: var(--mobile-ink); border-radius: 50%;
    }
    .fuuvo-mobile-prototype-legacy-back svg { width: 24px; height: 24px; }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-legacy-back[hidden] { display: none !important; }
    /* Legacy image creation keeps upload/send and mode controls in separate
     * rows; their former absolute positions occupied the same touch targets. */
    html body.fuuvo-mobile-prototype :is(.image-create-studio, .image-studio-shell) { background: var(--mobile-paper) !important; }
    html body.fuuvo-mobile-prototype .image-studio-input-shell { background: var(--mobile-surface) !important; border-color: var(--mobile-line) !important; }
    html body.fuuvo-mobile-prototype .image-studio-input { padding: 16px 18px 68px !important; color: var(--mobile-ink) !important; background: transparent !important; }
    html body.fuuvo-mobile-prototype .image-studio-input::placeholder { color: var(--mobile-muted) !important; }
    html body.fuuvo-mobile-prototype .image-studio-toolbar {
        position: static !important; inset: auto !important; width: 100% !important;
        min-height: 52px; padding: 8px 0 0 !important; margin: 0 !important;
    }
    html body.fuuvo-mobile-prototype .image-studio-toolbar-left {
        width: 100% !important; padding: 0 !important; gap: 8px !important;
        flex-wrap: wrap !important;
    }
    html body.fuuvo-mobile-prototype .image-studio-toolbar-left :is(.image-studio-inline-btn, .image-studio-mobile-more-btn) {
        min-height: 44px !important; min-width: 44px !important; height: 44px !important;
    }
    html body.fuuvo-mobile-prototype :is(.image-studio-inline-btn, .image-studio-mobile-more-btn, .image-studio-tool-link) { color: var(--mobile-ink) !important; background: var(--mobile-surface) !important; border-color: var(--mobile-line) !important; }
    html body.fuuvo-mobile-prototype .image-studio-inline-btn.active { color: var(--mobile-ink) !important; background: var(--mobile-accent) !important; }
    html body.fuuvo-mobile-prototype .image-studio-inline-label { color: inherit !important; }
    html body.fuuvo-mobile-prototype .image-studio-tool-card { color: var(--mobile-ink) !important; background: var(--mobile-surface) !important; border-color: var(--mobile-line) !important; }
    html body.fuuvo-mobile-prototype :is(.image-studio-more-panel, .image-studio-popover) { background: var(--mobile-paper) !important; color: var(--mobile-ink) !important; border-color: var(--mobile-line) !important; border-radius: 16px !important; }
    html body.fuuvo-mobile-prototype .image-studio-more-panel .image-studio-toolbar-control { width: 100% !important; min-width: 0 !important; }
    html body.fuuvo-mobile-prototype .image-studio-more-panel :is(.image-studio-toolbar-control, .image-studio-popover).hidden { display: none !important; }
    html body.fuuvo-mobile-prototype .image-studio-more-panel .image-studio-tool-link { width: 100% !important; max-width: none !important; min-height: 44px !important; }
    html body.fuuvo-mobile-prototype :is(.image-studio-tool-link-label, .image-studio-tool-link-value, .image-studio-popover-item-title) { color: var(--mobile-ink) !important; }
    html body.fuuvo-mobile-prototype .image-studio-more-panel .image-studio-tool-link-copy { min-width: 0 !important; flex: 1 1 auto !important; }
    html body.fuuvo-mobile-prototype .image-studio-more-panel .image-studio-tool-link-value { max-width: none !important; }
    html body.fuuvo-mobile-prototype .image-studio-popover-item { color: var(--mobile-ink) !important; background: var(--mobile-paper) !important; border-color: var(--mobile-line) !important; min-height: 44px !important; }
    html body.fuuvo-mobile-prototype .image-studio-popover-item.active { background: var(--mobile-accent) !important; }
    html body.fuuvo-mobile-prototype .image-studio-popover-item-desc { color: var(--mobile-muted) !important; }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-topbar] :is(.shell-history-back, .shell-topbar-back, .mobile-home-sidebar-trigger, .chat-detail-back) {
        width: 44px !important; min-width: 44px !important;
        height: 44px !important; min-height: 44px !important;
        padding: 10px !important; border: 0 !important;
        border-radius: 50% !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--mobile-ink) !important;
        align-items: center !important; justify-content: center !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-topbar] :is(.shell-history-back, .shell-topbar-back, .mobile-home-sidebar-trigger, .chat-detail-back):focus-visible {
        outline: 2px solid var(--mobile-muted) !important;
        outline-offset: 2px !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-topbar] :is(.shell-history-back, .shell-topbar-back, .chat-detail-back) > span:not(.fuuvo-design-icon) { display: none !important; }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-title {
        display: block !important;
        grid-column: 2; grid-row: 1;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
        font-size: 16px; line-height: 1.3; font-weight: 600; text-align: center;
        color: var(--mobile-ink);
    }
    html body.fuuvo-mobile-prototype-home [data-fuuvo-shared-topbar] :is(.fuuvo-mobile-prototype-title, .shell-topbar-center) {
        display: none !important;
    }
    html body.fuuvo-mobile-prototype-home [data-fuuvo-shared-topbar] {
        grid-template-columns: 44px minmax(0, 1fr) auto !important;
    }
    html body.fuuvo-mobile-prototype-home [data-fuuvo-shared-topbar] .shell-topbar-right {
        display: flex !important; grid-column: 3 !important; grid-row: 1 !important;
        align-items: center !important; justify-content: flex-end !important;
        width: auto !important; min-width: 0 !important; height: 44px !important;
        gap: 0 !important; margin: 0 !important; padding: 0 !important;
    }
    html body.fuuvo-mobile-prototype-home [data-fuuvo-shared-topbar] .shell-topbar-right > :not(.ui-language-switch) {
        display: none !important;
    }
    html body.fuuvo-mobile-prototype-home [data-fuuvo-shared-topbar] .ui-language-switch {
        display: flex !important; align-items: center !important; box-sizing: border-box !important;
        width: auto !important; min-width: 0 !important; height: 44px !important; min-height: 44px !important;
        gap: 2px !important; padding: 0 2px !important; border-radius: 10px !important;
        border: 1px solid var(--mobile-line) !important; background: var(--mobile-surface) !important;
    }
    html body.fuuvo-mobile-prototype-home [data-fuuvo-shared-topbar] .ui-language-switch-btn {
        display: flex !important; align-items: center !important; justify-content: center !important;
        flex: 0 0 44px !important; box-sizing: border-box !important;
        width: 44px !important; min-width: 44px !important; max-width: 44px !important;
        height: 42px !important; min-height: 42px !important; max-height: 42px !important;
        margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 8px !important;
        font-size: 13px !important; line-height: 1 !important;
        background: transparent !important; color: var(--mobile-muted) !important;
    }
    html body.fuuvo-mobile-prototype-home [data-fuuvo-shared-topbar] .ui-language-switch-btn.active {
        background: var(--mobile-paper) !important; color: var(--mobile-ink) !important;
    }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-new-chat {
        display: flex !important; grid-column: 3; grid-row: 1;
        align-items: center; justify-content: center;
        width: 44px; height: 44px; border-radius: 50%; color: var(--mobile-ink);
    }
    .fuuvo-mobile-prototype-new-chat svg { width: 24px; height: 24px; }
    html body.fuuvo-mobile-prototype.fuuvo-mobile-prototype-home .fuuvo-mobile-prototype-new-chat { display: none !important; }
    html body.fuuvo-mobile-prototype-home,
    html:has(body.fuuvo-mobile-prototype-home) {
        height: var(--mobile-viewport-height, 100dvh) !important;
        min-height: 0 !important;
        overflow: hidden !important;
        position: relative !important;
        touch-action: manipulation !important;
    }
    html body.fuuvo-mobile-prototype.fuuvo-mobile-prototype-home[data-mode="chat"][data-home-glow-palette] {
        background: radial-gradient(ellipse 73% 53% at 50% -3%, var(--home-bg-glow-a, transparent), transparent 100%),
            radial-gradient(ellipse 100% 55% at 0 0, var(--home-bg-glow-b, transparent), transparent 100%),
            radial-gradient(ellipse 70% 45% at 95% 0, var(--home-bg-glow-c, transparent), transparent 100%), var(--mobile-paper) !important;
    }
    html body.fuuvo-mobile-prototype-home :is(.app[data-fuuvo-app-shell], .workspace[data-fuuvo-app-workspace]) {
        height: var(--mobile-viewport-height, 100dvh) !important;
        min-height: 0 !important; max-height: none !important;
        position: relative !important; inset: auto !important;
        display: block !important;
        margin: 0 !important; padding: 0 !important;
        background: transparent !important; overflow: visible !important;
    }
    html body.fuuvo-mobile-prototype-home [data-fuuvo-shared-topbar] { background: transparent !important; backdrop-filter: none !important; }
    html body.fuuvo-mobile-prototype[data-mode="chat"] :is(.composer-capability-shell, .mobile-home-capabilities, .mobile-home-scenes-title, .mobile-chat-toolbar, #core-feature-slot, .composer-top, .composer-mini-help, .home-page-disclaimer, .ai-chat-heading, .ai-chat-welcome, .chat-input-hint) { display: none !important; }
    html body.fuuvo-mobile-prototype-home :is(.stage, .workspace-records, #composer-title, .composer-footnote, .ai-disclaimer, .fuuvo-ai-disclaimer) { display: none !important; }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-hero { display: none; }
    html body.fuuvo-mobile-prototype-home .fuuvo-mobile-prototype-hero {
        display: block !important; position: absolute !important; width: auto !important;
        top: calc(var(--mobile-viewport-height, 100dvh) * .345);
        left: 20px !important; right: 20px !important; text-align: center;
    }
    /* The server welcome stays hidden on desktop, but is already visible on
     * phones before the deferred shell takes ownership of its hidden state. */
    html body.fuuvo-mobile-prototype.fuuvo-mobile-prototype-home:not([data-mobile-prototype-ready]) .fuuvo-mobile-prototype-hero[data-fuuvo-mobile-welcome] {
        display: block !important;
    }
    .fuuvo-mobile-prototype-home-brand { position: relative; height: 68px; width: 100%; }
    .fuuvo-mobile-prototype-home-brand > img {
        position: absolute; top: 50%; left: 50%; width: 200px; height: 68px;
        transform: translate(-50%, -50%); object-fit: contain;
        font-size: 0; color: transparent; border: 0;
    }
    .fuuvo-mobile-prototype-home-brand:has(> img[data-mobile-brand-locale="zh"]) > img {
        height: 94px;
    }
    .fuuvo-mobile-prototype-home-brand > span {
        position: absolute; top: 40px; left: calc(50% + 108px);
        font-size: 21px; font-weight: 700; line-height: 30px; letter-spacing: -.55px;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] .composer {
        position: fixed !important; inset: auto 12px max(25px, env(safe-area-inset-bottom)) !important;
        width: calc(100% - 24px) !important; max-width: none !important;
        height: auto !important; min-height: 0 !important;
        transform: none !important; margin: 0 !important; padding: 0 !important;
        border: 0 !important; background: transparent !important; box-shadow: none !important;
        z-index: 90 !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field { margin: 0 !important; padding: 0 !important; width: 100% !important; }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field > .chat-input-wrap,
    html body.fuuvo-mobile-prototype.chat-landing[data-mode="chat"] #chat-compose-field > .chat-input-wrap:not(.has-attachments) {
        position: relative !important; display: flex !important; flex-direction: column !important;
        width: 100% !important; height: auto !important; min-height: 0 !important;
        padding: 0 !important; overflow: visible !important;
        border: 1px solid var(--mobile-line) !important; border-radius: 23px !important;
        background: var(--mobile-surface) !important;
        box-shadow: 0 2px 5px #37253d04 !important;
        animation: none !important;
        backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
        box-sizing: border-box !important;
    }
    /* The legacy glow is a separate pseudo-element above the input surface. */
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field > .chat-input-wrap::before,
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field > .chat-input-wrap::after {
        content: none !important; display: none !important; background: none !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-input {
        position: static !important; display: block !important; order: 2 !important;
        flex: 0 0 auto !important; width: 100% !important; min-width: 0 !important;
        height: var(--mobile-composer-text-height, 106px) !important;
        min-height: min(106px, var(--mobile-composer-text-height, 106px)) !important;
        max-height: var(--mobile-composer-text-max-height, 160px) !important;
        padding: 18px 16px 8px !important; margin: 0 !important;
        border: 0 !important; border-radius: 23px 23px 0 0 !important;
        background: transparent !important; color: var(--mobile-ink) !important; caret-color: var(--mobile-ink) !important;
        font-size: 16px !important; line-height: 1.4 !important;
        resize: none !important; box-shadow: none !important; box-sizing: border-box !important;
        overflow-x: hidden !important; overflow-y: auto !important;
        overscroll-behavior-y: contain !important; touch-action: auto !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-input::placeholder {
        color: var(--mobile-muted) !important; -webkit-text-fill-color: var(--mobile-muted) !important;
    }
    /* The draft has three flow rows. Previews never occupy the editable text
     * surface, including when legacy attachment styles load after this file. */
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field .chat-attachment-bar:not(.hidden) {
        position: static !important; inset: auto !important; display: block !important;
        order: 1 !important; flex: 0 0 auto !important;
        width: 100% !important; min-width: 0 !important; max-width: 100% !important;
        height: auto !important; min-height: 0 !important; max-height: none !important;
        margin: 0 !important; padding: 10px 12px 0 !important; box-sizing: border-box !important;
        border: 0 !important; background: transparent !important; overflow: visible !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field .chat-attachment-bar.hidden { display: none !important; }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field .chat-attachment-list {
        display: flex !important; flex-wrap: nowrap !important; align-items: flex-start !important;
        gap: 12px !important; width: 100% !important; min-width: 0 !important;
        max-width: 100% !important; margin: 0 !important; padding: 8px 8px 4px !important;
        box-sizing: border-box !important; overflow-x: auto !important; overflow-y: hidden !important;
        overscroll-behavior-inline: contain !important; touch-action: pan-x !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field .chat-attachment-chip {
        position: relative !important; display: flex !important; flex-direction: column !important;
        width: 64px !important; min-width: 64px !important; max-width: 64px !important;
        height: auto !important; min-height: 64px !important; flex: 0 0 64px !important;
        padding: 0 !important; gap: 4px !important; overflow: visible !important;
        border: 0 !important; border-radius: 12px !important; background: transparent !important;
        box-shadow: none !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field :is(.chat-attachment-thumb, .chat-attachment-chip > .chat-file-icon) {
        display: block !important; width: 64px !important; min-width: 64px !important;
        height: 64px !important; min-height: 64px !important; flex: 0 0 64px !important;
        border: 1px solid var(--mobile-line) !important; border-radius: 12px !important;
        overflow: hidden !important; box-sizing: border-box !important;
        background: var(--mobile-paper) !important; color: var(--mobile-muted) !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field .chat-attachment-thumb :is(img, video) {
        display: block !important; width: 100% !important; height: 100% !important;
        border-radius: 11px !important; object-fit: cover !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field .chat-attachment-chip > .chat-file-icon {
        display: flex !important; align-items: center !important; justify-content: center !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field .chat-attachment-state {
        position: absolute !important; inset: 0 0 auto !important; height: 64px !important;
        display: grid !important; grid-template-columns: minmax(0, 1fr) !important;
        gap: 3px !important; padding: 6px 4px !important; box-sizing: border-box !important;
        border-radius: 12px !important; overflow: hidden !important; pointer-events: none !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field .chat-attachment-state-label {
        width: 100% !important; min-width: 0 !important; max-width: 100% !important;
        font-size: 10px !important; line-height: 1.2 !important;
        overflow-wrap: anywhere !important; white-space: normal !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field .chat-attachment-state.ready {
        position: static !important; inset: auto !important; height: auto !important;
        min-height: 16px !important; padding: 0 !important; background: transparent !important;
        color: var(--mobile-muted) !important; border-radius: 0 !important; text-align: center !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field .chat-attachment-remove {
        position: absolute !important; top: -8px !important; right: -8px !important;
        display: flex !important; align-items: center !important; justify-content: center !important;
        width: 44px !important; min-width: 44px !important; max-width: 44px !important;
        height: 44px !important; min-height: 44px !important; max-height: 44px !important;
        padding: 0 !important; border: 0 !important; background: transparent !important;
        color: var(--mobile-ink) !important; box-shadow: none !important; transform: none !important;
        z-index: 4 !important; touch-action: manipulation !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field .chat-attachment-remove::before {
        content: "" !important; position: absolute !important; inset: 12px !important;
        background: var(--mobile-paper) !important; border: 1px solid var(--mobile-line) !important; border-radius: 50% !important;
        box-shadow: 0 2px 5px #0002 !important; pointer-events: none !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field .chat-attachment-remove svg {
        position: relative !important; width: 10px !important; height: 10px !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field .chat-attachment-retry {
        position: static !important; display: flex !important; align-items: center !important; justify-content: center !important;
        width: 64px !important; min-width: 44px !important; max-width: 64px !important;
        height: 44px !important; min-height: 44px !important; padding: 0 4px !important;
        border: 1px solid var(--mobile-line) !important; border-radius: 10px !important;
        color: var(--mobile-ink) !important; background: var(--mobile-paper) !important;
        font-size: 12px !important; line-height: 1.2 !important; box-shadow: none !important;
        touch-action: manipulation !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field :is(.chat-attachment-remove, .chat-attachment-retry):focus-visible {
        outline: 2px solid var(--mobile-muted) !important; outline-offset: 2px !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field .has-attachments #chat-input {
        padding-top: 12px !important; border-radius: 0 !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field > .chat-input-wrap .chat-input-tools {
        position: static !important; inset: auto !important;
        order: 3 !important; flex: 0 0 auto !important; box-sizing: border-box !important;
        width: 100% !important; height: auto !important;
        min-height: 57px !important; max-height: none !important;
        display: flex !important; flex-wrap: nowrap !important;
        align-items: center !important; justify-content: flex-start !important;
        gap: 4px !important; padding: 7px 8px !important; margin: 0 !important;
        border-top: 1px solid var(--mobile-line) !important;
        background: transparent !important; box-shadow: none !important;
        border-radius: 0 0 23px 23px !important;
        overflow: visible !important; pointer-events: auto !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field .ai-chat-mode-controls { display: contents !important; }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field :is(.ai-chat-model-field, .ai-chat-composer-toggles, #mobile-chat-more-btn, .home-composer-call) { display: none !important; }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field .chat-upload-entry {
        display: flex !important; order: 2 !important; position: static !important; inset: auto !important;
        width: 44px !important; min-width: 44px !important; max-width: 44px !important;
        height: 44px !important; min-height: 44px !important; max-height: 44px !important;
        align-self: center !important; align-items: center !important; justify-content: center !important;
        flex: 0 0 44px !important; margin: 0 !important; padding: 0 !important; gap: 0 !important;
        border: 0 !important; background: transparent !important; box-shadow: none !important; transform: none !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field #chat-upload-btn {
        display: flex !important; width: 44px !important; min-width: 44px !important; max-width: 44px !important;
        height: 44px !important; min-height: 44px !important; max-height: 44px !important;
        align-items: center !important; justify-content: center !important;
        flex: 0 0 44px !important; margin: 0 !important; transform: none !important; border-radius: 50% !important;
        border: 0 !important; background: transparent !important; padding: 9px !important;
        color: var(--mobile-ink) !important; box-shadow: none !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-upload-btn > svg {
        width: 26px !important; min-width: 26px !important; max-width: 26px !important;
        height: 26px !important; min-height: 26px !important; max-height: 26px !important;
        flex: 0 0 26px !important;
    }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-tools {
        display: flex !important; order: 1 !important;
        height: 44px !important; min-height: 44px !important; max-height: 44px !important;
        align-self: center !important; align-items: center !important; justify-content: center !important;
        padding: 0 10px !important; margin: 0 !important; gap: 7px !important; flex: 0 0 auto !important;
        border: 1px solid var(--mobile-line) !important; border-radius: 99px !important;
        background: transparent !important; color: var(--mobile-ink) !important;
        font-size: 13px !important; line-height: 20px !important; box-shadow: none !important; transform: none !important;
    }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-tools-icon {
        display: block !important; width: 29.7px !important; height: 29.7px !important; flex: 0 0 29.7px !important;
        margin: -2.85px !important;
        transform: none !important; overflow: visible !important;
    }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-nav-row > .fuuvo-mobile-prototype-tools-icon {
        width: 29.7px !important; height: 29.7px !important; flex: 0 0 29.7px !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field .chat-input-action-group {
        display: flex !important; order: 3 !important; position: static !important;
        align-items: center !important; justify-content: flex-end !important;
        width: auto !important; min-width: 0 !important; flex: 1 1 auto !important;
        height: 44px !important; min-height: 44px !important; max-height: 44px !important; align-self: center !important;
        gap: 4px !important; margin: 0 0 0 auto !important; padding: 0 !important;
        background: transparent !important; transform: none !important;
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field #chat-voice-btn {
        display: flex !important; width: 44px !important; min-width: 44px !important; max-width: 44px !important;
        height: 44px !important; min-height: 44px !important; max-height: 44px !important;
        flex: 0 0 44px !important; padding: 10px !important; margin: 0 !important; transform: none !important;
        border: 0 !important; background: transparent !important; color: var(--mobile-ink) !important; box-shadow: none !important;
    }
    html body.fuuvo-mobile-prototype #chat-voice-btn .chat-voice-label { display: none !important; }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-call {
        display: flex !important; position: relative; align-items: center !important; align-self: center !important;
        gap: 4px; padding: 0 !important; width: max-content; min-width: 0; height: 44px; flex: 0 0 auto;
        min-height: 44px !important; max-height: 44px !important; margin: 0 !important; transform: none !important;
        color: var(--mobile-ink) !important; border: 0 !important; background: transparent !important; box-shadow: none !important;
        font-size: 12px !important; line-height: 20px !important; white-space: nowrap;
    }
    .fuuvo-mobile-prototype-call > span { flex: 0 0 auto; }
    .fuuvo-mobile-prototype-call img { width: 48px; height: 48px; object-fit: contain; flex: 0 0 48px; }
    @media (max-width: 360px) {
        html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-tools { padding: 0 6px !important; gap: 4px !important; font-size: 12px !important; }
        html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-call { font-size: 11px !important; }
        .fuuvo-mobile-prototype-call img { width: 40px; height: 40px; flex: 0 0 40px; }
    }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field #chat-send-btn.is-talk { display: none !important; }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-compose-field #chat-send-btn:not(.is-talk) {
        display: flex !important; width: 44px !important; min-width: 44px !important; max-width: 44px !important;
        height: 44px !important; min-height: 44px !important; max-height: 44px !important;
        flex: 0 0 44px !important; border-radius: 50% !important;
        padding: 11px !important; border: 0 !important; margin: 0 !important;
        background: radial-gradient(circle at center, var(--mobile-ink) 0 18px, transparent 18.5px) !important;
        color: var(--mobile-paper) !important; transform: none !important; box-shadow: none !important;
    }
    html body.fuuvo-mobile-prototype .chat-input-action-group:has(#chat-send-btn:not(.is-talk)) .fuuvo-mobile-prototype-call { width: 44px; min-width: 44px; }
    html body.fuuvo-mobile-prototype .chat-input-action-group:has(#chat-send-btn:not(.is-talk)) .fuuvo-mobile-prototype-call > span { display: none; }
    html body.fuuvo-mobile-prototype .chat-input-action-group:has(#chat-send-btn:not(.is-talk)) .fuuvo-mobile-prototype-call img { width: 40px; height: 40px; flex: 0 0 40px; }
    html body.fuuvo-mobile-prototype:not(.fuuvo-mobile-prototype-home)[data-mode="chat"] #chat-input {
        height: var(--mobile-composer-text-height, 68px) !important;
        min-height: min(68px, var(--mobile-composer-text-height, 68px)) !important;
        padding: 12px 14px !important;
    }
    html body.fuuvo-mobile-prototype:not(.fuuvo-mobile-prototype-home)[data-mode="chat"] .composer { bottom: max(12px, env(safe-area-inset-bottom)) !important; }
    html body.fuuvo-mobile-prototype.mobile-keyboard-open .fuuvo-mobile-prototype-hero { display: none !important; }
    html body.fuuvo-mobile-prototype[data-mode="chat"] #chat-area { padding: 10px 20px 155px !important; }
    html body.fuuvo-mobile-prototype .chat-bubble { font-size: 14px !important; line-height: 1.65 !important; }
    html body.fuuvo-mobile-prototype .chat-bubble.user {
        background: var(--mobile-accent) !important; border: 0 !important;
        border-radius: 18px 18px 4px 18px !important; padding: 14px 16px !important;
        margin-left: 42px !important; color: var(--mobile-ink) !important;
    }
    html body.fuuvo-mobile-prototype .chat-bubble.assistant {
        border: 0 !important; padding: 0 !important; background: transparent !important;
        box-shadow: none !important; color: var(--mobile-ink) !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] {
        width: 86vw !important; max-width: 340px !important;
        background: var(--mobile-paper) !important; color: var(--mobile-ink) !important;
        border: 0 !important; border-radius: 0 !important;
        padding: 12px 20px max(12px, env(safe-area-inset-bottom)) !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] :is(.sidebar-nav, .fuuvo-mobile-sidebar-capabilities, .fuuvo-mobile-sidebar-auth, .sidebar-capability-groups, .fuuvo-mobile-new-chat) { display: none !important; }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .sidebar-shell { display: block !important; }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .sidebar-scroll-region { background: transparent !important; }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-drawer-links { display: grid !important; margin: 8px 0; }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-nav-row {
        display: flex; gap: 12px; align-items: center; min-height: 51px;
        padding: 10px 0; border: 0; border-bottom: 1px solid var(--mobile-line);
        background: transparent !important; color: var(--mobile-ink) !important; font-size: 14px; text-align: left; font-weight: 500;
    }
    .fuuvo-mobile-prototype-nav-row .fuuvo-linear-icon { width: 24px; height: 24px; flex: 0 0 24px; }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-nav-row > .fuuvo-mobile-prototype-drawer-icon {
        width: 24px !important; height: 24px !important; flex: 0 0 24px !important; color: var(--mobile-drawer-icon) !important;
    }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-nav-row > .fuuvo-mobile-prototype-tools-icon { color: var(--mobile-drawer-icon) !important; }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-row-chevron { display: flex !important; margin-left: auto !important; color: var(--mobile-drawer-secondary) !important; }
    .fuuvo-mobile-prototype-row-chevron svg { width: 20px !important; height: 20px !important; }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] > .sidebar-brand-row {
        align-items: center !important; padding: 0 !important; margin: 0 -6px 6px !important;
        width: calc(100% + 12px) !important; min-height: 42px !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .fuuvo-sidebar-brand {
        display: flex !important; align-items: center !important; justify-content: flex-start !important;
        margin: 0 !important; padding: 0 !important; min-height: 42px !important; gap: 0 !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .sidebar-brand-logo {
        display: flex !important; align-items: center !important; justify-content: flex-start !important;
        width: auto !important; min-width: 0 !important; max-width: none !important;
        height: 42px !important; min-height: 42px !important; flex: 0 1 auto !important;
        margin: 0 !important; padding: 0 !important; gap: 8px !important; overflow: visible !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .sidebar-brand-logo > :not(.sidebar-brand-logo-mark):not(.sidebar-brand-label) { display: none !important; }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .sidebar-brand-logo-mark {
        display: block !important;
        width: 32px !important; min-width: 32px !important; max-width: 32px !important;
        height: 32px !important; min-height: 32px !important; max-height: 32px !important;
        flex: 0 0 32px !important;
        object-fit: contain !important;
        filter: grayscale(1) brightness(0) !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .sidebar-brand-label {
        display: inline-block !important;
        color: var(--mobile-ink) !important;
        font-family: SimHei, "Microsoft YaHei", Arial, sans-serif !important;
        font-size: 18px !important;
        font-weight: 400 !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        white-space: nowrap !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .sidebar-brand-label[hidden] { display: none !important; }
    html body.fuuvo-mobile-prototype:is([data-ui-theme="dark"], [data-theme="dark"])
        [data-fuuvo-shared-sidebar] .sidebar-brand-logo-mark {
        filter: grayscale(1) brightness(0) invert(1) !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .shared-sidebar-collapse {
        display: flex !important; align-items: center !important; justify-content: center !important;
        width: 44px !important; height: 44px !important; min-width: 44px !important; flex: 0 0 44px !important;
        margin: 0 !important; padding: 10px !important; color: var(--mobile-ink) !important; background: transparent !important; border: 0 !important;
    }
    html body.fuuvo-mobile-prototype [data-mobile-prototype-icon="close"] { width: 24px !important; height: 24px !important; color: var(--mobile-ink) !important; }
    html body.fuuvo-mobile-prototype [data-mobile-prototype-icon] > svg { display: block !important; width: 100% !important; height: 100% !important; }
    html body.fuuvo-mobile-prototype .sidebar-search-trigger { display: flex !important; align-items: center !important; gap: 10px !important; width: 100% !important; min-height: 44px !important; padding: 10px 12px !important; border: 1px solid var(--mobile-line) !important; border-radius: 12px !important; background: var(--mobile-surface) !important; color: var(--mobile-muted) !important; }
    html body.fuuvo-mobile-prototype .sidebar-search-trigger [data-mobile-prototype-icon="search"] { width: 18px !important; height: 18px !important; flex: 0 0 18px !important; color: var(--mobile-drawer-search) !important; }
    html body.fuuvo-mobile-prototype .sidebar-search-trigger-shortcut { display: none !important; }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .sidebar-section-label { padding: 0 !important; margin: 10px 0 8px !important; color: var(--mobile-drawer-section) !important; font-size: 12px !important; font-weight: 600 !important; }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] :is(.conversation-item-icon, .portal-recent-icon) { width: 24px !important; height: 24px !important; flex: 0 0 24px !important; color: var(--mobile-drawer-icon) !important; }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] :is(.conversation-more-btn, .conversation-time, .portal-recent-time, .portal-recent-delete, .sidebar-account-settings) { color: var(--mobile-drawer-icon) !important; }
    /* C008 account row keeps the real account launcher and quick settings controls. */
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .sidebar-safety-link { display: none !important; }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .sidebar-account-area {
        flex: 0 0 auto !important; width: 100% !important; min-height: 0 !important;
        margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .sidebar-account-card {
        display: grid !important; grid-template-columns: max-content max-content minmax(0, 1fr) !important;
        align-items: center !important; column-gap: 8px !important; row-gap: 0 !important;
        width: 100% !important; min-height: 0 !important; padding: 0 !important;
        border: 0 !important; border-radius: 0 !important; background: transparent !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .sidebar-account-toggle {
        display: grid !important; grid-column: 1 / -1 !important;
        grid-template-columns: 36px minmax(0, 1fr) !important; grid-template-rows: auto auto !important;
        column-gap: 10px !important; row-gap: 3px !important; align-items: center !important;
        width: 100% !important; min-height: 64px !important; height: auto !important; margin: 0 !important; padding: 14px 0 !important;
        border: 0 !important; border-top: 1px solid var(--mobile-line) !important; border-radius: 0 !important;
        background: transparent !important; color: var(--mobile-ink) !important; box-shadow: none !important;
        font-size: 12px !important; font-weight: 400 !important; line-height: 1.4 !important; text-align: left !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .sidebar-account-toggle > :is(img, .workspace-header-user-fallback) {
        grid-column: 1 !important; grid-row: 1 / 3 !important; display: flex !important;
        align-items: center !important; justify-content: center !important;
        width: 36px !important; height: 36px !important; min-width: 36px !important; padding: 0 !important;
        border: 0 !important; border-radius: 50% !important; object-fit: cover !important;
        background: var(--mobile-drawer-avatar) !important; color: var(--mobile-ink) !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .sidebar-account-toggle .workspace-header-user-fallback > svg {
        width: 22px !important; height: 22px !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] :is(.sidebar-account-name, .fuuvo-mobile-prototype-account-guest-title) {
        grid-column: 2 !important; grid-row: 1 !important; min-width: 0 !important;
        margin: 0 !important; padding: 0 !important; font-size: 12px !important; font-weight: 400 !important;
        line-height: 1.4 !important; color: var(--mobile-ink) !important;
        overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .fuuvo-mobile-prototype-account-guest-title,
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .sidebar-account-toggle[data-mobile-account-guest="true"] .sidebar-account-name { display: none !important; }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .sidebar-account-toggle[data-mobile-account-guest="true"] .fuuvo-mobile-prototype-account-guest-title { display: block !important; }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .fuuvo-mobile-prototype-account-hint {
        display: block !important; grid-column: 2 !important; grid-row: 2 !important; min-width: 0 !important;
        margin: 0 !important; font-size: 10px !important; font-weight: 400 !important; line-height: 1.4 !important;
        color: var(--mobile-drawer-account-muted) !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .sidebar-account-chevron { display: none !important; }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] :is(.sidebar-account-settings, .fuuvo-mobile-prototype-account-help) {
        display: inline-flex !important; align-items: center !important; justify-content: center !important;
        min-width: 0 !important; width: auto !important; min-height: 44px !important; height: auto !important;
        margin: 6px 0 0 !important; padding: 10px !important; border: 0 !important; border-radius: 0 !important;
        background: transparent !important; color: var(--mobile-drawer-link) !important;
        font-size: 13px !important; font-weight: 400 !important; line-height: 1.4 !important; text-decoration: none !important;
    }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .sidebar-account-settings { grid-column: 1 !important; grid-row: 2 !important; }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .fuuvo-mobile-prototype-account-help { grid-column: 2 !important; grid-row: 2 !important; }
    html body.fuuvo-mobile-prototype [data-fuuvo-shared-sidebar] .sidebar-account-settings > :not(.fuuvo-mobile-prototype-account-settings-label) { display: none !important; }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-view-all-conversations {
        display: flex !important; align-items: center !important; gap: 12px !important; width: 100% !important;
        min-height: 48px !important; margin: 8px 0 0 !important; padding: 10px 0 !important;
        border: 0 !important; border-top: 1px solid var(--mobile-line) !important; border-radius: 0 !important;
        background: transparent !important; color: var(--mobile-ink) !important; font-size: 14px !important; font-weight: 500 !important; text-align: left !important;
    }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-view-all-icon { width: 24px !important; height: 24px !important; flex: 0 0 24px !important; color: var(--mobile-drawer-icon) !important; }
    html body.fuuvo-mobile-prototype .fuuvo-shell-search { z-index: 10030 !important; }
    html body.fuuvo-mobile-prototype .fuuvo-shell-search-dialog { background: var(--mobile-paper) !important; color: var(--mobile-ink) !important; border-color: var(--mobile-line) !important; }
    html body.fuuvo-mobile-prototype .fuuvo-shell-search-head { border-color: var(--mobile-line) !important; }
    html body.fuuvo-mobile-prototype .fuuvo-shell-search-input-wrap { background: var(--mobile-surface) !important; color: var(--mobile-muted) !important; border-color: var(--mobile-line) !important; }
    html body.fuuvo-mobile-prototype :is(.fuuvo-shell-search-input-wrap input, .fuuvo-shell-search-close, .fuuvo-shell-search-create, .fuuvo-shell-search-results a) { color: var(--mobile-ink) !important; }
    html body.fuuvo-mobile-prototype :is(.fuuvo-shell-search-section-title, .fuuvo-shell-search-results p, .fuuvo-shell-search-create small, .fuuvo-shell-search-create b) { color: var(--mobile-muted) !important; }
    html body.fuuvo-mobile-prototype :is(.fuuvo-shell-search-create-icon, .fuuvo-shell-search-result-icon) { background: var(--mobile-accent) !important; color: var(--mobile-muted) !important; }
    html body.fuuvo-mobile-prototype :is(.fuuvo-shell-search-create, .fuuvo-shell-search-results a, .fuuvo-shell-search-close):hover { background: var(--mobile-surface) !important; color: var(--mobile-ink) !important; }
    html body.fuuvo-mobile-prototype .fuuvo-shell-search-pagination { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 8px !important; padding: 12px 0 !important; }
    html body.fuuvo-mobile-prototype #fuuvo-shell-search-status { width: 100% !important; color: var(--mobile-muted) !important; font-size: 12px !important; }
    html body.fuuvo-mobile-prototype .fuuvo-shell-search-pagination button { min-height: 44px !important; padding: 10px 14px !important; border: 1px solid var(--mobile-line) !important; border-radius: 12px !important; color: var(--mobile-ink) !important; background: var(--mobile-surface) !important; }
    html body.fuuvo-mobile-prototype .fuuvo-shell-search-pagination button[hidden] { display: none !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer,
    html body.fuuvo-mobile-prototype #ai-chat-model-panel.is-mobile-portaled {
        position: fixed !important; inset: auto 0 0 !important;
        width: 100% !important; min-width: 0 !important; max-width: none !important;
        max-height: min(88dvh, var(--mobile-viewport-height, 88dvh)) !important;
        height: auto !important; min-height: 0 !important;
        display: block !important;
        transform: none !important; margin: 0 !important;
        border: 0 !important; border-radius: 25px 25px 0 0 !important;
        padding: 16px 20px max(25px, env(safe-area-inset-bottom)) !important;
        background: var(--mobile-paper) !important; color: var(--mobile-ink) !important;
        overflow-y: auto !important; box-shadow: 0 -5px 30px #291c3210 !important;
        z-index: 10030 !important;
    }
    html body.fuuvo-mobile-prototype #home-tool-drawer {
        display: flex !important; flex-direction: column !important; overflow: hidden !important;
    }
    html body.fuuvo-mobile-prototype #home-tool-drawer[hidden] { display: none !important; }
    html body.fuuvo-mobile-prototype:not(.mobile-capability-drawer-open) #home-tool-drawer { display: none !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer .home-tool-drawer-header { display: flex !important; flex: 0 0 auto !important; align-items: center !important; justify-content: space-between !important; position: relative !important; height: 56px !important; min-height: 56px !important; padding: 0 !important; margin: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer .home-tool-drawer-header :is(div, strong) { background: transparent !important; border: 0 !important; box-shadow: none !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer .home-tool-drawer-header strong { font-size: 20px !important; line-height: 1.3 !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer .home-tool-drawer-header strong:not(.fuuvo-mobile-prototype-tools-title) { display: none !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer .fuuvo-mobile-prototype-tools-title:not([hidden]) { display: block !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer .home-tool-drawer-header > div > span { display: none !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer .home-tool-drawer-close { position: static !important; width: 44px !important; height: 44px !important; min-width: 44px !important; padding: 10px !important; border: 0 !important; border-radius: 50% !important; background: transparent !important; color: var(--mobile-ink) !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer::before,
    html body.fuuvo-mobile-prototype #ai-chat-model-panel::before {
        content: ''; display: block; height: 4px; width: 36px;
        border-radius: 4px; background: var(--mobile-line); margin: -6px auto 10px;
    }
    html body.fuuvo-mobile-prototype #home-tool-drawer::before { flex: 0 0 4px !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer .home-tool-drawer-scroll { display: block !important; flex: 1 1 auto !important; min-height: 0 !important; overflow-x: hidden !important; overflow-y: auto !important; overscroll-behavior-y: contain !important; padding: 0 !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer .home-tool-group {
        position: relative !important; grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important; min-width: 0 !important; max-width: 100% !important; box-sizing: border-box !important;
        margin: 20px 0 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important;
    }
    html body.fuuvo-mobile-prototype #home-tool-drawer .home-tool-group h2 {
        display: flex !important; justify-content: space-between !important; align-items: center !important;
        font-size: 12px !important; line-height: 1.4 !important; color: var(--mobile-muted) !important;
        font-weight: 600 !important; margin: 0 0 12px !important;
    }
    html body.fuuvo-mobile-prototype #home-tool-drawer .home-tool-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer [data-home-tool-group="conversation"] .home-tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer .home-tool-drawer-item {
        display: flex !important; flex-direction: column !important; align-items: center !important;
        justify-content: center !important; gap: 8px !important; min-height: 86px !important;
        padding: 9px 4px !important; border: 1px solid var(--mobile-line) !important;
        border-radius: 13px !important; background: var(--mobile-surface) !important;
        color: var(--mobile-ink) !important; font-size: 12px !important;
        font-weight: 400 !important; line-height: 1.3 !important; text-align: center !important;
    }
    html body.fuuvo-mobile-prototype #home-tool-drawer .home-tool-drawer-item:not([data-mobile-primary-tool]) { display: none !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer .home-tool-drawer-item[hidden] { display: none !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer [data-mobile-prototype-duplicate-photo] { display: none !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer [data-mobile-prototype-office-duplicate] { display: none !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer [data-mobile-prototype-learning-duplicate] { display: none !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer .home-tool-drawer-item .capability-icon { width: 34px !important; height: 34px !important; background-size: contain !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer .home-tool-drawer-item > .fuuvo-linear-icon { width: 34px !important; height: 34px !important; flex: 0 0 34px !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer :is(.fuuvo-mobile-prototype-call-tool, [data-home-icon="ai-call"]) .capability-icon { background: transparent !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer :is(.fuuvo-mobile-prototype-call-tool, [data-home-icon="ai-call"]) img { display: block !important; width: 34px !important; height: 34px !important; object-fit: contain !important; }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-all-tools {
        display: inline-flex !important; align-items: center !important; position: absolute !important;
        right: 0 !important; top: -16px !important; min-height: 44px !important; padding: 0 0 0 12px !important;
        border: 0 !important; background: transparent !important; font-size: 12px !important;
        font-weight: 400 !important; line-height: 20px !important; color: var(--mobile-muted) !important;
        text-decoration: none !important; white-space: nowrap !important;
        gap: 4px !important; cursor: pointer !important;
    }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-all-tools svg {
        display: block !important; width: 14px !important; height: 14px !important; flex: 0 0 14px !important;
    }
    html body.fuuvo-mobile-prototype #home-tool-drawer .fuuvo-mobile-prototype-expanded-tools {
        display: grid !important; grid-template-columns: repeat(2, minmax(0, max-content)) !important;
        column-gap: 48px !important; row-gap: 0 !important;
        width: 100% !important; min-width: 0 !important; max-width: 100% !important;
        margin: 12px auto 0 !important; padding: 8px 10px !important;
        justify-content: center !important; align-items: start !important;
        border: 1px solid var(--mobile-line) !important; border-radius: 14px !important;
        background: var(--mobile-paper) !important;
    }
    html body.fuuvo-mobile-prototype #home-tool-drawer [data-home-tool-group="office"] .fuuvo-mobile-prototype-expanded-tools {
        grid-template-columns: var(--mobile-office-extra-columns, repeat(2, minmax(0, max-content))) !important;
    }
    html body.fuuvo-mobile-prototype #home-tool-drawer .fuuvo-mobile-prototype-expanded-tools .home-tool-drawer-item {
        display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: flex-start !important;
        height: auto !important; min-height: 44px !important; max-height: none !important; aspect-ratio: auto !important;
        min-width: 0 !important; padding: 8px 0 !important; gap: 9px !important;
        border: 0 !important; border-radius: 0 !important; background: transparent !important;
        box-shadow: none !important; text-align: left !important;
    }
    html body.fuuvo-mobile-prototype #home-tool-drawer .fuuvo-mobile-prototype-expanded-tools .home-tool-drawer-item > :is(.capability-icon, .fuuvo-linear-icon) {
        display: flex !important; align-items: center !important; justify-content: center !important;
        width: 24px !important; height: 24px !important; min-width: 24px !important; flex: 0 0 24px !important;
    }
    html body.fuuvo-mobile-prototype #home-tool-drawer .fuuvo-mobile-prototype-expanded-tools .home-tool-drawer-item > span:not(.capability-icon):not(.fuuvo-linear-icon) {
        min-width: 0 !important; text-align: left !important; overflow-wrap: normal !important;
    }
    html body.fuuvo-mobile-prototype #home-tool-drawer .fuuvo-mobile-prototype-expanded-tools .capability-icon > :is(svg, .fuuvo-asset-icon) {
        display: block !important; width: 24px !important; height: 24px !important;
        min-width: 24px !important; max-width: 24px !important; max-height: 24px !important; flex: 0 0 24px !important;
    }
    html body.fuuvo-mobile-prototype #home-tool-drawer .fuuvo-mobile-prototype-expanded-tools .capability-icon > .fuuvo-asset-icon {
        background-color: currentColor !important;
        -webkit-mask-image: var(--fuuvo-icon-asset, var(--fuuvo-asset-url)) !important;
        mask-image: var(--fuuvo-icon-asset, var(--fuuvo-asset-url)) !important;
    }
    html body.fuuvo-mobile-prototype #home-tool-drawer .fuuvo-mobile-prototype-expanded-tools [data-home-icon="ai-podcast"] .capability-icon {
        background: currentColor !important;
        -webkit-mask: url('/static/icons/fuuvo-mobile/ai-podcast.svg') center / contain no-repeat !important;
        mask: url('/static/icons/fuuvo-mobile/ai-podcast.svg') center / contain no-repeat !important;
    }
    html body.fuuvo-mobile-prototype #home-tool-drawer .fuuvo-mobile-prototype-expanded-tools [data-home-icon="ai-podcast"] .capability-icon > * {
        display: none !important;
    }
    /* The six office symbols are the SVG artwork embedded in C029-v2. */
    html body.fuuvo-mobile-prototype #home-tool-drawer [data-home-tool-group="office"] [data-home-icon="ai-slides"] { --mobile-office-icon: url('/static/icons/fuuvo-mobile/office-productivity/ai-slides.svg'); }
    html body.fuuvo-mobile-prototype #home-tool-drawer [data-home-tool-group="office"] [data-home-icon="ai-spreadsheet"] { --mobile-office-icon: url('/static/icons/fuuvo-mobile/office-productivity/ai-spreadsheet.svg'); }
    html body.fuuvo-mobile-prototype #home-tool-drawer [data-home-tool-group="office"] [data-home-icon="ai-document"] { --mobile-office-icon: url('/static/icons/fuuvo-mobile/office-productivity/ai-document.svg'); }
    html body.fuuvo-mobile-prototype #home-tool-drawer [data-home-tool-group="office"] [data-home-icon="writing"] { --mobile-office-icon: url('/static/icons/fuuvo-mobile/office-productivity/writing.svg'); }
    html body.fuuvo-mobile-prototype #home-tool-drawer [data-home-tool-group="office"] [data-home-icon="office-tasks"] { --mobile-office-icon: url('/static/icons/fuuvo-mobile/office-productivity/work-tasks.svg'); }
    html body.fuuvo-mobile-prototype #home-tool-drawer [data-home-tool-group="office"] [data-home-icon="core-upload-analysis"] { --mobile-office-icon: url('/static/icons/fuuvo-mobile/office-productivity/data-analysis.svg'); }
    html body.fuuvo-mobile-prototype #home-tool-drawer [data-home-tool-group="office"] .home-tool-drawer-item > .capability-icon {
        color: #438f75 !important; background: currentColor !important;
        -webkit-mask: var(--mobile-office-icon) center / 21px 21px no-repeat !important;
        mask: var(--mobile-office-icon) center / 21px 21px no-repeat !important;
    }
    html body.fuuvo-mobile-prototype #home-tool-drawer [data-home-tool-group="office"] .home-tool-drawer-item > .capability-icon > * { display: none !important; }
    html body.fuuvo-mobile-prototype #home-tool-drawer .fuuvo-mobile-prototype-expanded-tools[hidden],
    html body.fuuvo-mobile-prototype #home-tool-drawer .fuuvo-mobile-prototype-expanded-tools .home-tool-drawer-item[hidden] {
        display: none !important;
    }
    html body.fuuvo-mobile-prototype-home .workspace::after { display: none !important; }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-options-entry {
        display: flex; justify-content: space-between; align-items: center; width: 100%;
        text-align: left; min-height: 64px; padding: 14px 0; margin: 18px 0 0;
        border: 0; border-top: 1px solid var(--mobile-line); color: var(--mobile-ink); background: transparent;
    }
    .fuuvo-mobile-prototype-options-entry strong { display: block; font-size: 14px; font-weight: 550; }
    .fuuvo-mobile-prototype-options-entry small { display: block; font-size: 11px; color: var(--mobile-muted); margin-top: 4px; }
    html body.fuuvo-mobile-prototype #ai-chat-model-panel .ai-chat-model-panel-head { display: flex !important; min-height: 44px; margin-right: 44px; padding: 0 0 12px !important; font-size: 18px !important; color: var(--mobile-ink) !important; }
    html body.fuuvo-mobile-prototype #ai-chat-model-panel .ai-chat-model-panel-head strong { font-size: 18px !important; font-weight: 600 !important; color: var(--mobile-ink) !important; }
    html body.fuuvo-mobile-prototype #ai-chat-model-panel .ai-chat-composer-toggles {
        display: flex !important; flex-direction: column !important; width: 100% !important;
        height: auto !important; gap: 0 !important; min-height: 0 !important; margin: 16px 0 0 !important;
    }
    html body.fuuvo-mobile-prototype #ai-chat-model-panel .ai-chat-composer-toggle {
        display: flex !important; width: 100% !important; min-width: 0 !important; max-width: none !important; height: 56px !important; min-height: 56px !important; max-height: none !important; flex: 0 0 auto !important;
        padding: 12px 0 !important; align-items: center !important; gap: 12px !important;
        background: transparent !important; color: var(--mobile-ink) !important;
        border: 0 !important; border-top: 1px solid var(--mobile-line) !important;
        border-radius: 0 !important; font-size: 14px !important;
    }
    html body.fuuvo-mobile-prototype #ai-chat-model-panel .ai-chat-composer-toggle > span { display: block !important; width: auto !important; max-width: none !important; min-width: 0 !important; flex: 1 1 auto !important; white-space: nowrap !important; overflow: visible !important; font-size: 14px !important; line-height: 20px !important; text-align: left !important; font-weight: 400 !important; }
    html body.fuuvo-mobile-prototype #ai-chat-model-panel .ai-chat-composer-toggle > svg { width: 24px !important; min-width: 24px !important; max-width: 24px !important; height: 24px !important; flex: 0 0 24px !important; }
    html body.fuuvo-mobile-prototype #ai-chat-model-panel .ai-chat-composer-toggle::after { content: ''; width: 40px; height: 24px; margin-left: auto; border-radius: 15px; background: radial-gradient(circle at 12px 12px, #fff 0 8px, transparent 9px), #d5d0de; }
    html body.fuuvo-mobile-prototype #ai-chat-model-panel .ai-chat-composer-toggle[aria-pressed="true"]::after { background: radial-gradient(circle at 28px 12px, #fff 0 8px, transparent 9px), #635079; }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-options-close { display: flex !important; position: absolute; top: 20px; right: 12px; width: 44px; height: 44px; padding: 10px; border: 0; background: transparent; color: var(--mobile-ink); }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-scrim:not([hidden]) { display: block !important; position: fixed; inset: 0; z-index: 10029; border: 0; background: #20152f32; width: 100%; height: 100dvh; }
    html body.fuuvo-mobile-prototype-modal-open { overflow: hidden !important; }
    html body.fuuvo-mobile-prototype:not(.mobile-account-open) #mobile-account-sheet { display: none !important; }
    html body.fuuvo-mobile-prototype :is(.fuuvo-mobile-prototype-hero, .fuuvo-mobile-prototype-tools, .fuuvo-mobile-prototype-call)[hidden] { display: none !important; }
    html body.fuuvo-mobile-prototype :is(.chat-upload-popover, .topbar-settings-drawer) { background: var(--mobile-paper) !important; color: var(--mobile-ink) !important; border-radius: 25px 25px 0 0 !important; }
    html body.fuuvo-mobile-prototype .ai-call-dialog { background: var(--mobile-paper) !important; }
    html body.fuuvo-mobile-prototype :is(.ai-call-scenarios-grid) { grid-template-columns: 1fr !important; }
    html body.fuuvo-mobile-prototype .ai-call-scenarios-grid > button { min-height: 64px !important; border: 0 !important; border-bottom: 1px solid var(--mobile-line) !important; border-radius: 0 !important; }
    html body.fuuvo-mobile-prototype .ai-call-scenarios { border-radius: 25px 25px 0 0 !important; background: var(--mobile-paper) !important; }
    /* The public homepage retains its original brand and expandable thumbnail
     * categories above a scrolling page; chat entry keeps its fixed composer. */
    html:has(body.fuuvo-mobile-site-home) {
        height: auto !important; min-height: 100dvh !important;
        overflow-x: clip !important; overflow-y: auto !important;
    }
    html body.fuuvo-mobile-prototype.fuuvo-mobile-site-home {
        height: auto !important; min-height: 100dvh !important;
        overflow-x: clip !important; overflow-y: visible !important;
    }
    html body.fuuvo-mobile-prototype.fuuvo-mobile-site-home[data-mode="chat"] {
        background: var(--mobile-paper) !important;
    }
    html body.fuuvo-mobile-prototype.fuuvo-mobile-site-home :is(.app[data-fuuvo-app-shell], .workspace[data-fuuvo-app-workspace]) {
        height: auto !important; min-height: 100dvh !important;
        max-height: none !important; width: 100% !important; min-width: 0 !important;
        overflow: visible !important;
    }
    html body.fuuvo-mobile-prototype.fuuvo-mobile-site-home.chat-landing[data-mode="chat"] .workspace[data-fuuvo-app-workspace]:has(#chat-compose-field) {
        background: radial-gradient(ellipse 78% 430px at 50% 0, var(--home-bg-glow-a, rgba(60, 166, 255, .22)), transparent 72%),
            radial-gradient(ellipse 52% 320px at 50% 0, var(--home-bg-glow-b, rgba(164, 92, 255, .17)), transparent 74%),
            radial-gradient(ellipse 96% 400px at 50% 0, var(--home-bg-glow-c, rgba(42, 225, 205, .12)), transparent 80%), var(--mobile-paper) !important;
    }
    html body.fuuvo-mobile-prototype.fuuvo-mobile-site-home[data-mode="chat"] .composer {
        position: relative !important; inset: auto !important;
        display: flex !important; flex-direction: column !important;
        width: calc(100% - 24px) !important; max-width: 760px !important;
        margin: 0 auto !important; padding: 18px 0 calc(28px + env(safe-area-inset-bottom)) !important;
        z-index: 1 !important; overflow: visible !important;
    }
    html body.fuuvo-mobile-prototype.fuuvo-mobile-site-home :is(.composer-top, #composer-title, .composer-capability-shell) {
        display: block !important;
    }
    html body.fuuvo-mobile-prototype.fuuvo-mobile-site-home .composer-top {
        width: 100% !important; margin: 0 0 20px !important;
    }
    html body.fuuvo-mobile-prototype.fuuvo-mobile-site-home #composer-title {
        display: flex !important; flex-wrap: wrap !important; justify-content: center !important;
        max-width: 100% !important; color: var(--mobile-ink) !important;
    }
    html body.fuuvo-mobile-prototype.fuuvo-mobile-site-home .fuuvo-mobile-prototype-hero {
        display: none !important;
    }
    html body.fuuvo-mobile-prototype.fuuvo-mobile-site-home .composer-capability-shell {
        width: 100% !important; margin: 24px 0 0 !important;
    }
    html body.fuuvo-mobile-prototype.fuuvo-mobile-site-home .home-capability-group-actions {
        display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important; overflow: visible !important;
    }
    html body.fuuvo-mobile-prototype.fuuvo-mobile-site-home .home-capability-group .composer-capability-btn {
        width: 100% !important; min-width: 0 !important; max-width: none !important;
    }
    @media (min-width: 600px) {
        html body.fuuvo-mobile-prototype.fuuvo-mobile-site-home .home-capability-group-actions {
            grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        }
    }
    html body.fuuvo-mobile-prototype.fuuvo-mobile-site-home :is(.composer-capability-shell, .home-capability-group, .home-capability-group-actions)[hidden] {
        display: none !important;
    }
    html:has(body.fuuvo-mobile-site-home:is(.fuuvo-mobile-prototype-modal-open, .fuuvo-mobile-sidebar-open, .mobile-capability-drawer-open, .ai-call-open)),
    html body.fuuvo-mobile-site-home:is(.fuuvo-mobile-prototype-modal-open, .fuuvo-mobile-sidebar-open, .mobile-capability-drawer-open, .ai-call-open) {
        overflow: hidden !important;
    }
    @media (prefers-reduced-motion: reduce) {
        html body.fuuvo-mobile-prototype *, html body.fuuvo-mobile-prototype *::before, html body.fuuvo-mobile-prototype *::after { scroll-behavior: auto !important; }
    }
}
}


/* Final Chinese mobile lockup: center the complete logo + AI group as one row. */
@media (max-width: 920px) {
    html body .fuuvo-mobile-prototype-home-brand:has(> img[data-mobile-brand-locale="zh"]) {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 12px !important;
        height: 94px !important;
    }
    html body .fuuvo-mobile-prototype-home-brand:has(> img[data-mobile-brand-locale="zh"]) > img {
        position: static !important;
        inset: auto !important;
        width: 200px !important;
        height: 94px !important;
        transform: none !important;
    }
    html body .fuuvo-mobile-prototype-home-brand:has(> img[data-mobile-brand-locale="zh"]) > span {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        line-height: 1 !important;
    }
}

/* Center the approved mobile lockup for both Chinese and English. */
@media (max-width: 920px) {
    html body .fuuvo-mobile-prototype-home-brand {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 12px !important;
    }
    html body .fuuvo-mobile-prototype-home-brand > img {
        position: static !important;
        inset: auto !important;
        width: 200px !important;
        height: 68px !important;
        transform: none !important;
    }
    html body .fuuvo-mobile-prototype-home-brand > span {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        line-height: 1 !important;
    }
}

/* Source: public/static/css/fuuvo-mobile-language-switch.css */
/* Keep the approved mobile language segments inside their shared 36px frame.
 * Legacy touch-control minimums otherwise stretch a 30px button to 44px. */
@layer fuuvo-mobile-design {
@media (max-width: 920px) {
    html body :is(
        .fs-top-language, .ms-top-language, .fd-top-language, .wt-top-language,
        .an-top-language, .mresearch-language, .mtranslation-language, .mwriting-language
    ) {
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        flex-shrink: 0 !important;
        width: 65px !important;
        min-width: 65px !important;
        max-width: 65px !important;
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        padding: 2px !important;
        gap: 1px !important;
    }

    html body :is(
        .fs-top-language, .ms-top-language, .fd-top-language, .wt-top-language,
        .an-top-language, .mresearch-language, .mtranslation-language, .mwriting-language
    ) > :is(a, button) {
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 29px !important;
        width: 29px !important;
        min-width: 29px !important;
        max-width: 29px !important;
        height: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;
        margin: 0 !important;
        padding: 0 5px !important;
        border: 0 !important;
        border-radius: 7px !important;
        white-space: nowrap !important;
        writing-mode: horizontal-tb !important;
        text-decoration: none !important;
        touch-action: manipulation;
    }

    html body :is(
        .fs-top-language, .ms-top-language, .fd-top-language, .wt-top-language,
        .an-top-language, .mresearch-language, .mtranslation-language, .mwriting-language
    ) > :is(a, button):focus-visible {
        outline: 2px solid currentColor !important;
        outline-offset: -2px !important;
    }

    /* The approved login header uses plain text with a 44px touch target.
     * Its frame must fit those links instead of the legacy 42px segment. */
    html body .auth-page.auth-prototype .auth-language-switch {
        box-sizing: border-box !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
    }
    html body .auth-page.auth-prototype .auth-language-switch > a {
        box-sizing: border-box !important;
        height: 44px !important;
        max-height: 44px !important;
        margin: 0 !important;
    }
}
}

/* Source: public/static/css/fuuvo-mobile-composer-viewport.css */
/* Shared keyboard state for chat and tool follow-up composers. Visibility
 * keeps the original page geometry and scroll position intact. No keyboard
 * height is guessed, and no focused DOM subtree is moved or recreated. */
@layer fuuvo-mobile-design {
@media (max-width: 920px) {
    html body.fuuvo-mobile-input-viewport {
        --mobile-ink: #171821;
        --mobile-line: #dddfe6;
        --mobile-surface: #f6f6f8;
    }
    html:is([data-ui-theme="dark"], [data-theme="dark"]) body.fuuvo-mobile-input-viewport,
    html body.fuuvo-mobile-input-viewport:is([data-ui-theme="dark"], [data-theme="dark"]) {
        --mobile-ink: #f1f1f5;
        --mobile-line: #353641;
        --mobile-surface: #252630;
    }
    /* iOS zooms a focused control whose computed size is below 16px. Keep
     * every supported mobile editor at the no-zoom threshold before focus. */
    html body :is(
        #fuuvo-mobile-writing, #fuuvo-mobile-audio, #fuuvo-mobile-video,
        #fuuvo-mobile-music-studio, #fuuvo-mobile-document, #fuuvo-mobile-slides,
        #fuuvo-mobile-spreadsheet, #fuuvo-mobile-work-tasks, #fuuvo-mobile-analysis,
        #fuuvo-mobile-food-home, #fuuvo-mobile-goodlife, #fuuvo-mobile-photo-solver,
        #ai-document-app
    ) :is(input, textarea, [contenteditable="true"]),
    html body :is(#chat-input, #analysis-followup input, #office-refinement, #ai-document-ai-prompt) {
        font-size: 16px !important;
        -webkit-text-size-adjust: 100% !important;
    }
    .fuuvo-mobile-composer-wordmark[hidden] { display: none !important; }
    html body.fuuvo-mobile-composer-keyboard-open .fuuvo-mobile-composer-wordmark { display: none !important; }
    .fuuvo-mobile-composer-viewport-probe {
        position: fixed !important; top: 0 !important; bottom: 0 !important; left: 0 !important;
        width: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important;
        border: 0 !important; visibility: hidden !important; pointer-events: none !important;
    }
    html:root.fuuvo-mobile-composer-keyboard-open,
    html body:is(.fuuvo-mobile-prototype, .fuuvo-mobile-input-viewport).fuuvo-mobile-composer-keyboard-open {
        position: relative !important; inset: auto !important;
        height: var(--fuuvo-composer-layout-height) !important; min-height: 0 !important; max-height: none !important;
        overflow: visible !important; clip: auto !important; clip-path: none !important;
        transform: none !important; filter: none !important; perspective: none !important;
        contain: none !important; content-visibility: visible !important;
        backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
    }
    /* Hide only branches outside the draft's path. A hidden composited ancestor
     * can suppress its visible fixed descendants in iOS/WeChat. */
    html body:is(.fuuvo-mobile-prototype, .fuuvo-mobile-input-viewport).fuuvo-mobile-composer-keyboard-open[data-fuuvo-mobile-composer-tracking] > :not([data-fuuvo-mobile-composer-path]):not([data-fuuvo-mobile-composer-active]):not(.fuuvo-mobile-composer-wordmark),
    html body:is(.fuuvo-mobile-prototype, .fuuvo-mobile-input-viewport).fuuvo-mobile-composer-keyboard-open[data-fuuvo-mobile-composer-tracking] > :not([data-fuuvo-mobile-composer-path]):not([data-fuuvo-mobile-composer-active]):not(.fuuvo-mobile-composer-wordmark) *,
    html body:is(.fuuvo-mobile-prototype, .fuuvo-mobile-input-viewport).fuuvo-mobile-composer-keyboard-open[data-fuuvo-mobile-composer-tracking] [data-fuuvo-mobile-composer-path] > :not([data-fuuvo-mobile-composer-path]):not([data-fuuvo-mobile-composer-active]),
    html body:is(.fuuvo-mobile-prototype, .fuuvo-mobile-input-viewport).fuuvo-mobile-composer-keyboard-open[data-fuuvo-mobile-composer-tracking] [data-fuuvo-mobile-composer-path] > :not([data-fuuvo-mobile-composer-path]):not([data-fuuvo-mobile-composer-active]) * {
        visibility: hidden !important;
    }
    html body:is(.fuuvo-mobile-prototype, .fuuvo-mobile-input-viewport).fuuvo-mobile-composer-keyboard-open::after {
        content: none !important; display: none !important;
    }
    /* Keep the homepage lockup visible while the composer is docked above the
     * keyboard instead of hiding the entire hero branch. */
    html body:is(.fuuvo-mobile-prototype, .fuuvo-mobile-input-viewport).fuuvo-mobile-composer-keyboard-open[data-fuuvo-mobile-composer-tracking] :is(#creation-app, .app) .fuuvo-mobile-prototype-hero,
    html body:is(.fuuvo-mobile-prototype, .fuuvo-mobile-input-viewport).fuuvo-mobile-composer-keyboard-open[data-fuuvo-mobile-composer-tracking] :is(#creation-app, .app) .fuuvo-mobile-prototype-hero *,
    html body:is(.fuuvo-mobile-prototype, .fuuvo-mobile-input-viewport).fuuvo-mobile-composer-keyboard-open[data-fuuvo-mobile-composer-tracking] :is(#creation-app, .app) .fuuvo-mobile-prototype-home-brand,
    html body:is(.fuuvo-mobile-prototype, .fuuvo-mobile-input-viewport).fuuvo-mobile-composer-keyboard-open[data-fuuvo-mobile-composer-tracking] :is(#creation-app, .app) .fuuvo-mobile-prototype-home-brand * {
        visibility: visible !important;
        opacity: 1 !important;
    }
    html body:is(.fuuvo-mobile-prototype, .fuuvo-mobile-input-viewport).fuuvo-mobile-composer-keyboard-open [data-fuuvo-mobile-composer-path] {
        transform: none !important; filter: none !important; perspective: none !important;
        contain: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
        will-change: auto !important; isolation: auto !important; z-index: auto !important;
        visibility: visible !important; overflow: visible !important;
        clip: auto !important; clip-path: none !important; content-visibility: visible !important;
        height: auto !important; min-height: 0 !important; max-height: none !important;
        background: transparent !important; box-shadow: none !important;
        overflow-anchor: none !important;
    }
    html body:is(.fuuvo-mobile-prototype, .fuuvo-mobile-input-viewport).fuuvo-mobile-composer-keyboard-open[data-fuuvo-mobile-composer-tracking] [data-fuuvo-mobile-composer-active] {
        position: fixed !important; inset: auto 12px calc(var(--fuuvo-composer-visible-bottom, 0px) + 8px) !important;
        width: calc(100% - 24px) !important; max-width: none !important;
        min-height: 0 !important; height: auto !important; max-height: calc(var(--fuuvo-composer-visible-height) - 64px) !important;
        transform: none !important; margin: 0 !important;
        box-sizing: border-box !important; z-index: 10022 !important;
        visibility: visible !important; overflow: visible !important;
        pointer-events: auto !important;
    }
    html body:is(.fuuvo-mobile-prototype, .fuuvo-mobile-input-viewport).fuuvo-mobile-composer-keyboard-open [data-fuuvo-mobile-composer-active] * {
        visibility: visible !important;
    }
    html body:is(.fuuvo-mobile-prototype, .fuuvo-mobile-input-viewport).fuuvo-mobile-composer-keyboard-open [data-fuuvo-mobile-composer-active]:not(.composer):not(.chat-input-wrap) {
        padding: 12px !important; border: 1px solid var(--mobile-line, #dddfe6) !important;
        border-radius: 20px !important; background: var(--mobile-surface, #f6f6f8) !important;
        color: var(--mobile-ink, #171821) !important;
    }
    html body:is(.fuuvo-mobile-prototype, .fuuvo-mobile-input-viewport).fuuvo-mobile-composer-keyboard-open [data-fuuvo-mobile-composer-active] :is(input:not([type="hidden"]), textarea, [contenteditable="true"]) {
        font-size: 16px !important; color: var(--mobile-ink, #171821) !important;
        caret-color: var(--mobile-ink, #171821) !important; box-sizing: border-box !important;
        touch-action: auto !important; overscroll-behavior: contain !important;
    }
    html body:is(.fuuvo-mobile-prototype, .fuuvo-mobile-input-viewport).fuuvo-mobile-composer-keyboard-open [data-fuuvo-mobile-composer-active]:not(.composer) textarea {
        min-height: 52px !important; height: var(--mobile-composer-text-height, 68px) !important;
        max-height: var(--mobile-composer-text-max-height, 160px) !important;
        overflow-y: auto !important; resize: none !important;
    }
    html body:is(.fuuvo-mobile-prototype, .fuuvo-mobile-input-viewport).fuuvo-mobile-composer-keyboard-open [data-fuuvo-mobile-composer-active] :is(button, [type="submit"]) {
        min-width: 44px !important; min-height: 44px !important;
    }
    html body:is(.fuuvo-mobile-prototype, .fuuvo-mobile-input-viewport).fuuvo-mobile-composer-keyboard-open .ai-document-panel-view[data-fuuvo-mobile-composer-active] > :is(.panel-view-title, .ai-document-ai-panel-head, .ai-document-ai-actions, .ai-document-ai-tips) {
        display: none !important;
    }
    html body:is(.fuuvo-mobile-prototype, .fuuvo-mobile-input-viewport).fuuvo-mobile-composer-keyboard-open .fuuvo-mobile-composer-wordmark:not([hidden]) {
        display: flex !important; visibility: visible !important; align-items: center; justify-content: center;
        position: fixed !important; left: 12px !important; right: 12px !important;
        top: var(--fuuvo-composer-brand-top, 24px) !important; bottom: auto !important;
        height: 48px !important; margin: 0 !important; transform: none !important;
        pointer-events: none; z-index: 10023 !important;
    }
    .fuuvo-mobile-composer-wordmark img { width: 200px; max-width: 70vw; height: auto; object-fit: contain; }
}
}


/* Final cascade: mobile lockup and language touch targets. */
@media (max-width: 920px) {
    html body .fuuvo-mobile-prototype-home-brand {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 12px !important;
        height: 68px !important;
    }
    html body .fuuvo-mobile-prototype-home-brand > img {
        position: static !important;
        inset: auto !important;
        width: 200px !important;
        height: 68px !important;
        transform: none !important;
    }
    html body .fuuvo-mobile-prototype-home-brand > span {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        line-height: 1 !important;
    }
    html body .fuuvo-mobile-prototype-home-brand:has(> img[data-mobile-brand-locale="zh"]) {
        height: 94px !important;
    }
    html body .fuuvo-mobile-prototype-home-brand:has(> img[data-mobile-brand-locale="zh"]) > img {
        height: 94px !important;
    }
    html body .mobile-chat-actions .ui-language-switch {
        min-height: 50px !important;
    }
    html body .mobile-chat-actions .ui-language-switch .ui-language-switch-btn {
        height: 44px !important;
        min-height: 44px !important;
    }
    html body .fuuvo-mobile-composer-wordmark {
        display: none !important;
    }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-drawer-brand {
        transform: none !important;
    }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-drawer-brand .symbol {
        display: none !important;
    }
    html body.fuuvo-mobile-prototype .fuuvo-mobile-prototype-drawer-brand .wordmark {
        margin-left: 16px !important;
    }
}
