@qwickapps/react-framework 1.6.0 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -0
- package/dist/components/Scaffold.d.ts +2 -2
- package/dist/components/Scaffold.d.ts.map +1 -1
- package/dist/components/blocks/ImageGallery.d.ts.map +1 -1
- package/dist/components/blocks/OptionSelector.d.ts.map +1 -1
- package/dist/components/forms/FormCheckbox.d.ts.map +1 -1
- package/dist/components/forms/FormField.d.ts.map +1 -1
- package/dist/components/forms/FormSelect.d.ts.map +1 -1
- package/dist/contexts/QwickAppContext.d.ts +1 -1
- package/dist/contexts/QwickAppContext.d.ts.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.esm.css +1 -1
- package/dist/index.esm.js +109 -10
- package/dist/index.js +109 -9
- package/dist/palettes/PaletteBoutique.d.ts +10 -0
- package/dist/palettes/PaletteBoutique.d.ts.map +1 -0
- package/dist/palettes/index.d.ts +1 -0
- package/dist/palettes/index.d.ts.map +1 -1
- package/dist/palettes/manifest.json +33 -19
- package/dist/palettes/{palette-autumn.1.6.0.css → palette-autumn.1.7.1.css} +3 -1
- package/dist/palettes/palette-autumn.1.7.1.min.css +1 -0
- package/dist/palettes/palette-autumn.latest.css +3 -1
- package/dist/palettes/palette-autumn.latest.min.css +1 -1
- package/dist/palettes/palette-boutique.1.7.1.css +176 -0
- package/dist/palettes/palette-boutique.1.7.1.min.css +1 -0
- package/dist/palettes/palette-boutique.latest.css +176 -0
- package/dist/palettes/palette-boutique.latest.min.css +1 -0
- package/dist/palettes/{palette-cosmic.1.6.0.css → palette-cosmic.1.7.1.css} +3 -1
- package/dist/palettes/palette-cosmic.1.7.1.min.css +1 -0
- package/dist/palettes/palette-cosmic.latest.css +3 -1
- package/dist/palettes/palette-cosmic.latest.min.css +1 -1
- package/dist/palettes/{palette-ocean.1.6.0.css → palette-ocean.1.7.1.css} +3 -1
- package/dist/palettes/palette-ocean.1.7.1.min.css +1 -0
- package/dist/palettes/palette-ocean.latest.css +3 -1
- package/dist/palettes/palette-ocean.latest.min.css +1 -1
- package/dist/palettes/{palette-spring.1.6.0.css → palette-spring.1.7.1.css} +3 -1
- package/dist/palettes/palette-spring.1.7.1.min.css +1 -0
- package/dist/palettes/palette-spring.latest.css +3 -1
- package/dist/palettes/palette-spring.latest.min.css +1 -1
- package/dist/palettes/{palette-winter.1.6.0.css → palette-winter.1.7.1.css} +3 -1
- package/dist/palettes/palette-winter.1.7.1.min.css +1 -0
- package/dist/palettes/palette-winter.latest.css +3 -1
- package/dist/palettes/palette-winter.latest.min.css +1 -1
- package/dist/schemas/transformers/ComponentTransformer.d.ts +1 -0
- package/dist/schemas/transformers/ComponentTransformer.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/components/QwickApp.css +22 -0
- package/src/components/Scaffold.css +5 -0
- package/src/components/Scaffold.tsx +5 -3
- package/src/components/blocks/ImageGallery.tsx +6 -5
- package/src/components/blocks/OptionSelector.tsx +18 -3
- package/src/components/forms/FormCheckbox.tsx +15 -0
- package/src/components/forms/FormField.tsx +15 -0
- package/src/components/forms/FormSelect.tsx +15 -0
- package/src/contexts/QwickAppContext.tsx +1 -1
- package/src/palettes/PaletteAutumn.css +3 -1
- package/src/palettes/PaletteBoutique.css +176 -0
- package/src/palettes/PaletteBoutique.ts +16 -0
- package/src/palettes/PaletteCosmic.css +3 -1
- package/src/palettes/PaletteOcean.css +3 -1
- package/src/palettes/PaletteSpring.css +3 -1
- package/src/palettes/PaletteWinter.css +3 -1
- package/src/palettes/index.ts +3 -0
- package/src/palettes/manifest.json +12 -1
- package/src/schemas/transformers/ComponentTransformer.ts +32 -2
- package/dist/palettes/palette-autumn.1.6.0.min.css +0 -1
- package/dist/palettes/palette-cosmic.1.6.0.min.css +0 -1
- package/dist/palettes/palette-ocean.1.6.0.min.css +0 -1
- package/dist/palettes/palette-spring.1.6.0.min.css +0 -1
- package/dist/palettes/palette-winter.1.6.0.min.css +0 -1
- /package/dist/palettes/{palette-default.1.6.0.css → palette-default.1.7.1.css} +0 -0
- /package/dist/palettes/{palette-default.1.6.0.min.css → palette-default.1.7.1.min.css} +0 -0
package/dist/index.esm.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
html[data-palette=default][data-theme=dark]{--palette-surface-main:#252525;--palette-surface-variant:#2f2f2f;--palette-surface-elevated:#3a3a3a;--palette-background-main:#0e0e0e;--palette-background-dark:#1a1a1a;--palette-header-bg-start:hsla(0,0%,5%,.98);--palette-header-bg-end:hsla(0,0%,5%,.95);--palette-header-collapsed-bg-start:hsla(0,0%,5%,.99);--palette-header-collapsed-bg-end:hsla(0,0%,5%,.96)}html[data-palette=autumn]:not([data-theme=dark]),html[data-palette=autumn][data-theme=light]{--palette-primary-main:#ea580c;--palette-primary-light:#fb923c;--palette-primary-dark:#c2410c;--palette-on-primary:#fff;--palette-secondary-main:#b45309;--palette-secondary-light:#d97706;--palette-secondary-dark:#92400e;--palette-on-secondary:#fff;--palette-surface-main:#fffbeb;--palette-surface-variant:#fef3c7;--palette-surface-elevated:#fff;--palette-on-surface:#451a03;--palette-background-main:#fefce8;--palette-background-dark:#fef3c7;--palette-background-overlay:hsla(55,92%,95%,.95);--palette-on-background:#78350f;--palette-header-bg-start:hsla(55,92%,95%,.98);--palette-header-bg-end:hsla(55,92%,95%,.95);--palette-header-collapsed-bg-start:hsla(55,92%,95%,.99);--palette-header-collapsed-bg-end:hsla(55,92%,95%,.96);--palette-text-primary:#451a03;--palette-text-secondary:#78350f;--palette-text-disabled:rgba(69,26,3,.38);--palette-text-inverted:#fff;--palette-border-main:#d4d4aa;--palette-border-light:rgba(69,26,3,.12);--palette-border-lighter:rgba(69,26,3,.05);--palette-border-medium:#a8a29e;--palette-success-main:#16a34a;--palette-success-light:#dcfce7;--palette-success-dark:#14532d;--palette-success-border:#bbf7d0;--palette-error-main:#dc2626;--palette-error-light:#fee2e2;--palette-error-dark:#7f1d1d;--palette-error-border:#fecaca;--palette-warning-main:#f59e0b;--palette-warning-light:#fef3c7;--palette-warning-dark:#78350f;--palette-warning-border:#fde68a;--palette-info-main:#0891b2;--palette-info-light:#e6fffa;--palette-info-dark:#164e63;--palette-on-info:#fff;--palette-info-border:#67e8f9;--palette-accent-main:#dc2626;--palette-accent-light:#f87171;--palette-accent-dark:#991b1b;--palette-on-accent:#fff;--palette-control-main:#451a03;--palette-control-light:#78350f;--palette-control-text:#fef3c7;--palette-control-border:#92400e}html[data-palette=autumn][data-theme=dark]{--palette-primary-main:#fb923c;--palette-primary-light:#fdba74;--palette-primary-dark:#ea580c;--palette-on-primary:#1c1917;--palette-secondary-main:#fbbf24;--palette-secondary-light:#fcd34d;--palette-secondary-dark:#f59e0b;--palette-on-secondary:#1c1917;--palette-surface-main:#231f1d;--palette-surface-variant:#302a27;--palette-surface-elevated:#44403c;--palette-on-surface:#fef3c7;--palette-background-main:#0a0807;--palette-background-dark:#151210;--palette-background-overlay:rgba(28,25,23,.95);--palette-on-background:#d6d3d1;--palette-header-bg-start:rgba(10,8,7,.98);--palette-header-bg-end:rgba(10,8,7,.95);--palette-header-collapsed-bg-start:rgba(10,8,7,.99);--palette-header-collapsed-bg-end:rgba(10,8,7,.96);--palette-text-primary:#fef3c7;--palette-text-secondary:#d6d3d1;--palette-text-disabled:hsla(48,96%,89%,.38);--palette-text-inverted:#0c0a09;--palette-border-main:#78716c;--palette-border-light:hsla(48,96%,89%,.12);--palette-border-lighter:hsla(48,96%,89%,.05);--palette-border-medium:#57534e;--palette-success-main:#4ade80;--palette-success-light:#14532d;--palette-success-dark:#22c55e;--palette-success-border:#166534;--palette-error-main:#f87171;--palette-error-light:#7f1d1d;--palette-error-dark:#ef4444;--palette-error-border:#991b1b;--palette-warning-main:#eab308;--palette-warning-light:#78350f;--palette-warning-dark:#ca8a04;--palette-warning-border:#a16207;--palette-info-main:#22d3ee;--palette-info-light:#164e63;--palette-info-dark:#06b6d4;--palette-on-info:#0c0a09;--palette-info-border:#0891b2;--palette-accent-main:#b91c1c;--palette-accent-light:#dc2626;--palette-accent-dark:#7f1d1d;--palette-on-accent:#fef3c7;--palette-control-main:#292524;--palette-control-light:#44403c;--palette-control-text:#f5f5f4;--palette-control-border:#57534e}html[data-palette=ocean]:not([data-theme=dark]),html[data-palette=ocean][data-theme=light]{--palette-primary-main:#0891b2;--palette-primary-light:#22d3ee;--palette-primary-dark:#164e63;--palette-on-primary:#fff;--palette-secondary-main:#0f766e;--palette-secondary-light:#14b8a6;--palette-secondary-dark:#134e4a;--palette-on-secondary:#fff;--palette-surface-main:#f0fdfa;--palette-surface-variant:#ccfbf1;--palette-surface-elevated:#fff;--palette-on-surface:#164e63;--palette-background-main:#ecfeff;--palette-background-dark:#cffafe;--palette-background-overlay:rgba(236,254,255,.95);--palette-on-background:#0f766e;--palette-header-bg-start:rgba(236,254,255,.98);--palette-header-bg-end:rgba(236,254,255,.95);--palette-header-collapsed-bg-start:rgba(236,254,255,.99);--palette-header-collapsed-bg-end:rgba(236,254,255,.96);--palette-text-primary:#164e63;--palette-text-secondary:#0891b2;--palette-text-disabled:rgba(22,78,99,.38);--palette-text-inverted:#fff;--palette-border-main:#a7f3d0;--palette-border-light:rgba(22,78,99,.12);--palette-border-lighter:rgba(22,78,99,.05);--palette-border-medium:#67e8f9;--palette-success-main:#059669;--palette-success-light:#d1fae5;--palette-success-dark:#065f46;--palette-success-border:#a7f3d0;--palette-error-main:#ef4444;--palette-error-light:#fee2e2;--palette-error-dark:#7f1d1d;--palette-error-border:#fecaca;--palette-warning-main:#f59e0b;--palette-warning-light:#fef3c7;--palette-warning-dark:#78350f;--palette-warning-border:#fde68a;--palette-info-main:#0ea5e9;--palette-info-light:#e0f2fe;--palette-info-dark:#0c4a6e;--palette-on-info:#fff;--palette-info-border:#7dd3fc;--palette-accent-main:#f97316;--palette-accent-light:#fb923c;--palette-accent-dark:#ea580c;--palette-on-accent:#fff;--palette-control-main:#0c4a6e;--palette-control-light:#075985;--palette-control-text:#cffafe;--palette-control-border:#0891b2}html[data-palette=ocean][data-theme=dark]{--palette-primary-main:#22d3ee;--palette-primary-light:#67e8f9;--palette-primary-dark:#0891b2;--palette-on-primary:#0a1a1f;--palette-secondary-main:#5eead4;--palette-secondary-light:#99f6e4;--palette-secondary-dark:#14b8a6;--palette-on-secondary:#0a1a1f;--palette-surface-main:#122830;--palette-surface-variant:#1a3a45;--palette-surface-elevated:#0e7490;--palette-on-surface:#cffafe;--palette-background-main:#040a0d;--palette-background-dark:#0a1418;--palette-background-overlay:rgba(10,26,31,.95);--palette-on-background:#5eead4;--palette-header-bg-start:rgba(4,10,13,.98);--palette-header-bg-end:rgba(4,10,13,.95);--palette-header-collapsed-bg-start:rgba(4,10,13,.99);--palette-header-collapsed-bg-end:rgba(4,10,13,.96);--palette-text-primary:#cffafe;--palette-text-secondary:#a5f3fc;--palette-text-disabled:rgba(207,250,254,.38);--palette-text-inverted:#020617;--palette-border-main:#155e75;--palette-border-light:rgba(207,250,254,.12);--palette-border-lighter:rgba(207,250,254,.05);--palette-border-medium:#0c4a6e;--palette-success-main:#34d399;--palette-success-light:#065f46;--palette-success-dark:#10b981;--palette-success-border:#047857;--palette-error-main:#f87171;--palette-error-light:#7f1d1d;--palette-error-dark:#ef4444;--palette-error-border:#991b1b;--palette-warning-main:#fb7185;--palette-warning-light:#881337;--palette-warning-dark:#e11d48;--palette-warning-border:#be123c;--palette-info-main:#0ea5e9;--palette-info-light:#0c4a6e;--palette-info-dark:#38bdf8;--palette-on-info:#020617;--palette-info-border:#0284c7;--palette-accent-main:#ea580c;--palette-accent-light:#fb923c;--palette-accent-dark:#c2410c;--palette-on-accent:#cffafe;--palette-control-main:#164e63;--palette-control-light:#0e7490;--palette-control-text:#ecfeff;--palette-control-border:#155e75}html[data-palette=spring]:not([data-theme=dark]),html[data-palette=spring][data-theme=light]{--palette-primary-main:#16a34a;--palette-primary-light:#4ade80;--palette-primary-dark:#15803d;--palette-on-primary:#fff;--palette-secondary-main:#ec4899;--palette-secondary-light:#f472b6;--palette-secondary-dark:#be185d;--palette-on-secondary:#fff;--palette-surface-main:#f7fee7;--palette-surface-variant:#d9f7be;--palette-surface-elevated:#fff;--palette-on-surface:#14532d;--palette-background-main:#f0fdf4;--palette-background-dark:#dcfce7;--palette-background-overlay:rgba(240,253,244,.95);--palette-on-background:#166534;--palette-text-primary:#14532d;--palette-text-secondary:#166534;--palette-text-disabled:rgba(20,83,45,.38);--palette-text-inverted:#fff;--palette-border-main:#bbf7d0;--palette-border-light:rgba(20,83,45,.12);--palette-border-lighter:rgba(20,83,45,.05);--palette-border-medium:#86efac;--palette-success-main:#22c55e;--palette-success-light:#dcfce7;--palette-success-dark:#15803d;--palette-success-border:#bbf7d0;--palette-error-main:#f43f5e;--palette-error-light:#ffe4e6;--palette-error-dark:#881337;--palette-error-border:#fecdd3;--palette-warning-main:#eab308;--palette-warning-light:#fefce8;--palette-warning-dark:#713f12;--palette-warning-border:#fef08a;--palette-info-main:#0ea5e9;--palette-info-light:#e0f2fe;--palette-info-dark:#0c4a6e;--palette-on-info:#14532d;--palette-info-border:#7dd3fc;--palette-accent-main:#ec4899;--palette-accent-light:#fce7f3;--palette-accent-dark:#be185d;--palette-on-accent:#fff;--palette-control-main:#365314;--palette-control-light:#4d7c0f;--palette-control-text:#ecfdf5;--palette-control-border:#65a30d}html[data-palette=spring][data-theme=dark]{--palette-primary-main:#4ade80;--palette-primary-light:#86efac;--palette-primary-dark:#16a34a;--palette-on-primary:#0f1f0f;--palette-secondary-main:#f472b6;--palette-secondary-light:#f9a8d4;--palette-secondary-dark:#ec4899;--palette-on-secondary:#0f1f0f;--palette-surface-main:#162816;--palette-surface-variant:#1f351f;--palette-surface-elevated:#2d4a2d;--palette-on-surface:#dcfce7;--palette-background-main:#060b06;--palette-background-dark:#0c140c;--palette-background-overlay:rgba(6,11,6,.95);--palette-on-background:#bbf7d0;--palette-header-bg-start:rgba(6,11,6,.98);--palette-header-bg-end:rgba(6,11,6,.95);--palette-header-collapsed-bg-start:rgba(6,11,6,.99);--palette-header-collapsed-bg-end:rgba(6,11,6,.96);--palette-text-primary:#dcfce7;--palette-text-secondary:#bbf7d0;--palette-text-disabled:rgba(220,252,231,.38);--palette-text-inverted:#0a120a;--palette-border-main:#166534;--palette-border-light:rgba(220,252,231,.12);--palette-border-lighter:rgba(220,252,231,.05);--palette-border-medium:#14532d;--palette-success-main:#22c55e;--palette-success-light:#14532d;--palette-success-dark:#4ade80;--palette-success-border:#166534;--palette-error-main:#f472b6;--palette-error-light:#881337;--palette-error-dark:#ec4899;--palette-error-border:#be185d;--palette-warning-main:#facc15;--palette-warning-light:#713f12;--palette-warning-dark:#eab308;--palette-warning-border:#a16207;--palette-info-main:#06b6d4;--palette-info-light:#164e63;--palette-info-dark:#22d3ee;--palette-on-info:#0a120a;--palette-info-border:#0891b2;--palette-accent-main:#f472b6;--palette-accent-light:#fce7f3;--palette-accent-dark:#db2777;--palette-on-accent:#dcfce7;--palette-control-main:#1a2e1a;--palette-control-light:#2d4a2d;--palette-control-text:#dcfce7;--palette-control-border:#166534}html[data-palette=winter]:not([data-theme=dark]),html[data-palette=winter][data-theme=light]{--palette-primary-main:#0077be;--palette-primary-light:#5ba3d0;--palette-primary-dark:#005082;--palette-on-primary:#fff;--palette-secondary-main:#4682b4;--palette-secondary-light:#7ba7cc;--palette-secondary-dark:#2e5984;--palette-on-secondary:#fff;--palette-surface-main:#fafbfc;--palette-surface-variant:#e2e8f0;--palette-surface-elevated:#fff;--palette-on-surface:#0f172a;--palette-background-main:#f8fafc;--palette-background-dark:#f1f5f9;--palette-background-overlay:rgba(248,250,252,.95);--palette-on-background:#475569;--palette-header-bg-start:rgba(248,250,252,.98);--palette-header-bg-end:rgba(248,250,252,.95);--palette-header-collapsed-bg-start:rgba(248,250,252,.99);--palette-header-collapsed-bg-end:rgba(248,250,252,.96);--palette-text-primary:#0f172a;--palette-text-secondary:#475569;--palette-text-disabled:rgba(15,23,42,.38);--palette-text-inverted:#fff;--palette-border-main:#cbd5e1;--palette-border-light:rgba(15,23,42,.12);--palette-border-lighter:rgba(15,23,42,.05);--palette-border-medium:#94a3b8;--palette-success-main:#059669;--palette-success-light:#d1fae5;--palette-success-dark:#064e3b;--palette-success-border:#a7f3d0;--palette-error-main:#dc2626;--palette-error-light:#fee2e2;--palette-error-dark:#7f1d1d;--palette-error-border:#fecaca;--palette-warning-main:#d97706;--palette-warning-light:#fef3c7;--palette-warning-dark:#92400e;--palette-warning-border:#fde68a;--palette-info-main:#0284c7;--palette-info-light:#e0f2fe;--palette-info-dark:#0c4a6e;--palette-on-info:#fff;--palette-info-border:#7dd3fc;--palette-accent-main:#ec4899;--palette-accent-light:#fce7f3;--palette-accent-dark:#be185d;--palette-on-accent:#fff;--palette-control-main:#1e293b;--palette-control-light:#334155;--palette-control-text:#e2e8f0;--palette-control-border:#475569}html[data-palette=winter][data-theme=dark]{--palette-primary-main:#7dd3fc;--palette-primary-light:#bae6fd;--palette-primary-dark:#0369a1;--palette-on-primary:#020617;--palette-secondary-main:#94a3b8;--palette-secondary-light:#cbd5e1;--palette-secondary-dark:#64748b;--palette-on-secondary:#020617;--palette-surface-main:#172033;--palette-surface-variant:#1e293b;--palette-surface-elevated:#334155;--palette-on-surface:#f8fafc;--palette-background-main:#04080f;--palette-background-dark:#0a1018;--palette-background-overlay:rgba(15,23,42,.95);--palette-on-background:#cbd5e1;--palette-header-bg-start:rgba(4,8,15,.98);--palette-header-bg-end:rgba(4,8,15,.95);--palette-header-collapsed-bg-start:rgba(4,8,15,.99);--palette-header-collapsed-bg-end:rgba(4,8,15,.96);--palette-text-primary:#f8fafc;--palette-text-secondary:#cbd5e1;--palette-text-disabled:rgba(248,250,252,.38);--palette-text-inverted:#020617;--palette-border-main:#475569;--palette-border-light:rgba(248,250,252,.12);--palette-border-lighter:rgba(248,250,252,.05);--palette-border-medium:#334155;--palette-success-main:#34d399;--palette-success-light:#064e3b;--palette-success-dark:#10b981;--palette-success-border:#065f46;--palette-error-main:#f87171;--palette-error-light:#7f1d1d;--palette-error-dark:#ef4444;--palette-error-border:#991b1b;--palette-warning-main:#fb923c;--palette-warning-light:#9a3412;--palette-warning-dark:#f97316;--palette-warning-border:#c2410c;--palette-info-main:#38bdf8;--palette-info-light:#0c4a6e;--palette-info-dark:#0ea5e9;--palette-on-info:#020617;--palette-info-border:#0284c7;--palette-accent-main:#f472b6;--palette-accent-light:#fce7f3;--palette-accent-dark:#db2777;--palette-on-accent:#f8fafc;--palette-control-main:#1e293b;--palette-control-light:#334155;--palette-control-text:#e2e8f0;--palette-control-border:#475569}html[data-palette=cosmic]:not([data-theme=dark]),html[data-palette=cosmic][data-theme=light]{--palette-primary-main:#8b5cf6;--palette-primary-light:#a78bfa;--palette-primary-dark:#7c3aed;--palette-on-primary:#fff;--palette-secondary-main:#8b5cf6;--palette-secondary-light:#c4b5fd;--palette-secondary-dark:#6d28d9;--palette-on-secondary:#fff;--palette-surface-main:#faf7ff;--palette-surface-variant:#f3e8ff;--palette-surface-elevated:#fff;--palette-on-surface:#4c1d95;--palette-background-main:#fef7ff;--palette-background-dark:#fae8ff;--palette-background-overlay:rgba(254,247,255,.95);--palette-on-background:#6b21a8;--palette-header-bg-start:rgba(254,247,255,.98);--palette-header-bg-end:rgba(254,247,255,.95);--palette-header-collapsed-bg-start:rgba(254,247,255,.99);--palette-header-collapsed-bg-end:rgba(254,247,255,.96);--palette-text-primary:#4c1d95;--palette-text-secondary:#7c3aed;--palette-text-disabled:rgba(76,29,149,.38);--palette-text-inverted:#fff;--palette-border-main:#c4b5fd;--palette-border-light:rgba(76,29,149,.12);--palette-border-lighter:rgba(76,29,149,.05);--palette-border-medium:#a78bfa;--palette-success-main:#10b981;--palette-success-light:#d1fae5;--palette-success-dark:#047857;--palette-success-border:#6ee7b7;--palette-error-main:#ef4444;--palette-error-light:#fee2e2;--palette-error-dark:#b91c1c;--palette-error-border:#fecaca;--palette-warning-main:#f59e0b;--palette-warning-light:#fef3c7;--palette-warning-dark:#b45309;--palette-warning-border:#fde68a;--palette-info-main:#3b82f6;--palette-info-light:#dbeafe;--palette-info-dark:#1d4ed8;--palette-on-info:#fff;--palette-info-border:#93c5fd;--palette-accent-main:#ec4899;--palette-accent-light:#f472b6;--palette-accent-dark:#be185d;--palette-on-accent:#fff;--palette-control-main:#1e1b4b;--palette-control-light:#3730a3;--palette-control-text:#e0e7ff;--palette-control-border:#8b5cf6}html[data-palette=cosmic][data-theme=dark]{--palette-primary-main:#a78bfa;--palette-primary-light:#c4b5fd;--palette-primary-dark:#8b5cf6;--palette-on-primary:#1e1b4b;--palette-secondary-main:#c4b5fd;--palette-secondary-light:#ddd6fe;--palette-secondary-dark:#a78bfa;--palette-on-secondary:#1e1b4b;--palette-surface-main:#252059;--palette-surface-variant:#312e81;--palette-surface-elevated:#3730a3;--palette-on-surface:#e0e7ff;--palette-background-main:#0a0818;--palette-background-dark:#12101f;--palette-background-overlay:rgba(10,8,24,.95);--palette-on-background:#c4b5fd;--palette-header-bg-start:rgba(10,8,24,.98);--palette-header-bg-end:rgba(10,8,24,.95);--palette-header-collapsed-bg-start:rgba(10,8,24,.99);--palette-header-collapsed-bg-end:rgba(10,8,24,.96);--palette-text-primary:#e0e7ff;--palette-text-secondary:#c4b5fd;--palette-text-disabled:rgba(224,231,255,.38);--palette-text-inverted:#0f0c29;--palette-border-main:#4338ca;--palette-border-light:rgba(224,231,255,.12);--palette-border-lighter:rgba(224,231,255,.05);--palette-border-medium:#312e81;--palette-success-main:#34d399;--palette-success-light:#047857;--palette-success-dark:#10b981;--palette-success-border:#065f46;--palette-error-main:#f87171;--palette-error-light:#b91c1c;--palette-error-dark:#ef4444;--palette-error-border:#991b1b;--palette-warning-main:#fb7185;--palette-warning-light:#881337;--palette-warning-dark:#e11d48;--palette-warning-border:#be123c;--palette-info-main:#60a5fa;--palette-info-light:#1d4ed8;--palette-info-dark:#3b82f6;--palette-on-info:#0f0c29;--palette-info-border:#2563eb;--palette-accent-main:#f472b6;--palette-accent-light:#f9a8d4;--palette-accent-dark:#ec4899;--palette-on-accent:#0f0c29;--palette-control-main:#312e81;--palette-control-light:#4338ca;--palette-control-text:#f3f4f6;--palette-control-border:#4338ca}@media (max-width:600px){.cover-image-header .MuiButton-root .MuiButton-startIcon+*{display:none}.cover-image-header .MuiButton-root{min-width:36px;padding:6px 8px}}.dynamic-logo{transition:all .3s ease}.dynamic-logo:hover{transform:scale(1.05)}.logo-first-part{fill:var(--theme-primary);transition:fill .3s ease}.logo-second-part{fill:var(--theme-accent);transition:fill .3s ease}.logo-badge{fill:var(--theme-warning);transition:fill .3s ease}.logo-badge-circle{opacity:.9}.logo-badge-star{fill:var(--theme-accent,var(--theme-warning));opacity:.8}.logo-badge-square{fill:var(--theme-info,var(--theme-warning));opacity:.7}.logo-badge-heart{fill:var(--theme-error,var(--theme-warning));opacity:.8}.logo-tiny,.logo-tiny .logo-first-part,.logo-tiny .logo-second-part{font-size:16px}.logo-small,.logo-small .logo-first-part,.logo-small .logo-second-part{font-size:20px}.logo-medium,.logo-medium .logo-first-part,.logo-medium .logo-second-part{font-size:28px}.logo-large,.logo-large .logo-first-part,.logo-large .logo-second-part{font-size:36px}.logo-extra-large,.logo-extra-large .logo-first-part,.logo-extra-large .logo-second-part{font-size:48px}.dynamic-logo.logo-high-contrast .logo-first-part{filter:drop-shadow(0 0 2px var(--theme-accent));opacity:1}.dynamic-logo.logo-high-contrast .logo-second-part{filter:drop-shadow(0 0 2px var(--theme-warning));opacity:1}.dynamic-logo.logo-high-contrast .logo-badge{filter:drop-shadow(0 0 2px var(--theme-primary));opacity:1}.dynamic-logo.logo-monochrome .logo-first-part,.dynamic-logo.logo-monochrome .logo-second-part{fill:#000;font-weight:900}.dynamic-logo.logo-monochrome .logo-badge{fill:#000;opacity:.8}html[data-theme=dark] .dynamic-logo.logo-monochrome .logo-badge,html[data-theme=dark] .dynamic-logo.logo-monochrome .logo-first-part,html[data-theme=dark] .dynamic-logo.logo-monochrome .logo-second-part{fill:#fff}.dynamic-logo.logo-on-primary .logo-first-part{fill:var(--theme-text-inverted,#fff);font-weight:700}.dynamic-logo.logo-on-primary .logo-second-part{fill:var(--theme-accent-light,#60a5fa);font-weight:700}.dynamic-logo.logo-on-primary .logo-badge{fill:var(--theme-warning,#ffb020);opacity:.9}.dynamic-logo.colorway-accent .logo-first-part{fill:var(--theme-accent,var(--theme-success))}.dynamic-logo.colorway-accent .logo-second-part{fill:var(--theme-info)}.dynamic-logo.colorway-accent .logo-badge{fill:var(--theme-error)}.dynamic-logo.colorway-vibrant .logo-first-part{fill:var(--theme-primary)}.dynamic-logo.colorway-vibrant .logo-second-part{fill:var(--theme-accent,var(--theme-success))}.dynamic-logo.colorway-vibrant .logo-badge{fill:var(--theme-warning)}.dynamic-logo.logo-default .logo-first-part{fill:var(--theme-primary,#3b82f6)}.dynamic-logo.logo-default .logo-second-part{fill:var(--theme-accent,var(--theme-secondary,#6366f1))}.dynamic-logo.logo-default .logo-badge{fill:var(--theme-warning,#f59e0b)}.custom-first-part{fill:#ff6b35!important;font-weight:900!important}.custom-second-part{fill:#004e89!important;font-weight:200!important}.custom-styling{filter:drop-shadow(0 0 3px rgba(255,107,53,.4));text-shadow:1px 1px 2px rgba(0,0,0,.3)}.gradient-text{fill:url(#textGradient);font-weight:600}.page{--page-background:var(--theme-surface,#fff);--page-text-color:var(--theme-on-surface,#000);--page-padding-none:0;--page-padding-small:var(--theme-spacing-small,1rem);--page-padding-medium:var(--theme-spacing-medium,1.5rem);--page-padding-large:var(--theme-spacing-large,2rem);--print-page-size:A4;--print-page-margins:12mm;--print-background:transparent;--print-background-first-page:var(--print-background,transparent);--print-header-height:0px;--print-footer-height:0px;background:var(--page-background);color:var(--page-text-color);min-height:100%;width:100%}.page-content{background:transparent;color:inherit;line-height:var(--theme-line-height,1.6);margin:0;overflow-y:auto;padding:0}.page-variant-centered{align-items:center;display:flex;flex-direction:column;text-align:center}.page-variant-narrow{margin:0 auto;max-width:var(--page-max-width-narrow,600px)}.page-variant-wide{margin:0 auto;max-width:var(--page-max-width-wide,1400px)}.page-variant-fullwidth{max-width:none;width:100%}.page-padding-none{padding:var(--page-padding-none)}.page-padding-small{padding:var(--page-padding-small)}.page-padding-medium{padding:var(--page-padding-medium)}.page-padding-large{padding:var(--page-padding-large)}.page-background-default{background:transparent}.page-background-surface{background:var(--theme-surface)}.page-background-alternate{background:var(--theme-surface-variant)}.page-max-width-small{margin-left:auto;margin-right:auto;max-width:var(--page-max-width-small,600px)}.page-max-width-medium{margin-left:auto;margin-right:auto;max-width:var(--page-max-width-medium,800px)}.page-max-width-large{margin-left:auto;margin-right:auto;max-width:var(--page-max-width-large,1200px)}.page-max-width-extra-large{margin-left:auto;margin-right:auto;max-width:var(--page-max-width-extra-large,1400px)}.page-max-width-none{max-width:none}@media print{@page{size:A4;margin:12mm}.page-print-mode.page-print-borderless,.page-print-mode.page-print-compact:not(.page-print-borderless),.page-print-mode.page-print-formal:not(.page-print-borderless),.page-print-mode.page-print-large:not(.page-print-borderless){@page{margin-bottom:25mm;margin-left:25mm;margin-right:25mm;margin-top:25mm}}.page-print-mode{box-sizing:border-box;margin:0;max-width:none!important;min-height:100vh;overflow:visible;padding:0;width:100vw}.page-print-mode,.page-print-mode.has-background:before{background:var(--print-background,transparent);-webkit-print-color-adjust:exact;print-color-adjust:exact}.page-print-mode.has-background:before{background-position:var(--print-background-position,center);background-repeat:var(--print-background-repeat,no-repeat);background-size:var(--print-background-size,cover);bottom:0;content:"";left:0;position:fixed;right:0;top:0;z-index:-1}.page-print-mode.has-background:first-child:before{background:var(--print-background-first-page,var(--print-background,transparent))}.page-print-header{align-items:var(--print-header-align-items,center);background:var(--print-header-background,transparent);box-sizing:border-box;display:var(--print-header-display,flex);height:var(--print-header-height,0);justify-content:var(--print-header-justify-content,flex-start);left:0;margin:0;max-height:var(--print-header-height,0);min-height:var(--print-header-height,0);overflow:var(--print-header-overflow,hidden);padding:0;position:fixed;right:0;top:0;z-index:1000}.page-print-footer-first-page,.page-print-header-first-page{display:none!important}.page-print-footer{align-items:var(--print-footer-align-items,center);background:var(--print-footer-background,transparent);bottom:0;box-sizing:border-box;display:var(--print-footer-display,flex);height:var(--print-footer-height,0);justify-content:var(--print-footer-justify-content,center);left:0;margin:0;max-height:var(--print-footer-height,0);min-height:var(--print-footer-height,0);overflow:var(--print-footer-overflow,hidden);padding:0;position:fixed;right:0;z-index:1000}.page-print-footer *,.page-print-header *{box-sizing:border-box;max-height:100%;-webkit-print-color-adjust:exact;print-color-adjust:exact}.page-print-mode .page-content{background:transparent!important;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-sizing:border-box!important;margin:0!important;outline:none!important;overflow:visible;padding:0!important;padding-bottom:var(--print-footer-height,0)!important;padding-top:var(--print-header-height,0)!important;width:100%}.page-print-mode .page-content *{position:relative!important}.page-print-mode .page-content>*{margin-top:0!important}.page-print-mode .page-error,.page-print-mode .page-header-actions,.page-print-mode .page-loading,.page-print-mode [data-print-hide=true],.page-print-mode button:not(.page-print-header button):not(.page-print-footer button),.page-print-mode~.app-footer,.page-print-mode~[data-testid=footer],.page-print-mode~footer{display:none!important}.page-print-mode a{color:inherit;text-decoration:none}.page-print-mode,.page-print-mode *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.page-print-mode *{box-sizing:border-box}.page-break-before{break-before:page;page-break-before:always}.page-break-after{break-after:page;page-break-after:always}.page-break-inside-avoid{break-inside:avoid;page-break-inside:avoid}.page-break-inside-auto{break-inside:auto;page-break-inside:auto}.page-print-mode .page-content:after,.page-print-mode .page-content:before{content:"";display:block}}@media screen and (max-width:768px){.page-padding-medium{padding:var(--page-padding-small)}.page-padding-large{padding:var(--page-padding-medium)}.page-max-width-extra-large,.page-max-width-large,.page-max-width-medium,.page-max-width-small{margin-left:var(--theme-spacing-small,1rem);margin-right:var(--theme-spacing-small,1rem);max-width:calc(100% - var(--theme-spacing-small, 1rem)*2)}}@media (prefers-contrast:high){.page{background:var(--theme-surface-high-contrast,var(--theme-surface));color:var(--theme-on-surface-high-contrast,var(--theme-on-surface))}}@media (prefers-reduced-motion:reduce){.page *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app-scaffold{--appbar-height:64px;--bottom-nav-height:80px;--rail-width-collapsed:80px;--rail-width-expanded:280px;--touch-target-size:48px;--menu-bg:var(--theme-surface);--menu-text:var(--theme-on-surface);--menu-hover:var(--theme-surface-variant);--menu-active:var(--theme-primary);--menu-active-text:var(--theme-on-primary);--menu-border:var(--theme-outline-variant);--menu-shadow:rgba(0,0,0,.1);--scaffold-background:var(--theme-background);--scaffold-surface:var(--theme-surface);--scaffold-on-surface:var(--theme-on-surface);--scaffold-primary:var(--theme-primary);--scaffold-on-primary:var(--theme-on-primary);--scaffold-outline:var(--theme-border-main);--scaffold-shadow:var(--theme-elevation-2);background:var(--scaffold-background);font-family:var(--theme-font-family,"Segoe UI",sans-serif);min-height:100vh;position:relative}.app-scaffold-appbar{background:var(--scaffold-surface);border-bottom:1px solid var(--scaffold-outline);box-shadow:var(--scaffold-shadow);left:0;position:fixed;right:0;top:0;z-index:1100}.appbar-content{align-items:center;display:flex;height:100%;margin:0 auto;max-width:1200px;padding:0 16px}.appbar-center,.appbar-left,.appbar-right{align-items:center;display:flex;gap:8px}.appbar-left{flex:0 0 auto}.appbar-center{flex:1;justify-content:center;position:relative}.appbar-right{flex:0 0 auto}.appbar-logo{align-items:center;display:flex;height:40px}.appbar-navigation{align-items:center;display:flex;gap:4px}.appbar-actions,.appbar-page-actions,.appbar-theme-controls{align-items:center;display:flex;gap:8px}.menu-button{align-items:center;background:transparent;border:none;border-radius:50%;color:var(--scaffold-on-surface);cursor:pointer;display:flex;height:var(--touch-target-size);justify-content:center;transition:background-color .2s ease;width:var(--touch-target-size);&:hover{background:rgba(0,0,0,.04)}&:active{background:rgba(0,0,0,.08)}}.hamburger-icon{span{background:currentColor;border-radius:1px;display:block;height:2px;transition:all .3s ease;width:100%}}.menu-item{border-radius:12px;color:var(--scaffold-on-surface);font-size:14px;font-weight:500;justify-content:center;min-height:var(--touch-target-size);min-width:var(--touch-target-size);padding:12px 16px;&:hover:not(.disabled){background:rgba(0,0,0,.04)}&:active:not(.disabled){background:rgba(0,0,0,.08)}&.active{background:var(--scaffold-primary);color:var(--scaffold-on-primary)}&.disabled{cursor:default;opacity:.38}}.menu-item-label{font-size:inherit;font-weight:inherit}.menu-item-badge{align-items:center;border-radius:10px;display:flex;font-size:11px;height:16px;justify-content:center;line-height:1;min-width:16px;padding:2px 6px;position:absolute;right:6px;top:6px}.menu-item-appbar{flex-direction:row;gap:8px;min-width:auto;padding:8px 16px}.menu-item-icon-appbar{height:20px;width:20px}.menu-item-label-appbar{font-size:14px}.bottom-navigation{background:var(--scaffold-surface);border-top:1px solid var(--scaffold-outline);bottom:0;box-shadow:0 -2px 8px rgba(0,0,0,.1);height:var(--bottom-nav-height);left:0;position:fixed;right:0;z-index:1000}.bottom-nav-items{align-items:center;display:flex;height:100%;justify-content:space-around;margin:0 auto;max-width:600px;padding:0 8px}.menu-item-bottom{flex:1;flex-direction:column;gap:4px;max-width:120px;min-width:64px;padding:8px 12px;text-align:center}.menu-item-icon-bottom{height:24px;margin:0 auto;width:24px}.menu-item-label-bottom{font-size:12px;font-weight:500;line-height:1}.navigation-rail{background:var(--scaffold-surface);border-right:1px solid var(--scaffold-outline);bottom:0;box-shadow:2px 0 8px rgba(0,0,0,.1);left:0;overflow:hidden;position:fixed;top:var(--appbar-height);transition:width .3s ease;z-index:1000;&.collapsed{width:var(--rail-width-collapsed)}&.expanded{width:var(--rail-width-expanded)}}.rail-items{display:flex;flex-direction:column;gap:4px;height:100%;overflow-y:auto;padding:12px}.menu-item-rail{flex-direction:row;gap:12px;justify-content:flex-start;min-width:var(--touch-target-size);padding:12px 16px;.collapsed &{justify-content:center;padding:12px;.menu-item-label{display:none}}}.menu-item-icon-rail{height:24px;width:24px}.menu-item-label-rail{font-size:14px;font-weight:500}.drawer-overlay{animation:fadeIn .2s ease;background:rgba(0,0,0,.5);left:0;z-index:1200}.drawer-overlay,.navigation-drawer{bottom:0;position:fixed;right:0;top:0}.navigation-drawer{animation:slideInRight .3s ease;background:var(--scaffold-surface,#fff);box-shadow:-5px 0 20px rgba(0,0,0,.2);display:flex;flex-direction:column;max-width:80vw;overflow:hidden;width:320px}.drawer-header{border-bottom:1px solid var(--scaffold-outline);justify-content:space-between;min-height:var(--appbar-height);padding:16px 24px;h3{color:var(--scaffold-on-surface);font-size:20px;font-weight:500;margin:0}}.drawer-close,.drawer-header{align-items:center;display:flex}.drawer-close{background:transparent;border:none;border-radius:50%;color:var(--scaffold-on-surface);cursor:pointer;font-size:24px;height:var(--touch-target-size);justify-content:center;width:var(--touch-target-size);&:hover{background:rgba(0,0,0,.04)}}.drawer-items{flex:1;overflow-y:auto;padding:8px}.drawer-section{margin-bottom:16px;h4{color:var(--scaffold-primary);font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;padding:8px 16px;text-transform:uppercase}}.menu-item-drawer{flex-direction:row;gap:16px;justify-content:flex-start;margin:2px 0;padding:12px 16px;width:100%}.menu-item-icon-drawer{height:24px;width:24px}.menu-item-label-drawer{flex:1;font-size:16px;font-weight:400;text-align:left}.app-scaffold-content{background:var(--scaffold-background);box-sizing:border-box;min-height:100vh;transition:padding .3s ease}@media (max-width:599px){.appbar-content{padding:0 8px}.menu-button{height:40px;width:40px}.bottom-nav-items{padding:0 4px}.menu-item-bottom{min-width:56px}}@media (min-width:600px) and (max-width:1023px){.appbar-content{padding:0 12px}}@media (min-width:1024px){.appbar-content{padding:0 16px}}@media (prefers-contrast:high){.menu-item:hover:not(.disabled){background:rgba(0,0,0,.1);outline:2px solid var(--scaffold-on-surface)}.menu-item.active{outline:2px solid var(--scaffold-on-primary)}}@media (prefers-reduced-motion:reduce){.app-scaffold-content,.hamburger-icon span,.menu-item,.navigation-rail{transition:none}.drawer-overlay,.navigation-drawer{animation:none}}@media (prefers-color-scheme:dark){.app-scaffold{--scaffold-shadow:0 2px 8px rgba(0,0,0,.3)}.menu-item:hover:not(.disabled){background:hsla(0,0%,100%,.08)}.menu-item:active:not(.disabled){background:hsla(0,0%,100%,.12)}.menu-button:hover{background:hsla(0,0%,100%,.08)}.menu-button:active{background:hsla(0,0%,100%,.12)}}.responsive-menu{--menu-bg:var(--theme-surface);--menu-text:var(--theme-on-surface);--menu-hover:var(--theme-surface-variant);--menu-active:var(--theme-primary);--menu-active-text:var(--theme-on-primary);--menu-border:var(--theme-outline-variant);--menu-shadow:rgba(0,0,0,.1);font-family:var(--theme-font-family,"Segoe UI",sans-serif);font-size:var(--theme-font-size-body,14px);line-height:1.5}.menu-item{align-items:center;background:transparent;border:none;border-radius:var(--theme-border-radius,8px);color:var(--menu-text);cursor:pointer;display:flex;font-family:inherit;font-size:inherit;gap:.75rem;min-height:48px;padding:.75rem 1rem;position:relative;text-decoration:none;transition:all .2s ease}.menu-item:hover:not(.disabled){background:var(--menu-hover);transform:translateY(-1px)}.menu-item:active:not(.disabled){transform:translateY(0)}.menu-item.active{background:transparent;color:var(--menu-active);font-weight:600}.menu-item.disabled{cursor:not-allowed;opacity:.5}.menu-item-icon{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.menu-item-label{flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.menu-item-badge{background:var(--theme-error,#dc2626);border-radius:12px;color:var(--theme-on-error,#fff);font-size:.75rem;font-weight:600;min-width:20px;padding:.125rem .375rem;text-align:center}.hamburger-icon{cursor:pointer;display:flex;flex-direction:column;gap:3px;height:16px;width:20px;span{background:currentColor;border-radius:1px;display:block;height:2px;transition:all .3s ease;width:100%}}.mobile-bottom-nav{background:var(--menu-bg);border-top:1px solid var(--menu-border);bottom:0;box-shadow:0 -2px 10px var(--menu-shadow);left:0;position:fixed;right:0;z-index:1000;.mobile-nav-items{-ms-overflow-style:none;align-items:center;display:flex;justify-content:space-around;max-width:100%;overflow-x:auto;padding:.5rem 0;scrollbar-width:none}.mobile-nav-items::-webkit-scrollbar{display:none}.menu-item{flex:1;flex-direction:column;gap:.25rem;max-width:100px;min-width:0;padding:.5rem .75rem;text-align:center;.menu-item-icon{margin:0 auto}.menu-item-label{font-size:.75rem;text-align:center}}}.tablet-nav-rail{background:var(--menu-bg);border-right:1px solid var(--menu-border);box-shadow:2px 0 10px var(--menu-shadow);height:100vh;left:0;overflow:hidden;position:fixed;top:0;transition:width .3s ease;z-index:1000;&.collapsed{width:72px}&.expanded{width:280px}.nav-rail-header{align-items:center;border-bottom:1px solid var(--menu-border);display:flex;justify-content:space-between;min-height:72px;padding:1rem}.nav-rail-logo{flex:1;overflow:hidden;transition:opacity .3s ease}.nav-rail-toggle{background:transparent;border:none;border-radius:var(--theme-border-radius,8px);color:var(--menu-text);cursor:pointer;padding:.5rem}.nav-rail-toggle:hover{background:var(--menu-hover)}.nav-rail-items{display:flex;flex-direction:column;gap:.5rem;height:calc(100vh - 72px);overflow-y:auto;padding:1rem}&.collapsed{.nav-rail-logo{opacity:0}.menu-item{justify-content:center;.menu-item-label{display:none}}}}.desktop-top-nav{background:var(--menu-bg);border-bottom:1px solid var(--menu-border);box-shadow:0 2px 10px var(--menu-shadow);position:sticky;top:0;z-index:1000;.top-nav-content{align-items:center;display:flex;height:64px;margin:0 auto;max-width:1200px;padding:0 2rem}.top-nav-logo{&.logo-left{margin-right:2rem}&.logo-center{left:50%;position:absolute;transform:translateX(-50%)}&.logo-right{margin-left:2rem}}.top-nav-items{align-items:center;display:flex;flex:1;gap:.5rem;justify-content:center;.logo-left~&{justify-content:flex-start}.logo-right~&{justify-content:flex-end}}.menu-toggle{background:transparent;border:none;border-radius:var(--theme-border-radius,8px);color:var(--menu-text);cursor:pointer;padding:.75rem}.menu-toggle:hover{background:var(--menu-hover)}}.menu-drawer-overlay{animation:fadeIn .2s ease;background:rgba(0,0,0,.5);bottom:0;left:0;position:fixed;right:0;top:0;z-index:2000}.menu-drawer{animation:slideInRight .3s ease;background:var(--menu-bg);box-shadow:-5px 0 20px var(--menu-shadow);display:flex;flex-direction:column;height:100vh;max-width:90vw;position:fixed;right:0;top:0;width:320px;.drawer-header{align-items:center;border-bottom:1px solid var(--menu-border);display:flex;justify-content:space-between;padding:1.5rem 2rem;h3{color:var(--menu-text);font-size:1.25rem;font-weight:600;margin:0}}.drawer-close{background:transparent;border:none;border-radius:var(--theme-border-radius,8px);color:var(--menu-text);cursor:pointer;font-size:1.5rem;padding:.25rem}.drawer-close:hover{background:var(--menu-hover)}.drawer-items{display:flex;flex:1;flex-direction:column;gap:.5rem;overflow-y:auto;padding:1rem 2rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@media (max-width:767px){body{padding-bottom:80px}}@media (min-width:768px) and (max-width:1024px){body{margin-left:72px}}@media (prefers-color-scheme:dark){.responsive-menu{--menu-shadow:rgba(0,0,0,.3)}}html[data-theme=dark] .responsive-menu{--menu-hover:var(--theme-surface-elevated,#353535);--menu-shadow:rgba(0,0,0,.4)}html[data-theme=dark] .menu-item{color:var(--theme-on-surface,#fff)}html[data-theme=dark] .menu-item:hover:not(.disabled){background:var(--theme-surface-elevated,#353535);color:var(--theme-on-surface,#fff)}html[data-theme=dark] .menu-item.active{background:transparent;color:var(--theme-primary-light,#87ceeb)}html[data-theme=dark] .menu-item-icon{color:inherit;opacity:.9}html[data-theme=dark] .menu-item-label{color:inherit;font-weight:500}html[data-palette=default]:not([data-theme=dark]),html[data-palette=default][data-theme=light]{--palette-primary-main:#007bff;--palette-primary-light:#4a90e2;--palette-primary-dark:#0056b3;--palette-on-primary:#fff;--palette-secondary-main:#6c757d;--palette-secondary-light:#868e96;--palette-secondary-dark:#495057;--palette-on-secondary:#fff;--palette-surface-main:#fff;--palette-surface-variant:#f5f5f5;--palette-surface-elevated:#fff;--palette-on-surface:#000;--palette-background-main:#fff;--palette-background-dark:#fafafa;--palette-background-overlay:hsla(0,0%,100%,.95);--palette-on-background:#000;--palette-header-bg-start:hsla(0,0%,100%,.98);--palette-header-bg-end:hsla(0,0%,100%,.95);--palette-header-collapsed-bg-start:hsla(0,0%,100%,.99);--palette-header-collapsed-bg-end:hsla(0,0%,100%,.96);--palette-text-primary:#000;--palette-text-secondary:#666;--palette-text-disabled:rgba(0,0,0,.38);--palette-text-inverted:#fff;--palette-border-main:#e0e0e0;--palette-border-light:rgba(0,0,0,.12);--palette-border-lighter:rgba(0,0,0,.05);--palette-border-medium:#ccc;--palette-success-main:#28a745;--palette-success-light:#d4edda;--palette-success-dark:#155724;--palette-on-success:#fff;--palette-success-border:#c3e6cb;--palette-error-main:#dc3545;--palette-error-light:#f8d7da;--palette-error-dark:#721c24;--palette-on-error:#fff;--palette-error-border:#f5c6cb;--palette-warning-main:#ffc107;--palette-warning-light:#fff3cd;--palette-warning-dark:#856404;--palette-on-warning:#000;--palette-warning-border:#ffeeba;--palette-info-main:#007acc;--palette-info-light:#f0f8ff;--palette-info-dark:#058;--palette-on-info:#fff;--palette-info-border:#007acc;--palette-accent-main:#ff6b35;--palette-accent-light:#ffb3a0;--palette-accent-dark:#cc5429;--palette-on-accent:#fff;--palette-control-main:#1a1a1a;--palette-control-light:#2a2a2a;--palette-control-text:#ccc;--palette-control-border:#333}html[data-palette=default][data-theme=dark]{--palette-primary-main:#4a90e2;--palette-primary-light:#87ceeb;--palette-primary-dark:#1a365d;--palette-on-primary:#fff;--palette-secondary-main:#868e96;--palette-secondary-light:#adb5bd;--palette-secondary-dark:#6c757d;--palette-on-secondary:#fff;--palette-surface-main:#1e1e1e;--palette-surface-variant:#2a2a2a;--palette-surface-elevated:#353535;--palette-on-surface:#fff;--palette-background-main:#121212;--palette-background-dark:#2a2a2a;--palette-background-overlay:rgba(30,30,30,.95);--palette-on-background:#fff;--palette-header-bg-start:hsla(0,0%,7%,.98);--palette-header-bg-end:hsla(0,0%,7%,.95);--palette-header-collapsed-bg-start:hsla(0,0%,7%,.99);--palette-header-collapsed-bg-end:hsla(0,0%,7%,.96);--palette-text-primary:#fff;--palette-text-secondary:#b0b0b0;--palette-text-disabled:hsla(0,0%,100%,.38);--palette-text-inverted:#000;--palette-border-main:#555;--palette-border-light:hsla(0,0%,100%,.12);--palette-border-lighter:hsla(0,0%,100%,.05);--palette-border-medium:#333;--palette-success-main:#4ade80;--palette-success-light:#064e3b;--palette-success-dark:#22c55e;--palette-on-success:#fff;--palette-success-border:#065f46;--palette-error-main:#f87171;--palette-error-light:#7f1d1d;--palette-error-dark:#ef4444;--palette-on-error:#fff;--palette-error-border:#991b1b;--palette-warning-main:#fbbf24;--palette-warning-light:#78350f;--palette-warning-dark:#f59e0b;--palette-on-warning:#000;--palette-warning-border:#92400e;--palette-info-main:#60a5fa;--palette-info-light:#1e3a8a;--palette-info-dark:#3b82f6;--palette-on-info:#fff;--palette-info-border:#1d4ed8;--palette-accent-main:#ff8a65;--palette-accent-light:#ffcc9c;--palette-accent-dark:#cc6e52;--palette-on-accent:#fff;--palette-control-main:#2a2a2a;--palette-control-light:#3a3a3a;--palette-control-text:#e0e0e0;--palette-control-border:#555}:root{--theme-primary:var(--palette-primary-main);--theme-primary-light:var(--palette-primary-light);--theme-primary-dark:var(--palette-primary-dark);--theme-on-primary:var(--palette-on-primary);--theme-secondary:var(--palette-secondary-main);--theme-secondary-light:var(--palette-secondary-light);--theme-secondary-dark:var(--palette-secondary-dark);--theme-on-secondary:var(--palette-on-secondary);--theme-accent:var(--palette-accent-main);--theme-accent-light:var(--palette-accent-light);--theme-accent-dark:var(--palette-accent-dark);--theme-on-accent:var(--palette-on-accent);--theme-success:var(--palette-success-main);--theme-success-light:var(--palette-success-light);--theme-success-dark:var(--palette-success-dark);--theme-on-success:var(--palette-on-success);--theme-success-border:var(--palette-success-border);--theme-warning:var(--palette-warning-main);--theme-warning-light:var(--palette-warning-light);--theme-warning-dark:var(--palette-warning-dark);--theme-on-warning:var(--palette-on-warning);--theme-warning-border:var(--palette-warning-border);--theme-error:var(--palette-error-main);--theme-error-light:var(--palette-error-light);--theme-error-dark:var(--palette-error-dark);--theme-on-error:var(--palette-on-error);--theme-error-border:var(--palette-error-border);--theme-info:var(--palette-info-main);--theme-info-light:var(--palette-info-light);--theme-info-dark:var(--palette-info-dark);--theme-on-info:var(--palette-on-info);--theme-info-border:var(--palette-info-border);--theme-background:var(--palette-background-main);--theme-background-dark:var(--palette-background-dark);--theme-background-overlay:var(--palette-background-overlay);--theme-on-background:var(--palette-on-background);--theme-surface:var(--palette-surface-main);--theme-surface-variant:var(--palette-surface-variant);--theme-surface-elevated:var(--palette-surface-elevated);--theme-on-surface:var(--palette-on-surface);--theme-border-main:var(--palette-border-main);--theme-border-light:var(--palette-border-light);--theme-border-lighter:var(--palette-border-lighter);--theme-border-medium:var(--palette-border-medium);--theme-border-dark:var(--palette-border-medium);--theme-text-primary:var(--palette-text-primary);--theme-text-secondary:var(--palette-text-secondary);--theme-text-disabled:var(--palette-text-disabled);--theme-text-inverted:var(--palette-text-inverted);--theme-control-bg:var(--palette-control-main);--theme-control-text:var(--palette-control-text);--theme-control-border:var(--palette-control-border);--theme-control-hover-bg:var(--palette-control-light);--theme-control-hover-text:var(--palette-text-inverted);--theme-control-hover-border:var(--palette-control-border);--theme-panel-bg-start:var(--palette-control-main);--theme-panel-bg-end:var(--palette-surface-elevated);--theme-panel-border:var(--palette-control-border);--theme-panel-shadow:rgba(0,0,0,.6);--theme-floating-bg:var(--palette-background-overlay);--theme-floating-border:var(--palette-border-light);--theme-option-bg:var(--palette-surface-variant);--theme-option-text:var(--palette-text-primary);--theme-option-border:var(--palette-border-main);--theme-option-hover-bg:var(--palette-surface-variant);--theme-option-selected-bg:var(--palette-primary-light);--theme-option-selected-border:var(--palette-primary-main);--theme-option-selected-text:var(--palette-on-primary);--theme-option-correct-bg:var(--palette-success-light);--theme-option-correct-border:var(--palette-success-border);--theme-option-correct-text:var(--palette-success-dark);--theme-option-incorrect-bg:var(--palette-error-light);--theme-option-incorrect-border:var(--palette-error-border);--theme-option-incorrect-text:var(--palette-error-dark);--theme-explanation-bg:var(--palette-info-light);--theme-explanation-border:var(--palette-info-main);--theme-link-color:var(--palette-info-main);--theme-link-hover:var(--palette-info-dark);--theme-code-bg:var(--palette-surface-main);--theme-code-text:var(--palette-primary);--theme-mui-label-bg:var(--palette-surface-main);--theme-outline:var(--palette-border-main);--theme-outline-variant:var(--palette-border-light);--theme-border-radius:12px;--theme-border-radius-small:8px;--theme-border-radius-large:16px;--theme-elevation-1:0 2px 4px rgba(0,0,0,.1);--theme-elevation-2:0 4px 8px rgba(0,0,0,.15);--theme-elevation-3:0 6px 12px rgba(0,0,0,.2);--theme-elevation-4:0 8px 16px rgba(0,0,0,.25)}html[data-theme=light]{--theme-header-bg-start:var(--palette-header-bg-start);--theme-header-bg-end:var(--palette-header-bg-end);--theme-header-collapsed-bg-start:var(--palette-header-collapsed-bg-start);--theme-header-collapsed-bg-end:var(--palette-header-collapsed-bg-end);--theme-control-hover-text:var(--palette-text-inverted);--theme-control-hover-border:#555;--theme-panel-bg-end:#252525;--theme-panel-shadow:rgba(0,0,0,.6);--theme-floating-border:hsla(0,0%,100%,.5);--theme-option-text:#222;--theme-option-hover-bg:#e0e0e0;--theme-option-selected-bg:#d0e0ff;--theme-option-selected-text:var(--palette-primary-dark);--theme-code-text:var(--palette-primary-dark)}html[data-theme=dark]{--theme-header-bg-start:var(--palette-header-bg-start);--theme-header-bg-end:var(--palette-header-bg-end);--theme-header-collapsed-bg-start:var(--palette-header-collapsed-bg-start);--theme-header-collapsed-bg-end:var(--palette-header-collapsed-bg-end);--theme-control-hover-text:var(--palette-text-primary);--theme-control-hover-border:#777;--theme-panel-bg-end:var(--palette-surface-elevated);--theme-panel-shadow:rgba(0,0,0,.8);--theme-floating-border:hsla(0,0%,100%,.2);--theme-option-text:var(--palette-text-secondary);--theme-option-hover-bg:var(--palette-surface-elevated);--theme-option-selected-bg:var(--palette-primary-dark);--theme-option-selected-text:var(--palette-primary-light);--theme-code-text:var(--palette-primary-light);--theme-mui-label-bg:#292929;--theme-elevation-1:0 2px 4px rgba(0,0,0,.2);--theme-elevation-2:0 4px 8px rgba(0,0,0,.3);--theme-elevation-3:0 6px 12px rgba(0,0,0,.4);--theme-elevation-4:0 8px 16px rgba(0,0,0,.5)}*{transition:background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.MuiButton-root:focus,.MuiFab-root:hover,.MuiIconButton-root:focus,.MuiMenuItem-root:hover,:active,:focus,:hover,button:focus,input:focus,select:focus,textarea:focus{transition:none}#root,body,html{background-color:var(--theme-surface)!important;color:var(--theme-on-surface)!important;font-family:Roboto,sans-serif;line-height:1.6;margin:0;padding:0}code,code.inline-code,pre.code-block{background-color:var(--theme-code-bg)!important;border-radius:4px;color:var(--theme-code-text)!important;font-family:Source Code Pro,monospace;padding:2px 4px}pre code{background-color:transparent!important;border-radius:0;color:inherit!important;padding:0}
|
|
1
|
+
html[data-palette=default][data-theme=dark]{--palette-surface-main:#252525;--palette-surface-variant:#2f2f2f;--palette-surface-elevated:#3a3a3a;--palette-background-main:#0e0e0e;--palette-background-dark:#1a1a1a;--palette-header-bg-start:hsla(0,0%,5%,.98);--palette-header-bg-end:hsla(0,0%,5%,.95);--palette-header-collapsed-bg-start:hsla(0,0%,5%,.99);--palette-header-collapsed-bg-end:hsla(0,0%,5%,.96)}html[data-palette=autumn]:not([data-theme=dark]),html[data-palette=autumn][data-theme=light]{--palette-primary-main:#ea580c;--palette-primary-light:#fb923c;--palette-primary-dark:#c2410c;--palette-on-primary:#fff;--palette-secondary-main:#b45309;--palette-secondary-light:#d97706;--palette-secondary-dark:#92400e;--palette-on-secondary:#fff;--palette-surface-main:#fffbeb;--palette-surface-variant:#fef3c7;--palette-surface-elevated:#fff;--palette-on-surface:#451a03;--palette-background-main:#fefce8;--palette-background-dark:#fef3c7;--palette-background-overlay:hsla(55,92%,95%,.95);--palette-on-background:#78350f;--palette-header-bg-start:hsla(55,92%,95%,.98);--palette-header-bg-end:hsla(55,92%,95%,.95);--palette-header-collapsed-bg-start:hsla(55,92%,95%,.99);--palette-header-collapsed-bg-end:hsla(55,92%,95%,.96);--palette-text-primary:#451a03;--palette-text-secondary:#78350f;--palette-text-disabled:rgba(69,26,3,.38);--palette-text-inverted:#fff;--palette-border-main:#d4d4aa;--palette-border-light:rgba(69,26,3,.12);--palette-border-lighter:rgba(69,26,3,.05);--palette-border-medium:#a8a29e;--palette-success-main:#16a34a;--palette-success-light:#dcfce7;--palette-success-dark:#14532d;--palette-success-border:#bbf7d0;--palette-error-main:#dc2626;--palette-error-light:#fee2e2;--palette-error-dark:#7f1d1d;--palette-on-error:#fff;--palette-error-border:#fecaca;--palette-warning-main:#f59e0b;--palette-warning-light:#fef3c7;--palette-warning-dark:#78350f;--palette-on-warning:#000;--palette-warning-border:#fde68a;--palette-info-main:#0891b2;--palette-info-light:#e6fffa;--palette-info-dark:#164e63;--palette-on-info:#fff;--palette-info-border:#67e8f9;--palette-accent-main:#dc2626;--palette-accent-light:#f87171;--palette-accent-dark:#991b1b;--palette-on-accent:#fff;--palette-control-main:#451a03;--palette-control-light:#78350f;--palette-control-text:#fef3c7;--palette-control-border:#92400e}html[data-palette=autumn][data-theme=dark]{--palette-primary-main:#fb923c;--palette-primary-light:#fdba74;--palette-primary-dark:#ea580c;--palette-on-primary:#1c1917;--palette-secondary-main:#fbbf24;--palette-secondary-light:#fcd34d;--palette-secondary-dark:#f59e0b;--palette-on-secondary:#1c1917;--palette-surface-main:#231f1d;--palette-surface-variant:#302a27;--palette-surface-elevated:#44403c;--palette-on-surface:#fef3c7;--palette-background-main:#0a0807;--palette-background-dark:#151210;--palette-background-overlay:rgba(28,25,23,.95);--palette-on-background:#d6d3d1;--palette-header-bg-start:rgba(10,8,7,.98);--palette-header-bg-end:rgba(10,8,7,.95);--palette-header-collapsed-bg-start:rgba(10,8,7,.99);--palette-header-collapsed-bg-end:rgba(10,8,7,.96);--palette-text-primary:#fef3c7;--palette-text-secondary:#d6d3d1;--palette-text-disabled:hsla(48,96%,89%,.38);--palette-text-inverted:#0c0a09;--palette-border-main:#78716c;--palette-border-light:hsla(48,96%,89%,.12);--palette-border-lighter:hsla(48,96%,89%,.05);--palette-border-medium:#57534e;--palette-success-main:#4ade80;--palette-success-light:#14532d;--palette-success-dark:#22c55e;--palette-success-border:#166534;--palette-error-main:#f87171;--palette-error-light:#7f1d1d;--palette-error-dark:#ef4444;--palette-error-border:#991b1b;--palette-warning-main:#eab308;--palette-warning-light:#78350f;--palette-warning-dark:#ca8a04;--palette-warning-border:#a16207;--palette-info-main:#22d3ee;--palette-info-light:#164e63;--palette-info-dark:#06b6d4;--palette-on-info:#0c0a09;--palette-info-border:#0891b2;--palette-accent-main:#b91c1c;--palette-accent-light:#dc2626;--palette-accent-dark:#7f1d1d;--palette-on-accent:#fef3c7;--palette-control-main:#292524;--palette-control-light:#44403c;--palette-control-text:#f5f5f4;--palette-control-border:#57534e}html[data-palette=boutique]:not([data-theme=dark]),html[data-palette=boutique][data-theme=light]{--palette-primary-main:#3ca6b6;--palette-primary-light:#6bc4d1;--palette-primary-dark:#2a7a86;--palette-on-primary:#fff;--palette-secondary-main:#be765e;--palette-secondary-light:#d4987e;--palette-secondary-dark:#9a5742;--palette-on-secondary:#fff;--palette-surface-main:#fefcf8;--palette-surface-variant:#f5f0ea;--palette-surface-elevated:#fff;--palette-on-surface:#2c2520;--palette-background-main:#fffdf9;--palette-background-dark:#f8f4ed;--palette-background-overlay:rgba(255,253,249,.95);--palette-on-background:#3d3530;--palette-header-bg-start:rgba(255,253,249,.98);--palette-header-bg-end:rgba(255,253,249,.95);--palette-header-collapsed-bg-start:rgba(255,253,249,.99);--palette-header-collapsed-bg-end:rgba(255,253,249,.96);--palette-text-primary:#2c2520;--palette-text-secondary:#5d5349;--palette-text-disabled:rgba(44,37,32,.38);--palette-text-inverted:#fff;--palette-border-main:#d4cdc4;--palette-border-light:rgba(44,37,32,.12);--palette-border-lighter:rgba(44,37,32,.05);--palette-border-medium:#b8afa4;--palette-success-main:#10b981;--palette-success-light:#d1fae5;--palette-success-dark:#047857;--palette-success-border:#a7f3d0;--palette-error-main:#f43f5e;--palette-error-light:#ffe4e6;--palette-error-dark:#9f1239;--palette-on-error:#fff;--palette-error-border:#fecdd3;--palette-warning-main:#f59e0b;--palette-warning-light:#fef3c7;--palette-warning-dark:#d97706;--palette-on-warning:#000;--palette-warning-border:#fde68a;--palette-info-main:#0284c7;--palette-info-light:#e0f2fe;--palette-info-dark:#075985;--palette-on-info:#fff;--palette-info-border:#7dd3fc;--palette-accent-main:#0a1a3e;--palette-accent-light:#1e3a73;--palette-accent-dark:#050d1f;--palette-on-accent:#fff;--palette-control-main:#2a7a86;--palette-control-light:#3ca6b6;--palette-control-text:#fff;--palette-control-border:#217380}html[data-palette=boutique][data-theme=dark]{--palette-primary-main:#6bc4d1;--palette-primary-light:#8fd5de;--palette-primary-dark:#3ca6b6;--palette-on-primary:#0a1a1d;--palette-secondary-main:#d4987e;--palette-secondary-light:#e3b9a4;--palette-secondary-dark:#be765e;--palette-on-secondary:#1a1210;--palette-surface-main:#1a1614;--palette-surface-variant:#252220;--palette-surface-elevated:#332f2c;--palette-on-surface:#f5f0ea;--palette-background-main:#0f0d0c;--palette-background-dark:#1a1614;--palette-background-overlay:rgba(26,22,20,.95);--palette-on-background:#e8e4de;--palette-header-bg-start:rgba(15,13,12,.98);--palette-header-bg-end:rgba(15,13,12,.95);--palette-header-collapsed-bg-start:rgba(15,13,12,.99);--palette-header-collapsed-bg-end:rgba(15,13,12,.96);--palette-text-primary:#f5f0ea;--palette-text-secondary:#cdc5bc;--palette-text-disabled:hsla(33,35%,94%,.38);--palette-text-inverted:#0f0d0c;--palette-border-main:#4a4440;--palette-border-light:hsla(33,35%,94%,.12);--palette-border-lighter:hsla(33,35%,94%,.05);--palette-border-medium:#3d3833;--palette-success-main:#34d399;--palette-success-light:#064e3b;--palette-success-dark:#10b981;--palette-success-border:#065f46;--palette-error-main:#fb7185;--palette-error-light:#4c0519;--palette-error-dark:#f43f5e;--palette-on-error:#fff;--palette-error-border:#881337;--palette-warning-main:#fbbf24;--palette-warning-light:#451a03;--palette-warning-dark:#f59e0b;--palette-on-warning:#1c1917;--palette-warning-border:#78350f;--palette-info-main:#38bdf8;--palette-info-light:#0c4a6e;--palette-info-dark:#0284c7;--palette-on-info:#fff;--palette-info-border:#075985;--palette-accent-main:#3b5ba3;--palette-accent-light:#5a7cc4;--palette-accent-dark:#1e3a73;--palette-on-accent:#fff;--palette-control-main:#6bc4d1;--palette-control-light:#8fd5de;--palette-control-text:#0a1a1d;--palette-control-border:#3ca6b6}html[data-palette=ocean]:not([data-theme=dark]),html[data-palette=ocean][data-theme=light]{--palette-primary-main:#0891b2;--palette-primary-light:#22d3ee;--palette-primary-dark:#164e63;--palette-on-primary:#fff;--palette-secondary-main:#0f766e;--palette-secondary-light:#14b8a6;--palette-secondary-dark:#134e4a;--palette-on-secondary:#fff;--palette-surface-main:#f0fdfa;--palette-surface-variant:#ccfbf1;--palette-surface-elevated:#fff;--palette-on-surface:#164e63;--palette-background-main:#ecfeff;--palette-background-dark:#cffafe;--palette-background-overlay:rgba(236,254,255,.95);--palette-on-background:#0f766e;--palette-header-bg-start:rgba(236,254,255,.98);--palette-header-bg-end:rgba(236,254,255,.95);--palette-header-collapsed-bg-start:rgba(236,254,255,.99);--palette-header-collapsed-bg-end:rgba(236,254,255,.96);--palette-text-primary:#164e63;--palette-text-secondary:#0891b2;--palette-text-disabled:rgba(22,78,99,.38);--palette-text-inverted:#fff;--palette-border-main:#a7f3d0;--palette-border-light:rgba(22,78,99,.12);--palette-border-lighter:rgba(22,78,99,.05);--palette-border-medium:#67e8f9;--palette-success-main:#059669;--palette-success-light:#d1fae5;--palette-success-dark:#065f46;--palette-success-border:#a7f3d0;--palette-error-main:#ef4444;--palette-error-light:#fee2e2;--palette-error-dark:#7f1d1d;--palette-on-error:#fff;--palette-error-border:#fecaca;--palette-warning-main:#f59e0b;--palette-warning-light:#fef3c7;--palette-warning-dark:#78350f;--palette-on-warning:#000;--palette-warning-border:#fde68a;--palette-info-main:#0ea5e9;--palette-info-light:#e0f2fe;--palette-info-dark:#0c4a6e;--palette-on-info:#fff;--palette-info-border:#7dd3fc;--palette-accent-main:#f97316;--palette-accent-light:#fb923c;--palette-accent-dark:#ea580c;--palette-on-accent:#fff;--palette-control-main:#0c4a6e;--palette-control-light:#075985;--palette-control-text:#cffafe;--palette-control-border:#0891b2}html[data-palette=ocean][data-theme=dark]{--palette-primary-main:#22d3ee;--palette-primary-light:#67e8f9;--palette-primary-dark:#0891b2;--palette-on-primary:#0a1a1f;--palette-secondary-main:#5eead4;--palette-secondary-light:#99f6e4;--palette-secondary-dark:#14b8a6;--palette-on-secondary:#0a1a1f;--palette-surface-main:#122830;--palette-surface-variant:#1a3a45;--palette-surface-elevated:#0e7490;--palette-on-surface:#cffafe;--palette-background-main:#040a0d;--palette-background-dark:#0a1418;--palette-background-overlay:rgba(10,26,31,.95);--palette-on-background:#5eead4;--palette-header-bg-start:rgba(4,10,13,.98);--palette-header-bg-end:rgba(4,10,13,.95);--palette-header-collapsed-bg-start:rgba(4,10,13,.99);--palette-header-collapsed-bg-end:rgba(4,10,13,.96);--palette-text-primary:#cffafe;--palette-text-secondary:#a5f3fc;--palette-text-disabled:rgba(207,250,254,.38);--palette-text-inverted:#020617;--palette-border-main:#155e75;--palette-border-light:rgba(207,250,254,.12);--palette-border-lighter:rgba(207,250,254,.05);--palette-border-medium:#0c4a6e;--palette-success-main:#34d399;--palette-success-light:#065f46;--palette-success-dark:#10b981;--palette-success-border:#047857;--palette-error-main:#f87171;--palette-error-light:#7f1d1d;--palette-error-dark:#ef4444;--palette-error-border:#991b1b;--palette-warning-main:#fb7185;--palette-warning-light:#881337;--palette-warning-dark:#e11d48;--palette-warning-border:#be123c;--palette-info-main:#0ea5e9;--palette-info-light:#0c4a6e;--palette-info-dark:#38bdf8;--palette-on-info:#020617;--palette-info-border:#0284c7;--palette-accent-main:#ea580c;--palette-accent-light:#fb923c;--palette-accent-dark:#c2410c;--palette-on-accent:#cffafe;--palette-control-main:#164e63;--palette-control-light:#0e7490;--palette-control-text:#ecfeff;--palette-control-border:#155e75}html[data-palette=spring]:not([data-theme=dark]),html[data-palette=spring][data-theme=light]{--palette-primary-main:#16a34a;--palette-primary-light:#4ade80;--palette-primary-dark:#15803d;--palette-on-primary:#fff;--palette-secondary-main:#ec4899;--palette-secondary-light:#f472b6;--palette-secondary-dark:#be185d;--palette-on-secondary:#fff;--palette-surface-main:#f7fee7;--palette-surface-variant:#d9f7be;--palette-surface-elevated:#fff;--palette-on-surface:#14532d;--palette-background-main:#f0fdf4;--palette-background-dark:#dcfce7;--palette-background-overlay:rgba(240,253,244,.95);--palette-on-background:#166534;--palette-text-primary:#14532d;--palette-text-secondary:#166534;--palette-text-disabled:rgba(20,83,45,.38);--palette-text-inverted:#fff;--palette-border-main:#bbf7d0;--palette-border-light:rgba(20,83,45,.12);--palette-border-lighter:rgba(20,83,45,.05);--palette-border-medium:#86efac;--palette-success-main:#22c55e;--palette-success-light:#dcfce7;--palette-success-dark:#15803d;--palette-success-border:#bbf7d0;--palette-error-main:#f43f5e;--palette-error-light:#ffe4e6;--palette-error-dark:#881337;--palette-on-error:#fff;--palette-error-border:#fecdd3;--palette-warning-main:#eab308;--palette-warning-light:#fefce8;--palette-warning-dark:#713f12;--palette-on-warning:#000;--palette-warning-border:#fef08a;--palette-info-main:#0ea5e9;--palette-info-light:#e0f2fe;--palette-info-dark:#0c4a6e;--palette-on-info:#14532d;--palette-info-border:#7dd3fc;--palette-accent-main:#ec4899;--palette-accent-light:#fce7f3;--palette-accent-dark:#be185d;--palette-on-accent:#fff;--palette-control-main:#365314;--palette-control-light:#4d7c0f;--palette-control-text:#ecfdf5;--palette-control-border:#65a30d}html[data-palette=spring][data-theme=dark]{--palette-primary-main:#4ade80;--palette-primary-light:#86efac;--palette-primary-dark:#16a34a;--palette-on-primary:#0f1f0f;--palette-secondary-main:#f472b6;--palette-secondary-light:#f9a8d4;--palette-secondary-dark:#ec4899;--palette-on-secondary:#0f1f0f;--palette-surface-main:#162816;--palette-surface-variant:#1f351f;--palette-surface-elevated:#2d4a2d;--palette-on-surface:#dcfce7;--palette-background-main:#060b06;--palette-background-dark:#0c140c;--palette-background-overlay:rgba(6,11,6,.95);--palette-on-background:#bbf7d0;--palette-header-bg-start:rgba(6,11,6,.98);--palette-header-bg-end:rgba(6,11,6,.95);--palette-header-collapsed-bg-start:rgba(6,11,6,.99);--palette-header-collapsed-bg-end:rgba(6,11,6,.96);--palette-text-primary:#dcfce7;--palette-text-secondary:#bbf7d0;--palette-text-disabled:rgba(220,252,231,.38);--palette-text-inverted:#0a120a;--palette-border-main:#166534;--palette-border-light:rgba(220,252,231,.12);--palette-border-lighter:rgba(220,252,231,.05);--palette-border-medium:#14532d;--palette-success-main:#22c55e;--palette-success-light:#14532d;--palette-success-dark:#4ade80;--palette-success-border:#166534;--palette-error-main:#f472b6;--palette-error-light:#881337;--palette-error-dark:#ec4899;--palette-error-border:#be185d;--palette-warning-main:#facc15;--palette-warning-light:#713f12;--palette-warning-dark:#eab308;--palette-warning-border:#a16207;--palette-info-main:#06b6d4;--palette-info-light:#164e63;--palette-info-dark:#22d3ee;--palette-on-info:#0a120a;--palette-info-border:#0891b2;--palette-accent-main:#f472b6;--palette-accent-light:#fce7f3;--palette-accent-dark:#db2777;--palette-on-accent:#dcfce7;--palette-control-main:#1a2e1a;--palette-control-light:#2d4a2d;--palette-control-text:#dcfce7;--palette-control-border:#166534}html[data-palette=winter]:not([data-theme=dark]),html[data-palette=winter][data-theme=light]{--palette-primary-main:#0077be;--palette-primary-light:#5ba3d0;--palette-primary-dark:#005082;--palette-on-primary:#fff;--palette-secondary-main:#4682b4;--palette-secondary-light:#7ba7cc;--palette-secondary-dark:#2e5984;--palette-on-secondary:#fff;--palette-surface-main:#fafbfc;--palette-surface-variant:#e2e8f0;--palette-surface-elevated:#fff;--palette-on-surface:#0f172a;--palette-background-main:#f8fafc;--palette-background-dark:#f1f5f9;--palette-background-overlay:rgba(248,250,252,.95);--palette-on-background:#475569;--palette-header-bg-start:rgba(248,250,252,.98);--palette-header-bg-end:rgba(248,250,252,.95);--palette-header-collapsed-bg-start:rgba(248,250,252,.99);--palette-header-collapsed-bg-end:rgba(248,250,252,.96);--palette-text-primary:#0f172a;--palette-text-secondary:#475569;--palette-text-disabled:rgba(15,23,42,.38);--palette-text-inverted:#fff;--palette-border-main:#cbd5e1;--palette-border-light:rgba(15,23,42,.12);--palette-border-lighter:rgba(15,23,42,.05);--palette-border-medium:#94a3b8;--palette-success-main:#059669;--palette-success-light:#d1fae5;--palette-success-dark:#064e3b;--palette-success-border:#a7f3d0;--palette-error-main:#dc2626;--palette-error-light:#fee2e2;--palette-error-dark:#7f1d1d;--palette-on-error:#fff;--palette-error-border:#fecaca;--palette-warning-main:#d97706;--palette-warning-light:#fef3c7;--palette-warning-dark:#92400e;--palette-on-warning:#000;--palette-warning-border:#fde68a;--palette-info-main:#0284c7;--palette-info-light:#e0f2fe;--palette-info-dark:#0c4a6e;--palette-on-info:#fff;--palette-info-border:#7dd3fc;--palette-accent-main:#ec4899;--palette-accent-light:#fce7f3;--palette-accent-dark:#be185d;--palette-on-accent:#fff;--palette-control-main:#1e293b;--palette-control-light:#334155;--palette-control-text:#e2e8f0;--palette-control-border:#475569}html[data-palette=winter][data-theme=dark]{--palette-primary-main:#7dd3fc;--palette-primary-light:#bae6fd;--palette-primary-dark:#0369a1;--palette-on-primary:#020617;--palette-secondary-main:#94a3b8;--palette-secondary-light:#cbd5e1;--palette-secondary-dark:#64748b;--palette-on-secondary:#020617;--palette-surface-main:#172033;--palette-surface-variant:#1e293b;--palette-surface-elevated:#334155;--palette-on-surface:#f8fafc;--palette-background-main:#04080f;--palette-background-dark:#0a1018;--palette-background-overlay:rgba(15,23,42,.95);--palette-on-background:#cbd5e1;--palette-header-bg-start:rgba(4,8,15,.98);--palette-header-bg-end:rgba(4,8,15,.95);--palette-header-collapsed-bg-start:rgba(4,8,15,.99);--palette-header-collapsed-bg-end:rgba(4,8,15,.96);--palette-text-primary:#f8fafc;--palette-text-secondary:#cbd5e1;--palette-text-disabled:rgba(248,250,252,.38);--palette-text-inverted:#020617;--palette-border-main:#475569;--palette-border-light:rgba(248,250,252,.12);--palette-border-lighter:rgba(248,250,252,.05);--palette-border-medium:#334155;--palette-success-main:#34d399;--palette-success-light:#064e3b;--palette-success-dark:#10b981;--palette-success-border:#065f46;--palette-error-main:#f87171;--palette-error-light:#7f1d1d;--palette-error-dark:#ef4444;--palette-error-border:#991b1b;--palette-warning-main:#fb923c;--palette-warning-light:#9a3412;--palette-warning-dark:#f97316;--palette-warning-border:#c2410c;--palette-info-main:#38bdf8;--palette-info-light:#0c4a6e;--palette-info-dark:#0ea5e9;--palette-on-info:#020617;--palette-info-border:#0284c7;--palette-accent-main:#f472b6;--palette-accent-light:#fce7f3;--palette-accent-dark:#db2777;--palette-on-accent:#f8fafc;--palette-control-main:#1e293b;--palette-control-light:#334155;--palette-control-text:#e2e8f0;--palette-control-border:#475569}html[data-palette=cosmic]:not([data-theme=dark]),html[data-palette=cosmic][data-theme=light]{--palette-primary-main:#8b5cf6;--palette-primary-light:#a78bfa;--palette-primary-dark:#7c3aed;--palette-on-primary:#fff;--palette-secondary-main:#8b5cf6;--palette-secondary-light:#c4b5fd;--palette-secondary-dark:#6d28d9;--palette-on-secondary:#fff;--palette-surface-main:#faf7ff;--palette-surface-variant:#f3e8ff;--palette-surface-elevated:#fff;--palette-on-surface:#4c1d95;--palette-background-main:#fef7ff;--palette-background-dark:#fae8ff;--palette-background-overlay:rgba(254,247,255,.95);--palette-on-background:#6b21a8;--palette-header-bg-start:rgba(254,247,255,.98);--palette-header-bg-end:rgba(254,247,255,.95);--palette-header-collapsed-bg-start:rgba(254,247,255,.99);--palette-header-collapsed-bg-end:rgba(254,247,255,.96);--palette-text-primary:#4c1d95;--palette-text-secondary:#7c3aed;--palette-text-disabled:rgba(76,29,149,.38);--palette-text-inverted:#fff;--palette-border-main:#c4b5fd;--palette-border-light:rgba(76,29,149,.12);--palette-border-lighter:rgba(76,29,149,.05);--palette-border-medium:#a78bfa;--palette-success-main:#10b981;--palette-success-light:#d1fae5;--palette-success-dark:#047857;--palette-success-border:#6ee7b7;--palette-error-main:#ef4444;--palette-error-light:#fee2e2;--palette-error-dark:#b91c1c;--palette-on-error:#fff;--palette-error-border:#fecaca;--palette-warning-main:#f59e0b;--palette-warning-light:#fef3c7;--palette-warning-dark:#b45309;--palette-on-warning:#000;--palette-warning-border:#fde68a;--palette-info-main:#3b82f6;--palette-info-light:#dbeafe;--palette-info-dark:#1d4ed8;--palette-on-info:#fff;--palette-info-border:#93c5fd;--palette-accent-main:#ec4899;--palette-accent-light:#f472b6;--palette-accent-dark:#be185d;--palette-on-accent:#fff;--palette-control-main:#1e1b4b;--palette-control-light:#3730a3;--palette-control-text:#e0e7ff;--palette-control-border:#8b5cf6}html[data-palette=cosmic][data-theme=dark]{--palette-primary-main:#a78bfa;--palette-primary-light:#c4b5fd;--palette-primary-dark:#8b5cf6;--palette-on-primary:#1e1b4b;--palette-secondary-main:#c4b5fd;--palette-secondary-light:#ddd6fe;--palette-secondary-dark:#a78bfa;--palette-on-secondary:#1e1b4b;--palette-surface-main:#252059;--palette-surface-variant:#312e81;--palette-surface-elevated:#3730a3;--palette-on-surface:#e0e7ff;--palette-background-main:#0a0818;--palette-background-dark:#12101f;--palette-background-overlay:rgba(10,8,24,.95);--palette-on-background:#c4b5fd;--palette-header-bg-start:rgba(10,8,24,.98);--palette-header-bg-end:rgba(10,8,24,.95);--palette-header-collapsed-bg-start:rgba(10,8,24,.99);--palette-header-collapsed-bg-end:rgba(10,8,24,.96);--palette-text-primary:#e0e7ff;--palette-text-secondary:#c4b5fd;--palette-text-disabled:rgba(224,231,255,.38);--palette-text-inverted:#0f0c29;--palette-border-main:#4338ca;--palette-border-light:rgba(224,231,255,.12);--palette-border-lighter:rgba(224,231,255,.05);--palette-border-medium:#312e81;--palette-success-main:#34d399;--palette-success-light:#047857;--palette-success-dark:#10b981;--palette-success-border:#065f46;--palette-error-main:#f87171;--palette-error-light:#b91c1c;--palette-error-dark:#ef4444;--palette-error-border:#991b1b;--palette-warning-main:#fb7185;--palette-warning-light:#881337;--palette-warning-dark:#e11d48;--palette-warning-border:#be123c;--palette-info-main:#60a5fa;--palette-info-light:#1d4ed8;--palette-info-dark:#3b82f6;--palette-on-info:#0f0c29;--palette-info-border:#2563eb;--palette-accent-main:#f472b6;--palette-accent-light:#f9a8d4;--palette-accent-dark:#ec4899;--palette-on-accent:#0f0c29;--palette-control-main:#312e81;--palette-control-light:#4338ca;--palette-control-text:#f3f4f6;--palette-control-border:#4338ca}@media (max-width:600px){.cover-image-header .MuiButton-root .MuiButton-startIcon+*{display:none}.cover-image-header .MuiButton-root{min-width:36px;padding:6px 8px}}.dynamic-logo{transition:all .3s ease}.dynamic-logo:hover{transform:scale(1.05)}.logo-first-part{fill:var(--theme-primary);transition:fill .3s ease}.logo-second-part{fill:var(--theme-accent);transition:fill .3s ease}.logo-badge{fill:var(--theme-warning);transition:fill .3s ease}.logo-badge-circle{opacity:.9}.logo-badge-star{fill:var(--theme-accent,var(--theme-warning));opacity:.8}.logo-badge-square{fill:var(--theme-info,var(--theme-warning));opacity:.7}.logo-badge-heart{fill:var(--theme-error,var(--theme-warning));opacity:.8}.logo-tiny,.logo-tiny .logo-first-part,.logo-tiny .logo-second-part{font-size:16px}.logo-small,.logo-small .logo-first-part,.logo-small .logo-second-part{font-size:20px}.logo-medium,.logo-medium .logo-first-part,.logo-medium .logo-second-part{font-size:28px}.logo-large,.logo-large .logo-first-part,.logo-large .logo-second-part{font-size:36px}.logo-extra-large,.logo-extra-large .logo-first-part,.logo-extra-large .logo-second-part{font-size:48px}.dynamic-logo.logo-high-contrast .logo-first-part{filter:drop-shadow(0 0 2px var(--theme-accent));opacity:1}.dynamic-logo.logo-high-contrast .logo-second-part{filter:drop-shadow(0 0 2px var(--theme-warning));opacity:1}.dynamic-logo.logo-high-contrast .logo-badge{filter:drop-shadow(0 0 2px var(--theme-primary));opacity:1}.dynamic-logo.logo-monochrome .logo-first-part,.dynamic-logo.logo-monochrome .logo-second-part{fill:#000;font-weight:900}.dynamic-logo.logo-monochrome .logo-badge{fill:#000;opacity:.8}html[data-theme=dark] .dynamic-logo.logo-monochrome .logo-badge,html[data-theme=dark] .dynamic-logo.logo-monochrome .logo-first-part,html[data-theme=dark] .dynamic-logo.logo-monochrome .logo-second-part{fill:#fff}.dynamic-logo.logo-on-primary .logo-first-part{fill:var(--theme-text-inverted,#fff);font-weight:700}.dynamic-logo.logo-on-primary .logo-second-part{fill:var(--theme-accent-light,#60a5fa);font-weight:700}.dynamic-logo.logo-on-primary .logo-badge{fill:var(--theme-warning,#ffb020);opacity:.9}.dynamic-logo.colorway-accent .logo-first-part{fill:var(--theme-accent,var(--theme-success))}.dynamic-logo.colorway-accent .logo-second-part{fill:var(--theme-info)}.dynamic-logo.colorway-accent .logo-badge{fill:var(--theme-error)}.dynamic-logo.colorway-vibrant .logo-first-part{fill:var(--theme-primary)}.dynamic-logo.colorway-vibrant .logo-second-part{fill:var(--theme-accent,var(--theme-success))}.dynamic-logo.colorway-vibrant .logo-badge{fill:var(--theme-warning)}.dynamic-logo.logo-default .logo-first-part{fill:var(--theme-primary,#3b82f6)}.dynamic-logo.logo-default .logo-second-part{fill:var(--theme-accent,var(--theme-secondary,#6366f1))}.dynamic-logo.logo-default .logo-badge{fill:var(--theme-warning,#f59e0b)}.custom-first-part{fill:#ff6b35!important;font-weight:900!important}.custom-second-part{fill:#004e89!important;font-weight:200!important}.custom-styling{filter:drop-shadow(0 0 3px rgba(255,107,53,.4));text-shadow:1px 1px 2px rgba(0,0,0,.3)}.gradient-text{fill:url(#textGradient);font-weight:600}.page{--page-background:var(--theme-surface,#fff);--page-text-color:var(--theme-on-surface,#000);--page-padding-none:0;--page-padding-small:var(--theme-spacing-small,1rem);--page-padding-medium:var(--theme-spacing-medium,1.5rem);--page-padding-large:var(--theme-spacing-large,2rem);--print-page-size:A4;--print-page-margins:12mm;--print-background:transparent;--print-background-first-page:var(--print-background,transparent);--print-header-height:0px;--print-footer-height:0px;background:var(--page-background);color:var(--page-text-color);min-height:100%;width:100%}.page-content{background:transparent;color:inherit;line-height:var(--theme-line-height,1.6);margin:0;overflow-y:auto;padding:0}.page-variant-centered{align-items:center;display:flex;flex-direction:column;text-align:center}.page-variant-narrow{margin:0 auto;max-width:var(--page-max-width-narrow,600px)}.page-variant-wide{margin:0 auto;max-width:var(--page-max-width-wide,1400px)}.page-variant-fullwidth{max-width:none;width:100%}.page-padding-none{padding:var(--page-padding-none)}.page-padding-small{padding:var(--page-padding-small)}.page-padding-medium{padding:var(--page-padding-medium)}.page-padding-large{padding:var(--page-padding-large)}.page-background-default{background:transparent}.page-background-surface{background:var(--theme-surface)}.page-background-alternate{background:var(--theme-surface-variant)}.page-max-width-small{margin-left:auto;margin-right:auto;max-width:var(--page-max-width-small,600px)}.page-max-width-medium{margin-left:auto;margin-right:auto;max-width:var(--page-max-width-medium,800px)}.page-max-width-large{margin-left:auto;margin-right:auto;max-width:var(--page-max-width-large,1200px)}.page-max-width-extra-large{margin-left:auto;margin-right:auto;max-width:var(--page-max-width-extra-large,1400px)}.page-max-width-none{max-width:none}@media print{@page{size:A4;margin:12mm}.page-print-mode.page-print-borderless,.page-print-mode.page-print-compact:not(.page-print-borderless),.page-print-mode.page-print-formal:not(.page-print-borderless),.page-print-mode.page-print-large:not(.page-print-borderless){@page{margin-bottom:25mm;margin-left:25mm;margin-right:25mm;margin-top:25mm}}.page-print-mode{box-sizing:border-box;margin:0;max-width:none!important;min-height:100vh;overflow:visible;padding:0;width:100vw}.page-print-mode,.page-print-mode.has-background:before{background:var(--print-background,transparent);-webkit-print-color-adjust:exact;print-color-adjust:exact}.page-print-mode.has-background:before{background-position:var(--print-background-position,center);background-repeat:var(--print-background-repeat,no-repeat);background-size:var(--print-background-size,cover);bottom:0;content:"";left:0;position:fixed;right:0;top:0;z-index:-1}.page-print-mode.has-background:first-child:before{background:var(--print-background-first-page,var(--print-background,transparent))}.page-print-header{align-items:var(--print-header-align-items,center);background:var(--print-header-background,transparent);box-sizing:border-box;display:var(--print-header-display,flex);height:var(--print-header-height,0);justify-content:var(--print-header-justify-content,flex-start);left:0;margin:0;max-height:var(--print-header-height,0);min-height:var(--print-header-height,0);overflow:var(--print-header-overflow,hidden);padding:0;position:fixed;right:0;top:0;z-index:1000}.page-print-footer-first-page,.page-print-header-first-page{display:none!important}.page-print-footer{align-items:var(--print-footer-align-items,center);background:var(--print-footer-background,transparent);bottom:0;box-sizing:border-box;display:var(--print-footer-display,flex);height:var(--print-footer-height,0);justify-content:var(--print-footer-justify-content,center);left:0;margin:0;max-height:var(--print-footer-height,0);min-height:var(--print-footer-height,0);overflow:var(--print-footer-overflow,hidden);padding:0;position:fixed;right:0;z-index:1000}.page-print-footer *,.page-print-header *{box-sizing:border-box;max-height:100%;-webkit-print-color-adjust:exact;print-color-adjust:exact}.page-print-mode .page-content{background:transparent!important;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-sizing:border-box!important;margin:0!important;outline:none!important;overflow:visible;padding:0!important;padding-bottom:var(--print-footer-height,0)!important;padding-top:var(--print-header-height,0)!important;width:100%}.page-print-mode .page-content *{position:relative!important}.page-print-mode .page-content>*{margin-top:0!important}.page-print-mode .page-error,.page-print-mode .page-header-actions,.page-print-mode .page-loading,.page-print-mode [data-print-hide=true],.page-print-mode button:not(.page-print-header button):not(.page-print-footer button),.page-print-mode~.app-footer,.page-print-mode~[data-testid=footer],.page-print-mode~footer{display:none!important}.page-print-mode a{color:inherit;text-decoration:none}.page-print-mode,.page-print-mode *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.page-print-mode *{box-sizing:border-box}.page-break-before{break-before:page;page-break-before:always}.page-break-after{break-after:page;page-break-after:always}.page-break-inside-avoid{break-inside:avoid;page-break-inside:avoid}.page-break-inside-auto{break-inside:auto;page-break-inside:auto}.page-print-mode .page-content:after,.page-print-mode .page-content:before{content:"";display:block}}@media screen and (max-width:768px){.page-padding-medium{padding:var(--page-padding-small)}.page-padding-large{padding:var(--page-padding-medium)}.page-max-width-extra-large,.page-max-width-large,.page-max-width-medium,.page-max-width-small{margin-left:var(--theme-spacing-small,1rem);margin-right:var(--theme-spacing-small,1rem);max-width:calc(100% - var(--theme-spacing-small, 1rem)*2)}}@media (prefers-contrast:high){.page{background:var(--theme-surface-high-contrast,var(--theme-surface));color:var(--theme-on-surface-high-contrast,var(--theme-on-surface))}}@media (prefers-reduced-motion:reduce){.page *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app-scaffold{--appbar-height:64px;--bottom-nav-height:80px;--rail-width-collapsed:80px;--rail-width-expanded:280px;--touch-target-size:48px;--menu-bg:var(--theme-surface);--menu-text:var(--theme-on-surface);--menu-hover:var(--theme-surface-variant);--menu-active:var(--theme-primary);--menu-active-text:var(--theme-on-primary);--menu-border:var(--theme-outline-variant);--menu-shadow:rgba(0,0,0,.1);--scaffold-background:var(--theme-background);--scaffold-surface:var(--theme-surface);--scaffold-on-surface:var(--theme-on-surface);--scaffold-primary:var(--theme-primary);--scaffold-on-primary:var(--theme-on-primary);--scaffold-outline:var(--theme-border-main);--scaffold-shadow:var(--theme-elevation-2);background:var(--scaffold-background);font-family:var(--theme-font-family,"Segoe UI",sans-serif);min-height:100vh;position:relative}.app-scaffold-appbar{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);background:var(--scaffold-surface);border-bottom:1px solid var(--scaffold-outline);box-shadow:var(--scaffold-shadow);isolation:isolate;left:0;position:fixed;right:0;top:0;z-index:1100}.appbar-content{align-items:center;display:flex;height:100%;margin:0 auto;max-width:1200px;padding:0 16px}.appbar-center,.appbar-left,.appbar-right{align-items:center;display:flex;gap:8px}.appbar-left{flex:0 0 auto}.appbar-center{flex:1;justify-content:center;position:relative}.appbar-right{flex:0 0 auto}.appbar-logo{align-items:center;display:flex;height:40px}.appbar-navigation{align-items:center;display:flex;gap:4px}.appbar-actions,.appbar-page-actions,.appbar-theme-controls{align-items:center;display:flex;gap:8px}.menu-button{align-items:center;background:transparent;border:none;border-radius:50%;color:var(--scaffold-on-surface);cursor:pointer;display:flex;height:var(--touch-target-size);justify-content:center;transition:background-color .2s ease;width:var(--touch-target-size);&:hover{background:rgba(0,0,0,.04)}&:active{background:rgba(0,0,0,.08)}}.hamburger-icon{span{background:currentColor;border-radius:1px;display:block;height:2px;transition:all .3s ease;width:100%}}.menu-item{border-radius:12px;color:var(--scaffold-on-surface);font-size:14px;font-weight:500;justify-content:center;min-height:var(--touch-target-size);min-width:var(--touch-target-size);padding:12px 16px;&:hover:not(.disabled){background:rgba(0,0,0,.04)}&:active:not(.disabled){background:rgba(0,0,0,.08)}&.active{background:var(--scaffold-primary);color:var(--scaffold-on-primary)}&.disabled{cursor:default;opacity:.38}}.menu-item-label{font-size:inherit;font-weight:inherit}.menu-item-badge{align-items:center;border-radius:10px;display:flex;font-size:11px;height:16px;justify-content:center;line-height:1;min-width:16px;padding:2px 6px;position:absolute;right:6px;top:6px}.menu-item-appbar{flex-direction:row;gap:8px;min-width:auto;padding:8px 16px}.menu-item-icon-appbar{height:20px;width:20px}.menu-item-label-appbar{font-size:14px}.bottom-navigation{background:var(--scaffold-surface);border-top:1px solid var(--scaffold-outline);bottom:0;box-shadow:0 -2px 8px rgba(0,0,0,.1);height:var(--bottom-nav-height);left:0;position:fixed;right:0;z-index:1000}.bottom-nav-items{align-items:center;display:flex;height:100%;justify-content:space-around;margin:0 auto;max-width:600px;padding:0 8px}.menu-item-bottom{flex:1;flex-direction:column;gap:4px;max-width:120px;min-width:64px;padding:8px 12px;text-align:center}.menu-item-icon-bottom{height:24px;margin:0 auto;width:24px}.menu-item-label-bottom{font-size:12px;font-weight:500;line-height:1}.navigation-rail{background:var(--scaffold-surface);border-right:1px solid var(--scaffold-outline);bottom:0;box-shadow:2px 0 8px rgba(0,0,0,.1);left:0;overflow:hidden;position:fixed;top:var(--appbar-height);transition:width .3s ease;z-index:1000;&.collapsed{width:var(--rail-width-collapsed)}&.expanded{width:var(--rail-width-expanded)}}.rail-items{display:flex;flex-direction:column;gap:4px;height:100%;overflow-y:auto;padding:12px}.menu-item-rail{flex-direction:row;gap:12px;justify-content:flex-start;min-width:var(--touch-target-size);padding:12px 16px;.collapsed &{justify-content:center;padding:12px;.menu-item-label{display:none}}}.menu-item-icon-rail{height:24px;width:24px}.menu-item-label-rail{font-size:14px;font-weight:500}.drawer-overlay{animation:fadeIn .2s ease;background:rgba(0,0,0,.5);left:0;z-index:1200}.drawer-overlay,.navigation-drawer{bottom:0;position:fixed;right:0;top:0}.navigation-drawer{animation:slideInRight .3s ease;background:var(--scaffold-surface,#fff);box-shadow:-5px 0 20px rgba(0,0,0,.2);display:flex;flex-direction:column;max-width:80vw;overflow:hidden;width:320px}.drawer-header{border-bottom:1px solid var(--scaffold-outline);justify-content:space-between;min-height:var(--appbar-height);padding:16px 24px;h3{color:var(--scaffold-on-surface);font-size:20px;font-weight:500;margin:0}}.drawer-close,.drawer-header{align-items:center;display:flex}.drawer-close{background:transparent;border:none;border-radius:50%;color:var(--scaffold-on-surface);cursor:pointer;font-size:24px;height:var(--touch-target-size);justify-content:center;width:var(--touch-target-size);&:hover{background:rgba(0,0,0,.04)}}.drawer-items{flex:1;overflow-y:auto;padding:8px}.drawer-section{margin-bottom:16px;h4{color:var(--scaffold-primary);font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;padding:8px 16px;text-transform:uppercase}}.menu-item-drawer{flex-direction:row;gap:16px;justify-content:flex-start;margin:2px 0;padding:12px 16px;width:100%}.menu-item-icon-drawer{height:24px;width:24px}.menu-item-label-drawer{flex:1;font-size:16px;font-weight:400;text-align:left}.app-scaffold-content{background:var(--scaffold-background);box-sizing:border-box;min-height:100vh;transition:padding .3s ease}@media (max-width:599px){.appbar-content{padding:0 8px}.menu-button{height:40px;width:40px}.bottom-nav-items{padding:0 4px}.menu-item-bottom{min-width:56px}}@media (min-width:600px) and (max-width:1023px){.appbar-content{padding:0 12px}}@media (min-width:1024px){.appbar-content{padding:0 16px}}@media (prefers-contrast:high){.menu-item:hover:not(.disabled){background:rgba(0,0,0,.1);outline:2px solid var(--scaffold-on-surface)}.menu-item.active{outline:2px solid var(--scaffold-on-primary)}}@media (prefers-reduced-motion:reduce){.app-scaffold-content,.hamburger-icon span,.menu-item,.navigation-rail{transition:none}.drawer-overlay,.navigation-drawer{animation:none}}@media (prefers-color-scheme:dark){.app-scaffold{--scaffold-shadow:0 2px 8px rgba(0,0,0,.3)}.menu-item:hover:not(.disabled){background:hsla(0,0%,100%,.08)}.menu-item:active:not(.disabled){background:hsla(0,0%,100%,.12)}.menu-button:hover{background:hsla(0,0%,100%,.08)}.menu-button:active{background:hsla(0,0%,100%,.12)}}.responsive-menu{--menu-bg:var(--theme-surface);--menu-text:var(--theme-on-surface);--menu-hover:var(--theme-surface-variant);--menu-active:var(--theme-primary);--menu-active-text:var(--theme-on-primary);--menu-border:var(--theme-outline-variant);--menu-shadow:rgba(0,0,0,.1);font-family:var(--theme-font-family,"Segoe UI",sans-serif);font-size:var(--theme-font-size-body,14px);line-height:1.5}.menu-item{align-items:center;background:transparent;border:none;border-radius:var(--theme-border-radius,8px);color:var(--menu-text);cursor:pointer;display:flex;font-family:inherit;font-size:inherit;gap:.75rem;min-height:48px;padding:.75rem 1rem;position:relative;text-decoration:none;transition:all .2s ease}.menu-item:hover:not(.disabled){background:var(--menu-hover);transform:translateY(-1px)}.menu-item:active:not(.disabled){transform:translateY(0)}.menu-item.active{background:transparent;color:var(--menu-active);font-weight:600}.menu-item.disabled{cursor:not-allowed;opacity:.5}.menu-item-icon{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.menu-item-label{flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.menu-item-badge{background:var(--theme-error,#dc2626);border-radius:12px;color:var(--theme-on-error,#fff);font-size:.75rem;font-weight:600;min-width:20px;padding:.125rem .375rem;text-align:center}.hamburger-icon{cursor:pointer;display:flex;flex-direction:column;gap:3px;height:16px;width:20px;span{background:currentColor;border-radius:1px;display:block;height:2px;transition:all .3s ease;width:100%}}.mobile-bottom-nav{background:var(--menu-bg);border-top:1px solid var(--menu-border);bottom:0;box-shadow:0 -2px 10px var(--menu-shadow);left:0;position:fixed;right:0;z-index:1000;.mobile-nav-items{-ms-overflow-style:none;align-items:center;display:flex;justify-content:space-around;max-width:100%;overflow-x:auto;padding:.5rem 0;scrollbar-width:none}.mobile-nav-items::-webkit-scrollbar{display:none}.menu-item{flex:1;flex-direction:column;gap:.25rem;max-width:100px;min-width:0;padding:.5rem .75rem;text-align:center;.menu-item-icon{margin:0 auto}.menu-item-label{font-size:.75rem;text-align:center}}}.tablet-nav-rail{background:var(--menu-bg);border-right:1px solid var(--menu-border);box-shadow:2px 0 10px var(--menu-shadow);height:100vh;left:0;overflow:hidden;position:fixed;top:0;transition:width .3s ease;z-index:1000;&.collapsed{width:72px}&.expanded{width:280px}.nav-rail-header{align-items:center;border-bottom:1px solid var(--menu-border);display:flex;justify-content:space-between;min-height:72px;padding:1rem}.nav-rail-logo{flex:1;overflow:hidden;transition:opacity .3s ease}.nav-rail-toggle{background:transparent;border:none;border-radius:var(--theme-border-radius,8px);color:var(--menu-text);cursor:pointer;padding:.5rem}.nav-rail-toggle:hover{background:var(--menu-hover)}.nav-rail-items{display:flex;flex-direction:column;gap:.5rem;height:calc(100vh - 72px);overflow-y:auto;padding:1rem}&.collapsed{.nav-rail-logo{opacity:0}.menu-item{justify-content:center;.menu-item-label{display:none}}}}.desktop-top-nav{background:var(--menu-bg);border-bottom:1px solid var(--menu-border);box-shadow:0 2px 10px var(--menu-shadow);position:sticky;top:0;z-index:1000;.top-nav-content{align-items:center;display:flex;height:64px;margin:0 auto;max-width:1200px;padding:0 2rem}.top-nav-logo{&.logo-left{margin-right:2rem}&.logo-center{left:50%;position:absolute;transform:translateX(-50%)}&.logo-right{margin-left:2rem}}.top-nav-items{align-items:center;display:flex;flex:1;gap:.5rem;justify-content:center;.logo-left~&{justify-content:flex-start}.logo-right~&{justify-content:flex-end}}.menu-toggle{background:transparent;border:none;border-radius:var(--theme-border-radius,8px);color:var(--menu-text);cursor:pointer;padding:.75rem}.menu-toggle:hover{background:var(--menu-hover)}}.menu-drawer-overlay{animation:fadeIn .2s ease;background:rgba(0,0,0,.5);bottom:0;left:0;position:fixed;right:0;top:0;z-index:2000}.menu-drawer{animation:slideInRight .3s ease;background:var(--menu-bg);box-shadow:-5px 0 20px var(--menu-shadow);display:flex;flex-direction:column;height:100vh;max-width:90vw;position:fixed;right:0;top:0;width:320px;.drawer-header{align-items:center;border-bottom:1px solid var(--menu-border);display:flex;justify-content:space-between;padding:1.5rem 2rem;h3{color:var(--menu-text);font-size:1.25rem;font-weight:600;margin:0}}.drawer-close{background:transparent;border:none;border-radius:var(--theme-border-radius,8px);color:var(--menu-text);cursor:pointer;font-size:1.5rem;padding:.25rem}.drawer-close:hover{background:var(--menu-hover)}.drawer-items{display:flex;flex:1;flex-direction:column;gap:.5rem;overflow-y:auto;padding:1rem 2rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@media (max-width:767px){body{padding-bottom:80px}}@media (min-width:768px) and (max-width:1024px){body{margin-left:72px}}@media (prefers-color-scheme:dark){.responsive-menu{--menu-shadow:rgba(0,0,0,.3)}}html[data-theme=dark] .responsive-menu{--menu-hover:var(--theme-surface-elevated,#353535);--menu-shadow:rgba(0,0,0,.4)}html[data-theme=dark] .menu-item{color:var(--theme-on-surface,#fff)}html[data-theme=dark] .menu-item:hover:not(.disabled){background:var(--theme-surface-elevated,#353535);color:var(--theme-on-surface,#fff)}html[data-theme=dark] .menu-item.active{background:transparent;color:var(--theme-primary-light,#87ceeb)}html[data-theme=dark] .menu-item-icon{color:inherit;opacity:.9}html[data-theme=dark] .menu-item-label{color:inherit;font-weight:500}html[data-palette=default]:not([data-theme=dark]),html[data-palette=default][data-theme=light]{--palette-primary-main:#007bff;--palette-primary-light:#4a90e2;--palette-primary-dark:#0056b3;--palette-on-primary:#fff;--palette-secondary-main:#6c757d;--palette-secondary-light:#868e96;--palette-secondary-dark:#495057;--palette-on-secondary:#fff;--palette-surface-main:#fff;--palette-surface-variant:#f5f5f5;--palette-surface-elevated:#fff;--palette-on-surface:#000;--palette-background-main:#fff;--palette-background-dark:#fafafa;--palette-background-overlay:hsla(0,0%,100%,.95);--palette-on-background:#000;--palette-header-bg-start:hsla(0,0%,100%,.98);--palette-header-bg-end:hsla(0,0%,100%,.95);--palette-header-collapsed-bg-start:hsla(0,0%,100%,.99);--palette-header-collapsed-bg-end:hsla(0,0%,100%,.96);--palette-text-primary:#000;--palette-text-secondary:#666;--palette-text-disabled:rgba(0,0,0,.38);--palette-text-inverted:#fff;--palette-border-main:#e0e0e0;--palette-border-light:rgba(0,0,0,.12);--palette-border-lighter:rgba(0,0,0,.05);--palette-border-medium:#ccc;--palette-success-main:#28a745;--palette-success-light:#d4edda;--palette-success-dark:#155724;--palette-on-success:#fff;--palette-success-border:#c3e6cb;--palette-error-main:#dc3545;--palette-error-light:#f8d7da;--palette-error-dark:#721c24;--palette-on-error:#fff;--palette-error-border:#f5c6cb;--palette-warning-main:#ffc107;--palette-warning-light:#fff3cd;--palette-warning-dark:#856404;--palette-on-warning:#000;--palette-warning-border:#ffeeba;--palette-info-main:#007acc;--palette-info-light:#f0f8ff;--palette-info-dark:#058;--palette-on-info:#fff;--palette-info-border:#007acc;--palette-accent-main:#ff6b35;--palette-accent-light:#ffb3a0;--palette-accent-dark:#cc5429;--palette-on-accent:#fff;--palette-control-main:#1a1a1a;--palette-control-light:#2a2a2a;--palette-control-text:#ccc;--palette-control-border:#333}html[data-palette=default][data-theme=dark]{--palette-primary-main:#4a90e2;--palette-primary-light:#87ceeb;--palette-primary-dark:#1a365d;--palette-on-primary:#fff;--palette-secondary-main:#868e96;--palette-secondary-light:#adb5bd;--palette-secondary-dark:#6c757d;--palette-on-secondary:#fff;--palette-surface-main:#1e1e1e;--palette-surface-variant:#2a2a2a;--palette-surface-elevated:#353535;--palette-on-surface:#fff;--palette-background-main:#121212;--palette-background-dark:#2a2a2a;--palette-background-overlay:rgba(30,30,30,.95);--palette-on-background:#fff;--palette-header-bg-start:hsla(0,0%,7%,.98);--palette-header-bg-end:hsla(0,0%,7%,.95);--palette-header-collapsed-bg-start:hsla(0,0%,7%,.99);--palette-header-collapsed-bg-end:hsla(0,0%,7%,.96);--palette-text-primary:#fff;--palette-text-secondary:#b0b0b0;--palette-text-disabled:hsla(0,0%,100%,.38);--palette-text-inverted:#000;--palette-border-main:#555;--palette-border-light:hsla(0,0%,100%,.12);--palette-border-lighter:hsla(0,0%,100%,.05);--palette-border-medium:#333;--palette-success-main:#4ade80;--palette-success-light:#064e3b;--palette-success-dark:#22c55e;--palette-on-success:#fff;--palette-success-border:#065f46;--palette-error-main:#f87171;--palette-error-light:#7f1d1d;--palette-error-dark:#ef4444;--palette-on-error:#fff;--palette-error-border:#991b1b;--palette-warning-main:#fbbf24;--palette-warning-light:#78350f;--palette-warning-dark:#f59e0b;--palette-on-warning:#000;--palette-warning-border:#92400e;--palette-info-main:#60a5fa;--palette-info-light:#1e3a8a;--palette-info-dark:#3b82f6;--palette-on-info:#fff;--palette-info-border:#1d4ed8;--palette-accent-main:#ff8a65;--palette-accent-light:#ffcc9c;--palette-accent-dark:#cc6e52;--palette-on-accent:#fff;--palette-control-main:#2a2a2a;--palette-control-light:#3a3a3a;--palette-control-text:#e0e0e0;--palette-control-border:#555}:root{--theme-primary:var(--palette-primary-main);--theme-primary-light:var(--palette-primary-light);--theme-primary-dark:var(--palette-primary-dark);--theme-on-primary:var(--palette-on-primary);--theme-secondary:var(--palette-secondary-main);--theme-secondary-light:var(--palette-secondary-light);--theme-secondary-dark:var(--palette-secondary-dark);--theme-on-secondary:var(--palette-on-secondary);--theme-accent:var(--palette-accent-main);--theme-accent-light:var(--palette-accent-light);--theme-accent-dark:var(--palette-accent-dark);--theme-on-accent:var(--palette-on-accent);--theme-success:var(--palette-success-main);--theme-success-light:var(--palette-success-light);--theme-success-dark:var(--palette-success-dark);--theme-on-success:var(--palette-on-success);--theme-success-border:var(--palette-success-border);--theme-warning:var(--palette-warning-main);--theme-warning-light:var(--palette-warning-light);--theme-warning-dark:var(--palette-warning-dark);--theme-on-warning:var(--palette-on-warning);--theme-warning-border:var(--palette-warning-border);--theme-error:var(--palette-error-main);--theme-error-light:var(--palette-error-light);--theme-error-dark:var(--palette-error-dark);--theme-on-error:var(--palette-on-error);--theme-error-border:var(--palette-error-border);--theme-info:var(--palette-info-main);--theme-info-light:var(--palette-info-light);--theme-info-dark:var(--palette-info-dark);--theme-on-info:var(--palette-on-info);--theme-info-border:var(--palette-info-border);--theme-background:var(--palette-background-main);--theme-background-dark:var(--palette-background-dark);--theme-background-overlay:var(--palette-background-overlay);--theme-on-background:var(--palette-on-background);--theme-surface:var(--palette-surface-main);--theme-surface-variant:var(--palette-surface-variant);--theme-surface-elevated:var(--palette-surface-elevated);--theme-on-surface:var(--palette-on-surface);--theme-border-main:var(--palette-border-main);--theme-border-light:var(--palette-border-light);--theme-border-lighter:var(--palette-border-lighter);--theme-border-medium:var(--palette-border-medium);--theme-border-dark:var(--palette-border-medium);--theme-text-primary:var(--palette-text-primary);--theme-text-secondary:var(--palette-text-secondary);--theme-text-disabled:var(--palette-text-disabled);--theme-text-inverted:var(--palette-text-inverted);--theme-control-bg:var(--palette-control-main);--theme-control-text:var(--palette-control-text);--theme-control-border:var(--palette-control-border);--theme-control-hover-bg:var(--palette-control-light);--theme-control-hover-text:var(--palette-text-inverted);--theme-control-hover-border:var(--palette-control-border);--theme-panel-bg-start:var(--palette-control-main);--theme-panel-bg-end:var(--palette-surface-elevated);--theme-panel-border:var(--palette-control-border);--theme-panel-shadow:rgba(0,0,0,.6);--theme-floating-bg:var(--palette-background-overlay);--theme-floating-border:var(--palette-border-light);--theme-option-bg:var(--palette-surface-variant);--theme-option-text:var(--palette-text-primary);--theme-option-border:var(--palette-border-main);--theme-option-hover-bg:var(--palette-surface-variant);--theme-option-selected-bg:var(--palette-primary-light);--theme-option-selected-border:var(--palette-primary-main);--theme-option-selected-text:var(--palette-on-primary);--theme-option-correct-bg:var(--palette-success-light);--theme-option-correct-border:var(--palette-success-border);--theme-option-correct-text:var(--palette-success-dark);--theme-option-incorrect-bg:var(--palette-error-light);--theme-option-incorrect-border:var(--palette-error-border);--theme-option-incorrect-text:var(--palette-error-dark);--theme-explanation-bg:var(--palette-info-light);--theme-explanation-border:var(--palette-info-main);--theme-link-color:var(--palette-info-main);--theme-link-hover:var(--palette-info-dark);--theme-code-bg:var(--palette-surface-main);--theme-code-text:var(--palette-primary);--theme-mui-label-bg:var(--palette-surface-main);--theme-outline:var(--palette-border-main);--theme-outline-variant:var(--palette-border-light);--theme-border-radius:12px;--theme-border-radius-small:8px;--theme-border-radius-large:16px;--theme-elevation-1:0 2px 4px rgba(0,0,0,.1);--theme-elevation-2:0 4px 8px rgba(0,0,0,.15);--theme-elevation-3:0 6px 12px rgba(0,0,0,.2);--theme-elevation-4:0 8px 16px rgba(0,0,0,.25);--theme-overlay-80:color-mix(in srgb,var(--palette-surface-main) 80%,transparent);--theme-overlay-90:color-mix(in srgb,var(--palette-surface-main) 90%,transparent);--theme-overlay-95:color-mix(in srgb,var(--palette-surface-main) 95%,transparent)}html[data-theme=light]{--theme-header-bg-start:var(--palette-header-bg-start);--theme-header-bg-end:var(--palette-header-bg-end);--theme-header-collapsed-bg-start:var(--palette-header-collapsed-bg-start);--theme-header-collapsed-bg-end:var(--palette-header-collapsed-bg-end);--theme-control-hover-text:var(--palette-text-inverted);--theme-control-hover-border:#555;--theme-panel-bg-end:#252525;--theme-panel-shadow:rgba(0,0,0,.6);--theme-floating-border:hsla(0,0%,100%,.5);--theme-option-text:#222;--theme-option-hover-bg:#e0e0e0;--theme-option-selected-bg:#d0e0ff;--theme-option-selected-text:var(--palette-primary-dark);--theme-code-text:var(--palette-primary-dark)}html[data-theme=dark]{--theme-header-bg-start:var(--palette-header-bg-start);--theme-header-bg-end:var(--palette-header-bg-end);--theme-header-collapsed-bg-start:var(--palette-header-collapsed-bg-start);--theme-header-collapsed-bg-end:var(--palette-header-collapsed-bg-end);--theme-control-hover-text:var(--palette-text-primary);--theme-control-hover-border:#777;--theme-panel-bg-end:var(--palette-surface-elevated);--theme-panel-shadow:rgba(0,0,0,.8);--theme-floating-border:hsla(0,0%,100%,.2);--theme-option-text:var(--palette-text-secondary);--theme-option-hover-bg:var(--palette-surface-elevated);--theme-option-selected-bg:var(--palette-primary-dark);--theme-option-selected-text:var(--palette-primary-light);--theme-code-text:var(--palette-primary-light);--theme-mui-label-bg:#292929;--theme-elevation-1:0 2px 4px rgba(0,0,0,.2);--theme-elevation-2:0 4px 8px rgba(0,0,0,.3);--theme-elevation-3:0 6px 12px rgba(0,0,0,.4);--theme-elevation-4:0 8px 16px rgba(0,0,0,.5)}*{transition:background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.MuiButton-root:focus,.MuiFab-root:hover,.MuiIconButton-root:focus,.MuiMenuItem-root:hover,:active,:focus,:hover,button:focus,input:focus,select:focus,textarea:focus{transition:none}#root,body,html{background-color:var(--theme-surface)!important;color:var(--theme-on-surface)!important;font-family:Roboto,sans-serif;line-height:1.6;margin:0;padding:0}code,code.inline-code,pre.code-block{background-color:var(--theme-code-bg)!important;border-radius:4px;color:var(--theme-code-text)!important;font-family:Source Code Pro,monospace;padding:2px 4px}pre code{background-color:transparent!important;border-radius:0;color:inherit!important;padding:0}a{color:var(--theme-link-color);text-decoration:none;transition:color .2s ease}a:hover{color:var(--theme-link-hover);text-decoration:underline}a:visited{color:var(--theme-link-color);opacity:.8}
|
package/dist/index.esm.js
CHANGED
|
@@ -1272,6 +1272,18 @@ const PaletteAutumn = {
|
|
|
1272
1272
|
primaryColor: '#ea580c'
|
|
1273
1273
|
};
|
|
1274
1274
|
|
|
1275
|
+
/**
|
|
1276
|
+
* Boutique Palette Configuration
|
|
1277
|
+
*
|
|
1278
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
1279
|
+
*/
|
|
1280
|
+
const PaletteBoutique = {
|
|
1281
|
+
id: 'boutique',
|
|
1282
|
+
name: 'Boutique',
|
|
1283
|
+
description: 'Sophisticated teal, bronze, and navy - perfect for premium retail and fashion brands',
|
|
1284
|
+
primaryColor: '#3ca6b6'
|
|
1285
|
+
};
|
|
1286
|
+
|
|
1275
1287
|
/**
|
|
1276
1288
|
* Ocean Palette Configuration
|
|
1277
1289
|
*
|
|
@@ -1325,7 +1337,7 @@ const PaletteCosmic = {
|
|
|
1325
1337
|
*
|
|
1326
1338
|
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
1327
1339
|
*/
|
|
1328
|
-
const AllPalettes = [PaletteDefault, PaletteOcean, PaletteCosmic, PaletteWinter, PaletteAutumn, PaletteSpring];
|
|
1340
|
+
const AllPalettes = [PaletteDefault, PaletteBoutique, PaletteOcean, PaletteCosmic, PaletteWinter, PaletteAutumn, PaletteSpring];
|
|
1329
1341
|
|
|
1330
1342
|
/**
|
|
1331
1343
|
* Persistence utilities for theme and palette preferences
|
|
@@ -18493,6 +18505,20 @@ class ReactNodeTransformer {
|
|
|
18493
18505
|
*
|
|
18494
18506
|
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
18495
18507
|
*/
|
|
18508
|
+
// Import linkedom for server-side HTML parsing
|
|
18509
|
+
let parseHTML = null;
|
|
18510
|
+
if (typeof window === 'undefined') {
|
|
18511
|
+
// Server-side: use linkedom
|
|
18512
|
+
try {
|
|
18513
|
+
const {
|
|
18514
|
+
parseHTML: parse
|
|
18515
|
+
} = require('linkedom');
|
|
18516
|
+
parseHTML = html => parse(html).document;
|
|
18517
|
+
} catch (e) {
|
|
18518
|
+
// linkedom not available, will fall back to client-only rendering
|
|
18519
|
+
console.warn('linkedom not available for SSR HTML parsing');
|
|
18520
|
+
}
|
|
18521
|
+
}
|
|
18496
18522
|
/**
|
|
18497
18523
|
* Registry for component classes that support serialization
|
|
18498
18524
|
*/
|
|
@@ -18801,13 +18827,27 @@ let ComponentTransformer$1 = class ComponentTransformer {
|
|
|
18801
18827
|
}
|
|
18802
18828
|
/**
|
|
18803
18829
|
* Transform HTML string to React nodes using registered patterns
|
|
18830
|
+
* Supports both server-side (linkedom) and client-side (DOMParser) rendering
|
|
18804
18831
|
* @param html - HTML string to transform
|
|
18805
18832
|
* @returns Array of React nodes
|
|
18806
18833
|
*/
|
|
18807
18834
|
static transformHTML(html) {
|
|
18808
18835
|
if (!html.trim()) return [];
|
|
18809
|
-
|
|
18810
|
-
|
|
18836
|
+
let doc;
|
|
18837
|
+
// Server-side: use linkedom if available
|
|
18838
|
+
if (typeof window === 'undefined') {
|
|
18839
|
+
if (parseHTML) {
|
|
18840
|
+
doc = parseHTML(html);
|
|
18841
|
+
} else {
|
|
18842
|
+
// linkedom not available, return empty for client-side rendering
|
|
18843
|
+
console.warn('SSR HTML parsing unavailable - content will render client-side only');
|
|
18844
|
+
return [];
|
|
18845
|
+
}
|
|
18846
|
+
} else {
|
|
18847
|
+
// Client-side: use DOMParser
|
|
18848
|
+
const parser = new DOMParser();
|
|
18849
|
+
doc = parser.parseFromString(html, 'text/html');
|
|
18850
|
+
}
|
|
18811
18851
|
return Array.from(doc.body.children).map((element, index) => ComponentTransformer.transformElement(element, `element-${index}`));
|
|
18812
18852
|
}
|
|
18813
18853
|
/**
|
|
@@ -21703,11 +21743,10 @@ function ImageGalleryView({
|
|
|
21703
21743
|
if (variant === 'grid') {
|
|
21704
21744
|
return jsxs(Box, {
|
|
21705
21745
|
...restProps,
|
|
21706
|
-
children: [jsx(
|
|
21707
|
-
|
|
21708
|
-
spacing:
|
|
21709
|
-
children: displayImages.map((image, index) => jsx(
|
|
21710
|
-
item: true,
|
|
21746
|
+
children: [jsx(GridLayout, {
|
|
21747
|
+
columns: 4,
|
|
21748
|
+
spacing: "medium",
|
|
21749
|
+
children: displayImages.map((image, index) => jsx(GridCell, {
|
|
21711
21750
|
xs: 6,
|
|
21712
21751
|
sm: 4,
|
|
21713
21752
|
md: 3,
|
|
@@ -21767,6 +21806,21 @@ function OptionSelectorView({
|
|
|
21767
21806
|
label = 'Select Option',
|
|
21768
21807
|
dataSource,
|
|
21769
21808
|
bindingOptions,
|
|
21809
|
+
// Exclude ViewProps that conflict with MUI FormControl types
|
|
21810
|
+
margin: _margin,
|
|
21811
|
+
marginTop: _marginTop,
|
|
21812
|
+
marginRight: _marginRight,
|
|
21813
|
+
marginBottom: _marginBottom,
|
|
21814
|
+
marginLeft: _marginLeft,
|
|
21815
|
+
marginX: _marginX,
|
|
21816
|
+
marginY: _marginY,
|
|
21817
|
+
padding: _padding,
|
|
21818
|
+
paddingTop: _paddingTop,
|
|
21819
|
+
paddingRight: _paddingRight,
|
|
21820
|
+
paddingBottom: _paddingBottom,
|
|
21821
|
+
paddingLeft: _paddingLeft,
|
|
21822
|
+
paddingX: _paddingX,
|
|
21823
|
+
paddingY: _paddingY,
|
|
21770
21824
|
...restProps
|
|
21771
21825
|
}) {
|
|
21772
21826
|
const handleOptionClick = useCallback((optionId, available) => {
|
|
@@ -22995,6 +23049,21 @@ function FormFieldView({
|
|
|
22995
23049
|
startAdornment,
|
|
22996
23050
|
endAdornment,
|
|
22997
23051
|
inputProps,
|
|
23052
|
+
// Exclude ViewProps that conflict with MUI FormControl types
|
|
23053
|
+
margin: _margin,
|
|
23054
|
+
marginTop: _marginTop,
|
|
23055
|
+
marginRight: _marginRight,
|
|
23056
|
+
marginBottom: _marginBottom,
|
|
23057
|
+
marginLeft: _marginLeft,
|
|
23058
|
+
marginX: _marginX,
|
|
23059
|
+
marginY: _marginY,
|
|
23060
|
+
padding: _padding,
|
|
23061
|
+
paddingTop: _paddingTop,
|
|
23062
|
+
paddingRight: _paddingRight,
|
|
23063
|
+
paddingBottom: _paddingBottom,
|
|
23064
|
+
paddingLeft: _paddingLeft,
|
|
23065
|
+
paddingX: _paddingX,
|
|
23066
|
+
paddingY: _paddingY,
|
|
22998
23067
|
...restProps
|
|
22999
23068
|
}) {
|
|
23000
23069
|
const fieldId = React.useId();
|
|
@@ -23091,6 +23160,21 @@ function FormSelectView({
|
|
|
23091
23160
|
fullWidth = true,
|
|
23092
23161
|
size = 'small',
|
|
23093
23162
|
placeholder,
|
|
23163
|
+
// Exclude ViewProps that conflict with MUI FormControl types
|
|
23164
|
+
margin: _margin,
|
|
23165
|
+
marginTop: _marginTop,
|
|
23166
|
+
marginRight: _marginRight,
|
|
23167
|
+
marginBottom: _marginBottom,
|
|
23168
|
+
marginLeft: _marginLeft,
|
|
23169
|
+
marginX: _marginX,
|
|
23170
|
+
marginY: _marginY,
|
|
23171
|
+
padding: _padding,
|
|
23172
|
+
paddingTop: _paddingTop,
|
|
23173
|
+
paddingRight: _paddingRight,
|
|
23174
|
+
paddingBottom: _paddingBottom,
|
|
23175
|
+
paddingLeft: _paddingLeft,
|
|
23176
|
+
paddingX: _paddingX,
|
|
23177
|
+
paddingY: _paddingY,
|
|
23094
23178
|
...restProps
|
|
23095
23179
|
}) {
|
|
23096
23180
|
const handleChange = e => {
|
|
@@ -23165,6 +23249,21 @@ function FormCheckboxView({
|
|
|
23165
23249
|
helperText,
|
|
23166
23250
|
required = false,
|
|
23167
23251
|
disabled = false,
|
|
23252
|
+
// Exclude ViewProps that conflict with MUI FormControl types
|
|
23253
|
+
margin: _margin,
|
|
23254
|
+
marginTop: _marginTop,
|
|
23255
|
+
marginRight: _marginRight,
|
|
23256
|
+
marginBottom: _marginBottom,
|
|
23257
|
+
marginLeft: _marginLeft,
|
|
23258
|
+
marginX: _marginX,
|
|
23259
|
+
marginY: _marginY,
|
|
23260
|
+
padding: _padding,
|
|
23261
|
+
paddingTop: _paddingTop,
|
|
23262
|
+
paddingRight: _paddingRight,
|
|
23263
|
+
paddingBottom: _paddingBottom,
|
|
23264
|
+
paddingLeft: _paddingLeft,
|
|
23265
|
+
paddingX: _paddingX,
|
|
23266
|
+
paddingY: _paddingY,
|
|
23168
23267
|
...restProps
|
|
23169
23268
|
}) {
|
|
23170
23269
|
const handleChange = e => {
|
|
@@ -24552,7 +24651,7 @@ const Scaffold = ({
|
|
|
24552
24651
|
className: "appbar-right",
|
|
24553
24652
|
children: [enhancedAppBar?.actions && jsx("div", {
|
|
24554
24653
|
className: "appbar-actions",
|
|
24555
|
-
children: enhancedAppBar.actions
|
|
24654
|
+
children: typeof enhancedAppBar.actions === 'function' ? enhancedAppBar.actions() : enhancedAppBar.actions
|
|
24556
24655
|
}, "appbar-actions"), jsxs("div", {
|
|
24557
24656
|
className: "appbar-theme-controls",
|
|
24558
24657
|
children: [showThemeSwitcher && jsx(ThemeSwitcher, {}, "theme-switcher"), showPaletteSwitcher && jsx(PaletteSwitcher, {}, "palette-switcher")]
|
|
@@ -33432,4 +33531,4 @@ __decorate([Field({
|
|
|
33432
33531
|
}), IsOptional(), __metadata("design:type", Boolean)], PageTemplateSchema.prototype, "indexable", void 0);
|
|
33433
33532
|
PageTemplateSchema = __decorate([Schema('PageTemplate', '1.0.0')], PageTemplateSchema);
|
|
33434
33533
|
|
|
33435
|
-
export { AVAILABLE_PALETTES, AccessibilityProvider, ActionModel, ActionType, AllPalettes, AppConfig, AppConfigBuilder, Article, ArticleModel, Breadcrumbs, Button, Captcha, CaptchaModel, CardListGrid, CardListGridModel, ChoiceInputField, ChoiceInputFieldModel, Code, CodeModel, CollapsibleLayout, CollapsibleLayoutView, ComponentTransformer$1 as ComponentTransformer, Container$8 as Container, Content, ContentModel, CoverImageHeader, CoverImageHeaderModel, DataProvider, DataProxy, DataTable, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, DimensionsProvider, ErrorBoundary, FeatureCard, FeatureCardActionModel, FeatureCardModel, FeatureGrid, FeatureGridModel, FeatureItemModel, Footer, FooterItemModel, FooterModel, FooterSectionModel, FormBlock, FormBlockModel, FormCheckbox, FormCheckboxModel, FormField, FormFieldModel, FormMethod, FormPage, FormSelect, FormSelectModel, GalleryImageModel, GridCell, GridCellModel, GridLayout, GridLayoutModel, HeaderActionModel, HeroBlock, HeroBlockModel, Html, HtmlInputField, HtmlModel, Image, ImageGallery, ImageGalleryModel, ImageModel, Logo, Markdown, MarkdownModel, MetadataItemModel, ModelView, NavigationProvider, OptionSelector, OptionSelectorModel, Page, PageBannerHeader, PageBannerHeaderModel, PageTemplateSchema, PaletteAutumn, PaletteCosmic, PaletteDefault, PaletteOcean, PaletteProvider, PaletteSpring, PaletteSwitcher, PaletteSwitcherModel, PaletteWinter, PrintConfigSchema, PrintModeProvider, ProductCard, ProductCardActionModel, ProductCardModel, ProductLogo, ProductModel, QWICKAPP_COMPONENT, QwickApp, QwickAppsLogo, QwickIcon, ResponsiveMenu, SafeSpan, SafeSpanModel, Scaffold, SchemaFormRenderer, Section, SectionModel, SelectInputField, SelectOptionModel, StatCard, SwitchInputField, T, Text$1 as Text, TextField, TextInputField, TextInputFieldModel, TextModel, ThemeProvider, ThemeSwitcher, ThemeSwitcherModel, ViewSchema, animationConfigs, applyCustomPalette, clearManifestCache, clearPaletteCache, clearUserPalettePreference, clearUserThemePreference, configurePaletteLoader, createAppConfig, createModelViewClass, createPaletteFromCurrentTheme, createSerializableView, defaultCollapsibleLayoutProps, deleteCustomPalette, exportPalette, extractTextFromReactNode, getAvailablePalettes, getCSSVariable, getComputedTheme, getCurrentPalette, getCurrentTheme, getCustomPalettes, getIconComponent, getIconEmoji, getLogger, getPaletteConfig, getPaletteFromManifest, getPaletteName, getRegisteredIcons, getSystemTheme, getThemePerformanceStats, hasIcon, iconMap, importPalette, initializePalette, initializeTheme, isCollapsibleLayoutProps, isPaletteLoaded, loadPalette, loadPaletteManifest, loadUserPalettePreference, loadUserThemePreference, logThemePerformanceStats, loggers, preloadPalettes, registerCustomPalette, registerIcon, resetThemePerformanceStats, resolveDimension, resolveDimensions, resolveSpacing, resolveSpacingProps, saveCustomPalette, savePalettePreference, saveThemePreference, saveUserPalettePreference, saveUserThemePreference, setCSSVariable, setPalette, setTheme, spacingConfigs, t, toCssLength, useAccessibility, useBaseProps, useBreadcrumbs, useCollapsibleState, useData, useDataBinding, useDataContext, useDataProvider, useDimensions, useNavigation, usePageContext, usePalette, usePrintMode$1 as usePrintMode, usePrintMode as usePrintModeHook, useQwickApp, useResolveTemplate, useTemplate, useTheme, withAccessibility, withErrorBoundary };
|
|
33534
|
+
export { AVAILABLE_PALETTES, AccessibilityProvider, ActionModel, ActionType, AllPalettes, AppConfig, AppConfigBuilder, Article, ArticleModel, Breadcrumbs, Button, Captcha, CaptchaModel, CardListGrid, CardListGridModel, ChoiceInputField, ChoiceInputFieldModel, Code, CodeModel, CollapsibleLayout, CollapsibleLayoutView, ComponentTransformer$1 as ComponentTransformer, Container$8 as Container, Content, ContentModel, CoverImageHeader, CoverImageHeaderModel, DataProvider, DataProxy, DataTable, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, DimensionsProvider, ErrorBoundary, FeatureCard, FeatureCardActionModel, FeatureCardModel, FeatureGrid, FeatureGridModel, FeatureItemModel, Footer, FooterItemModel, FooterModel, FooterSectionModel, FormBlock, FormBlockModel, FormCheckbox, FormCheckboxModel, FormField, FormFieldModel, FormMethod, FormPage, FormSelect, FormSelectModel, GalleryImageModel, GridCell, GridCellModel, GridLayout, GridLayoutModel, HeaderActionModel, HeroBlock, HeroBlockModel, Html, HtmlInputField, HtmlModel, Image, ImageGallery, ImageGalleryModel, ImageModel, Logo, Markdown, MarkdownModel, MetadataItemModel, ModelView, NavigationProvider, OptionSelector, OptionSelectorModel, Page, PageBannerHeader, PageBannerHeaderModel, PageTemplateSchema, PaletteAutumn, PaletteBoutique, PaletteCosmic, PaletteDefault, PaletteOcean, PaletteProvider, PaletteSpring, PaletteSwitcher, PaletteSwitcherModel, PaletteWinter, PrintConfigSchema, PrintModeProvider, ProductCard, ProductCardActionModel, ProductCardModel, ProductLogo, ProductModel, QWICKAPP_COMPONENT, QwickApp, QwickAppsLogo, QwickIcon, ResponsiveMenu, SafeSpan, SafeSpanModel, Scaffold, SchemaFormRenderer, Section, SectionModel, SelectInputField, SelectOptionModel, StatCard, SwitchInputField, T, Text$1 as Text, TextField, TextInputField, TextInputFieldModel, TextModel, ThemeProvider, ThemeSwitcher, ThemeSwitcherModel, ViewSchema, animationConfigs, applyCustomPalette, clearManifestCache, clearPaletteCache, clearUserPalettePreference, clearUserThemePreference, configurePaletteLoader, createAppConfig, createModelViewClass, createPaletteFromCurrentTheme, createSerializableView, defaultCollapsibleLayoutProps, deleteCustomPalette, exportPalette, extractTextFromReactNode, getAvailablePalettes, getCSSVariable, getComputedTheme, getCurrentPalette, getCurrentTheme, getCustomPalettes, getIconComponent, getIconEmoji, getLogger, getPaletteConfig, getPaletteFromManifest, getPaletteName, getRegisteredIcons, getSystemTheme, getThemePerformanceStats, hasIcon, iconMap, importPalette, initializePalette, initializeTheme, isCollapsibleLayoutProps, isPaletteLoaded, loadPalette, loadPaletteManifest, loadUserPalettePreference, loadUserThemePreference, logThemePerformanceStats, loggers, preloadPalettes, registerCustomPalette, registerIcon, resetThemePerformanceStats, resolveDimension, resolveDimensions, resolveSpacing, resolveSpacingProps, saveCustomPalette, savePalettePreference, saveThemePreference, saveUserPalettePreference, saveUserThemePreference, setCSSVariable, setPalette, setTheme, spacingConfigs, t, toCssLength, useAccessibility, useBaseProps, useBreadcrumbs, useCollapsibleState, useData, useDataBinding, useDataContext, useDataProvider, useDimensions, useNavigation, usePageContext, usePalette, usePrintMode$1 as usePrintMode, usePrintMode as usePrintModeHook, useQwickApp, useResolveTemplate, useTemplate, useTheme, withAccessibility, withErrorBoundary };
|
package/dist/index.js
CHANGED
|
@@ -1274,6 +1274,18 @@ const PaletteAutumn = {
|
|
|
1274
1274
|
primaryColor: '#ea580c'
|
|
1275
1275
|
};
|
|
1276
1276
|
|
|
1277
|
+
/**
|
|
1278
|
+
* Boutique Palette Configuration
|
|
1279
|
+
*
|
|
1280
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
1281
|
+
*/
|
|
1282
|
+
const PaletteBoutique = {
|
|
1283
|
+
id: 'boutique',
|
|
1284
|
+
name: 'Boutique',
|
|
1285
|
+
description: 'Sophisticated teal, bronze, and navy - perfect for premium retail and fashion brands',
|
|
1286
|
+
primaryColor: '#3ca6b6'
|
|
1287
|
+
};
|
|
1288
|
+
|
|
1277
1289
|
/**
|
|
1278
1290
|
* Ocean Palette Configuration
|
|
1279
1291
|
*
|
|
@@ -1327,7 +1339,7 @@ const PaletteCosmic = {
|
|
|
1327
1339
|
*
|
|
1328
1340
|
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
1329
1341
|
*/
|
|
1330
|
-
const AllPalettes = [PaletteDefault, PaletteOcean, PaletteCosmic, PaletteWinter, PaletteAutumn, PaletteSpring];
|
|
1342
|
+
const AllPalettes = [PaletteDefault, PaletteBoutique, PaletteOcean, PaletteCosmic, PaletteWinter, PaletteAutumn, PaletteSpring];
|
|
1331
1343
|
|
|
1332
1344
|
/**
|
|
1333
1345
|
* Persistence utilities for theme and palette preferences
|
|
@@ -18495,6 +18507,20 @@ class ReactNodeTransformer {
|
|
|
18495
18507
|
*
|
|
18496
18508
|
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
18497
18509
|
*/
|
|
18510
|
+
// Import linkedom for server-side HTML parsing
|
|
18511
|
+
let parseHTML = null;
|
|
18512
|
+
if (typeof window === 'undefined') {
|
|
18513
|
+
// Server-side: use linkedom
|
|
18514
|
+
try {
|
|
18515
|
+
const {
|
|
18516
|
+
parseHTML: parse
|
|
18517
|
+
} = require('linkedom');
|
|
18518
|
+
parseHTML = html => parse(html).document;
|
|
18519
|
+
} catch (e) {
|
|
18520
|
+
// linkedom not available, will fall back to client-only rendering
|
|
18521
|
+
console.warn('linkedom not available for SSR HTML parsing');
|
|
18522
|
+
}
|
|
18523
|
+
}
|
|
18498
18524
|
/**
|
|
18499
18525
|
* Registry for component classes that support serialization
|
|
18500
18526
|
*/
|
|
@@ -18803,13 +18829,27 @@ let ComponentTransformer$1 = class ComponentTransformer {
|
|
|
18803
18829
|
}
|
|
18804
18830
|
/**
|
|
18805
18831
|
* Transform HTML string to React nodes using registered patterns
|
|
18832
|
+
* Supports both server-side (linkedom) and client-side (DOMParser) rendering
|
|
18806
18833
|
* @param html - HTML string to transform
|
|
18807
18834
|
* @returns Array of React nodes
|
|
18808
18835
|
*/
|
|
18809
18836
|
static transformHTML(html) {
|
|
18810
18837
|
if (!html.trim()) return [];
|
|
18811
|
-
|
|
18812
|
-
|
|
18838
|
+
let doc;
|
|
18839
|
+
// Server-side: use linkedom if available
|
|
18840
|
+
if (typeof window === 'undefined') {
|
|
18841
|
+
if (parseHTML) {
|
|
18842
|
+
doc = parseHTML(html);
|
|
18843
|
+
} else {
|
|
18844
|
+
// linkedom not available, return empty for client-side rendering
|
|
18845
|
+
console.warn('SSR HTML parsing unavailable - content will render client-side only');
|
|
18846
|
+
return [];
|
|
18847
|
+
}
|
|
18848
|
+
} else {
|
|
18849
|
+
// Client-side: use DOMParser
|
|
18850
|
+
const parser = new DOMParser();
|
|
18851
|
+
doc = parser.parseFromString(html, 'text/html');
|
|
18852
|
+
}
|
|
18813
18853
|
return Array.from(doc.body.children).map((element, index) => ComponentTransformer.transformElement(element, `element-${index}`));
|
|
18814
18854
|
}
|
|
18815
18855
|
/**
|
|
@@ -21705,11 +21745,10 @@ function ImageGalleryView({
|
|
|
21705
21745
|
if (variant === 'grid') {
|
|
21706
21746
|
return jsxRuntime.jsxs(material.Box, {
|
|
21707
21747
|
...restProps,
|
|
21708
|
-
children: [jsxRuntime.jsx(
|
|
21709
|
-
|
|
21710
|
-
spacing:
|
|
21711
|
-
children: displayImages.map((image, index) => jsxRuntime.jsx(
|
|
21712
|
-
item: true,
|
|
21748
|
+
children: [jsxRuntime.jsx(GridLayout, {
|
|
21749
|
+
columns: 4,
|
|
21750
|
+
spacing: "medium",
|
|
21751
|
+
children: displayImages.map((image, index) => jsxRuntime.jsx(GridCell, {
|
|
21713
21752
|
xs: 6,
|
|
21714
21753
|
sm: 4,
|
|
21715
21754
|
md: 3,
|
|
@@ -21769,6 +21808,21 @@ function OptionSelectorView({
|
|
|
21769
21808
|
label = 'Select Option',
|
|
21770
21809
|
dataSource,
|
|
21771
21810
|
bindingOptions,
|
|
21811
|
+
// Exclude ViewProps that conflict with MUI FormControl types
|
|
21812
|
+
margin: _margin,
|
|
21813
|
+
marginTop: _marginTop,
|
|
21814
|
+
marginRight: _marginRight,
|
|
21815
|
+
marginBottom: _marginBottom,
|
|
21816
|
+
marginLeft: _marginLeft,
|
|
21817
|
+
marginX: _marginX,
|
|
21818
|
+
marginY: _marginY,
|
|
21819
|
+
padding: _padding,
|
|
21820
|
+
paddingTop: _paddingTop,
|
|
21821
|
+
paddingRight: _paddingRight,
|
|
21822
|
+
paddingBottom: _paddingBottom,
|
|
21823
|
+
paddingLeft: _paddingLeft,
|
|
21824
|
+
paddingX: _paddingX,
|
|
21825
|
+
paddingY: _paddingY,
|
|
21772
21826
|
...restProps
|
|
21773
21827
|
}) {
|
|
21774
21828
|
const handleOptionClick = React.useCallback((optionId, available) => {
|
|
@@ -22997,6 +23051,21 @@ function FormFieldView({
|
|
|
22997
23051
|
startAdornment,
|
|
22998
23052
|
endAdornment,
|
|
22999
23053
|
inputProps,
|
|
23054
|
+
// Exclude ViewProps that conflict with MUI FormControl types
|
|
23055
|
+
margin: _margin,
|
|
23056
|
+
marginTop: _marginTop,
|
|
23057
|
+
marginRight: _marginRight,
|
|
23058
|
+
marginBottom: _marginBottom,
|
|
23059
|
+
marginLeft: _marginLeft,
|
|
23060
|
+
marginX: _marginX,
|
|
23061
|
+
marginY: _marginY,
|
|
23062
|
+
padding: _padding,
|
|
23063
|
+
paddingTop: _paddingTop,
|
|
23064
|
+
paddingRight: _paddingRight,
|
|
23065
|
+
paddingBottom: _paddingBottom,
|
|
23066
|
+
paddingLeft: _paddingLeft,
|
|
23067
|
+
paddingX: _paddingX,
|
|
23068
|
+
paddingY: _paddingY,
|
|
23000
23069
|
...restProps
|
|
23001
23070
|
}) {
|
|
23002
23071
|
const fieldId = React.useId();
|
|
@@ -23093,6 +23162,21 @@ function FormSelectView({
|
|
|
23093
23162
|
fullWidth = true,
|
|
23094
23163
|
size = 'small',
|
|
23095
23164
|
placeholder,
|
|
23165
|
+
// Exclude ViewProps that conflict with MUI FormControl types
|
|
23166
|
+
margin: _margin,
|
|
23167
|
+
marginTop: _marginTop,
|
|
23168
|
+
marginRight: _marginRight,
|
|
23169
|
+
marginBottom: _marginBottom,
|
|
23170
|
+
marginLeft: _marginLeft,
|
|
23171
|
+
marginX: _marginX,
|
|
23172
|
+
marginY: _marginY,
|
|
23173
|
+
padding: _padding,
|
|
23174
|
+
paddingTop: _paddingTop,
|
|
23175
|
+
paddingRight: _paddingRight,
|
|
23176
|
+
paddingBottom: _paddingBottom,
|
|
23177
|
+
paddingLeft: _paddingLeft,
|
|
23178
|
+
paddingX: _paddingX,
|
|
23179
|
+
paddingY: _paddingY,
|
|
23096
23180
|
...restProps
|
|
23097
23181
|
}) {
|
|
23098
23182
|
const handleChange = e => {
|
|
@@ -23167,6 +23251,21 @@ function FormCheckboxView({
|
|
|
23167
23251
|
helperText,
|
|
23168
23252
|
required = false,
|
|
23169
23253
|
disabled = false,
|
|
23254
|
+
// Exclude ViewProps that conflict with MUI FormControl types
|
|
23255
|
+
margin: _margin,
|
|
23256
|
+
marginTop: _marginTop,
|
|
23257
|
+
marginRight: _marginRight,
|
|
23258
|
+
marginBottom: _marginBottom,
|
|
23259
|
+
marginLeft: _marginLeft,
|
|
23260
|
+
marginX: _marginX,
|
|
23261
|
+
marginY: _marginY,
|
|
23262
|
+
padding: _padding,
|
|
23263
|
+
paddingTop: _paddingTop,
|
|
23264
|
+
paddingRight: _paddingRight,
|
|
23265
|
+
paddingBottom: _paddingBottom,
|
|
23266
|
+
paddingLeft: _paddingLeft,
|
|
23267
|
+
paddingX: _paddingX,
|
|
23268
|
+
paddingY: _paddingY,
|
|
23170
23269
|
...restProps
|
|
23171
23270
|
}) {
|
|
23172
23271
|
const handleChange = e => {
|
|
@@ -24554,7 +24653,7 @@ const Scaffold = ({
|
|
|
24554
24653
|
className: "appbar-right",
|
|
24555
24654
|
children: [enhancedAppBar?.actions && jsxRuntime.jsx("div", {
|
|
24556
24655
|
className: "appbar-actions",
|
|
24557
|
-
children: enhancedAppBar.actions
|
|
24656
|
+
children: typeof enhancedAppBar.actions === 'function' ? enhancedAppBar.actions() : enhancedAppBar.actions
|
|
24558
24657
|
}, "appbar-actions"), jsxRuntime.jsxs("div", {
|
|
24559
24658
|
className: "appbar-theme-controls",
|
|
24560
24659
|
children: [showThemeSwitcher && jsxRuntime.jsx(ThemeSwitcher, {}, "theme-switcher"), showPaletteSwitcher && jsxRuntime.jsx(PaletteSwitcher, {}, "palette-switcher")]
|
|
@@ -33486,6 +33585,7 @@ exports.OptionSelector = OptionSelector;
|
|
|
33486
33585
|
exports.Page = Page;
|
|
33487
33586
|
exports.PageBannerHeader = PageBannerHeader;
|
|
33488
33587
|
exports.PaletteAutumn = PaletteAutumn;
|
|
33588
|
+
exports.PaletteBoutique = PaletteBoutique;
|
|
33489
33589
|
exports.PaletteCosmic = PaletteCosmic;
|
|
33490
33590
|
exports.PaletteDefault = PaletteDefault;
|
|
33491
33591
|
exports.PaletteOcean = PaletteOcean;
|