/* Approved CamboPost-MiniApp-Prototype: exact palette, compact 420px layout,
   Khmer type, Crystal icons. This scoped layer overrides obsolete experiments. */
#cpApprovedApp{--bg:#f5f3fb;--panel:rgba(255,255,255,.84);--solid:#fff;--text:#25233d;--muted:#858198;--violet:#7756d9;--border:#e8e3f3;--faint:#f6f3fd;--shadow:0 12px 35px #5740920b;--nav:rgba(255,255,255,.91);--nv-bg:var(--bg);--nv-panel:var(--solid);--nv-input:var(--faint);--nv-elev:var(--faint);--nv-stroke:var(--border);--nv-text:var(--text);--nv-dim:var(--muted);--nv-soft:var(--muted);--nv-accent:var(--violet);--nv-lilac:var(--violet);--nv-shadow:#5740920b;color-scheme:light;background:#e9e8f0!important;color:var(--text)!important;margin:0!important;padding:0!important;font:400 13px/1.6 'Noto Sans Khmer',Arial,sans-serif!important;-webkit-font-smoothing:antialiased;}
#cpApprovedApp[data-mini-theme="dark"]{color-scheme:dark;--bg:#11121e;--panel:rgba(32,32,51,.86);--solid:#25243a;--text:#f4f1ff;--muted:#aaa4bc;--violet:#baa1ff;--border:#39364e;--faint:#191928;--shadow:0 15px 35px #00000018;--nav:rgba(35,34,54,.92);--nv-shadow:#00000018;background:#0d0d17!important;}
#cpApprovedApp *{box-sizing:border-box;}#cpApprovedApp button,#cpApprovedApp input,#cpApprovedApp textarea,#cpApprovedApp select{font-family:'Noto Sans Khmer',Arial,sans-serif!important;}#cpApprovedApp button{cursor:pointer;}#cpApprovedApp button:disabled{cursor:wait;opacity:.6;}#cpApprovedApp button:focus-visible,#cpApprovedApp a:focus-visible{outline:3px solid #ac92f3!important;outline-offset:3px!important;}#cpApprovedApp button,#cpApprovedApp a{-webkit-tap-highlight-color:transparent;}
#cpApprovedApp .hidden,#cpApprovedApp [hidden]{display:none!important;}#cpApprovedApp .ca-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;}
#cpApprovedApp #miniAppShell{position:relative!important;display:flex!important;flex-direction:column!important;width:min(100%,420px)!important;max-width:420px!important;height:100dvh!important;min-height:0!important;margin:0 auto!important;overflow:hidden!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;background:radial-gradient(ellipse 350px 290px at 100% 6%,#d9d0f654,transparent),linear-gradient(160deg,#fbfaff,var(--bg) 70%)!important;}
#cpApprovedApp[data-mini-theme="dark"] #miniAppShell{background:radial-gradient(ellipse 340px 310px at 100% 5%,#7855c925,transparent),linear-gradient(155deg,#1b192a,var(--bg) 60%)!important;}
#cpApprovedApp .ca-icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
#cpApprovedApp .ca-top{position:relative!important;flex:0 0 62px!important;height:62px!important;min-height:62px!important;width:calc(100% - 34px)!important;max-width:none!important;left:auto!important;top:auto!important;transform:none!important;margin:calc(15px + env(safe-area-inset-top,0px)) 17px 0!important;padding:10px 12px!important;display:flex!important;align-items:center!important;gap:10px!important;border:1px solid var(--border)!important;border-radius:21px!important;background:var(--panel)!important;backdrop-filter:blur(22px)!important;-webkit-backdrop-filter:blur(22px)!important;box-shadow:var(--shadow)!important;z-index:10!important;}
#cpApprovedApp .ca-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);flex-shrink:0;}#cpApprovedApp .ca-logo{width:37px;height:37px;border-radius:11px;object-fit:cover;}#cpApprovedApp .ca-brand strong{display:block;font:750 16px/1.15 Arial,sans-serif;letter-spacing:-.5px;}#cpApprovedApp .ca-brand small{display:block;font:700 8px/1.25 Arial,sans-serif;letter-spacing:1.8px;margin-top:4px;color:var(--muted);}#cpApprovedApp .ca-grow{flex:1;}
#cpApprovedApp .ca-language{font-size:10px;color:var(--violet);background:var(--faint);padding:4px 8px;border-radius:7px;white-space:nowrap;}
#cpApprovedApp #miniThemeToggle{width:35px!important;height:35px!important;min-width:35px!important;flex:0 0 35px!important;border:0!important;box-shadow:none!important;border-radius:12px!important;background:var(--faint)!important;color:var(--violet)!important;display:grid!important;place-items:center!important;padding:0!important;}
#cpApprovedApp #miniThemeToggle .ca-icon{width:19px;height:19px;}#cpApprovedApp[data-mini-theme="light"] .cpMoonIcon,#cpApprovedApp[data-mini-theme="dark"] .cpSunIcon{display:block!important;}#cpApprovedApp[data-mini-theme="dark"] .cpMoonIcon,#cpApprovedApp[data-mini-theme="light"] .cpSunIcon{display:none!important;}
#cpApprovedApp #miniScrollRoot{position:relative!important;display:block!important;flex:1 1 auto!important;width:100%!important;min-height:0!important;height:auto!important;margin:0!important;padding:0 17px calc(110px + env(safe-area-inset-bottom,0px))!important;overflow-y:auto!important;overflow-x:clip!important;background:transparent!important;scroll-behavior:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-width:none;}
#cpApprovedApp #miniScrollRoot::-webkit-scrollbar{display:none;}#cpApprovedApp #cpLaunchScreen{display:block!important;min-height:0!important;padding:0!important;width:100%!important;max-width:100%!important;margin:0!important;}
#cpApprovedApp:not([data-v8-home-tab="create"]) #cpLaunchScreen>.ca-source-only,#cpApprovedApp[data-stage="editor"] #cpLaunchScreen,#cpApprovedApp[data-stage="results"] #cpLaunchScreen{display:none!important;}
#cpApprovedApp .ca-intro{padding:18px 3px 14px;}#cpApprovedApp .ca-eyebrow{font:600 10px/1.5 'Noto Sans Khmer',Arial,sans-serif;letter-spacing:0;color:var(--violet);display:flex;align-items:center;gap:7px;}#cpApprovedApp .ca-eyebrow:before{content:'';width:6px;height:6px;background:#9b7bea;border-radius:50%;box-shadow:0 0 0 4px #9775dc16;}
#cpApprovedApp .ca-intro h1{font:650 23px/1.7 'Noto Sans Khmer',Arial,sans-serif!important;letter-spacing:-.4px!important;margin:7px 0 2px!important;color:var(--text)!important;}#cpApprovedApp .ca-intro p{font:400 11.5px/1.85 'Noto Sans Khmer',Arial,sans-serif!important;color:var(--muted)!important;margin:0!important;}#cpApprovedApp .ca-heading-art{float:right;width:55px;height:55px;margin-top:17px;}
#cpApprovedApp .ca-mode{position:relative;display:flex;gap:11px;align-items:center;padding:11px 15px;border:1px solid #bda7eb77;border-radius:18px;background:linear-gradient(110deg,#ede6fc77,var(--panel));box-shadow:var(--shadow);}
#cpApprovedApp[data-mini-theme="dark"] .ca-mode{background:linear-gradient(115deg,#7450b52c,var(--panel));}#cpApprovedApp .ca-mode img{width:44px;height:44px;}#cpApprovedApp .ca-mode strong{font:700 14px/1.3 Arial,sans-serif;letter-spacing:-.2px;}#cpApprovedApp .ca-mode p{margin:4px 0 0;color:var(--muted);font-size:10.5px;line-height:1.6;}#cpApprovedApp .ca-check{width:23px;height:23px;flex-shrink:0;display:grid;place-items:center;background:#8b6cde;border-radius:50%;color:white;margin-left:auto;}#cpApprovedApp .ca-check .ca-icon{width:14px;height:14px;stroke-width:2.4;}
#cpApprovedApp .ca-flow{display:flex;align-items:center;gap:7px;padding:14px 10px 12px;font-size:10px;line-height:1.5;color:var(--muted);white-space:nowrap;}#cpApprovedApp .ca-flow span{display:flex;align-items:center;gap:6px;}#cpApprovedApp .ca-flow b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font:600 10px/1 Arial,sans-serif;border:1px solid var(--border);background:var(--panel);}#cpApprovedApp .ca-flow span.active{color:var(--violet);font-weight:650;}#cpApprovedApp .ca-flow span.active b{background:#8a67df;border-color:#8a67df;color:#fff;}#cpApprovedApp .ca-flow i{height:1px;background:var(--border);flex:1;min-width:4px;}
#cpApprovedApp #caComposer{display:block!important;min-height:0!important;height:auto!important;max-height:none!important;width:100%!important;border:1px solid var(--border)!important;border-radius:23px!important;background:var(--panel)!important;box-shadow:var(--shadow)!important;padding:17px!important;margin:0!important;overflow:visible!important;}
#cpApprovedApp #caComposer:before,#cpApprovedApp #caComposer:after{display:none!important;}#cpApprovedApp .ca-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:6px;}#cpApprovedApp .ca-label-row strong{font-size:13px;font-weight:650;}
#cpApprovedApp #caPaste{display:flex;align-items:center;gap:4px;background:var(--faint);color:var(--violet);font-size:10px;padding:6px 9px;border:0;border-radius:9px;white-space:nowrap;}#cpApprovedApp #caPaste .ca-icon{width:13px;height:13px;}
#cpApprovedApp .ca-url{display:flex!important;align-items:center;gap:8px;height:53px;min-height:53px;background:var(--faint);border:1px solid var(--border);border-radius:13px;padding:0 12px;box-shadow:inset 0 1px 2px #30204002;}
#cpApprovedApp .ca-url:focus-within{border-color:#a78be6;box-shadow:0 0 0 3px #b49ce51a;}#cpApprovedApp .ca-url .ca-icon{width:19px;height:19px;color:#a39bb8;}
#cpApprovedApp #sourceUrl{width:100%!important;min-width:0!important;background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;color:var(--text)!important;height:46px!important;min-height:0!important;max-height:none!important;padding:0!important;border-radius:0!important;font:400 12px/1.6 'Noto Sans Khmer',Arial,sans-serif!important;}#cpApprovedApp #sourceUrl::placeholder{color:var(--muted)!important;font-size:11px!important;opacity:1;}
#cpApprovedApp #getMedia{position:relative!important;margin:12px 0 0!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:10px!important;height:49px!important;min-height:49px!important;width:100%!important;border:0!important;padding:0 14px!important;border-radius:13px!important;background:linear-gradient(115deg,#8261d9,#7351cf)!important;box-shadow:0 6px 18px #8c66dc24,inset 0 1px 0 #ffffff30!important;color:white!important;font:600 13px/1.5 'Noto Sans Khmer',Arial,sans-serif!important;overflow:hidden!important;}
#cpApprovedApp #getMedia .ca-icon{width:17px;height:17px;}#cpApprovedApp #getMedia:before,#cpApprovedApp #getMedia:after{display:none!important;}#cpApprovedApp #getMedia .cpMediaFetchCopy strong{font-size:12px!important;}#cpApprovedApp #getMedia .cpMediaFetchCopy small{font-size:9px!important;}#cpApprovedApp #miniNotice{font-size:11px;line-height:1.8;margin:12px 0 0;color:var(--violet);}
#cpApprovedApp .ca-brands{display:flex;align-items:center;justify-content:center;gap:11px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border);}#cpApprovedApp .ca-brands small{font-size:9px;color:var(--muted);margin-right:3px;}
#cpApprovedApp .ca-social{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;}#cpApprovedApp .ca-social i{display:block;width:15px;height:15px;background:currentColor;mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;}
#cpApprovedApp .ca-fb{background:#1877f215;color:#1877f2;}#cpApprovedApp .ca-fb i{mask-image:url('/brands/facebook.svg');-webkit-mask-image:url('/brands/facebook.svg');}#cpApprovedApp .ca-tt{background:#15151b;color:#fff;}#cpApprovedApp .ca-tt i{mask-image:url('/brands/tiktok.svg');-webkit-mask-image:url('/brands/tiktok.svg');}#cpApprovedApp .ca-yt{background:#ff375518;color:#f04457;}#cpApprovedApp .ca-yt i{mask-image:url('/brands/youtube.svg');-webkit-mask-image:url('/brands/youtube.svg');}#cpApprovedApp .ca-ig{background:#d84ca116;color:#d65d9e;}#cpApprovedApp .ca-ig i{mask-image:url('/brands/instagram.svg');-webkit-mask-image:url('/brands/instagram.svg');}
#cpApprovedApp .ca-section-label{font-size:11px;font-weight:600;margin:20px 3px 10px;color:var(--muted);}#cpApprovedApp .ca-account{display:flex;width:100%;align-items:center;text-align:left;border:1px solid var(--border);background:var(--panel);padding:12px;border-radius:17px;gap:10px;box-shadow:var(--shadow);color:var(--text);}
#cpApprovedApp .ca-account img{width:38px;height:38px;}#cpApprovedApp .ca-account strong{font-size:11.5px;font-weight:600;display:block;}#cpApprovedApp .ca-account small{display:block;font-size:10px;color:var(--muted);line-height:1.7;margin-top:3px;}#cpApprovedApp .ca-account>.ca-icon{width:17px;height:17px;color:#a8a0bb;margin-left:auto;}
#cpApprovedApp .ca-tip{display:flex;gap:10px;align-items:center;padding:11px 6px;color:var(--muted);font-size:10px;line-height:1.8;}#cpApprovedApp .ca-tip>.ca-icon{width:17px;height:17px;color:#a592c9;}#cpApprovedApp .ca-tip strong{font-weight:550;color:var(--text);}
#cpApprovedApp #realDefaultsPanel{border:1px solid var(--border)!important;border-radius:17px!important;margin:10px 0 0!important;background:var(--panel)!important;box-shadow:var(--shadow)!important;}#cpApprovedApp #realDefaultsPanel .cpCardTitle{padding:12px!important;}#cpApprovedApp #realDefaultsPanel .cpCardBody{padding:0 12px 12px!important;}#cpApprovedApp #realDefaultsPanel h2{font-size:13px!important;}#cpApprovedApp #realDefaultsPanel p{font-size:10px!important;}
#cpApprovedApp #cpMiniBottomNav{position:absolute!important;bottom:calc(17px + env(safe-area-inset-bottom,0px))!important;left:17px!important;right:17px!important;top:auto!important;transform:none!important;width:auto!important;max-width:none!important;height:70px!important;min-height:70px!important;padding:6px!important;display:grid!important;grid-template-columns:1fr 1.2fr 1fr!important;gap:5px!important;border:1px solid var(--border)!important;border-radius:23px!important;background:var(--nav)!important;backdrop-filter:blur(25px)!important;-webkit-backdrop-filter:blur(25px)!important;box-shadow:0 10px 30px #28203c0b!important;z-index:20!important;}
#cpApprovedApp #cpMiniBottomNav .cpMiniNavBtn{height:56px!important;min-height:56px!important;border:0!important;border-radius:17px!important;background:transparent!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:7px!important;color:var(--muted)!important;font:400 10px/1.4 'Noto Sans Khmer',Arial,sans-serif!important;padding:0!important;box-shadow:none!important;}
#cpApprovedApp #cpMiniBottomNav .cpMiniNavBtn.is-active{background:#a27de518!important;color:var(--violet)!important;}#cpApprovedApp #cpMiniBottomNav .cpMiniNavBtn:after,#cpApprovedApp #cpMiniBottomNav .cpMiniNavBtn:before{display:none!important;}
#cpApprovedApp .ca-plus{display:grid;place-items:center;background:linear-gradient(140deg,#9b79e6,#7750d4);color:white;width:32px;height:32px;flex-shrink:0;border-radius:12px;box-shadow:0 4px 10px #8e68d322;}#cpApprovedApp .ca-plus .ca-icon{width:19px;height:19px;stroke-width:2;}
#cpApprovedApp[data-stage="editor"] #cpMiniBottomNav,#cpApprovedApp[data-stage="results"] #cpMiniBottomNav{display:none!important;}#cpApprovedApp .cpMiniAppFooter{display:none!important;}#cpApprovedApp .ca-toast{position:absolute;z-index:45;left:25px;right:25px;bottom:100px;background:var(--text);color:var(--bg);border-radius:14px;padding:13px 15px;font-size:11px;line-height:1.8;box-shadow:0 6px 24px #0002;}
/* Real editor, membership data, community and publishing retain existing logic. */
#cpApprovedApp .cpV8ScreenIntro{padding:23px 2px 12px!important;margin:0!important;}#cpApprovedApp .cpV8ScreenIntro h2{font:650 21px/1.8 'Noto Sans Khmer',Arial,sans-serif!important;margin:0!important;color:var(--text)!important;}#cpApprovedApp .cpV8ScreenIntro p{font:400 11px/1.85 'Noto Sans Khmer',Arial,sans-serif!important;color:var(--muted)!important;}#cpApprovedApp .cpV8ScreenEyebrow{display:none!important;}
#cpApprovedApp #cpMembershipCard,#cpApprovedApp .cpCommunitySection,#cpApprovedApp #editorPanel,#cpApprovedApp #resultPanel{width:100%!important;max-width:100%!important;margin:0!important;}
#cpApprovedApp #cpMembershipCard{border:1px solid var(--border)!important;border-radius:22px!important;background:var(--panel)!important;box-shadow:var(--shadow)!important;padding:15px!important;}#cpApprovedApp .cpMemberFacts b{font-family:Manrope,'Noto Sans Khmer',sans-serif!important;}#cpApprovedApp .cpMemberHeading b{font-size:13px!important;}#cpApprovedApp .cpMemberNote{font-size:11px!important;line-height:1.8!important;}
#cpApprovedApp .cpCommunitySection{background:transparent!important;border:0!important;box-shadow:none!important;}#cpApprovedApp .cpCommunityLink{background:var(--panel)!important;border:1px solid var(--border)!important;border-radius:17px!important;box-shadow:var(--shadow)!important;}#cpApprovedApp .cpCommunityLink b{font-size:12px!important;}#cpApprovedApp .cpCommunityLink small{font-family:Manrope,sans-serif!important;}
#cpApprovedApp #editorPanel{padding-top:17px!important;}#cpApprovedApp .cpNativeEditorTitle h2{font:650 18px/1.8 'Noto Sans Khmer',Arial,sans-serif!important;}#cpApprovedApp .cpNativeEditorTitle small{font-size:8px!important;}#cpApprovedApp .cpEditorPanel{background:var(--panel)!important;border:1px solid var(--border)!important;border-radius:20px!important;}#cpApprovedApp .cpEditorTabs{background:var(--faint)!important;border:1px solid var(--border)!important;}
#cpApprovedApp #publishBar{position:absolute!important;left:12px!important;right:12px!important;bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;top:auto!important;transform:none!important;width:auto!important;max-width:none!important;min-height:65px!important;padding:9px 12px!important;border:1px solid var(--border)!important;border-radius:18px!important;background:var(--nav)!important;z-index:25!important;box-shadow:var(--shadow)!important;}#cpApprovedApp #publishBtn{background:linear-gradient(115deg,#8261d9,#7351cf)!important;min-height:45px!important;border-radius:12px!important;}#cpApprovedApp .cpDockSummary strong{font-size:11px!important;}#cpApprovedApp .cpDockSummary small{font-size:10px!important;}
@media(min-width:600px){#cpApprovedApp{padding:24px!important;}#cpApprovedApp #miniAppShell{height:calc(100dvh - 48px)!important;border:1px solid var(--border)!important;border-radius:30px!important;box-shadow:0 25px 65px #17152a12!important;}}
@media(max-width:350px){#cpApprovedApp #miniScrollRoot{padding-left:12px!important;padding-right:12px!important;}#cpApprovedApp #cpMiniBottomNav{left:12px!important;right:12px!important;}#cpApprovedApp .ca-flow{font-size:9px;padding-left:4px;padding-right:4px;gap:5px;}#cpApprovedApp .ca-intro h1{font-size:21px!important;}#cpApprovedApp #caComposer{padding:14px!important;}#cpApprovedApp .ca-heading-art{width:46px;height:46px;}#cpApprovedApp .ca-brands{gap:8px;}#cpApprovedApp .ca-intro p{font-size:10.5px!important;}#cpApprovedApp #cpMiniBottomNav .cpMiniNavBtn{font-size:9px!important;gap:5px!important;}#cpApprovedApp .ca-top{gap:6px!important;padding:10px!important;}}
@media(max-width:599px){#cpApprovedApp:has(#sourceUrl:focus) #cpMiniBottomNav{visibility:hidden!important;pointer-events:none!important;}}
@media(prefers-reduced-motion:reduce){#cpApprovedApp *,#cpApprovedApp *:before,#cpApprovedApp *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}

/* Working Khmer/EN selector: same locale labels as official Web; approved layout retained. */
#cpApprovedApp .ca-language-switch{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--border);border-radius:10px;background:var(--faint);flex-shrink:0;}
#cpApprovedApp .ca-language-switch button{min-width:28px;min-height:29px;line-height:1.35;padding:3px 5px;border:0;border-radius:7px;color:var(--muted);background:transparent;font-size:10px;white-space:nowrap;}
#cpApprovedApp .ca-language-switch button.is-active{color:var(--violet);background:var(--solid);box-shadow:0 1px 4px #30204010;font-weight:600;}
#cpApprovedApp .ca-language-switch button:focus-visible{outline:2px solid var(--violet)!important;outline-offset:2px!important;}
#cpApprovedApp[data-language="en"] .ca-intro h1{font-family:Manrope,Arial,sans-serif!important;line-height:1.7!important;}
@media(max-width:350px){#cpApprovedApp .ca-top{gap:6px!important;padding-inline:9px!important;}#cpApprovedApp .ca-brand{gap:6px;}#cpApprovedApp .ca-brand strong{font-size:14px;}#cpApprovedApp .ca-logo{width:33px;height:33px;}#cpApprovedApp .ca-language-switch button{padding-inline:4px;min-width:25px;font-size:9px;}#cpApprovedApp #miniThemeToggle{width:31px!important;min-width:31px!important;flex-basis:31px!important;}}
