[{"data":1,"prerenderedAt":753},["ShallowReactive",2],{"navigation":3,"\u002Fnuxt-module\u002Fcwa-layer\u002Fstyling":362,"\u002Fnuxt-module\u002Fcwa-layer\u002Fstyling-surround":748},[4,14,36,69,144,345],{"title":5,"path":6,"stem":7,"children":8},"Introduction","\u002Fgetting-started","1.getting-started\u002F1.index",[9,10],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":15,"path":16,"stem":17,"children":18,"page":35},"Guides","\u002Fguides","2.guides",[19,23,27,31],{"title":20,"path":21,"stem":22},"Your First Layout","\u002Fguides\u002Fyour-first-layout","2.guides\u002F1.your-first-layout",{"title":24,"path":25,"stem":26},"Your First Page Template","\u002Fguides\u002Fyour-first-page-template","2.guides\u002F2.your-first-page-template",{"title":28,"path":29,"stem":30},"Your First Component","\u002Fguides\u002Fyour-first-component","2.guides\u002F3.your-first-component",{"title":32,"path":33,"stem":34},"Alternative UI Variants","\u002Fguides\u002Falternative-ui-variants","2.guides\u002F4.alternative-ui-variants",false,{"title":37,"path":38,"stem":39,"children":40,"page":35},"Core Concepts","\u002Fcore-concepts","3.core-concepts",[41,45,49,53,57,61,65],{"title":42,"path":43,"stem":44},"How It All Works","\u002Fcore-concepts\u002Farchitecture","3.core-concepts\u002F1.architecture",{"title":46,"path":47,"stem":48},"The Data Model","\u002Fcore-concepts\u002Fthe-data-model","3.core-concepts\u002F2.the-data-model",{"title":50,"path":51,"stem":52},"Layouts & Pages","\u002Fcore-concepts\u002Flayouts-and-pages","3.core-concepts\u002F3.layouts-and-pages",{"title":54,"path":55,"stem":56},"Dynamic Pages","\u002Fcore-concepts\u002Fdynamic-pages","3.core-concepts\u002F4.dynamic-pages",{"title":58,"path":59,"stem":60},"Components","\u002Fcore-concepts\u002Fcomponents","3.core-concepts\u002F5.components",{"title":62,"path":63,"stem":64},"Draft & Publish Workflow","\u002Fcore-concepts\u002Fdraft-and-publish","3.core-concepts\u002F6.draft-and-publish",{"title":66,"path":67,"stem":68},"The Admin Panel","\u002Fcore-concepts\u002Fadmin-panel","3.core-concepts\u002F7.admin-panel",{"title":70,"path":71,"stem":72,"children":73,"page":35},"Api","\u002Fapi","4.api",[74,78,120,124,128,132,136,140],{"title":75,"path":76,"stem":77},"Bundle Setup","\u002Fapi\u002Fbundle-setup","4.api\u002F1.bundle-setup",{"title":58,"path":79,"stem":80,"children":81,"page":35},"\u002Fapi\u002Fcomponents","4.api\u002F2.components",[82,86,107],{"title":83,"path":84,"stem":85},"Creating Components","\u002Fapi\u002Fcomponents\u002Fcreating-components","4.api\u002F2.components\u002F1.creating-components",{"title":87,"path":88,"stem":89,"children":90,"page":35},"Annotations","\u002Fapi\u002Fcomponents\u002Fannotations","4.api\u002F2.components\u002F2.annotations",[91,95,99,103],{"title":92,"path":93,"stem":94},"Publishable","\u002Fapi\u002Fcomponents\u002Fannotations\u002Fpublishable","4.api\u002F2.components\u002F2.annotations\u002F1.publishable",{"title":96,"path":97,"stem":98},"Uploadable","\u002Fapi\u002Fcomponents\u002Fannotations\u002Fuploadable","4.api\u002F2.components\u002F2.annotations\u002F2.uploadable",{"title":100,"path":101,"stem":102},"Timestamped","\u002Fapi\u002Fcomponents\u002Fannotations\u002Ftimestamped","4.api\u002F2.components\u002F2.annotations\u002F3.timestamped",{"title":104,"path":105,"stem":106},"Explicit Allow Only","\u002Fapi\u002Fcomponents\u002Fannotations\u002Fexplicit-allow-only","4.api\u002F2.components\u002F2.annotations\u002F4.explicit-allow-only",{"title":108,"path":109,"stem":110,"children":111,"page":35},"Built Ins","\u002Fapi\u002Fcomponents\u002Fbuilt-ins","4.api\u002F2.components\u002F3.built-ins",[112,116],{"title":113,"path":114,"stem":115},"Collection Component","\u002Fapi\u002Fcomponents\u002Fbuilt-ins\u002Fcollection-component","4.api\u002F2.components\u002F3.built-ins\u002F1.collection-component",{"title":117,"path":118,"stem":119},"Form Component","\u002Fapi\u002Fcomponents\u002Fbuilt-ins\u002Fform-component","4.api\u002F2.components\u002F3.built-ins\u002F2.form-component",{"title":121,"path":122,"stem":123},"Dynamic & Nested Pages","\u002Fapi\u002Fdynamic-pages","4.api\u002F3.dynamic-pages",{"title":125,"path":126,"stem":127},"Users & Security","\u002Fapi\u002Fusers-and-security","4.api\u002F4.users-and-security",{"title":129,"path":130,"stem":131},"Data Fixtures","\u002Fapi\u002Fdata-fixtures","4.api\u002F5.data-fixtures",{"title":133,"path":134,"stem":135},"Configuration Reference","\u002Fapi\u002Fconfiguration","4.api\u002F6.configuration",{"title":137,"path":138,"stem":139},"Console Commands","\u002Fapi\u002Fconsole-commands","4.api\u002F7.console-commands",{"title":141,"path":142,"stem":143},"Debugging & Profiler","\u002Fapi\u002Fdebugging","4.api\u002F8.debugging",{"title":145,"path":146,"stem":147,"children":148,"page":35},"Nuxt Module","\u002Fnuxt-module","5.nuxt-module",[149,153,166,186,207,211,295,320,324],{"title":150,"path":151,"stem":152},"Module Setup","\u002Fnuxt-module\u002Fmodule-setup","5.nuxt-module\u002F1.module-setup",{"title":154,"path":155,"stem":156,"children":157,"page":35},"Configuration","\u002Fnuxt-module\u002Fconfiguration","5.nuxt-module\u002F2.configuration",[158,162],{"title":159,"path":160,"stem":161},"Nuxt Config","\u002Fnuxt-module\u002Fconfiguration\u002Fnuxt-config","5.nuxt-module\u002F2.configuration\u002F1.nuxt-config",{"title":163,"path":164,"stem":165},"Site Config & SEO","\u002Fnuxt-module\u002Fconfiguration\u002Fsite-config-and-seo","5.nuxt-module\u002F2.configuration\u002F2.site-config-and-seo",{"title":167,"path":168,"stem":169,"children":170,"page":35},"Building Your Ui","\u002Fnuxt-module\u002Fbuilding-your-ui","5.nuxt-module\u002F3.building-your-ui",[171,175,179,182],{"title":172,"path":173,"stem":174},"Layouts","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-layouts","5.nuxt-module\u002F3.building-your-ui\u002F1.creating-layouts",{"title":176,"path":177,"stem":178},"Page Templates","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-page-templates","5.nuxt-module\u002F3.building-your-ui\u002F2.creating-page-templates",{"title":83,"path":180,"stem":181},"\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-components","5.nuxt-module\u002F3.building-your-ui\u002F3.creating-components",{"title":183,"path":184,"stem":185},"CLI Generator","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcwa-cli","5.nuxt-module\u002F3.building-your-ui\u002F4.cwa-cli",{"title":187,"path":188,"stem":189,"children":190,"page":35},"Cwa Components","\u002Fnuxt-module\u002Fcwa-components","5.nuxt-module\u002F4.cwa-components",[191,195,199,203],{"title":192,"path":193,"stem":194},"\u003CCwaComponentGroup \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-component-group","5.nuxt-module\u002F4.cwa-components\u002F1.cwa-component-group",{"title":196,"path":197,"stem":198},"\u003CCwaPage \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-page","5.nuxt-module\u002F4.cwa-components\u002F2.cwa-page",{"title":200,"path":201,"stem":202},"\u003CCwaLink \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-link","5.nuxt-module\u002F4.cwa-components\u002F3.cwa-link",{"title":204,"path":205,"stem":206},"\u003CCwaDefaultLayout \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-default-layout","5.nuxt-module\u002F4.cwa-components\u002F5.cwa-default-layout",{"title":208,"path":209,"stem":210},"The useCwa() API","\u002Fnuxt-module\u002Fcwa-api","5.nuxt-module\u002F5.cwa-api",{"title":212,"path":213,"stem":214,"children":215,"page":35},"Composables","\u002Fnuxt-module\u002Fcomposables","5.nuxt-module\u002F6.composables",[216,224,261,278],{"title":217,"path":218,"stem":219,"children":220,"page":35},"Layout","\u002Fnuxt-module\u002Fcomposables\u002Flayout","5.nuxt-module\u002F6.composables\u002F0.layout",[221],{"title":217,"path":222,"stem":223},"\u002Fnuxt-module\u002Fcomposables\u002Flayout\u002Fuse-cwa-layout","5.nuxt-module\u002F6.composables\u002F0.layout\u002F1.use-cwa-layout",{"title":225,"path":226,"stem":227,"children":228,"page":35},"Component","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent","5.nuxt-module\u002F6.composables\u002F1.component",[229,233,237,241,245,249,253,257],{"title":230,"path":231,"stem":232},"Component (recommended)","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-component","5.nuxt-module\u002F6.composables\u002F1.component\u002F0.use-cwa-component",{"title":234,"path":235,"stem":236},"Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F1.use-cwa-resource",{"title":238,"path":239,"stem":240},"Collection Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-collection-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F2.use-cwa-collection-resource",{"title":242,"path":243,"stem":244},"File Field","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-file-field","5.nuxt-module\u002F6.composables\u002F1.component\u002F3.use-cwa-file-field",{"title":246,"path":247,"stem":248},"Form","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form","5.nuxt-module\u002F6.composables\u002F1.component\u002F4.use-cwa-form",{"title":250,"path":251,"stem":252},"Form Input","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-input","5.nuxt-module\u002F6.composables\u002F1.component\u002F5.use-cwa-form-input",{"title":254,"path":255,"stem":256},"Form Repeated","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-repeated","5.nuxt-module\u002F6.composables\u002F1.component\u002F6.use-cwa-form-repeated",{"title":258,"path":259,"stem":260},"Form Collection","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-collection","5.nuxt-module\u002F6.composables\u002F1.component\u002F7.use-cwa-form-collection",{"title":262,"path":263,"stem":264,"children":265,"page":35},"Admin Manager","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager","5.nuxt-module\u002F6.composables\u002F2.admin-manager",[266,270,274],{"title":267,"path":268,"stem":269},"Manager Tab","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-manager-tab","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F1.use-cwa-resource-manager-tab",{"title":271,"path":272,"stem":273},"Resource Model","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-model","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F2.use-cwa-resource-model",{"title":275,"path":276,"stem":277},"Resource Upload","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-upload","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F3.use-cwa-resource-upload",{"title":279,"path":280,"stem":281,"children":282,"page":35},"Utilities","\u002Fnuxt-module\u002Fcomposables\u002Futilities","5.nuxt-module\u002F6.composables\u002F3.utilities",[283,287,291],{"title":284,"path":285,"stem":286},"Resource Endpoint","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-cwa-resource-endpoint","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F1.use-cwa-resource-endpoint",{"title":288,"path":289,"stem":290},"Query Model","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-query-bound-model","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F2.use-query-bound-model",{"title":292,"path":293,"stem":294},"Resource Route","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-cwa-resource-route","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F3.use-cwa-resource-route",{"title":296,"path":297,"stem":298,"children":299,"page":35},"Component Helpers","\u002Fnuxt-module\u002Fcomponent-helpers","5.nuxt-module\u002F7.component-helpers",[300,304,308,312,316],{"title":301,"path":302,"stem":303},"Images & Media","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fimages-and-uploads","5.nuxt-module\u002F7.component-helpers\u002F1.images-and-uploads",{"title":305,"path":306,"stem":307},"Collections & Pagination","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fcollections-and-pagination","5.nuxt-module\u002F7.component-helpers\u002F2.collections-and-pagination",{"title":309,"path":310,"stem":311},"HTML Content","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fhtml-content","5.nuxt-module\u002F7.component-helpers\u002F3.html-content",{"title":313,"path":314,"stem":315},"Real-Time Updates","\u002Fnuxt-module\u002Fcomponent-helpers\u002Freal-time-updates","5.nuxt-module\u002F7.component-helpers\u002F4.real-time-updates",{"title":317,"path":318,"stem":319},"Forms","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fforms","5.nuxt-module\u002F7.component-helpers\u002F5.forms",{"title":321,"path":322,"stem":323},"Authentication","\u002Fnuxt-module\u002Fauthentication","5.nuxt-module\u002F8.authentication",{"title":325,"path":326,"stem":327,"children":328,"page":35},"Cwa Layer","\u002Fnuxt-module\u002Fcwa-layer","5.nuxt-module\u002F9.cwa-layer",[329,333,337,341],{"title":330,"path":331,"stem":332},"Overview","\u002Fnuxt-module\u002Fcwa-layer\u002Foverview","5.nuxt-module\u002F9.cwa-layer\u002F1.overview",{"title":334,"path":335,"stem":336},"Auth Pages","\u002Fnuxt-module\u002Fcwa-layer\u002Fauth-pages","5.nuxt-module\u002F9.cwa-layer\u002F2.auth-pages",{"title":338,"path":339,"stem":340},"Admin Panel","\u002Fnuxt-module\u002Fcwa-layer\u002Fadmin-panel","5.nuxt-module\u002F9.cwa-layer\u002F3.admin-panel",{"title":342,"path":343,"stem":344},"Styling","\u002Fnuxt-module\u002Fcwa-layer\u002Fstyling","5.nuxt-module\u002F9.cwa-layer\u002F4.styling",{"title":346,"path":347,"stem":348,"children":349,"page":35},"Deployment","\u002Fdeployment","6.deployment",[350,354,358],{"title":351,"path":352,"stem":353},"Docker","\u002Fdeployment\u002Fdocker","6.deployment\u002F1.docker",{"title":355,"path":356,"stem":357},"Kubernetes & Helm","\u002Fdeployment\u002Fkubernetes","6.deployment\u002F2.kubernetes",{"title":359,"path":360,"stem":361},"CI\u002FCD","\u002Fdeployment\u002Fci-cd","6.deployment\u002F3.ci-cd",{"id":363,"title":364,"badge":365,"body":368,"description":741,"extension":742,"links":743,"meta":744,"navigation":745,"path":343,"seo":746,"stem":344,"__hash__":747},"docs\u002F5.nuxt-module\u002F9.cwa-layer\u002F4.styling.md","Styling & CSS Isolation",{"label":366,"color":367},"Draft","amber",{"type":369,"value":370,"toc":736},"minimark",[371,389,394,399,425,432,436,443,517,524,535,539,542,548,599,604,642,648,692,695,729,732],[372,373,374,375,379,380,384,385,388],"p",{},"CWA ships its styles (",[376,377,378],"code",{},"cwa.css",") inside CSS ",[381,382,383],"strong",{},"cascade layers"," on purpose. This is what lets your own site styles take precedence over CWA's without specificity battles or ",[376,386,387],{},"!important",".",[390,391,393],"h2",{"id":392},"why-cwa-styles-are-layered","Why CWA styles are layered",[372,395,396,398],{},[376,397,378],{}," registers its rules in named cascade layers:",[400,401,406],"pre",{"className":402,"code":403,"language":404,"meta":405,"style":405},"language-css shiki shiki-themes github-light github-dark material-theme-palenight","@layer theme, base, cwa, components, utilities;\n","css","",[376,407,408],{"__ignoreMap":405},[409,410,413,417,421],"span",{"class":411,"line":412},"line",1,[409,414,416],{"class":415},"sm4w6","@layer",[409,418,420],{"class":419},"sPB8G"," theme, base, cwa, components, utilities",[409,422,424],{"class":423},"sOvfz",";\n",[372,426,427,428,431],{},"Cascade layers always have ",[381,429,430],{},"lower priority than unlayered CSS",". So any ordinary styles in your app override CWA's automatically — you can theme your site freely and CWA's own styling gets out of the way.",[390,433,435],{"id":434},"the-one-gotcha-unscoped-global-element-styles","The one gotcha: unscoped global element styles",[372,437,438,439,442],{},"That same rule cuts the other way. Because layered styles lose to unlayered ones, ",[381,440,441],{},"bare global element selectors"," in your app beat CWA's styles too:",[400,444,446],{"className":402,"code":445,"language":404,"meta":405,"style":405},"\u002F* ⚠️ unlayered + unscoped — wins over everything, everywhere *\u002F\nh1     { color: red }\na      { text-decoration: underline }\nbutton { border-radius: 0 }\n",[376,447,448,454,478,497],{"__ignoreMap":405},[409,449,450],{"class":411,"line":412},[409,451,453],{"class":452},"sTBSN","\u002F* ⚠️ unlayered + unscoped — wins over everything, everywhere *\u002F\n",[409,455,457,461,464,468,471,475],{"class":411,"line":456},2,[409,458,460],{"class":459},"sCzkn","h1",[409,462,463],{"class":423},"     {",[409,465,467],{"class":466},"ssUTh"," color",[409,469,470],{"class":423},":",[409,472,474],{"class":473},"sc2zw"," red",[409,476,477],{"class":423}," }\n",[409,479,481,484,487,490,492,495],{"class":411,"line":480},3,[409,482,483],{"class":459},"a",[409,485,486],{"class":423},"      {",[409,488,489],{"class":466}," text-decoration",[409,491,470],{"class":423},[409,493,494],{"class":473}," underline",[409,496,477],{"class":423},[409,498,500,503,506,509,511,515],{"class":411,"line":499},4,[409,501,502],{"class":459},"button",[409,504,505],{"class":423}," {",[409,507,508],{"class":466}," border-radius",[409,510,470],{"class":423},[409,512,514],{"class":513},"scSvc"," 0",[409,516,477],{"class":423},[372,518,519,520,523],{},"The CWA ",[381,521,522],{},"admin UI renders inside your app's DOM",", so these rules bleed into the admin chrome — the editor's headings, links, buttons, dialogs, and form controls pick up your site's global styles, which is rarely what you want.",[525,526,528],"callout",{"icon":527},"i-heroicons-information-circle",[372,529,530,531,534],{},"This isn't specific to CWA. Unscoped global element selectors leak into ",[381,532,533],{},"any"," third-party UI you embed — other Nuxt layers, widgets, embeds. Scoping them is general good practice, not a CWA workaround.",[390,536,538],{"id":537},"best-practice-scope-your-global-element-styles","Best practice: scope your global element styles",[372,540,541],{},"Target a content wrapper (or a layer) instead of the bare element, so your styles apply to your content but leave embedded UI — including the CWA admin — untouched.",[372,543,544,547],{},[381,545,546],{},"Do"," — scope to your content:",[400,549,551],{"className":402,"code":550,"language":404,"meta":405,"style":405},".prose h1 { color: red }        \u002F* only your content *\u002F\n.content a { text-decoration: underline }\n",[376,552,553,579],{"__ignoreMap":405},[409,554,555,558,562,565,567,569,571,573,576],{"class":411,"line":412},[409,556,388],{"class":557},"sn4go",[409,559,561],{"class":560},"sRCss","prose",[409,563,564],{"class":459}," h1",[409,566,505],{"class":423},[409,568,467],{"class":466},[409,570,470],{"class":423},[409,572,474],{"class":473},[409,574,575],{"class":423}," }",[409,577,578],{"class":452},"        \u002F* only your content *\u002F\n",[409,580,581,583,586,589,591,593,595,597],{"class":411,"line":456},[409,582,388],{"class":557},[409,584,585],{"class":560},"content",[409,587,588],{"class":459}," a",[409,590,505],{"class":423},[409,592,489],{"class":466},[409,594,470],{"class":423},[409,596,494],{"class":473},[409,598,477],{"class":423},[372,600,601,603],{},[381,602,546],{}," — or put your base styles in your own cascade layer, so they play by the same rules as CWA's:",[400,605,607],{"className":402,"code":606,"language":404,"meta":405,"style":405},"@layer app-base {\n  h1 { color: red }             \u002F* now layered — participates in the cascade order *\u002F\n}\n",[376,608,609,619,637],{"__ignoreMap":405},[409,610,611,613,616],{"class":411,"line":412},[409,612,416],{"class":415},[409,614,615],{"class":419}," app-base ",[409,617,618],{"class":423},"{\n",[409,620,621,624,626,628,630,632,634],{"class":411,"line":456},[409,622,623],{"class":459},"  h1",[409,625,505],{"class":423},[409,627,467],{"class":466},[409,629,470],{"class":423},[409,631,474],{"class":473},[409,633,575],{"class":423},[409,635,636],{"class":452},"             \u002F* now layered — participates in the cascade order *\u002F\n",[409,638,639],{"class":411,"line":480},[409,640,641],{"class":423},"}\n",[372,643,644,647],{},[381,645,646],{},"Don't"," — leave bare, unlayered element resets at the top level of a global stylesheet:",[400,649,651],{"className":402,"code":650,"language":404,"meta":405,"style":405},"h1 { … }   a { … }   button { … }   ul { … }\n",[376,652,653],{"__ignoreMap":405},[409,654,655,657,659,662,665,668,670,672,674,677,679,681,683,686,688,690],{"class":411,"line":412},[409,656,460],{"class":459},[409,658,505],{"class":423},[409,660,661],{"class":419}," … ",[409,663,664],{"class":423},"}",[409,666,667],{"class":459},"   a",[409,669,505],{"class":423},[409,671,661],{"class":419},[409,673,664],{"class":423},[409,675,676],{"class":459},"   button",[409,678,505],{"class":423},[409,680,661],{"class":419},[409,682,664],{"class":423},[409,684,685],{"class":459},"   ul",[409,687,505],{"class":423},[409,689,661],{"class":419},[409,691,641],{"class":423},[372,693,694],{},"Practical options:",[696,697,698,710,723],"ul",{},[699,700,701,702,705,706,709],"li",{},"Wrap your rendered content in a container (",[376,703,704],{},".prose",", ",[376,707,708],{},".content",", a layout wrapper) and scope element styles to it.",[699,711,712,713,719,720,722],{},"Use the ",[483,714,718],{"href":715,"rel":716},"https:\u002F\u002Fgithub.com\u002Ftailwindlabs\u002Ftailwindcss-typography",[717],"nofollow","Tailwind typography plugin","'s ",[376,721,561],{}," classes instead of global element resets.",[699,724,725,726,728],{},"Declare your own ",[376,727,416],{}," for base element styles so they slot into the cascade-layer order rather than trumping every layered style.",[372,730,731],{},"Any of these keeps your site looking exactly as you intend while leaving the CWA admin chrome (and other third-party UI) styled the way it ships.",[733,734,735],"style",{},"html pre.shiki code .sm4w6, html code.shiki .sm4w6{--shiki-light:#D73A49;--shiki-light-font-style:inherit;--shiki-default:#F97583;--shiki-default-font-style:inherit;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sPB8G, html code.shiki .sPB8G{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#BABED8}html pre.shiki code .sOvfz, html code.shiki .sOvfz{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sTBSN, html code.shiki .sTBSN{--shiki-light:#6A737D;--shiki-light-font-style:inherit;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sCzkn, html code.shiki .sCzkn{--shiki-light:#22863A;--shiki-default:#85E89D;--shiki-dark:#FFCB6B}html pre.shiki code .ssUTh, html code.shiki .ssUTh{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#B2CCD6}html pre.shiki code .sc2zw, html code.shiki .sc2zw{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#BABED8}html pre.shiki code .scSvc, html code.shiki .scSvc{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#F78C6C}html pre.shiki code .sn4go, html code.shiki .sn4go{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#89DDFF}html pre.shiki code .sRCss, html code.shiki .sRCss{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#FFCB6B}",{"title":405,"searchDepth":456,"depth":456,"links":737},[738,739,740],{"id":392,"depth":456,"text":393},{"id":434,"depth":456,"text":435},{"id":537,"depth":456,"text":538},"How CWA's bundled CSS uses cascade layers so your app's styles win — and why you should scope global element styles to keep them out of the admin UI.","md",null,{},{"title":342},{"title":364,"description":741},"nYqnxOLERvUFVAwqv-5EbPUx7NqaL5Ooc6YT5r4Z4Es",[749,751],{"title":338,"path":339,"stem":340,"description":750,"children":-1},"The built-in CWA admin — pages, edit mode, the resource manager, and how to extend it with custom manager tabs.",{"title":351,"path":352,"stem":353,"description":752,"children":-1},"The Docker Compose setup for local development and production — services, environment variables, volumes, and build workflow.",1783701667280]