/* ============================================================
 * Welcoma Widget — Optimized CSS
 * Fully scoped, no global selectors, preserves all JS variables
 * ============================================================ */
.welcoma-root,
.welcoma-root * { box-sizing: border-box; }
:root { --welcoma-color-text: #111827; --welcoma-color-text-muted: #6B7280; --welcoma-color-white: #FFFFFF; --welcoma-color-bg: #F6F7F9; --welcoma-color-white-hover: #FAFAFA; --welcoma-color-border: #E5E7EB; --welcoma-color-accent: #111111; --welcoma-color-accent-hover: #1a1a1a; --welcoma-color-success-bg: #ECFDF5; --welcoma-color-success-text: #047857; --welcoma-color-success-border: #A7F3D0; --welcoma-color-success-dot: #10B981; --welcoma-color-error-bg: #FEF2F2; --welcoma-color-error-text: #B91C1C; --welcoma-color-error-border: #FECACA; --welcoma-radius-app: 14px; --welcoma-radius-card: 12px; --welcoma-radius-md: 8px; --welcoma-radius-sm: 6px; --welcoma-radius-xs: 5px; --welcoma-radius-pill: 9999px; --welcoma-radius-circle: 50%; --welcoma-text-2xs: 9px; --welcoma-text-xs: 11px; --welcoma-text-sm: 11.5px; --welcoma-text-base: 13px; --welcoma-text-md: 14px; --welcoma-text-lg: 15px; --welcoma-text-xl: 21px; --welcoma-space-1: 4px; --welcoma-space-2: 8px; --welcoma-space-3: 12px; --welcoma-space-4: 16px; --welcoma-space-5: 20px; --welcoma-space-6: 24px; --welcoma-space-7: 28px; --welcoma-space-8: 32px; --welcoma-space-10: 40px; --welcoma-size-icon-sm: 28px; --welcoma-size-icon-md: 36px; --welcoma-size-icon-lg: 36px; --welcoma-size-toggle-w: 36px; --welcoma-size-toggle-h: 20px; --welcoma-size-toggle-knob: 16px; --welcoma-size-input-h: 36px; --welcoma-size-header-h: 56px; --welcoma-transition-fast: .15s; --welcoma-transition-base: .2s; --welcoma-transition-slow: .3s; --welcoma-shadow-toggle: 0 1px 2px rgba(0, 0, 0, .1); --welcoma-shadow-widget: 0 4px 12px rgba(0, 0, 0, .15); --welcoma-shadow-device-tab: 0 1px 2px rgba(0, 0, 0, .04); --welcoma-shadow-focus-ring: 0 0 0 4px var(--welcoma-color-white); font-size: var(--welcoma-text-md); line-height: 1.5; color: var(--welcoma-color-text); }
.welcoma-root { font-family: var(--welcoma-widget-font-family); position: fixed; z-index: 2147483000; bottom: var(--welcoma-vertical-offset, 20px); width: var(--welcoma-icon-size, 60px); height: var(--welcoma-icon-size, 60px); margin: 0; padding: 0; border: 0;}
.welcoma-root.welcoma-pos-right { right: var(--welcoma-horizontal-offset, 20px); left: auto; }
.welcoma-root.welcoma-pos-left { left: var(--welcoma-horizontal-offset, 20px); right: auto; }
/* ============================================================
 * Launcher Button
 * ============================================================ */
.welcoma-root .welcoma-launcher { position: fixed; z-index: 2147483000; width: var(--welcoma-icon-size, 60px); height: var(--welcoma-icon-size, 60px); border: none; border-radius: 50%; background: var(--welcoma-main-icon-bg, var(--welcoma-color-accent)); color: var(--welcoma-icon-color, #ffffff); cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px var(--welcoma-space-5) rgba(0, 0, 0, .25); transition: transform .15s ease, box-shadow .15s ease; animation: welcoma-pulse 2s infinite; padding: 10px; margin: 0; }
.welcoma-root .welcoma-launcher:hover { transform: scale(1.06); }
.welcoma-root .welcoma-launcher:focus-visible { outline: 3px solid #2563EB; outline-offset: 3px; }
.welcoma-root .welcoma-launcher.has-custom-icon { background: none; padding: 0; animation: none; box-shadow: none; overflow: hidden; }
.welcoma-root .welcoma-custom-launcher-icon { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display: block; }
.welcoma-root .welcoma-head-icon.has-custom-icon { background: none; }
.welcoma-root .welcoma-head-icon.has-custom-icon .welcoma-custom-launcher-icon { width: 100%; height: 100%; }
.welcoma-root.welcoma-pos-right .welcoma-launcher { right: var(--welcoma-horizontal-offset, 20px); bottom: var(--welcoma-vertical-offset, 20px); }
.welcoma-root.welcoma-pos-left .welcoma-launcher { left: var(--welcoma-horizontal-offset, 20px); bottom: var(--welcoma-vertical-offset, 20px); }
@keyframes welcoma-pulse {
 0% { box-shadow: 0 0 0 0 rgba(var(--welcoma-button-bg-rgb, 22, 119, 255), .7); transform: scale(1); }
70% { box-shadow: 0 0 0 10px rgba(var(--welcoma-button-bg-rgb, 22, 119, 255), 0); transform: scale(1.05); }
100% { box-shadow: 0 0 0 0 rgba(var(--welcoma-button-bg-rgb, 22, 119, 255), 0); transform: scale(1); }
 }
/* ============================================================
 * Panel Container
 * ============================================================ */
.welcoma-root .welcoma-panel { position: fixed; bottom: var(--welcoma-panel-bottom, 85px); z-index: 2147483000; width: 370px; max-width: calc(100vw - 32px); max-height: min(82vh, 680px); height: auto; display: flex; flex-direction: column; background: var(--welcoma-color-white); border-radius: 20px; box-shadow: 0 24px 60px rgba(0, 0, 0, .28); overflow: hidden; opacity: 0; transform: translateY(14px) scale(.97); pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
.welcoma-root.welcoma-pos-right .welcoma-panel { right: 20px; }
.welcoma-root.welcoma-pos-left .welcoma-panel { left: 20px; }
.welcoma-root .welcoma-panel.open { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
/* ============================================================
 * Panel Header
 * ============================================================ */
.welcoma-root .welcoma-panel-head { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 6px; padding: 28px 20px 22px; background: var(--welcoma-header-bg, var(--welcoma-color-accent)); color: var(--welcoma-header-text-color, var(--welcoma-color-white, '#ffffff')); flex-shrink: 0; }
.welcoma-root .welcoma-panel-head h2 { margin: 0; font-size: 20px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.2; color: var(--welcoma-header-text-color, var(--welcoma-color-white, '#ffffff')); padding: 0; font-family: var(--welcoma-widget-heading-font-family); }
.welcoma-root .welcoma-head-icon { width: 60px; height: 60px; border-radius: 50%; background: var(--welcoma-header-icon-bg); display: flex; align-items: center; justify-content: center; margin-bottom: 4px; flex-shrink: 0; }
.welcoma-root .welcoma-head-icon svg { width: 28px; height: 28px; color: var(--welcoma-header-icon-color); }
.welcoma-root .welcoma-head-sub { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; justify-content: center; margin-top: 2px; }
.welcoma-root .welcoma-head-sub-text,
.welcoma-root .welcoma-head-sub .welcoma-statement { font-size: 11px; font-weight: 500; background: none; border: none; padding: 0; cursor: pointer; font-family: var(--welcoma-widget-font-family); line-height: 1; text-decoration: none; transition: color .15s; color: var(--welcoma-header-text-color, var(--welcoma-color-white, '#ffffff')); }
.welcoma-root .welcoma-head-sub .welcoma-statement:hover { text-decoration: underline; }
.welcoma-root .welcoma-icon-btn.welcoma-close { position: absolute; top: 12px; right: 12px; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; border: none; border-radius: var(--welcoma-radius-md); background: rgba(255, 255, 255, .14); cursor: pointer; transition: background var(--welcoma-transition-fast); flex-shrink: 0; color: var(--welcoma-header-text-color, var(--welcoma-color-white, '#ffffff')); padding: 0; margin: 0; }
.welcoma-root .welcoma-icon-btn.welcoma-close:hover { background: rgba(255, 255, 255, .28); }
.welcoma-root .welcoma-icon-btn.welcoma-close:focus-visible { outline: 2px solid var(--welcoma-color-white); outline-offset: 1px; }
.welcoma-root .welcoma-icon-btn.welcoma-close svg { width: 15px; height: 15px; }
/* ============================================================
 * Panel Body
 * ============================================================ */
.welcoma-root .welcoma-panel-body { padding: 16px 14px 14px; overflow-y: auto; background: var(--welcoma-box-bg-color, var(--welcoma-color-bg)); flex: 0 1 auto; }
.welcoma-root .welcoma-panel-body::-webkit-scrollbar { width: 4px; }
.welcoma-root .welcoma-panel-body::-webkit-scrollbar-track { background: transparent; }
.welcoma-root .welcoma-panel-body::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, .12); border-radius: 2px; }

/* ============================================================
 * Profiles Section
 * ============================================================ */
.welcoma-root .welcoma-profile-wrap { margin-bottom: 18px; }
.welcoma-root .welcoma-profile-title { font-size: 10.5px; font-weight: 700; color: var(--welcoma-box-text-color, var(--welcoma-color-text, #111111)); text-transform: uppercase; letter-spacing: 0.07em; margin: 0 0 10px 2px; padding: 0; font-family: var(--welcoma-widget-heading-font-family); }
.welcoma-root .welcoma-profiles { display: flex; flex-direction: column; gap: 10px; }
.welcoma-root .welcoma-profile-item { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border: 1px solid var(--welcoma-module-border-color); border-radius: 14px; background: var(--welcoma-module-bg); cursor: pointer; transition: all .2s ease; }
.welcoma-root .welcoma-profile-item.active,
.welcoma-root .welcoma-profile-item:hover { background: var(--welcoma-act-module-bg); border-color: var(--welcoma-act-module-border-color); box-shadow: inset 0 0 0 1px var(--welcoma-act-module-border-color); }
.welcoma-root .welcoma-profile-radio { position: absolute; opacity: 0; pointer-events: none; }
.welcoma-root .welcoma-profile-icon { flex-shrink: 0; width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: var(--welcoma-module-icon-bg-color); color: var(--welcoma-module-icon-color); overflow: hidden; }
.welcoma-root .welcoma-profile-icon img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; display: block; }
.welcoma-root .welcoma-profile-item.active .welcoma-profile-icon,
.welcoma-root .welcoma-profile-item:hover .welcoma-profile-icon { background: var(--welcoma-act-module-icon-bg-color); color: var(--welcoma-act-module-icon-color); }
/* Custom uploaded icons keep their own fixed colors and can't recolor via
 * currentColor like the built-in icon set, so the active/hover background
 * stays a constant light color instead of switching to the dark active bg. */
.welcoma-root .welcoma-profile-item.welcoma-custom-profile.active .welcoma-profile-icon,
.welcoma-root .welcoma-profile-item.welcoma-custom-profile:hover .welcoma-profile-icon { background: #ffffff; }
.welcoma-root .welcoma-profile-content { display: flex; flex-direction: column; gap: 4px; }
.welcoma-root .welcoma-profile-name { font-weight: 600; color: var(--welcoma-module-text-color); font-family: var(--welcoma-widget-heading-font-family); }
.welcoma-root .welcoma-profile-item.active .welcoma-profile-name,
.welcoma-root .welcoma-profile-item:hover .welcoma-profile-name { color: var(--welcoma-act-module-text-color); }
.welcoma-root .welcoma-profile-desc { font-size: 13px; line-height: 1.5; opacity: .8; color: var(--welcoma-module-text-color); font-family: var(--welcoma-widget-font-family); }
.welcoma-root .welcoma-profile-item.active .welcoma-profile-desc,
.welcoma-root .welcoma-profile-item:hover .welcoma-profile-desc { color: var(--welcoma-act-module-text-color); }
/* ============================================================
 * Search Input
 * ============================================================ */
.welcoma-root .welcoma-search-wrap { position: relative; margin-bottom: 16px; }
.welcoma-root .welcoma-search-wrap svg { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); width: 13px; height: 13px; color: var(--welcoma-box-text-color); pointer-events: none; flex-shrink: 0; }
.welcoma-root .welcoma-search { width: 100%; height: 36px; border: 1.5px solid var(--welcoma-box-text-color); border-radius: 10px; background: var(--welcoma-box-bg-color); padding: 0 12px 0 30px; font-size: 12.5px; color: var(--welcoma-box-text-color); outline: none; transition: border-color .15s, box-shadow .15s; font-family: var(--welcoma-widget-font-family); -webkit-appearance: none; appearance: none; margin: 0; }
.welcoma-root .welcoma-search::placeholder { color: var(--welcoma-box-text-color); }
.welcoma-root .welcoma-search:focus { border-color: var(--welcoma-accent, var(--welcoma-box-text-color)); box-shadow: 0 0 0 3px rgba(0, 0, 0, .06); }
.welcoma-root .welcoma-search::-webkit-search-cancel-button,
.welcoma-root .welcoma-search::-webkit-search-decoration,
.welcoma-root .welcoma-search::-webkit-search-results-button,
.welcoma-root .welcoma-search::-webkit-search-results-decoration { -webkit-appearance: none; appearance: none; display: none; }
/* ============================================================
 * Sections & Module Tiles
 * ============================================================ */
.welcoma-root .welcoma-section { margin-bottom: 18px; }
.welcoma-root .welcoma-section:last-child { margin-bottom: 0; }
.welcoma-root .welcoma-section-title { font-size: 10.5px; font-weight: 700; color: var(--welcoma-box-text-color, var(--welcoma-color-text, #111111)); text-transform: uppercase; letter-spacing: 0.07em; margin: 0 0 10px 2px; padding: 0; font-family: var(--welcoma-widget-heading-font-family); }
.welcoma-root .welcoma-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.welcoma-root .welcoma-tile { display: flex; flex-direction: column; align-items: flex-start; gap: var(--welcoma-space-2); padding: var(--welcoma-space-3); min-height: 92px; background: var(--welcoma-module-bg, var(--welcoma-color-white)); border: 1.5px solid var(--welcoma-module-border-color, #E5E7EB); border-radius: var(--welcoma-radius-card); cursor: pointer; text-align: left; transition: border-color var(--welcoma-transition-fast), background var(--welcoma-transition-fast), box-shadow var(--welcoma-transition-fast); position: relative; width: 100%; height: auto; overflow: hidden; line-height: 1; margin: 0; padding: 10px; font-size: 100%; font-family: var(--welcoma-widget-font-family); }
.welcoma-root .welcoma-tile:hover { border-color: var(--welcoma-act-module-border-color, #111111); box-shadow: 0 2px 8px rgba(0, 0, 0, .06); }
.welcoma-root .welcoma-tile:focus-visible { outline: 2px solid var(--welcoma-act-module-border-color, #111111); outline-offset: 2px; }
.welcoma-root .welcoma-tile.active,
.welcoma-root .welcoma-tile:hover { border-color: var(--welcoma-act-module-border-color, var(--welcoma-color-accent)); background: var(--welcoma-act-module-bg, var(--welcoma-color-white)); box-shadow: inset 0 0 0 1px var(--welcoma-act-module-border-color, var(--welcoma-color-accent)); }
.welcoma-root .welcoma-tile-icon { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: var(--welcoma-radius-md); background: var(--welcoma-module-icon-bg-color, #F3F4F6); color: var(--welcoma-module-icon-color, var(--welcoma-color-text)); flex-shrink: 0; transition: background var(--welcoma-transition-fast), color var(--welcoma-transition-fast); }
.welcoma-root .welcoma-tile.active .welcoma-tile-icon,
.welcoma-root .welcoma-tile:hover .welcoma-tile-icon { background: var(--welcoma-act-module-icon-bg-color, var(--welcoma-color-accent)); color: var(--welcoma-act-module-icon-color, var(--welcoma-color-white)); }
.welcoma-root .welcoma-tile-icon svg { width: 17px; height: 17px; }
.welcoma-root .welcoma-tile-name { font-size: var(--welcoma-text-md); font-weight: 600; color: var(--welcoma-module-text-color, var(--welcoma-color-text)); line-height: 1.3; font-family: var(--welcoma-widget-heading-font-family); }
.welcoma-root .welcoma-tile-state { font-size: var(--welcoma-text-xs); color: var(--welcoma-module-text-color, var(--welcoma-color-text)); font-family: var(--welcoma-widget-font-family); }
.welcoma-root .welcoma-tile.active .welcoma-tile-name,
.welcoma-root .welcoma-tile.active .welcoma-tile-state,
.welcoma-root .welcoma-tile.active .welcoma-swatch-cancel,
.welcoma-root .welcoma-tile:hover .welcoma-tile-name,
.welcoma-root .welcoma-tile:hover .welcoma-swatch-cancel,
.welcoma-root .welcoma-tile:hover .welcoma-tile-state { color: var(--welcoma-act-module-text-color, var(--welcoma-color-text)); }
.welcoma-root .welcoma-tile.active .welcoma-tile-state,
.welcoma-root .welcoma-tile:hover .welcoma-tile-state { font-weight: 600; }
.welcoma-root .welcoma-dots { display: flex; gap: 3px; margin-top: 1px; }
.welcoma-root .welcoma-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--welcoma-color-border); }
.welcoma-root .welcoma-dot.on { background: var(--welcoma-accent, var(--welcoma-color-accent)); }
.welcoma-root .welcoma-empty { padding: var(--welcoma-space-7) var(--welcoma-space-3); text-align: center; font-size: 12.5px; color: var(--welcoma-box-text-color); }
/* ============================================================
 * Panel Footer
 * ============================================================ */
.welcoma-root .welcoma-panel-foot { padding: var(--welcoma-space-3) var(--welcoma-space-4); border-top: 1px solid var(--welcoma-color-border); background: var(--welcoma-footer-bg, var(--welcoma-color-white)); text-align: center; flex-shrink: 0; }
.welcoma-root .welcoma-reset { background-color: var(--welcoma-reset-btn-bg, #111111); color: var(--welcoma-reset-btn-text-color, #ffffff); border: 1px solid var(--welcoma-reset-btn-bg, #111111); transition: opacity 0.3s; cursor: pointer; padding: 8px 15px; border-radius: 5px; width: max-content; font-size: 14px; height: auto; display: block; line-height: 1; margin: auto; font-family: var(--welcoma-widget-font-family); }
.welcoma-root .welcoma-reset:hover { opacity: 0.9; }
/* ============================================================
 * Floating Helpers
 * ============================================================ */
.welcoma-tooltip { position: fixed; z-index: 2147483100; max-width: 280px; padding: 8px 11px; color: var(--welcoma-color-text); background: var(--welcoma-color-white); font: 500 12.5px/1.5 -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; border-radius: 8px; box-shadow: 0 8px 24px rgba(0, 0, 0, .3); pointer-events: none; }
.welcoma-dict-pop { position: fixed; z-index: 2147483100; max-width: 300px; padding: 12px 14px; background: var(--welcoma-color-white); color: var(--welcoma-color-text); border: 1px solid var(--welcoma-color-border); border-radius: 10px; box-shadow: 0 12px 32px rgba(0, 0, 0, .22); font: 400 12.5px/1.55 -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
.welcoma-dict-pop strong { display: block; font-size: 13.5px; margin-bottom: 4px; }
.welcoma-dict-pop em { color: var(--welcoma-color-text-muted); }
.welcoma-reading-line { position: fixed; left: 0; right: 0; height: 0; border-top: 4px solid #DC2626; box-shadow: 0 0 0 1px rgba(0, 0, 0, .25); z-index: 2147482000; pointer-events: none; }
/* ============================================================
 * Page Structure Modal
 * ============================================================ */
.welcoma-root .welcoma-ps-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -40%) scale(.97); z-index: 2147483002; width: 620px; max-width: calc(100vw - 40px); max-height: 78vh; display: flex; flex-direction: column; background: var(--welcoma-color-white, #ffffff); border-radius: 20px; box-shadow: 0 24px 80px rgba(0, 0, 0, .28); opacity: 0; pointer-events: none; transition: opacity .28s ease, transform .28s cubic-bezier(.4, 0, .2, 1); overflow: hidden; }
.welcoma-root .welcoma-ps-modal.open { opacity: 1; pointer-events: auto; transform: translate(-50%, -50%) scale(1); }
/* Head */
.welcoma-root .welcoma-ps-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; background: var(--welcoma-header-bg, #111111); color: var(--welcoma-header-text-color, #ffffff); flex-shrink: 0; }
.welcoma-root .welcoma-ps-title { font-size: 16px; font-weight: 700; color: var(--welcoma-header-text-color, #ffffff); font-family: var(--welcoma-widget-heading-font-family); }
.welcoma-root .welcoma-ps-close { width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; border: none; border-radius: 6px; background: rgba(255, 255, 255, .14); color: var(--welcoma-header-text-color, #ffffff); cursor: pointer; padding: 0; margin: 0; transition: background .15s; flex-shrink: 0; }
.welcoma-root .welcoma-ps-close:hover { background: rgba(255, 255, 255, .28); }
/* Tabs */
.welcoma-root .welcoma-ps-tabs { display: flex; gap: 2px; padding: 10px 14px; background: var(--welcoma-color-bg, #F6F7F9); border-bottom: 1px solid var(--welcoma-color-border, #E5E7EB); flex-shrink: 0; }
.welcoma-root .welcoma-ps-tab { flex: 1; padding: 7px 10px; border: none; border-radius: 8px; background: transparent; color: var(--welcoma-color-text-muted, #6B7280); font-size: 12.5px; font-weight: 500; cursor: pointer; transition: background .15s, color .15s; font-family: var(--welcoma-widget-font-family); }
.welcoma-root .welcoma-ps-tab:hover { background: var(--welcoma-color-white, #ffffff); color: var(--welcoma-color-text, #111827); }
.welcoma-root .welcoma-ps-tab.active { background: var(--welcoma-color-white, #ffffff); color: var(--welcoma-color-text, #111827); font-weight: 600; box-shadow: 0 1px 3px rgba(0, 0, 0, .08); }
/* Body */
.welcoma-root .welcoma-ps-body { overflow-y: auto; flex: 1; padding: 8px 10px 12px; }
.welcoma-root .welcoma-ps-body::-webkit-scrollbar { width: 4px; }
.welcoma-root .welcoma-ps-body::-webkit-scrollbar-track { background: transparent; }
.welcoma-root .welcoma-ps-body::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, .12); border-radius: 2px; }
/* List */
.welcoma-root .welcoma-ps-list { list-style: none; margin: 0; padding: 0; }
.welcoma-root .welcoma-ps-list li { margin: 0; padding: 0; }
.welcoma-root .welcoma-ps-link { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 8px; color: var(--welcoma-color-text, #111827); font-size: 13px; line-height: 1.4; text-decoration: none; transition: background .12s; cursor: pointer; font-family: var(--welcoma-widget-font-family); }
.welcoma-root .welcoma-ps-link:hover { background: var(--welcoma-color-bg, #F6F7F9); color: var(--welcoma-color-text, #111827); }
.welcoma-root .welcoma-ps-tag { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; padding: 2px 5px; border-radius: 4px; background: var(--welcoma-color-bg, #F6F7F9); border: 1px solid var(--welcoma-color-border, #E5E7EB); color: var(--welcoma-color-text-muted, #6B7280); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; flex-shrink: 0; font-family: monospace; }
/* Empty state */
.welcoma-root .welcoma-ps-empty { padding: 32px 16px; text-align: center; font-size: 13px; color: var(--welcoma-color-text-muted, #6B7280); font-family: var(--welcoma-widget-font-family); }
.welcoma-root .welcoma-ps-link-text { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
/* Responsive */
@media (max-width: 660px) {
 .welcoma-root .welcoma-ps-modal { width: calc(100vw - 32px); }
 }
@media (max-width: 480px) {
 .welcoma-root .welcoma-ps-modal { width: 100%; max-width: 100%; max-height: 88vh; top: auto; bottom: 0; left: 0; right: 0; border-radius: 20px 20px 0 0; transform: translateY(40px) scale(.98); }
.welcoma-root .welcoma-ps-modal.open { transform: translateY(0) scale(1); }
 }
/* ============================================================
 * Page Effect Classes (applied to <html>)
 * ============================================================ */
html.welcoma-hide-images body :is(img, picture, video, svg, figure, [style*="background-image"]) { opacity: 0 !important; }
html.welcoma-highlight-links body a { outline: 2px solid #111111 !important; outline-offset: 2px !important; background: #FEF08A !important; color: #111111 !important; text-decoration: underline !important; }
html.welcoma-font-size body :is(p, li, a, span, h1, h2, h3, h4, h5, h6,
    button, input, label, td, th, blockquote,
    figcaption, em, strong, small, div) { font-size: calc(var(--welcoma-el-fs, 1em) * var(--welcoma-fs, 1)) !important; }
html.welcoma-line-height body :is(p, li, a, span, h1, h2, h3, h4, h5, h6, blockquote, td, div) { line-height: var(--welcoma-lh, 1.8) !important; }
html.welcoma-letter-spacing body :is(p, li, a, span, h1, h2, h3, h4, h5, h6, blockquote, td) { letter-spacing: var(--welcoma-ls, 0.12em) !important; word-spacing: calc(var(--welcoma-ls, 0.12em) * 1.6) !important; }
html.welcoma-readable-font body :is(p, li, a, span, h1, h2, h3, h4, h5, h6,
    button, input, label, td, th, div, blockquote) { font-family: 'Roboto', sans-serif !important; }
html.welcoma-dyslexic-font body :is(p, li, a, span, h1, h2, h3, h4, h5, h6,
    button, input, label, td, th, div, blockquote) { font-family: 'OpenDyslexic', 'Comic Sans MS', 'Comic Neue', cursive, sans-serif !important; letter-spacing: 0.03em !important; }
html.welcoma-font-weight body :is(p, li, a, span, h1, h2, h3, h4, h5, h6,
    button, input, label, td, th, div, blockquote) { font-weight: 700 !important; }
html.welcoma-align-left body :is(p, li, h1, h2, h3, h4, h5, h6, div, blockquote) { text-align: left !important; }
html.welcoma-align-center body :is(p, li, h1, h2, h3, h4, h5, h6, div, blockquote) { text-align: center !important; }
html.welcoma-align-right body :is(p, li, h1, h2, h3, h4, h5, h6, div, blockquote) { text-align: right !important; }
html.welcoma-align-justify body :is(p, li, div, blockquote) { text-align: justify !important; }
html.welcoma-contrast-dark body,
html.welcoma-contrast-dark body :is(div, section, article, header, footer, main, aside, nav, p, li) { background-color: #000 !important; color: #fff !important; }
html.welcoma-contrast-dark body a { color: #FFD400 !important; }
html.welcoma-contrast-light body,
html.welcoma-contrast-light body :is(div, section, article, header, footer, main, aside, nav, p, li) { background-color: #fff !important; color: #000 !important; }
html.welcoma-contrast-light body a { color: #0000EE !important; }
html.welcoma-highlight-titles body :is(h1, h2, h3, h4, h5, h6) { outline: 2px dashed #DC2626 !important; outline-offset: 3px !important; }
html.welcoma-highlight-content body :is(p, article, section, main, li, blockquote) { outline: 2px solid #2563EB !important; outline-offset: 2px !important; }
html.welcoma-stop-animations body *,
html.welcoma-stop-animations body *::before,
html.welcoma-stop-animations body *::after { animation-duration: 0s !important; animation-iteration-count: 1 !important; transition-duration: 0s !important; scroll-behavior: auto !important; }
html.welcoma-keyboard-nav body *:focus { outline: 3px solid #2563EB !important; outline-offset: 2px !important; }
html.welcoma-focus-highlight body *:focus-visible { outline: 3px solid var(--welcoma-focus-color, var(--welcoma-color-accent)) !important; outline-offset: 2px !important; }

/* =========================
   Big White Cursor
========================= */
html.welcoma-big-cursor-white,
html.welcoma-big-cursor-white * { cursor:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'%3E%3Cpath d='M5 2l14 9-6 1 3 7-3 1-3-7-5 4z' fill='white' stroke='black' stroke-width='1.4'/%3E%3C/svg%3E") 4 2,
        auto !important; }
/* Clickable Elements */
html.welcoma-big-cursor-white a,
html.welcoma-big-cursor-white button,
html.welcoma-big-cursor-white [role="button"],
html.welcoma-big-cursor-white input[type="submit"],
html.welcoma-big-cursor-white input[type="button"],
html.welcoma-big-cursor-white label,
html.welcoma-big-cursor-white select,
html.welcoma-big-cursor-white summary { cursor:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 24 24'%3E%3Cpath fill='white' stroke='black' stroke-width='1.3' stroke-linejoin='round' d='M10 2a1 1 0 0 1 1 1v7h1V4a1 1 0 1 1 2 0v6h1V5a1 1 0 1 1 2 0v5h1V7a1 1 0 1 1 2 0v8c0 4-3 7-7 7-3 0-5-2-6-5l-2-4a1 1 0 1 1 2-1l2 3V3a1 1 0 0 1 1-1z'/%3E%3C/svg%3E") 16 2,
        pointer !important; }
/* =========================
   Big Black Cursor
========================= */
html.welcoma-big-cursor-black,
html.welcoma-big-cursor-black * { cursor:
        url("data:image/svg+xml; charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'%3E%3Cpath d='M5 2l14 9-6 1 3 7-3 1-3-7-5 4z' fill='%23000' stroke='%23fff' stroke-width='1.4'/%3E%3C/svg%3E") 4 2,
        auto !important; }
/* Clickable Elements */
html.welcoma-big-cursor-black a,
html.welcoma-big-cursor-black button,
html.welcoma-big-cursor-black [role="button"],
html.welcoma-big-cursor-black input[type="submit"],
html.welcoma-big-cursor-black input[type="button"],
html.welcoma-big-cursor-black label,
html.welcoma-big-cursor-black select,
html.welcoma-big-cursor-black summary { cursor:
        url("data:image/svg+xml; charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' stroke='%23fff' stroke-width='1.3' stroke-linejoin='round' d='M10 2a1 1 0 0 1 1 1v7h1V4a1 1 0 1 1 2 0v6h1V5a1 1 0 1 1 2 0v5h1V7a1 1 0 1 1 2 0v8c0 4-3 7-7 7-3 0-5-2-6-5l-2-4a1 1 0 1 1 2-1l2 3V3a1 1 0 0 1 1-1z'/%3E%3C/svg%3E") 16 2,
        pointer !important; }
html.welcoma-cognitive-load body a { background:
        linear-gradient(90deg,
            #bcbcbc 25%,
            #ffd41e 25%,
            #ff9e21 50%,
            #e82915 50%,
            #e84f47 75%,
            #65c1ac 75%) 0 100% / 100% 2px no-repeat; text-decoration: none !important; line-height: 2 !important; }
html.welcoma-cognitive-load body h1,
html.welcoma-cognitive-load body h2,
html.welcoma-cognitive-load body h3,
html.welcoma-cognitive-load body h4,
html.welcoma-cognitive-load body h5,
html.welcoma-cognitive-load body h6,
html.welcoma-cognitive-load body p { background: linear-gradient(270deg, #0e17ff, #ff160e); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
/* ============================================================
 * Mobile Responsive
 * ============================================================ */
@media (max-width: 420px) {
 .welcoma-root .welcoma-panel { width: calc(100vw - 24px); }
.welcoma-root.welcoma-pos-left .welcoma-panel,
    .welcoma-root.welcoma-pos-right .welcoma-panel { right: 12px; left: 12px; }
 }
/* ============================================================
 * Accessibility Statement Popup
 * ============================================================ */
.welcoma-root .welcoma-statement { font-size: 11px; font-weight: 500; background: none; border: none; padding: 0; cursor: pointer; font-family: var(--welcoma-widget-font-family); line-height: 1; text-decoration: underline; transition: opacity .15s; color: var(--welcoma-header-text-color, #ffffff); }
.welcoma-root .welcoma-statement:hover { opacity: .75; }
/* Backdrop overlay */
.welcoma-root .welcoma-stmt-backdrop { position: fixed; inset: 0; background: rgba(0, 0, 0, .45); z-index: 2147483001; opacity: 0; pointer-events: none; transition: opacity .3s ease; }
.welcoma-root .welcoma-stmt-backdrop.open { opacity: 1; pointer-events: auto; }
/* Popup — centered */
.welcoma-root .welcoma-stmt-popup { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -40%) scale(.97); z-index: 2147483002; width: 680px; max-width: calc(100vw - 40px); max-height: 80vh; display: flex; flex-direction: column; background: var(--welcoma-color-white, #ffffff); border-radius: 20px; box-shadow: 0 24px 80px rgba(0, 0, 0, .28); opacity: 0; pointer-events: none; transition: opacity .28s ease, transform .28s cubic-bezier(.4, 0, .2, 1); overflow: hidden; }
.welcoma-root .welcoma-stmt-popup.open { opacity: 1; pointer-events: auto; transform: translate(-50%, -50%) scale(1); }
.welcoma-root .welcoma-stmt-popup-inner { display: flex; flex-direction: column; max-height: 80vh; }
.welcoma-root .welcoma-stmt-popup-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; background: var(--welcoma-header-bg, #111111); color: var(--welcoma-header-text-color, #ffffff); flex-shrink: 0; }
.welcoma-root .welcoma-stmt-popup-title { font-size: 16px; font-weight: 700; color: var(--welcoma-header-text-color, #ffffff); font-family: var(--welcoma-widget-heading-font-family); }
.welcoma-root .welcoma-stmt-popup-close { width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; border: none; border-radius: 6px; background: rgba(255, 255, 255, .14); color: var(--welcoma-header-text-color, #ffffff); cursor: pointer; padding: 0; margin: 0; transition: background .15s; flex-shrink: 0; }
.welcoma-root .welcoma-stmt-popup-close:hover { background: rgba(255, 255, 255, .28); }
.welcoma-root .welcoma-stmt-popup-body { padding: 28px 26px 32px; overflow-y: auto; flex: 1; font-size: 13.5px; line-height: 1.8; color: var(--welcoma-color-text, #111827); font-family: var(--welcoma-widget-font-family); }
.welcoma-root .welcoma-stmt-popup-body h3 { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--welcoma-color-text, #111827); margin: 24px 0 8px; padding: 0; font-family: var(--welcoma-widget-heading-font-family); }
.welcoma-root .welcoma-stmt-popup-body h3:first-child { margin-top: 0; }
.welcoma-root .welcoma-stmt-popup-body p { margin: 0 0 12px; padding: 0; }
.welcoma-root .welcoma-stmt-popup-body a { color: var(--welcoma-color-accent, #111111); text-decoration: underline; }
.welcoma-root .welcoma-stmt-popup-body b,
.welcoma-root .welcoma-stmt-popup-body strong { font-weight: 600; }
.welcoma-root .welcoma-stmt-popup-body::-webkit-scrollbar { width: 4px; }
.welcoma-root .welcoma-stmt-popup-body::-webkit-scrollbar-track { background: transparent; }
.welcoma-root .welcoma-stmt-popup-body::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, .12); border-radius: 2px; }
@media (max-width: 720px) {
 .welcoma-root .welcoma-stmt-popup { width: calc(100vw - 32px); max-height: 85vh; }
 }
@media (max-width: 480px) {
 .welcoma-root .welcoma-stmt-popup { width: 100%; max-width: 100%; max-height: 90vh; top: auto; bottom: 0; left: 0; right: 0; border-radius: 20px 20px 0 0; transform: translateY(40px) scale(.98); }
.welcoma-root .welcoma-stmt-popup.open { transform: translateY(0) scale(1); }
 }
/* ============================================================
 * Language Switcher Dropdown
 * ============================================================ */
.welcoma-root .welcoma-lang-switcher { position: absolute; top: 12px; right: auto; z-index: 10; left: 12px; }
/* Trigger button */
.welcoma-root button.welcoma-lang-btn { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px 5px 7px; border: none; border-radius: 20px; background: rgba(255, 255, 255, .18); color: var(--welcoma-header-text-color, #ffffff); font-size: 12.5px; font-weight: 600; cursor: pointer; font-family: var(--welcoma-widget-font-family); transition: background .15s; white-space: nowrap; }
.welcoma-root button.welcoma-lang-btn:hover { background: rgba(255, 255, 255, .30); }
.welcoma-root .welcoma-lang-flag-curr { font-size: 16px; line-height: 1; }
.welcoma-root .welcoma-lang-name-curr { max-width: 70px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.welcoma-root .welcoma-lang-chevron { opacity: .85; flex-shrink: 0; transition: transform .2s; }
.welcoma-root .welcoma-lang-dropdown.open~* .welcoma-lang-chevron,
.welcoma-root button.welcoma-lang-btn[aria-expanded="true"] .welcoma-lang-chevron { transform: rotate(180deg); }
/* Dropdown panel */
.welcoma-root .welcoma-lang-dropdown { display: none; position: absolute; top: calc(100% + 8px); right: auto; width: 210px; background: #ffffff; border-radius: 12px; box-shadow: 0 8px 32px rgba(0, 0, 0, .22); overflow: hidden; flex-direction: column; }
.welcoma-root .welcoma-lang-dropdown.open { display: flex; }
/* Search bar inside dropdown */
.welcoma-root .welcoma-lang-search-wrap { display: flex; align-items: center; gap: 7px; padding: 10px 12px 8px; border-bottom: 1px solid #F0F0F0; flex-shrink: 0; background: #fff; }
.welcoma-root .welcoma-lang-search-wrap svg { color: #9CA3AF; flex-shrink: 0; }
.welcoma-root .welcoma-lang-search { flex: 1; border: none; outline: none; font-size: 12.5px; color: #111827; background: transparent; font-family: var(--welcoma-widget-font-family); padding: 0; margin: 0; -webkit-appearance: none; appearance: none; }
.welcoma-root .welcoma-lang-search::placeholder { color: #9CA3AF; }
.welcoma-root .welcoma-lang-search::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
/* Scrollable list */
.welcoma-root .welcoma-lang-list { list-style: none; margin: 0; padding: 4px; overflow-y: auto; max-height: 220px; }
.welcoma-root .welcoma-lang-list::-webkit-scrollbar { width: 4px; }
.welcoma-root .welcoma-lang-list::-webkit-scrollbar-track { background: transparent; }
.welcoma-root .welcoma-lang-list::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, .12); border-radius: 2px; }
.welcoma-root .welcoma-lang-list li { margin: 0; padding: 0; }
/* Each language row */
.welcoma-root .welcoma-lang-option { display: flex; align-items: center; gap: 9px; width: 100%; padding: 8px 10px; border: none; border-radius: 8px; background: transparent; color: #111827; font-size: 13px; font-weight: 500; text-align: left; cursor: pointer; font-family: var(--welcoma-widget-font-family); transition: background .12s; margin: 0; }
.welcoma-root .welcoma-lang-option:hover { background: #F6F7F9; }
.welcoma-root .welcoma-lang-option.active { background: #F0F0F0; font-weight: 600; }
.welcoma-root .welcoma-lang-opt-flag { font-size: 18px; line-height: 1; flex-shrink: 0; width: 22px; text-align: center; }
.welcoma-root .welcoma-lang-opt-name { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.welcoma-root .welcoma-lang-check { flex-shrink: 0; color: #111827; }
.welcoma-tile-zoom button.welcoma-zoom-btn { width: max-content; padding: 0 5px; margin: 0 8px; }
.welcoma-tile-zoom .welcoma-zoom-value { color: var(--welcoma-module-text-color, var(--welcoma-color-text)); }
/* ============================================================
 * Color swatch modules (Text / Title / Background color)
 * ============================================================ */
.welcoma-root .welcoma-tile-swatch { grid-column: 1 / -1; cursor: default; align-items: flex-start; }
.welcoma-root .welcoma-swatch-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2px; width: 100%; }
.welcoma-root .welcoma-swatch-btn { width: 24px; height: 24px; border-radius: 50%; border: 2px solid transparent; background: var(--welcoma-swatch-c); padding: 0; cursor: pointer; box-shadow: 0 0 0 1px rgba(0, 0, 0, .12); transition: transform .12s ease, box-shadow .12s ease; flex-shrink: 0; }
.welcoma-root .welcoma-swatch-btn:hover { transform: scale(1.12); }
.welcoma-root .welcoma-swatch-btn:focus-visible { outline: 2px solid var(--welcoma-accent, #111111); outline-offset: 2px; }
.welcoma-root .welcoma-swatch-btn.active { border-color: var(--welcoma-accent, #111111); box-shadow: 0 0 0 2px var(--welcoma-color-white, #fff), 0 0 0 3.5px var(--welcoma-accent, #111111); transform: scale(1.08); }
.welcoma-root .welcoma-swatch-cancel { margin-top: 10px; background: none; border: none; padding: 0; font-size: 12px; font-weight: 600; color: var(--welcoma-color-text-muted, #6B7280); cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.welcoma-root .welcoma-swatch-cancel:hover { color: var(--welcoma-color-text, #111827); }
/* ============================================================
 * Skip to Content module (full-width dropdown)
 * ============================================================ */
.welcoma-root .welcoma-tile-skip { grid-column: 1 / -1; cursor: default; align-items: flex-start; }
.welcoma-root .welcoma-skip-select { width: 100%; margin-top: 2px; padding: 8px 10px; border-radius: var(--welcoma-radius-md, 8px); border: 1.5px solid var(--welcoma-module-border-color, #E5E7EB); background: var(--welcoma-color-white, #fff); color: var(--welcoma-module-text-color, var(--welcoma-color-text)); font-size: var(--welcoma-text-sm, 13px); font-family: var(--welcoma-widget-font-family); cursor: pointer; }
.welcoma-root .welcoma-skip-select:focus-visible { outline: 2px solid var(--welcoma-act-module-border-color, #111111); outline-offset: 2px; }
/* Applied effects on the page itself */
/* ============================================================
 * Widget Footer Branding
 * ============================================================ */
.welcoma-widget-footer { text-align: center; font-size: 10px; color: var(--welcoma-footer-text-color, var(--welcoma-box-text-color)); opacity: 0.55; padding-top: var(--welcoma-space-2, 8px); margin-top: var(--welcoma-space-2, 8px); letter-spacing: 0.2px; font-weight: 400; font-family: var(--welcoma-widget-font-family); }
.welcoma-widget-footer:empty { display: none; }

.welcoma-root .welcoma-tooltip-magnifier{font:600 19px/1.4 sans-serif;background-color:#ffffff}
.welcoma-root .welcoma-profile-custom-icon-img{width:18px;height:18px;object-fit:contain}
/* ============================================================
 * On-Screen Keyboard
 * A fixed-palette dark UI, independent of the host site's theme
 * (light, dark, or any global button/input CSS reset the page ships) —
 * every visual property below is explicit and !important so the layout
 * can't be broken or bled into by page styles.
 * ============================================================ */

