.cx{--cx-navy:var(--navy,#134074);--cx-ink:#0b0d12;--cx-muted:#5b6474;--cx-card:#f1f2f4;--cx-line:rgba(11,37,69,0.1);--cx-radius:20px;--cx-ok:#12805c;--cx-ok-bg:#dff5ea;--cx-warn:#8a5a00;--cx-warn-bg:#fdf0d5;--cx-bad:#a3261f;--cx-bad-bg:#fde4e1;color:var(--cx-ink)}.cx *,.cx *::before,.cx *::after{box-sizing:border-box}.cx-grid{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:48px;align-items:start}.cx-preview{position:sticky;top:calc(var(--header-h,72px) + 20px);display:grid;place-items:center;padding:56px 24px;background:#fff;border-radius:28px;box-shadow:0 0 0 1px var(--cx-line)}.cx-phone{position:relative;width:min(320px,100%);aspect-ratio:440 / 956;background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 2px 4px rgba(11,37,69,0.06),0 28px 64px -24px rgba(11,37,69,0.4)}.cx-stage{display:block}.cx-stage .pv-screen{display:block;width:100%;height:auto}.cx-stage .pv-screen[hidden]{display:none}.cx-stage [data-role="primary"]{fill:var(--pv-primary)}.cx-stage [data-role-stroke="primary"]{stroke:var(--pv-primary)}.cx-stage [data-role="card-left"]{fill:var(--pv-card-left)}.cx-stage [data-role="card-right"]{fill:var(--pv-card-right)}.cx-stage [data-role="card-left-text"]{fill:var(--pv-card-left-text)}.cx-stage [data-role="card-right-text"]{fill:var(--pv-card-right-text)}.cx-stage feFlood{flood-color:var(--pv-primary)}.cx-stage [data-role="primary"],.cx-stage [data-role-stroke="primary"],.cx-stage [data-role="card-left"],.cx-stage [data-role="card-right"],.cx-stage [data-role="card-left-text"],.cx-stage [data-role="card-right-text"]{transition:fill 220ms ease,stroke 220ms ease}.cx-stage.is-custom-logo [data-logo="wordmark"]{display:none}.cx-tools{min-width:0}.cx-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.cx-tabs{display:inline-flex;gap:4px;padding:7px;background:#fff;box-shadow:0 0 0 1px var(--cx-line);border-radius:999px}.cx-tab{appearance:none;border:0;background:transparent;padding:12px 26px;border-radius:999px;font:inherit;font-size:16px;font-weight:600;color:var(--cx-ink);cursor:pointer;transition:background 180ms ease,color 180ms ease}.cx-tab:hover{background:rgba(11,37,69,0.06)}.cx-tab[aria-selected="true"]{background:var(--cx-navy);color:#fff;font-weight:700}.cx-linkbtn{appearance:none;border:0;background:transparent;padding:8px 4px;font:inherit;font-size:15px;font-weight:600;color:var(--cx-muted);cursor:pointer;border-radius:8px}.cx-linkbtn:hover{color:var(--cx-navy);text-decoration:underline}.cx-h2{margin:40px 0 18px;font-size:clamp(28px,3vw,38px);font-weight:800;letter-spacing:-0.026em}.cx-h2row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.cx-h2row .cx-h2{margin-bottom:0}.cx-note{margin:12px 0 20px;font-size:14.5px;line-height:1.55;color:var(--cx-muted);max-width:62ch}.cx-card{background:#fff;border-radius:var(--cx-radius);padding:26px 28px}.cx-card + .cx-card{margin-top:16px}.cx-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px}.cx-field{min-width:0}.cx-label{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:15.5px;font-weight:700;line-height:1.3}.cx-swatchrow{display:flex;align-items:center;gap:14px}.cx-swatch{position:relative;flex:0 0 auto;width:54px;height:54px;border-radius:13px;border:1px solid var(--cx-line);cursor:pointer;overflow:hidden}.cx-swatch input[type="color"]{position:absolute;inset:-2px;width:calc(100% + 4px);height:calc(100% + 4px);padding:0;border:0;background:none;cursor:pointer}.cx-swatch input[type="color"]::-webkit-color-swatch-wrapper{padding:0}.cx-swatch input[type="color"]::-webkit-color-swatch{border:0;border-radius:0}.cx-swatch input[type="color"]::-moz-color-swatch{border:0;border-radius:0}.cx-swatch:focus-within{outline:2px solid var(--cx-navy);outline-offset:2px}.cx-hex{min-width:0;width:100%;max-width:150px;padding:8px 10px;border:1px solid transparent;border-radius:10px;background:transparent;font:inherit;font-size:17px;font-weight:700;letter-spacing:0.01em;color:var(--cx-ink);text-transform:uppercase}.cx-hex:hover{border-color:var(--cx-line)}.cx-hex:focus{outline:none;background:#fff;border-color:var(--cx-navy)}.cx-hex[aria-invalid="true"]{border-color:var(--cx-bad);color:var(--cx-bad)}.cx-field[data-locked="true"] .cx-hex{color:var(--cx-muted);pointer-events:none}.cx-field[data-locked="true"] .cx-swatch{opacity:0.55;pointer-events:none}.cx-swaprow{display:flex;justify-content:center;margin:-14px 0 -14px;position:relative;z-index:1}.cx-swap{appearance:none;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--cx-line);background:#fff;color:var(--cx-navy);cursor:pointer;box-shadow:0 3px 10px rgba(11,37,69,0.1);transition:transform 180ms ease}.cx-swap:hover{transform:rotate(180deg)}.cx-swap svg{width:20px;height:20px}.cx-seg{display:inline-flex;gap:4px;padding:5px;background:#e6e9ee;border-radius:12px}.cx-seg button{appearance:none;border:0;background:transparent;padding:9px 16px;border-radius:9px;font:inherit;font-size:14.5px;font-weight:600;color:var(--cx-muted);cursor:pointer}.cx-seg button[aria-pressed="true"]{background:#fff;color:var(--cx-ink);font-weight:700;box-shadow:0 1px 3px rgba(11,37,69,0.12)}.cx-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:0.01em;white-space:nowrap;background:var(--cx-ok-bg);color:var(--cx-ok)}.cx-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.cx-badge[data-level="warn"]{background:var(--cx-warn-bg);color:var(--cx-warn)}.cx-badge[data-level="bad"]{background:var(--cx-bad-bg);color:var(--cx-bad)}.cx-card--upload{display:flex;align-items:center;justify-content:space-between;gap:28px}.cx-upload-copy{min-width:0}.cx-upload-copy p{margin:10px 0 0;font-size:14.5px;line-height:1.55;color:var(--cx-muted);max-width:44ch}.cx-upload-copy .cx-label{margin-bottom:0}.cx-btn{appearance:none;border:0;flex:0 0 auto;padding:15px 34px;border-radius:999px;background:var(--cx-navy);color:#fff;font:inherit;font-size:16px;font-weight:700;cursor:pointer;transition:filter 180ms ease,transform 120ms ease}.cx-btn:hover{filter:brightness(1.15)}.cx-btn:active{transform:translateY(1px)}.cx-filename{display:none;margin-top:10px;font-size:13.5px;font-weight:600;color:var(--cx-navy)}.cx-filename[data-shown="true"]{display:block}.cx-error{display:none;margin-top:10px;font-size:13.5px;font-weight:600;color:var(--cx-bad)}.cx-error[data-shown="true"]{display:block}.cx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}@media (max-width:1040px){.cx-grid{grid-template-columns:minmax(0,1fr);gap:40px}.cx-preview{position:static;padding:44px 24px}.cx-h2{margin-top:36px}}@media (max-width:620px){.cx{padding:64px 18px 76px}.cx-card{padding:22px 20px}.cx-card-grid{grid-template-columns:minmax(0,1fr)}.cx-card--upload{flex-direction:column;align-items:flex-start}.cx-tabs{width:100%;justify-content:space-between}.cx-tab{flex:1;padding:12px 10px;font-size:15px}}@media (prefers-reduced-motion:reduce){.cx *{transition:none !important}.cx-swap:hover{transform:none}}.cx-loading{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;font-size:14px;font-weight:600;color:var(--cx-muted);background:linear-gradient(100deg,#f3f5f8 30%,#fff 50%,#f3f5f8 70%) 0 0 / 300% 100%}@media (prefers-reduced-motion:no-preference){.cx-loading{animation:cx-shimmer 1.4s linear infinite}}@keyframes cx-shimmer{to{background-position:-150% 0}}.cx-loading[hidden]{display:none}.cx-presets{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:20px}.cx-presets-label{font-size:14px;font-weight:600;color:var(--cx-muted)}.cx-preset-list{display:flex;gap:8px}.cx-preset{display:flex;width:44px;height:44px;padding:4px;border:0;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--cx-line);cursor:pointer;transition:transform 150ms ease,box-shadow 150ms ease}.cx-preset span{flex:1}.cx-preset span:first-child{border-radius:8px 0 0 8px}.cx-preset span:last-child{border-radius:0 8px 8px 0}.cx-preset:hover{transform:translateY(-2px)}.cx-preset[aria-pressed="true"]{box-shadow:0 0 0 2px var(--cx-navy)}
