The field-learned gotcha library: symptom, cause, fix. Every entry cost a real debug cycle once.
Each entry below follows the same shape: what you see, why it happens, what
fixes it. The verification gates catch most of these
mechanically; this page is for when you are staring at the symptom.
The header links rail is centered instead of right-pinned
Symptom: in a justify="space-between" header, the links cluster sits
centered. Invisible at 1200, glaring at 1512 and wider.Cause: a hidden-on-desktop mobile burger that hides its button but not
its widget. A bare <html> widget as the third child still occupies the
right flex slot even when its inner button is display: none, so the row
balances against a ghost. This broke 8 of 10 sites in one batch run, and it is
exactly what the empty-flex-slot probe in eu-studio check fails on.Fix: wrap the burger widget in a box that hides the whole widget on
desktop:
Or use navBar(), which is immune by construction. The same ghost-slot logic
applies to any html widget whose only content is hidden or absolutely
positioned, sitting in a centered or space-between flex row: the slot
participates in layout even though nothing paints.
Symptom: a headline inside a flex column renders at max-content width and
pushes past 390px.Cause: headings in flex columns shrink to max-content unless given width.Fix:w="100%" on headings inside columns.
Symptom:pos: 'absolute' plus raw="inset:0;" and the overlay is
invisible.Cause: in a flex parent the overlay has no width or height of its own;
inset alone does not size it.Fix: give the overlay explicit w="100%" h="100%" and the parent
pos: 'relative'.
Symptom: a position: fixed mobile menu positions itself relative to the
header instead of the viewport.Cause:backdrop-filter on the nav creates a containing block for fixed
descendants.Fix: toggle the filter off while the overlay is open:
.open { backdrop-filter: none }.
Symptom:check fails at some width with an overflow offender that is a
decorative strip or marquee.Cause: the decoration legitimately extends past the section edge.Fix:raw="overflow:hidden;" on the section that contains it.
Symptom: a mono or nowrap line overflows 390px.Cause:white-space: nowrap (and mono blocks styled that way) wrap
nowhere.Fix: cap the width or allow wrapping below the tablet breakpoint.
Symptom: content renders, styling is partly or fully missing.Cause: one of several CSS lifecycle failures: a stylesheet that 404s (or
301-redirects to the homepage and “serves” as HTML), an unprimed atomic page,
or a stale cache.Fix: run eu-studio doctor. It checks every stylesheet the page enqueues
(asserting content-type, not just status), names the failing ones, and heals
via cache regen plus re-prime with retries. Do not hand-grep page HTML; the
doctor is faster and it is right.
The page renders collapsed, sections stacked at a fraction of their height
Symptom: a previously fine page suddenly renders compressed or z-stacked;
check may fail css-coverage, naming classes no stylesheet defines.Cause: the global class store lost classes the page references. The known
trigger is an Elementor editor session writing back an incomplete store copy.
On real sites the companion plugin blocks the worst case (the
mass-deletion 409) and keeps a restorable backup; on the playground the store
can still lose classes.Fix: redeploy from source (exjsx deploy, idempotent), which rewrites the
store; or on a plugin-guarded site, POST /elementor-ultra/v1/design/classes/restore. Then eu-studio doctor to
confirm.
Styles keep flaking on the playground specifically
Symptom: doctor heals CSS, it breaks again later, repeatedly.Cause: the WASM playground’s css file store is the flaky part, not your
build.Fix:eu-studio carry-css --page <id> once at the end of the build: the
page’s generated CSS is baked in as an inline carrier and survives the file
store. See also the CSS harvest recipe in the eu-studio README for the
last-resort path.
Symptom: body copy that looked fine in the editor is muddy on a real
display.Cause: low-contrast ink on near-black backgrounds; hex values lie about
perceived contrast.Fix: keep body text at roughly #b0b8c0 or lighter on near-black, and
judge contrast in screenshots (eu-studio measure shots), not by hex.
Symptom: every geometry measurement is slightly off; line wraps differ from
the design.Cause: a family referenced only inside raw html widgets or raw= CSS is
invisible to Elementor’s font enqueue and silently falls back.Fix: name the family in a style prop somewhere, or add
fontLoader('Family', [400, 700]) first in the tree. Confirm with
eu-studio measure fonts, which reports which families actually painted.
exjsx lint warns about this (font-not-loaded).
A 422 naming an envelope: the server-side validator is authoritative; fix
the named envelope. The compiler’s build-time gates catch almost all of these
first.
skipped-drifted pages: someone hand-edited the page in Elementor.
Reconcile or consciously --force; see Deploy.
A class-store refusal telling you another project lives here: you are
deploying a side bundle to an occupied site; the merge guard is protecting
the resident project. See Deploy.
Most of this page is encoded in the gates: exjsx lint catches the authoring
mistakes at build time, eu-studio check catches the layout failures in one
call, and doctor diagnoses the CSS lifecycle. Run the gates first; read
this page when a symptom survives them.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"WPOS","description":"WordPress, finally operated. The operator manual for running WordPress sites with WPOS.","colors":{"primary":"#062565","light":"#89CAFF","dark":"#0A3A8F"},"logo":{"light":"https://mintcdn.com/wpos/r3ng18J_nwt1_fD2/logo/light.svg?fit=max\u0026auto=format\u0026n=r3ng18J_nwt1_fD2\u0026q=85\u0026s=67939bfd870e9c049cc8758c0d204b2b","dark":"https://mintcdn.com/wpos/r3ng18J_nwt1_fD2/logo/dark.svg?fit=max\u0026auto=format\u0026n=r3ng18J_nwt1_fD2\u0026q=85\u0026s=3b51beaae8bc10056a48a7979e2003e4","href":"https://wpos.ai"},"favicon":"https://mintcdn.com/wpos/JjJVXqByJvEYoF5u/favicon.png?fit=max\u0026auto=format\u0026n=JjJVXqByJvEYoF5u\u0026q=85\u0026s=72e51f12f02f818bbff4787ef2044acd","navbar":{"primary":{"type":"button","label":"Open the app","href":"https://app.wpos.ai"}},"footer":{"socials":{"x":"https://x.com/wpos_ai","website":"https://wpos.ai"}},"seo":{"metatags":{"og:site_name":"WPOS Docs"}},"fonts":{"family":"Inter Tight"},"integrations":{"posthog":{"apiKey":"phc_WpD8BFKAYUNIpEUU7ggxUue33nwbYg36d2Qyx0AlmqD","apiHost":"https://us.i.posthog.com","sessionRecording":true}},"contextual":{"options":["copy","view"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"wpos","hasAudioNarration":false,"actualSubdomain":"wpos","customDomains":["docs.wpos.ai"],"gitSource":{"type":"github","owner":"wpcursor","repo":"wpos-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae0c45d6c1a15a18d9e413a","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"Introduction","count":38},{"language":"default","tag":"Elementor Ultra","count":27},{"language":"default","tag":"Connectors","count":20},{"language":"default","tag":"Operate","count":11},{"language":"default","tag":"For agencies","count":10},{"language":"default","tag":"Partners","count":10},{"language":"default","tag":"Get started","count":9},{"language":"default","tag":"Build","count":9},{"language":"default","tag":"Examples","count":9},{"language":"default","tag":"Guides","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"html.dark{--background-dark: 11 11 11;--gray-950: 11 11 11;--gray-900: 23 23 23;--default-border-color: 34 34 34;--gray-800: 66 66 66}html.light{--background-light: 255 255 255;--default-border-color: 229 229 229}.demo-embed{margin:1.75rem 0}.demo-embed+.demo-embed{margin-top:2.75rem}.demo-embed video,.demo-embed iframe{display:block;width:100%;aspect-ratio:16 / 9;border:0;border-radius:14px;background:#0B0B0B}.yt-facade{position:relative;display:block;width:100%;aspect-ratio:16 / 9;padding:0;border:0;border-radius:14px;overflow:hidden;cursor:pointer;background:#0B0B0B}.yt-facade-thumb{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .45s ease, filter .3s ease}.yt-facade:hover .yt-facade-thumb{transform:scale(1.02);filter:brightness(.88)}.yt-facade-play{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;width:72px;height:72px;padding:0;border-radius:50%;color:#FFFFFF;background:rgba(6, 37, 101, .88);box-shadow:0 6px 24px rgba(0,0,0,.35);transform:translate(-50%, -50%);transition:transform .2s ease, background .2s ease}.yt-facade-play svg{display:block;flex:none}.yt-facade:hover .yt-facade-play{background:#0A3A8F;transform:translate(-50%, -50%) scale(1.06)}.yt-facade:focus-visible{outline:3px solid #89CAFF;outline-offset:3px}.demo-caption{margin:0.7rem 0 0;text-align:center;font-size:0.85rem;line-height:1.4;color:rgb(115 115 115)}html.dark .demo-caption{color:rgb(150 150 150)}"}],"page":{"pagePath":"ultra/troubleshooting","slug":"/ultra/troubleshooting","pageMetadata":{"title":"Troubleshooting","icon":"wrench","description":"The field-learned gotcha library: symptom, cause, fix. Every entry cost a real debug cycle once.","href":"/ultra/troubleshooting"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"The field-learned gotcha library: symptom, cause, fix. Every entry cost a real debug cycle once.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Each entry below follows the same shape: what you see, why it happens, what\nfixes it. The `,_jsx(_components.a,{href:`/ultra/verify`,children:`verification gates`}),` catch most of these\nmechanically; this page is for when you are staring at the symptom.`]}),`\n`,_jsx(Heading,{level:`2`,id:`layout`,children:`Layout`}),`\n`,_jsx(Heading,{level:`3`,id:`the-header-links-rail-is-centered-instead-of-right-pinned`,children:`The header links rail is centered instead of right-pinned`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Symptom:`}),` in a `,_jsx(_components.code,{children:`justify=\"space-between\"`}),` header, the links cluster sits\ncentered. Invisible at 1200, glaring at 1512 and wider.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cause:`}),` a hidden-on-desktop mobile burger that hides its `,_jsx(_components.strong,{children:`button`}),` but not\nits `,_jsx(_components.strong,{children:`widget`}),`. A bare `,_jsx(_components.code,{children:`\u003chtml>`}),` widget as the third child still occupies the\nright flex slot even when its inner button is `,_jsx(_components.code,{children:`display: none`}),`, so the row\nbalances against a ghost. This broke 8 of 10 sites in one batch run, and it is\nexactly what the `,_jsx(_components.code,{children:`empty-flex-slot`}),` probe in `,_jsx(_components.code,{children:`eu-studio check`}),` fails on.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Fix:`}),` wrap the burger widget in a box that hides the whole widget on\ndesktop:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`jsx`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`jsx`,children:_jsxs(_components.code,{language:`jsx`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`box`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` w`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"hug\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` pad`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` display`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"none\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` mobile`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`display:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'flex'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`html`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` raw`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`burgerHtml`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` />`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`box`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Or use `,_jsx(_components.code,{children:`navBar()`}),`, which is immune by construction. The same ghost-slot logic\napplies to any html widget whose only content is hidden or absolutely\npositioned, sitting in a centered or space-between flex row: the slot\nparticipates in layout even though nothing paints.`]}),`\n`,_jsx(Heading,{level:`3`,id:`a-heading-shrinks-and-overflows-on-mobile`,children:`A heading shrinks and overflows on mobile`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Symptom:`}),` a headline inside a flex column renders at max-content width and\npushes past 390px.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cause:`}),` headings in flex columns shrink to max-content unless given width.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Fix:`}),` `,_jsx(_components.code,{children:`w=\"100%\"`}),` on headings inside columns.`]}),`\n`,_jsx(Heading,{level:`3`,id:`an-absolute-overlay-renders-at-zero-size`,children:`An absolute overlay renders at zero size`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Symptom:`}),` `,_jsx(_components.code,{children:`pos: 'absolute'`}),` plus `,_jsx(_components.code,{children:`raw=\"inset:0;\"`}),` and the overlay is\ninvisible.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cause:`}),` in a flex parent the overlay has no width or height of its own;\ninset alone does not size it.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Fix:`}),` give the overlay explicit `,_jsx(_components.code,{children:`w=\"100%\" h=\"100%\"`}),` and the parent\n`,_jsx(_components.code,{children:`pos: 'relative'`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`a-fixed-overlay-is-trapped-inside-the-nav`,children:`A fixed overlay is trapped inside the nav`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Symptom:`}),` a `,_jsx(_components.code,{children:`position: fixed`}),` mobile menu positions itself relative to the\nheader instead of the viewport.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cause:`}),` `,_jsx(_components.code,{children:`backdrop-filter`}),` on the nav creates a containing block for fixed\ndescendants.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Fix:`}),` toggle the filter off while the overlay is open:\n`,_jsx(_components.code,{children:`.open { backdrop-filter: none }`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`a-marquee-or-bleed-decoration-widens-the-page`,children:`A marquee or bleed decoration widens the page`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Symptom:`}),` `,_jsx(_components.code,{children:`check`}),` fails at some width with an overflow offender that is a\ndecorative strip or marquee.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cause:`}),` the decoration legitimately extends past the section edge.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Fix:`}),` `,_jsx(_components.code,{children:`raw=\"overflow:hidden;\"`}),` on the section that contains it.`]}),`\n`,_jsx(Heading,{level:`3`,id:`text-never-wraps-on-mobile`,children:`Text never wraps on mobile`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Symptom:`}),` a mono or nowrap line overflows 390px.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cause:`}),` `,_jsx(_components.code,{children:`white-space: nowrap`}),` (and mono blocks styled that way) wrap\nnowhere.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Fix:`}),` cap the width or allow wrapping below the tablet breakpoint.`]}),`\n`,_jsx(Heading,{level:`2`,id:`css-and-deploy-state`,children:`CSS and deploy state`}),`\n`,_jsx(Heading,{level:`3`,id:`the-page-loads-but-looks-unstyled-or-broken`,children:`The page loads but looks unstyled or broken`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Symptom:`}),` content renders, styling is partly or fully missing.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cause:`}),` one of several CSS lifecycle failures: a stylesheet that 404s (or\n301-redirects to the homepage and “serves” as HTML), an unprimed atomic page,\nor a stale cache.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Fix:`}),` run `,_jsx(_components.code,{children:`eu-studio doctor`}),`. It checks every stylesheet the page enqueues\n(asserting content-type, not just status), names the failing ones, and heals\nvia cache regen plus re-prime with retries. Do not hand-grep page HTML; the\ndoctor is faster and it is right.`]}),`\n`,_jsx(Heading,{level:`3`,id:`the-page-renders-collapsed-sections-stacked-at-a-fraction-of-their-height`,children:`The page renders collapsed, sections stacked at a fraction of their height`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Symptom:`}),` a previously fine page suddenly renders compressed or z-stacked;\n`,_jsx(_components.code,{children:`check`}),` may fail `,_jsx(_components.code,{children:`css-coverage`}),`, naming classes no stylesheet defines.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cause:`}),` the global class store lost classes the page references. The known\ntrigger is an Elementor editor session writing back an incomplete store copy.\nOn real sites the `,_jsx(_components.a,{href:`/ultra/plugin`,children:`companion plugin`}),` blocks the worst case (the\nmass-deletion 409) and keeps a restorable backup; on the playground the store\ncan still lose classes.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Fix:`}),` redeploy from source (`,_jsx(_components.code,{children:`exjsx deploy`}),`, idempotent), which rewrites the\nstore; or on a plugin-guarded site, `,_jsx(_components.code,{children:`POST /elementor-ultra/v1/design/classes/restore`}),`. Then `,_jsx(_components.code,{children:`eu-studio doctor`}),` to\nconfirm.`]}),`\n`,_jsx(Heading,{level:`3`,id:`styles-keep-flaking-on-the-playground-specifically`,children:`Styles keep flaking on the playground specifically`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Symptom:`}),` doctor heals CSS, it breaks again later, repeatedly.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cause:`}),` the WASM playground’s css file store is the flaky part, not your\nbuild.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Fix:`}),` `,_jsx(_components.code,{children:`eu-studio carry-css --page \u003cid>`}),` once at the end of the build: the\npage’s generated CSS is baked in as an inline carrier and survives the file\nstore. See also the CSS harvest recipe in the eu-studio README for the\nlast-resort path.`]}),`\n`,_jsx(Heading,{level:`2`,id:`design-review-catches`,children:`Design review catches`}),`\n`,_jsx(Heading,{level:`3`,id:`dark-theme-text-is-unreadable-on-some-screens`,children:`Dark theme text is unreadable on some screens`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Symptom:`}),` body copy that looked fine in the editor is muddy on a real\ndisplay.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cause:`}),` low-contrast ink on near-black backgrounds; hex values lie about\nperceived contrast.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Fix:`}),` keep body text at roughly `,_jsx(_components.code,{children:`#b0b8c0`}),` or lighter on near-black, and\njudge contrast in screenshots (`,_jsx(_components.code,{children:`eu-studio measure shots`}),`), not by hex.`]}),`\n`,_jsx(Heading,{level:`3`,id:`fonts-measure-wrong-everywhere`,children:`Fonts measure wrong everywhere`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Symptom:`}),` every geometry measurement is slightly off; line wraps differ from\nthe design.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cause:`}),` a family referenced only inside raw html widgets or `,_jsx(_components.code,{children:`raw=`}),` CSS is\ninvisible to Elementor’s font enqueue and silently falls back.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Fix:`}),` name the family in a style prop somewhere, or add\n`,_jsx(_components.code,{children:`fontLoader('Family', [400, 700])`}),` first in the tree. Confirm with\n`,_jsx(_components.code,{children:`eu-studio measure fonts`}),`, which reports which families actually painted.\n`,_jsx(_components.code,{children:`exjsx lint`}),` warns about this (`,_jsx(_components.code,{children:`font-not-loaded`}),`).`]}),`\n`,_jsx(Heading,{level:`2`,id:`when-a-deploy-is-refused`,children:`When a deploy is refused`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`A 422 naming an envelope:`}),` the server-side validator is authoritative; fix\nthe named envelope. The compiler’s build-time gates catch almost all of these\nfirst.`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[_jsx(_components.code,{children:`skipped-drifted`}),` pages:`]}),` someone hand-edited the page in Elementor.\nReconcile or consciously `,_jsx(_components.code,{children:`--force`}),`; see `,_jsx(_components.a,{href:`/ultra/deploy`,children:`Deploy`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`A class-store refusal telling you another project lives here:`}),` you are\ndeploying a side bundle to an occupied site; the merge guard is protecting\nthe resident project. See `,_jsx(_components.a,{href:`/ultra/deploy`,children:`Deploy`}),`.`]}),`\n`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Most of this page is encoded in the gates: `,_jsx(_components.code,{children:`exjsx lint`}),` catches the authoring\nmistakes at build time, `,_jsx(_components.code,{children:`eu-studio check`}),` catches the layout failures in one\ncall, and `,_jsx(_components.code,{children:`doctor`}),` diagnoses the CSS lifecycle. Run the gates first; read\nthis page when a symptom survives them.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Troubleshooting","icon":"wrench","description":"The field-learned gotcha library: symptom, cause, fix. Every entry cost a real debug cycle once.","href":"/ultra/troubleshooting"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Layout","slug":"layout","depth":2,"children":[{"title":"The header links rail is centered instead of right-pinned","slug":"the-header-links-rail-is-centered-instead-of-right-pinned","depth":3,"children":[]},{"title":"A heading shrinks and overflows on mobile","slug":"a-heading-shrinks-and-overflows-on-mobile","depth":3,"children":[]},{"title":"An absolute overlay renders at zero size","slug":"an-absolute-overlay-renders-at-zero-size","depth":3,"children":[]},{"title":"A fixed overlay is trapped inside the nav","slug":"a-fixed-overlay-is-trapped-inside-the-nav","depth":3,"children":[]},{"title":"A marquee or bleed decoration widens the page","slug":"a-marquee-or-bleed-decoration-widens-the-page","depth":3,"children":[]},{"title":"Text never wraps on mobile","slug":"text-never-wraps-on-mobile","depth":3,"children":[]}]},{"title":"CSS and deploy state","slug":"css-and-deploy-state","depth":2,"children":[{"title":"The page loads but looks unstyled or broken","slug":"the-page-loads-but-looks-unstyled-or-broken","depth":3,"children":[]},{"title":"The page renders collapsed, sections stacked at a fraction of their height","slug":"the-page-renders-collapsed-sections-stacked-at-a-fraction-of-their-height","depth":3,"children":[]},{"title":"Styles keep flaking on the playground specifically","slug":"styles-keep-flaking-on-the-playground-specifically","depth":3,"children":[]}]},{"title":"Design review catches","slug":"design-review-catches","depth":2,"children":[{"title":"Dark theme text is unreadable on some screens","slug":"dark-theme-text-is-unreadable-on-some-screens","depth":3,"children":[]},{"title":"Fonts measure wrong everywhere","slug":"fonts-measure-wrong-everywhere","depth":3,"children":[]}]},{"title":"When a deploy is refused","slug":"when-a-deploy-is-refused","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"wpos","siteName":"WPOS","title":"Troubleshooting - WPOS","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-09T19:02:15.113Z","originalFileLocation":"ultra/troubleshooting.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"The field-learned gotcha library: symptom, cause, fix. Every entry cost a real debug cycle once.\">\u003cmeta data-mint-head name=\"application-name\" content=\"WPOS\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/wpos/p4lnAUWxZyTXLe9X/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/wpos/p4lnAUWxZyTXLe9X/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/wpos/p4lnAUWxZyTXLe9X/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/wpos/p4lnAUWxZyTXLe9X/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/wpos/p4lnAUWxZyTXLe9X/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/wpos/p4lnAUWxZyTXLe9X/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/wpos/p4lnAUWxZyTXLe9X/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/wpos/p4lnAUWxZyTXLe9X/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/wpos/p4lnAUWxZyTXLe9X/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Troubleshooting - WPOS\">\u003cmeta data-mint-head property=\"og:description\" content=\"The field-learned gotcha library: symptom, cause, fix. Every entry cost a real debug cycle once.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"WPOS Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.wpos.ai/ultra/troubleshooting\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://wpos.mintlify.site/_mintlify/api/og/v2?division=Reference\u0026amp;title=Troubleshooting\u0026amp;description=The+field-learned+gotcha+library%3A+symptom%2C+cause%2C+fix.+Every+entry+cost+a+real+debug+cycle+once.\u0026amp;theme=192c5c8437afe107ca6b4ae8\u0026amp;signature=867eaffaf5ea9673010b2b0bac8f221f0fa7f50a8074eace3e26aaa8d9b04a15\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Troubleshooting - WPOS\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The field-learned gotcha library: symptom, cause, fix. Every entry cost a real debug cycle once.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://wpos.mintlify.site/_mintlify/api/og/v2?division=Reference\u0026amp;title=Troubleshooting\u0026amp;description=The+field-learned+gotcha+library%3A+symptom%2C+cause%2C+fix.+Every+entry+cost+a+real+debug+cycle+once.\u0026amp;theme=192c5c8437afe107ca6b4ae8\u0026amp;signature=867eaffaf5ea9673010b2b0bac8f221f0fa7f50a8074eace3e26aaa8d9b04a15\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/wpos/p4lnAUWxZyTXLe9X/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"WPOS\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#062565\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.wpos.ai/ultra/troubleshooting\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/ultra/troubleshooting.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.wpos.ai/#organization\",\"name\":\"WPOS\",\"url\":\"https://docs.wpos.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/wpos/r3ng18J_nwt1_fD2/logo/light.svg?fit=max\u0026auto=format\u0026n=r3ng18J_nwt1_fD2\u0026q=85\u0026s=67939bfd870e9c049cc8758c0d204b2b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.wpos.ai#website\",\"name\":\"WPOS\",\"url\":\"https://docs.wpos.ai\",\"publisher\":{\"@id\":\"https://docs.wpos.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.wpos.ai/ultra/troubleshooting#webpage\",\"url\":\"https://docs.wpos.ai/ultra/troubleshooting\",\"name\":\"Troubleshooting\",\"description\":\"The field-learned gotcha library: symptom, cause, fix. Every entry cost a real debug cycle once.\",\"dateModified\":\"2026-08-09T19:02:15.113Z\",\"isPartOf\":{\"@id\":\"https://docs.wpos.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.wpos.ai/ultra/troubleshooting#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.wpos.ai/ultra/troubleshooting#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Reference\",\"item\":\"https://docs.wpos.ai/ultra/api-card\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Troubleshooting\",\"item\":\"https://docs.wpos.ai/ultra/troubleshooting\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.wpos.ai/ultra/troubleshooting#article\",\"headline\":\"Troubleshooting\",\"name\":\"Troubleshooting\",\"description\":\"The field-learned gotcha library: symptom, cause, fix. Every entry cost a real debug cycle once.\",\"url\":\"https://docs.wpos.ai/ultra/troubleshooting\",\"mainEntityOfPage\":{\"@id\":\"https://docs.wpos.ai/ultra/troubleshooting#webpage\"},\"dateModified\":\"2026-08-09T19:02:15.113Z\",\"publisher\":{\"@id\":\"https://docs.wpos.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.wpos.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"WPOS\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"WPOS","nav":{"global":null,"tabs":[{"tab":"Introduction","pages":[{"title":"Introduction","href":""}]},{"tab":"Partners","pages":[{"title":"Partners","href":"/partners/overview"}]},{"tab":"Connectors","pages":[{"title":"Connectors","href":"/connect/connectors"}]},{"tab":"Elementor Ultra","groups":[{"group":"Get started","pages":[{"title":"Elementor Ultra: Build Elementor Sites with AI Agents (MCP)","sidebarTitle":"Elementor Ultra","icon":"cubes","href":"/ultra/overview"},{"title":"Quickstart: Elementor MCP Setup for Claude Code \u0026 Cursor","sidebarTitle":"Quickstart","icon":"rocket","href":"/ultra/quickstart"},{"title":"Install","icon":"download","href":"/ultra/install"}]},{"group":"Examples","pages":[{"title":"AI-Built Elementor Sites: 8 Real Examples, Filmed Live","sidebarTitle":"Examples","icon":"clapperboard","href":"/ultra/examples/overview"},{"title":"Housemait: the fridge door","href":"/ultra/examples/housemait"},{"title":"Canopy: the greenhouse ledger","href":"/ultra/examples/canopy"},{"title":"Alike.page: the magazine cover","href":"/ultra/examples/alike"},{"title":"Triple Kingdom: the board box","href":"/ultra/examples/triple"},{"title":"Billow: the flight ledger","href":"/ultra/examples/billow"},{"title":"Michael Pumo: the specification","href":"/ultra/examples/pumo"},{"title":"Mat.: the desk","href":"/ultra/examples/mat"},{"title":"Builders Table: the sprint sheet","href":"/ultra/examples/bt26"}]},{"group":"Author","pages":[{"title":"Projects","icon":"folder-tree","href":"/ultra/projects"},{"title":"Styling","icon":"palette","href":"/ultra/styling"},{"title":"Components","icon":"puzzle-piece","href":"/ultra/components"},{"title":"Media and fonts","icon":"image","href":"/ultra/media-and-fonts"}]},{"group":"Ship","pages":[{"title":"Deploy","icon":"upload","href":"/ultra/deploy"},{"title":"Verify","icon":"clipboard-check","href":"/ultra/verify"},{"title":"Measure","icon":"ruler","href":"/ultra/measure"}]},{"group":"Environment","pages":[{"title":"Playground","icon":"bolt","href":"/ultra/playground"},{"title":"Provisioning","icon":"server","href":"/ultra/provisioning"},{"title":"The companion plugin","icon":"plug","href":"/ultra/plugin"}]},{"group":"Recipes","pages":[{"title":"Recipe: clone a site","icon":"clone","href":"/ultra/recipe-clone-a-site"},{"title":"Recipe: agent briefs","icon":"file-lines","href":"/ultra/recipe-agent-briefs"}]},{"group":"Reference","pages":[{"title":"API card","icon":"book","description":"The condensed one-page authoring reference: intrinsics, sx keys, kit helpers, and the gotcha library.","href":"/ultra/api-card"},{"title":"Troubleshooting","icon":"wrench","href":"/ultra/troubleshooting"},{"title":"Elementor + AI Agents: FAQ (Claude Code, Cursor, MCP)","sidebarTitle":"FAQ","icon":"circle-question","description":"Short factual answers to the questions people actually ask about building Elementor sites with Claude Code, Cursor, Codex, or any MCP agent.","href":"/ultra/faq"}]}]}]},"basePath":"","title":"Troubleshooting - WPOS","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":[],"chunks":[]}