/* C036 production shell, accessible controls, dark palette and visual viewport. */
#fuuvo-mobile-photo-solver[hidden][hidden] { display: none !important; }
.ps-viewport-probe { position: fixed; inset: 0; visibility: hidden; pointer-events: none; }
@font-face { font-family: 'Photo Solver Noto'; src: url('/static/creation-hub/editor-cjk.woff') format('woff'); font-display: swap; }
@layer fuuvo-mobile-design {
@media (max-width: 920px) {
    html body #research-app[data-research-page="learning"].has-mobile-photo-solver {
        display: block !important; width: 100% !important; height: 100dvh !important;
        padding: 0 !important; margin: 0 !important; min-width: 0 !important; min-height: 0 !important;
        overflow: hidden !important; background: #fff !important;
    }
    html body #research-app[data-research-page="learning"].has-mobile-photo-solver > :not(#fuuvo-mobile-photo-solver) { display: none !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver {
        --ps-bg: #fff; --ps-ink: #252833; --ps-muted: #7e8190; --ps-line: #e8e8ee;
        --ps-paper: #fff; --ps-tint: #f4f4f7; --ps-orange: #b66b28; --ps-active: #fff8f1;
        --ps-primary: #252631; --ps-on-primary: #fff; --ps-photo: #f8f6f2;
        --ps-scan: radial-gradient(ellipse at center, #f8efe5, transparent 73%);
        position: fixed !important; top: var(--ps-visible-top, 0px) !important; left: 0 !important;
        width: 100% !important; height: var(--ps-visible-height, 100dvh) !important;
        display: flex !important; flex-direction: column !important; isolation: isolate !important;
        z-index: 40 !important; margin: 0 !important; padding: env(safe-area-inset-top) 0 0 !important;
        min-width: 0 !important; min-height: 0 !important; overflow: hidden !important;
        background: var(--ps-bg) !important; color: var(--ps-ink) !important;
        font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, 'Photo Solver Noto', sans-serif !important;
        font-synthesis: none !important; -webkit-text-size-adjust: 100% !important;
    }
    html:is([data-ui-theme="dark"], [data-theme="dark"]) body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver,
    html body:is([data-ui-theme="dark"], [data-theme="dark"]) #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver {
        --ps-bg: #191a23; --ps-ink: #f0edf5; --ps-muted: #b1a9bc; --ps-line: #403a49;
        --ps-paper: #25232e; --ps-tint: #302b39; --ps-orange: #e6b07e; --ps-active: #3a2e29;
        --ps-primary: #f0edf5; --ps-on-primary: #252631; --ps-photo: #302b30;
        --ps-scan: radial-gradient(ellipse at center, rgba(184, 130, 80, .13), transparent 73%);
        color-scheme: dark !important;
    }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver *,
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver *::before,
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver *::after { box-sizing: border-box !important; -webkit-text-fill-color: currentColor !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver :is(button,a,input,textarea) { font-family: inherit !important; touch-action: manipulation !important; -webkit-tap-highlight-color: transparent !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver button {
        color: var(--ps-ink) !important; text-transform: none !important; min-width: 0 !important; min-inline-size: 0 !important;
        box-shadow: none !important; cursor: pointer !important;
    }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver :is(button,textarea):focus-visible { outline: 2px solid #768ebd !important; outline-offset: 2px !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver button:disabled { opacity: .45 !important; cursor: default !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver [hidden][hidden] { display: none !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver svg { pointer-events: none !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .halo {
        background: radial-gradient(ellipse 76% 58% at 51% -13%, var(--home-bg-glow-a, #c5abed), transparent), radial-gradient(ellipse 73% 46% at 90% 0%, var(--home-bg-glow-b, #facbdc), transparent), radial-gradient(ellipse 84% 60% at 0% -2%, var(--home-bg-glow-c, #d5eff9), transparent) !important;
    }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .ps-scroll { width: 100% !important; -webkit-overflow-scrolling: touch !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .page { max-width: 600px !important; width: 100% !important; margin: 0 auto !important; padding-bottom: calc(24px + env(safe-area-inset-bottom)) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver :is(h1,h2,h3,p) { overflow-wrap: anywhere !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver :is(.intro p,.section-intro p,.practice-top p,.notice,.answer-message,.step p,.formats,.counter,.photo-name,.text-button,.ps-status) { color: var(--ps-muted) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver :is(.intro .eyebrow,.practice-top .eyebrow,.sample-link,.hint-link,.concept) { color: var(--ps-orange) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver :is(.capture-zone,.sample-paper,.secondary,.ps-field textarea,.option,.sheet,.followup) { background: var(--ps-paper) !important; border-color: var(--ps-line) !important; color: var(--ps-ink) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver :is(.sample-paper b,.equation,.answer,.exercise .math) { color: var(--ps-ink) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .primary { background: var(--ps-primary) !important; color: var(--ps-on-primary) !important; border: 0 !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .language { border-color: var(--ps-line) !important; background: var(--ps-paper) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .language button { min-height: 26px !important; position: relative !important; color: var(--ps-muted) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .language button[aria-pressed="true"] { background: var(--ps-tint) !important; color: var(--ps-ink) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .language button::before { content: '' !important; position: absolute !important; inset: -8px 0 !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .mode { min-height: 42px !important; background: var(--ps-paper) !important; border-color: var(--ps-line) !important; position: relative !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver :is(.mode[aria-pressed="true"],.option[aria-pressed="true"]) { background: var(--ps-active) !important; border-color: var(--ps-orange) !important; color: var(--ps-orange) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .stage-toggle { background: var(--ps-tint) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .stage-toggle button { min-height: 30px !important; color: var(--ps-muted) !important; position: relative !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .stage-toggle button[aria-pressed="true"] { background: var(--ps-paper) !important; color: var(--ps-ink) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .stage-toggle button::before { content: '' !important; position: absolute !important; inset: -7px 0 !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .ps-field textarea {
        width: 100% !important; min-width: 0 !important; min-height: 74px !important; height: var(--ps-edit-height, 74px) !important; max-height: var(--ps-edit-max, 160px) !important;
        font-size: 16px !important; line-height: 1.6 !important; border: 1px solid var(--ps-line) !important;
        border-radius: 13px !important; padding: 12px 13px !important; resize: none !important; overflow-y: auto !important;
    }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .ps-field { margin: 12px 0 0 !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .ps-question-field textarea { font-size: 19px !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .ps-field textarea::placeholder { color: var(--ps-muted) !important; opacity: .8 !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .question-photo { width: 100% !important; padding: 0 !important; background: var(--ps-photo) !important; border-color: var(--ps-line) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .photo-actions > div { display: flex !important; gap: 9px !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .text-button { min-height: 44px !important; position: relative !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .text-button::before { content: '' !important; position: absolute !important; min-width: 44px !important; inset: 0 -5px !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .ps-uncertainty { font-size: 12px !important; line-height: 1.7 !important; padding: 10px 12px !important; border-radius: 12px !important; background: var(--ps-active) !important; color: var(--ps-orange) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .ps-status { font-size: 12px !important; line-height: 1.6 !important; margin: 8px 0 !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver :is(.ps-status,.error):empty { display: none !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .error { color: #bd6856 !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .ps-bottom { padding: 12px max(22px, calc((100% - 556px) / 2)) calc(8px + env(safe-area-inset-bottom)) !important; background: var(--ps-bg) !important; box-shadow: 0 -8px 20px var(--ps-bg) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .ps-bottom:empty { display: none !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .mini-question b { max-height: 100px !important; overflow: auto !important; display: block !important; font-size: 15px !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .question-thumb { background: var(--ps-paper) !important; border-color: var(--ps-line) !important; color: var(--ps-orange) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .number { background: var(--ps-active) !important; color: var(--ps-orange) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .answer { font-size: 32px !important; white-space: pre-wrap !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .actions { gap: 22px !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .suggestions { gap: 9px !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .suggestions .secondary { width: auto !important; min-height: 44px !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .ps-reply { margin: 16px 0 !important; padding: 14px !important; background: var(--ps-paper) !important; border: 1px solid var(--ps-line) !important; border-radius: 15px !important; font-size: 13px !important; line-height: 1.8 !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .followup { gap: 12px !important; padding: 4px 5px 4px 11px !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .followup textarea { min-height: 44px !important; height: var(--ps-edit-height, 44px) !important; border: 0 !important; padding: 8px 0 !important; background: transparent !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .followup button { width: 44px !important; height: 44px !important; min-height: 44px !important; background: var(--ps-primary) !important; color: var(--ps-on-primary) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .quote-preview { background: var(--ps-tint) !important; color: var(--ps-muted) !important; align-items: center !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .quote-preview span { max-height: 48px !important; overflow: auto !important; overflow-wrap: anywhere !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .feedback { color: var(--ps-ink) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver :is(.scanner,.summary-options button) { background: var(--ps-active) !important; color: var(--ps-orange) !important; border-color: var(--ps-line) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .busy { min-height: 100% !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .ps-overlay { position: absolute !important; inset: 0 !important; z-index: 5 !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .sheet { padding-bottom: calc(26px + env(safe-area-inset-bottom)) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .sheet p { color: var(--ps-muted) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .zoom-photo { background: var(--ps-photo) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .busy .scanner { background: var(--ps-active) !important; color: var(--ps-orange) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .try-label { background: var(--ps-paper) !important; color: var(--ps-orange) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .scan-stage { background: var(--ps-scan) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver :is(.mini-question,.concept,.exercise) { border-color: var(--ps-line) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .step:not(:last-child)::before { border-color: var(--ps-line) !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver.ps-keyboard { padding-top: 0 !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .keyboard-brand { display: none !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver.ps-keyboard .ps-header { display: flex !important; justify-content: center !important; height: 56px !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver.ps-keyboard .ps-header > :not(.keyboard-brand) { display: none !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver.ps-keyboard .keyboard-brand { display: block !important; width: 84px !important; height: auto !important; margin: auto !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver.ps-keyboard .halo { height: 230px !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver.ps-keyboard > :not(.ps-header):not(.halo):not([data-ps-keyboard-path]):not(.ps-overlay):not(.ps-toast) { display: none !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver.ps-keyboard [data-ps-keyboard-path] { display: contents !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver.ps-keyboard [data-ps-keyboard-path] > :not([data-ps-keyboard-path]):not([data-ps-keyboard-field]) { display: none !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver.ps-keyboard [data-ps-keyboard-field] { position: absolute !important; bottom: 8px !important; left: 19px !important; right: 19px !important; width: auto !important; max-height: calc(100% - 76px) !important; overflow: auto !important; margin: 0 !important; padding: 0 !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver.ps-keyboard [data-ps-keyboard-field] .label-row { display: none !important; }
}
@media (max-width: 920px) and (prefers-reduced-motion: reduce) {
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver :is(.halo,.scanner) { animation: none !important; }
    html body #research-app[data-research-page="learning"] #fuuvo-mobile-photo-solver .ps-scroll { scroll-behavior: auto !important; }
}
}
