blue-chestnut-solar-expert 0.0.68 → 0.0.69
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/dist/cjs/app-globals-I24yU8do.js +10 -0
- package/dist/cjs/app-globals-I24yU8do.js.map +1 -0
- package/dist/cjs/basedecoder-CQuzfSgz.js +116 -0
- package/dist/cjs/basedecoder-CQuzfSgz.js.map +1 -0
- package/dist/cjs/deflate-AzGzQSW2.js +17 -0
- package/dist/cjs/deflate-AzGzQSW2.js.map +1 -0
- package/dist/cjs/eraser-icon_19.cjs.entry.js +31 -0
- package/dist/cjs/eraser-icon_19.cjs.entry.js.map +1 -0
- package/dist/cjs/index-HgRXF6kp.js +1470 -0
- package/dist/cjs/index-HgRXF6kp.js.map +1 -0
- package/dist/cjs/index.cjs.js +7 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/jpeg-Bx3bTm32.js +904 -0
- package/dist/cjs/jpeg-Bx3bTm32.js.map +1 -0
- package/dist/cjs/lerc-Bdx5y-yw.js +4427 -0
- package/dist/cjs/lerc-Bdx5y-yw.js.map +1 -0
- package/dist/cjs/loader.cjs.js +18 -0
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/loading-widget.cjs.entry.js +22 -0
- package/dist/{stencil-library/polygon-information.entry.esm.js.map → cjs/loading-widget.cjs.entry.js.map} +1 -1
- package/dist/cjs/loading-widget.entry.cjs.js.map +1 -0
- package/dist/cjs/lzw-BmFug486.js +140 -0
- package/dist/cjs/lzw-BmFug486.js.map +1 -0
- package/dist/cjs/packbits-CYx9fB0v.js +35 -0
- package/dist/cjs/packbits-CYx9fB0v.js.map +1 -0
- package/dist/cjs/pako.esm-0mKI6Jik.js +3243 -0
- package/dist/cjs/pako.esm-0mKI6Jik.js.map +1 -0
- package/dist/cjs/raw-DC82yoyr.js +16 -0
- package/dist/cjs/raw-DC82yoyr.js.map +1 -0
- package/dist/cjs/stencil-library.cjs.js +30 -0
- package/dist/cjs/stencil-library.cjs.js.map +1 -0
- package/dist/cjs/webimage-Dc0t2xAB.js +49 -0
- package/dist/cjs/webimage-Dc0t2xAB.js.map +1 -0
- package/dist/collection/collection-manifest.json +31 -0
- package/dist/collection/components/icons/eraser.js +64 -0
- package/dist/collection/components/icons/eraser.js.map +1 -0
- package/dist/collection/components/icons/house.js +64 -0
- package/dist/collection/components/icons/house.js.map +1 -0
- package/dist/collection/components/icons/icon.js +108 -0
- package/dist/collection/components/icons/icon.js.map +1 -0
- package/dist/collection/components/icons/marker.js +64 -0
- package/dist/collection/components/icons/marker.js.map +1 -0
- package/dist/collection/components/icons/move.js +64 -0
- package/dist/collection/components/icons/move.js.map +1 -0
- package/dist/collection/components/icons/octagonMinus.js +64 -0
- package/dist/collection/components/icons/octagonMinus.js.map +1 -0
- package/dist/collection/components/icons/search.js +64 -0
- package/dist/collection/components/icons/search.js.map +1 -0
- package/dist/collection/components/icons/settings.js +64 -0
- package/dist/collection/components/icons/settings.js.map +1 -0
- package/dist/collection/components/icons/undo.js +64 -0
- package/dist/collection/components/icons/undo.js.map +1 -0
- package/dist/collection/components/map-draw/map-draw.js +824 -0
- package/dist/collection/components/map-draw/map-draw.js.map +1 -0
- package/dist/collection/components/map-draw/map-selector.js +246 -0
- package/dist/collection/components/map-draw/map-selector.js.map +1 -0
- package/dist/collection/components/map-draw/polygon-buttons.js +86 -0
- package/dist/collection/components/map-draw/polygon-buttons.js.map +1 -0
- package/dist/collection/components/map-draw/polygon-information.js +211 -0
- package/dist/collection/components/map-draw/polygon-information.js.map +1 -0
- package/dist/collection/components/map-draw/tool-box.js +108 -0
- package/dist/collection/components/map-draw/tool-box.js.map +1 -0
- package/dist/collection/components/map-draw/tutorial-component.js +219 -0
- package/dist/collection/components/map-draw/tutorial-component.js.map +1 -0
- package/dist/collection/components/settings/settings.js +127 -0
- package/dist/collection/components/settings/settings.js.map +1 -0
- package/dist/collection/components/solar-expert/solar-expert.js +241 -0
- package/dist/collection/components/solar-expert/solar-expert.js.map +1 -0
- package/dist/collection/components/solar-system-form/solar-system-form.js +617 -0
- package/dist/collection/components/solar-system-form/solar-system-form.js.map +1 -0
- package/dist/collection/components/widgets/loading-widget.js +18 -0
- package/dist/collection/components/widgets/loading-widget.js.map +1 -0
- package/dist/collection/components/widgets/toast-notification.js +133 -0
- package/dist/collection/components/widgets/toast-notification.js.map +1 -0
- package/dist/{stencil-library/config-CWfV1nKn.js → collection/config.js} +4 -10
- package/dist/collection/config.js.map +1 -0
- package/dist/collection/constants.js +90 -0
- package/dist/collection/constants.js.map +1 -0
- package/dist/collection/index.js +2 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/output.css +1126 -0
- package/dist/collection/store.js +43 -0
- package/dist/collection/store.js.map +1 -0
- package/dist/collection/types/lang.js +2 -0
- package/dist/collection/types/lang.js.map +1 -0
- package/dist/collection/types/shapes.js +2 -0
- package/dist/collection/types/shapes.js.map +1 -0
- package/dist/collection/utils/api.js +94 -0
- package/dist/collection/utils/api.js.map +1 -0
- package/dist/collection/utils/images.js +2 -0
- package/dist/collection/utils/images.js.map +1 -0
- package/dist/collection/utils/lang/english.js +164 -0
- package/dist/collection/utils/lang/english.js.map +1 -0
- package/dist/collection/utils/lang/general.js +30 -0
- package/dist/collection/utils/lang/general.js.map +1 -0
- package/dist/collection/utils/lang/german.js +164 -0
- package/dist/collection/utils/lang/german.js.map +1 -0
- package/dist/collection/utils/lang/spanish.js +164 -0
- package/dist/collection/utils/lang/spanish.js.map +1 -0
- package/dist/{stencil-library/tools-BNYKV5H5.js → collection/utils/render/tools.js} +8 -14
- package/dist/collection/utils/render/tools.js.map +1 -0
- package/dist/collection/utils/solar.js +135 -0
- package/dist/collection/utils/solar.js.map +1 -0
- package/dist/collection/utils/theme.js +97 -0
- package/dist/collection/utils/theme.js.map +1 -0
- package/dist/{stencil-library/utils-BCUZxI9u.js → collection/utils/utils.js} +3 -9
- package/dist/collection/utils/utils.js.map +1 -0
- package/dist/components/eraser-icon.js +11 -0
- package/dist/components/eraser-icon.js.map +1 -0
- package/dist/components/house-icon.js +11 -0
- package/dist/components/house-icon.js.map +1 -0
- package/dist/components/icon-selector.js +11 -0
- package/dist/components/icon-selector.js.map +1 -0
- package/dist/components/index.js +1269 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/loading-widget.js +38 -0
- package/dist/{stencil-library/marker-icon.entry.esm.js.map → components/loading-widget.js.map} +1 -1
- package/dist/components/map-draw.js +11 -0
- package/dist/components/map-draw.js.map +1 -0
- package/dist/components/map-selector.js +11 -0
- package/dist/components/map-selector.js.map +1 -0
- package/dist/components/marker-icon.js +11 -0
- package/dist/components/marker-icon.js.map +1 -0
- package/dist/components/move-icon.js +11 -0
- package/dist/components/move-icon.js.map +1 -0
- package/dist/components/octagon-minus-icon.js +11 -0
- package/dist/components/octagon-minus-icon.js.map +1 -0
- package/dist/{stencil-library/polygon-buttons.entry.js → components/p-26DHwbCE.js} +29 -10
- package/dist/{stencil-library/solar-expert.entry.js.map → components/p-26DHwbCE.js.map} +1 -1
- package/dist/components/p-B54Ul0nf.js +15 -0
- package/dist/components/p-B54Ul0nf.js.map +1 -0
- package/dist/components/p-B5WTRCh8.js +3241 -0
- package/dist/components/p-B5WTRCh8.js.map +1 -0
- package/dist/{stencil-library/jpeg-Dd5nnHR5.js → components/p-BGoSj_DR.js} +3 -11
- package/dist/components/p-BGoSj_DR.js.map +1 -0
- package/dist/{stencil-library/octagon-minus-icon.entry.js → components/p-BJLO76Yi.js} +27 -9
- package/dist/components/p-BJLO76Yi.js.map +1 -0
- package/dist/components/p-BOe-Z8rz.js +16323 -0
- package/dist/components/p-BOe-Z8rz.js.map +1 -0
- package/dist/{stencil-library/map-selector.entry.js → components/p-Bduzzygj.js} +453 -12
- package/dist/components/p-Bduzzygj.js.map +1 -0
- package/dist/{stencil-library/packbits-X3R_utTs.js → components/p-ByX6QP-E.js} +3 -9
- package/dist/components/p-ByX6QP-E.js.map +1 -0
- package/dist/{stencil-library/solar-system-form.entry.js → components/p-C3ZXE525.js} +382 -80
- package/dist/components/p-C3ZXE525.js.map +1 -0
- package/dist/{stencil-library/icon-selector.entry.js → components/p-C5QieOat.js} +76 -9
- package/dist/components/p-C5QieOat.js.map +1 -0
- package/dist/{stencil-library/eraser-icon.entry.js → components/p-CL74Q4VR.js} +27 -9
- package/dist/components/p-CL74Q4VR.js.map +1 -0
- package/dist/{stencil-library/webimage-CBrfoxHM.js → components/p-Cgchl6bA.js} +3 -9
- package/dist/components/p-Cgchl6bA.js.map +1 -0
- package/dist/{stencil-library/tool-box.entry.js → components/p-Cx7fffWb.js} +135 -11
- package/dist/components/p-Cx7fffWb.js.map +1 -0
- package/dist/{stencil-library/tutorial-component.entry.js → components/p-D2AHNjbG.js} +35 -10
- package/dist/{stencil-library/toast-notification.entry.esm.js.map → components/p-D2AHNjbG.js.map} +1 -1
- package/dist/{stencil-library/house-icon.entry.js → components/p-D8w3bTPO.js} +27 -9
- package/dist/components/p-D8w3bTPO.js.map +1 -0
- package/dist/{stencil-library/search-icon.entry.js → components/p-DBwr8xSB.js} +27 -9
- package/dist/components/p-DBwr8xSB.js.map +1 -0
- package/dist/{stencil-library/lerc-7W4E8EBs.js → components/p-DLWzgdrw.js} +1981 -27
- package/dist/components/p-DLWzgdrw.js.map +1 -0
- package/dist/{stencil-library/settings-icon.entry.js → components/p-DTXeHbuh.js} +27 -9
- package/dist/{stencil-library/octagon-minus-icon.entry.esm.js.map → components/p-DTXeHbuh.js.map} +1 -1
- package/dist/{stencil-library/settings-modal.entry.js → components/p-Ddk3b30j.js} +30 -12
- package/dist/{stencil-library/polygon-buttons.entry.esm.js.map → components/p-Ddk3b30j.js.map} +1 -1
- package/dist/{stencil-library/store-CcqrFuBK.js → components/p-DfzSejIb.js} +3 -3
- package/dist/components/p-DfzSejIb.js.map +1 -0
- package/dist/{stencil-library/move-icon.entry.js → components/p-FdEV2qPo.js} +27 -9
- package/dist/components/p-FdEV2qPo.js.map +1 -0
- package/dist/{stencil-library/polygon-information.entry.js → components/p-OxUYjaAL.js} +68 -11
- package/dist/components/p-OxUYjaAL.js.map +1 -0
- package/dist/{stencil-library/toast-notification.entry.js → components/p-P28NBglk.js} +30 -9
- package/dist/{stencil-library/loading-widget.entry.js.map → components/p-P28NBglk.js.map} +1 -1
- package/dist/{stencil-library/marker-icon.entry.js → components/p-Umz6nJIv.js} +27 -9
- package/dist/components/p-Umz6nJIv.js.map +1 -0
- package/dist/components/p-WmcSqXD8.js +14 -0
- package/dist/components/p-WmcSqXD8.js.map +1 -0
- package/dist/components/p-j-vOrhhh.js +114 -0
- package/dist/components/p-j-vOrhhh.js.map +1 -0
- package/dist/{stencil-library/lzw--P4c0ZHH.js → components/p-q8auDIJ2.js} +4 -10
- package/dist/components/p-q8auDIJ2.js.map +1 -0
- package/dist/{stencil-library/undo-icon.entry.js → components/p-waOPoUcA.js} +27 -9
- package/dist/components/p-waOPoUcA.js.map +1 -0
- package/dist/components/polygon-buttons.js +11 -0
- package/dist/components/polygon-buttons.js.map +1 -0
- package/dist/components/polygon-information.js +11 -0
- package/dist/components/polygon-information.js.map +1 -0
- package/dist/components/search-icon.js +11 -0
- package/dist/components/search-icon.js.map +1 -0
- package/dist/components/settings-icon.js +11 -0
- package/dist/components/settings-icon.js.map +1 -0
- package/dist/components/settings-modal.js +11 -0
- package/dist/components/settings-modal.js.map +1 -0
- package/dist/{stencil-library/solar-expert.entry.js → components/solar-expert.js} +149 -13
- package/dist/components/solar-expert.js.map +1 -0
- package/dist/components/solar-system-form.js +11 -0
- package/dist/components/solar-system-form.js.map +1 -0
- package/dist/components/toast-notification.js +11 -0
- package/dist/components/toast-notification.js.map +1 -0
- package/dist/components/tool-box.js +11 -0
- package/dist/components/tool-box.js.map +1 -0
- package/dist/components/tutorial-component.js +11 -0
- package/dist/components/tutorial-component.js.map +1 -0
- package/dist/components/undo-icon.js +11 -0
- package/dist/components/undo-icon.js.map +1 -0
- package/dist/esm/basedecoder-j-vOrhhh.js +114 -0
- package/dist/esm/basedecoder-j-vOrhhh.js.map +1 -0
- package/dist/esm/deflate-DHgPf9CO.js +15 -0
- package/dist/{stencil-library/deflate-0Vdd6-55.js.map → esm/deflate-DHgPf9CO.js.map} +1 -1
- package/dist/esm/eraser-icon_19.entry.js +7 -0
- package/dist/esm/eraser-icon_19.entry.js.map +1 -0
- package/dist/esm/index-C2JRBB5c.js +1458 -0
- package/dist/esm/index-C2JRBB5c.js.map +1 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/jpeg-CJLm1GkA.js +902 -0
- package/dist/esm/jpeg-CJLm1GkA.js.map +1 -0
- package/dist/esm/lerc-DF5Lrv5A.js +4424 -0
- package/dist/esm/lerc-DF5Lrv5A.js.map +1 -0
- package/dist/esm/loader.js +16 -0
- package/dist/esm/loader.js.map +1 -0
- package/dist/{stencil-library → esm}/loading-widget.entry.js +2 -2
- package/dist/esm/loading-widget.entry.js.map +1 -0
- package/dist/esm/lzw-DaOzWJUD.js +138 -0
- package/dist/esm/lzw-DaOzWJUD.js.map +1 -0
- package/dist/esm/packbits-CZPyx9kx.js +33 -0
- package/dist/esm/packbits-CZPyx9kx.js.map +1 -0
- package/dist/esm/pako.esm-B5WTRCh8.js +3241 -0
- package/dist/{stencil-library/pako.esm-CPorU236.js.map → esm/pako.esm-B5WTRCh8.js.map} +1 -1
- package/dist/esm/raw-pqeeWc2_.js +14 -0
- package/dist/esm/raw-pqeeWc2_.js.map +1 -0
- package/dist/esm/stencil-library.js +26 -0
- package/dist/esm/stencil-library.js.map +1 -0
- package/dist/esm/webimage-BiHardhv.js +47 -0
- package/dist/{stencil-library/webimage-CBrfoxHM.js.map → esm/webimage-BiHardhv.js.map} +1 -1
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/stencil-library/index.esm.js +1 -13
- package/dist/stencil-library/index.esm.js.map +1 -1
- package/dist/stencil-library/{search-icon.entry.js.map → p-9b4e52c3.entry.js} +2 -1
- package/dist/stencil-library/p-9b4e52c3.entry.js.map +1 -0
- package/dist/stencil-library/p-B54Ul0nf.js +2 -0
- package/dist/stencil-library/p-B54Ul0nf.js.map +1 -0
- package/dist/stencil-library/p-B5WTRCh8.js +2 -0
- package/dist/stencil-library/p-B5WTRCh8.js.map +1 -0
- package/dist/stencil-library/p-BGoSj_DR.js +2 -0
- package/dist/stencil-library/p-BGoSj_DR.js.map +1 -0
- package/dist/stencil-library/p-ByX6QP-E.js +2 -0
- package/dist/stencil-library/p-ByX6QP-E.js.map +1 -0
- package/dist/stencil-library/p-C2JRBB5c.js +3 -0
- package/dist/stencil-library/p-C2JRBB5c.js.map +1 -0
- package/dist/stencil-library/p-CX8V3eiN.js +2 -0
- package/dist/stencil-library/p-CX8V3eiN.js.map +1 -0
- package/dist/stencil-library/p-Cgchl6bA.js +2 -0
- package/dist/stencil-library/p-Cgchl6bA.js.map +1 -0
- package/dist/stencil-library/p-CymYGBJH.js +2 -0
- package/dist/stencil-library/p-CymYGBJH.js.map +1 -0
- package/dist/stencil-library/p-DHgjDQwz.js +10 -0
- package/dist/stencil-library/p-DHgjDQwz.js.map +1 -0
- package/dist/stencil-library/p-WmcSqXD8.js +2 -0
- package/dist/stencil-library/p-WmcSqXD8.js.map +1 -0
- package/dist/stencil-library/p-ba64c5e4.entry.js +2 -0
- package/dist/stencil-library/p-ba64c5e4.entry.js.map +1 -0
- package/dist/stencil-library/p-j-vOrhhh.js +2 -0
- package/dist/stencil-library/p-j-vOrhhh.js.map +1 -0
- package/dist/stencil-library/p-q8auDIJ2.js +2 -0
- package/dist/stencil-library/p-q8auDIJ2.js.map +1 -0
- package/dist/stencil-library/stencil-library.esm.js +1 -52
- package/dist/stencil-library/stencil-library.esm.js.map +1 -1
- package/dist/types/components/solar-system-form/solar-system-form.d.ts +1 -0
- package/dist/types/components.d.ts +2 -0
- package/dist/types/utils/api.d.ts +1 -0
- package/package.json +1 -1
- package/dist/stencil-library/config-CWfV1nKn.js.map +0 -1
- package/dist/stencil-library/constants-hboFofU4.js +0 -1522
- package/dist/stencil-library/constants-hboFofU4.js.map +0 -1
- package/dist/stencil-library/decoder-DNOvLSaS.js +0 -39
- package/dist/stencil-library/decoder-DNOvLSaS.js.map +0 -1
- package/dist/stencil-library/deflate-0Vdd6-55.js +0 -21
- package/dist/stencil-library/eraser-icon.entry.esm.js.map +0 -1
- package/dist/stencil-library/eraser-icon.entry.js.map +0 -1
- package/dist/stencil-library/house-icon.entry.esm.js.map +0 -1
- package/dist/stencil-library/house-icon.entry.js.map +0 -1
- package/dist/stencil-library/icon-selector.entry.esm.js.map +0 -1
- package/dist/stencil-library/icon-selector.entry.js.map +0 -1
- package/dist/stencil-library/index-CChkgM3J.js +0 -414
- package/dist/stencil-library/index-CChkgM3J.js.map +0 -1
- package/dist/stencil-library/index-ICfDNUMe.js +0 -4172
- package/dist/stencil-library/index-ICfDNUMe.js.map +0 -1
- package/dist/stencil-library/jpeg-Dd5nnHR5.js.map +0 -1
- package/dist/stencil-library/lerc-7W4E8EBs.js.map +0 -1
- package/dist/stencil-library/lzw--P4c0ZHH.js.map +0 -1
- package/dist/stencil-library/map-draw-Cx9WZoKH.js +0 -25567
- package/dist/stencil-library/map-draw-Cx9WZoKH.js.map +0 -1
- package/dist/stencil-library/map-draw.entry.esm.js.map +0 -1
- package/dist/stencil-library/map-draw.entry.js +0 -12
- package/dist/stencil-library/map-draw.entry.js.map +0 -1
- package/dist/stencil-library/map-selector.entry.esm.js.map +0 -1
- package/dist/stencil-library/map-selector.entry.js.map +0 -1
- package/dist/stencil-library/marker-icon.entry.js.map +0 -1
- package/dist/stencil-library/move-icon.entry.esm.js.map +0 -1
- package/dist/stencil-library/move-icon.entry.js.map +0 -1
- package/dist/stencil-library/octagon-minus-icon.entry.js.map +0 -1
- package/dist/stencil-library/packbits-X3R_utTs.js.map +0 -1
- package/dist/stencil-library/pako.esm-CPorU236.js +0 -6881
- package/dist/stencil-library/polygon-buttons.entry.js.map +0 -1
- package/dist/stencil-library/polygon-information.entry.js.map +0 -1
- package/dist/stencil-library/raw-BxukYehy.js +0 -20
- package/dist/stencil-library/raw-BxukYehy.js.map +0 -1
- package/dist/stencil-library/search-icon.entry.esm.js.map +0 -1
- package/dist/stencil-library/settings-icon.entry.esm.js.map +0 -1
- package/dist/stencil-library/settings-icon.entry.js.map +0 -1
- package/dist/stencil-library/settings-modal.entry.esm.js.map +0 -1
- package/dist/stencil-library/settings-modal.entry.js.map +0 -1
- package/dist/stencil-library/solar-expert.entry.esm.js.map +0 -1
- package/dist/stencil-library/solar-system-form.entry.esm.js.map +0 -1
- package/dist/stencil-library/solar-system-form.entry.js.map +0 -1
- package/dist/stencil-library/store-CcqrFuBK.js.map +0 -1
- package/dist/stencil-library/toast-notification.entry.js.map +0 -1
- package/dist/stencil-library/tool-box.entry.esm.js.map +0 -1
- package/dist/stencil-library/tool-box.entry.js.map +0 -1
- package/dist/stencil-library/tools-BNYKV5H5.js.map +0 -1
- package/dist/stencil-library/tutorial-component.entry.esm.js.map +0 -1
- package/dist/stencil-library/tutorial-component.entry.js.map +0 -1
- package/dist/stencil-library/undo-icon.entry.esm.js.map +0 -1
- package/dist/stencil-library/undo-icon.entry.js.map +0 -1
- package/dist/stencil-library/utils-BCUZxI9u.js.map +0 -1
- /package/dist/{stencil-library → esm}/app-globals-CX8V3eiN.js +0 -0
- /package/dist/{stencil-library → esm}/app-globals-CX8V3eiN.js.map +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"settings-modal.entry.esm.js","mappings":"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","names":[],"sources":["src/output.css?tag=settings-modal","src/components/settings/settings.tsx"],"sourcesContent":["/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-red-100: oklch(93.6% 0.032 17.717);\n --color-red-300: oklch(80.8% 0.114 19.571);\n --color-red-500: oklch(63.7% 0.237 25.331);\n --color-red-700: oklch(50.5% 0.213 27.518);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --container-md: 28rem;\n --container-2xl: 42rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --radius-lg: 0.5rem;\n --radius-4xl: 2rem;\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --animate-spin: spin 1s linear infinite;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --color-primary: hsl(41 51% 90%);\n --color-primary-foreground: hsl(0 0% 0%);\n --color-secondary: hsl(28 100% 8%);\n --color-secondary-foreground: hsl(0 0% 100%);\n --color-tertiary: hsl(28 100% 29%);\n --color-tertiary-foreground: hsl(0 0% 100%);\n --color-muted: hsl(0 0% 100%);\n --color-muted-foreground: hsl(0 0% 0%);\n --color-error: hsl(0 100% 50%);\n --color-error-foreground: hsl(0 0% 100%);\n --color-surface: hsl(0 0% 88%);\n --color-surface-hover: hsl(0 0% 82%);\n --color-surface-active: hsl(0 0% 64%);\n --color-text-muted: hsl(0 0% 45%);\n --color-text-secondary: hsl(0 0% 55%);\n --color-text-placeholder: hsl(0 0% 73%);\n --color-border: hsl(0 0% 82%);\n --color-border-light: hsl(0 0% 93%);\n --color-success: hsl(142 76% 36%);\n --color-info: hsl(221 83% 53%);\n --color-hover: hsl(0 0% 88%);\n --color-hover-dark: hsl(28 100% 8%);\n --color-overlay: rgba(0, 0, 0, 0.24);\n --color-tooltip: hsl(0 0% 13%);\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .pointer-events-none {\n pointer-events: none;\n }\n .absolute {\n position: absolute;\n }\n .fixed {\n position: fixed;\n }\n .relative {\n position: relative;\n }\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .bottom-4 {\n bottom: calc(var(--spacing) * 4);\n }\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .left-1\\/2 {\n left: calc(1/2 * 100%);\n }\n .left-3 {\n left: calc(var(--spacing) * 3);\n }\n .z-10 {\n z-index: 10;\n }\n .z-20 {\n z-index: 20;\n }\n .z-50 {\n z-index: 50;\n }\n .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .m-auto {\n margin: auto;\n }\n .mt-1 {\n margin-top: calc(var(--spacing) * 1);\n }\n .mt-4 {\n margin-top: calc(var(--spacing) * 4);\n }\n .mt-6 {\n margin-top: calc(var(--spacing) * 6);\n }\n .mb-1 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n .mb-6 {\n margin-bottom: calc(var(--spacing) * 6);\n }\n .block {\n display: block;\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .inline {\n display: inline;\n }\n .inline-block {\n display: inline-block;\n }\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n .h-48 {\n height: calc(var(--spacing) * 48);\n }\n .h-64 {\n height: calc(var(--spacing) * 64);\n }\n .h-\\[400px\\] {\n height: 400px;\n }\n .h-full {\n height: 100%;\n }\n .max-h-full {\n max-height: 100%;\n }\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .w-16 {\n width: calc(var(--spacing) * 16);\n }\n .w-20 {\n width: calc(var(--spacing) * 20);\n }\n .w-64 {\n width: calc(var(--spacing) * 64);\n }\n .w-full {\n width: 100%;\n }\n .max-w-2xl {\n max-width: var(--container-2xl);\n }\n .max-w-md {\n max-width: var(--container-md);\n }\n .flex-1 {\n flex: 1;\n }\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-0 {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-2 {\n --tw-translate-y: calc(var(--spacing) * 2);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .scale-95 {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .scale-100 {\n --tw-scale-x: 100%;\n --tw-scale-y: 100%;\n --tw-scale-z: 100%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .cursor-not-allowed {\n cursor: not-allowed;\n }\n .resize {\n resize: both;\n }\n .appearance-none {\n appearance: none;\n }\n .grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-center {\n align-items: center;\n }\n .items-start {\n align-items: flex-start;\n }\n .items-stretch {\n align-items: stretch;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .justify-start {\n justify-content: flex-start;\n }\n .gap-0 {\n gap: calc(var(--spacing) * 0);\n }\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .space-y-3 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-6 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .rounded {\n border-radius: 0.25rem;\n }\n .rounded-4xl {\n border-radius: var(--radius-4xl);\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n .border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .border-b-2 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 2px;\n }\n .border-border {\n border-color: var(--color-border);\n }\n .border-current {\n border-color: currentcolor;\n }\n .border-error\\/20 {\n border-color: color-mix(in srgb, hsl(0 100% 50%) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-error) 20%, transparent);\n }\n }\n .border-info\\/20 {\n border-color: color-mix(in srgb, hsl(221 83% 53%) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-info) 20%, transparent);\n }\n }\n .border-red-300 {\n border-color: var(--color-red-300);\n }\n .border-secondary {\n border-color: var(--color-secondary);\n }\n .border-success\\/20 {\n border-color: color-mix(in srgb, hsl(142 76% 36%) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-success) 20%, transparent);\n }\n }\n .border-t-transparent {\n border-top-color: transparent;\n }\n .bg-black {\n background-color: var(--color-black);\n }\n .bg-error\\/10 {\n background-color: color-mix(in srgb, hsl(0 100% 50%) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-error) 10%, transparent);\n }\n }\n .bg-error\\/90 {\n background-color: color-mix(in srgb, hsl(0 100% 50%) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-error) 90%, transparent);\n }\n }\n .bg-info\\/90 {\n background-color: color-mix(in srgb, hsl(221 83% 53%) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-info) 90%, transparent);\n }\n }\n .bg-muted {\n background-color: var(--color-muted);\n }\n .bg-overlay {\n background-color: var(--color-overlay);\n }\n .bg-primary {\n background-color: var(--color-primary);\n }\n .bg-red-100 {\n background-color: var(--color-red-100);\n }\n .bg-secondary {\n background-color: var(--color-secondary);\n }\n .bg-success\\/10 {\n background-color: color-mix(in srgb, hsl(142 76% 36%) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-success) 10%, transparent);\n }\n }\n .bg-success\\/90 {\n background-color: color-mix(in srgb, hsl(142 76% 36%) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-success) 90%, transparent);\n }\n }\n .bg-surface {\n background-color: var(--color-surface);\n }\n .bg-tertiary {\n background-color: var(--color-tertiary);\n }\n .bg-transparent {\n background-color: transparent;\n }\n .object-contain {\n object-fit: contain;\n }\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .px-6 {\n padding-inline: calc(var(--spacing) * 6);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n .pt-3 {\n padding-top: calc(var(--spacing) * 3);\n }\n .pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n .pt-7 {\n padding-top: calc(var(--spacing) * 7);\n }\n .pr-3 {\n padding-right: calc(var(--spacing) * 3);\n }\n .pr-4 {\n padding-right: calc(var(--spacing) * 4);\n }\n .pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\n }\n .pb-3 {\n padding-bottom: calc(var(--spacing) * 3);\n }\n .pb-4 {\n padding-bottom: calc(var(--spacing) * 4);\n }\n .pl-3 {\n padding-left: calc(var(--spacing) * 3);\n }\n .pl-4 {\n padding-left: calc(var(--spacing) * 4);\n }\n .pl-10 {\n padding-left: calc(var(--spacing) * 10);\n }\n .text-center {\n text-align: center;\n }\n .text-right {\n text-align: right;\n }\n .text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .text-error {\n color: var(--color-error);\n }\n .text-error-foreground {\n color: var(--color-error-foreground);\n }\n .text-muted {\n color: var(--color-muted);\n }\n .text-muted-foreground {\n color: var(--color-muted-foreground);\n }\n .text-primary-foreground {\n color: var(--color-primary-foreground);\n }\n .text-red-500 {\n color: var(--color-red-500);\n }\n .text-red-700 {\n color: var(--color-red-700);\n }\n .text-secondary {\n color: var(--color-secondary);\n }\n .text-success {\n color: var(--color-success);\n }\n .text-text-muted {\n color: var(--color-text-muted);\n }\n .text-text-secondary {\n color: var(--color-text-secondary);\n }\n .text-white {\n color: var(--color-white);\n }\n .accent-tertiary {\n accent-color: var(--color-tertiary);\n }\n .opacity-0 {\n opacity: 0%;\n }\n .opacity-100 {\n opacity: 100%;\n }\n .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .duration-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n .hover\\:bg-hover {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-hover);\n }\n }\n }\n .hover\\:bg-muted {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-muted);\n }\n }\n }\n .hover\\:bg-overlay {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-overlay);\n }\n }\n }\n .hover\\:bg-secondary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, hsl(28 100% 8%) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent);\n }\n }\n }\n }\n .hover\\:bg-surface-hover {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-surface-hover);\n }\n }\n }\n .hover\\:bg-tertiary {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-tertiary);\n }\n }\n }\n .hover\\:bg-tertiary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, hsl(28 100% 29%) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-tertiary) 80%, transparent);\n }\n }\n }\n }\n .hover\\:bg-text-secondary {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-text-secondary);\n }\n }\n }\n .focus\\:border-2 {\n &:focus {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n }\n .focus\\:border-secondary {\n &:focus {\n border-color: var(--color-secondary);\n }\n }\n .focus\\:border-transparent {\n &:focus {\n border-color: transparent;\n }\n }\n .focus\\:ring-2 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus\\:ring-secondary {\n &:focus {\n --tw-ring-color: var(--color-secondary);\n }\n }\n .focus\\:ring-tertiary {\n &:focus {\n --tw-ring-color: var(--color-tertiary);\n }\n }\n .focus\\:ring-offset-0 {\n &:focus {\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus\\:outline-none {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .sm\\:mt-0 {\n @media (width >= 40rem) {\n margin-top: calc(var(--spacing) * 0);\n }\n }\n .sm\\:flex-3 {\n @media (width >= 40rem) {\n flex: 3;\n }\n }\n .sm\\:flex-row {\n @media (width >= 40rem) {\n flex-direction: row;\n }\n }\n .sm\\:items-center {\n @media (width >= 40rem) {\n align-items: center;\n }\n }\n .sm\\:gap-4 {\n @media (width >= 40rem) {\n gap: calc(var(--spacing) * 4);\n }\n }\n .md\\:grid-cols-2 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .md\\:pl-2 {\n @media (width >= 48rem) {\n padding-left: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&\\:\\:-webkit-slider-runnable-track\\]\\:rounded-full {\n &::-webkit-slider-runnable-track {\n border-radius: calc(infinity * 1px);\n }\n }\n .\\[\\&\\:\\:-webkit-slider-runnable-track\\]\\:bg-black\\/25 {\n &::-webkit-slider-runnable-track {\n background-color: color-mix(in srgb, #000 25%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 25%, transparent);\n }\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:h-\\[10px\\] {\n &::-webkit-slider-thumb {\n height: 10px;\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:w-\\[10px\\] {\n &::-webkit-slider-thumb {\n width: 10px;\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:appearance-none {\n &::-webkit-slider-thumb {\n appearance: none;\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:rounded-full {\n &::-webkit-slider-thumb {\n border-radius: calc(infinity * 1px);\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:bg-muted {\n &::-webkit-slider-thumb {\n background-color: var(--color-muted);\n }\n }\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-scale-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-space-y-reverse: 0;\n --tw-border-style: solid;\n --tw-font-weight: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n","import { Component, Event, EventEmitter, h, Prop, State } from \"@stencil/core\";\r\nimport { Settings, state } from \"../../store\";\r\nimport { getLanguageStrings } from \"../../utils/lang/general\";\r\nimport { Language } from \"../../types/lang\";\r\n\r\n@Component({\r\n tag: \"settings-modal\",\r\n styleUrl: \"../../output.css\",\r\n shadow: false,\r\n})\r\nexport class SettingsModal {\r\n @Prop()\r\n settings: Settings;\r\n\r\n @State()\r\n private tempSettings: Settings;\r\n\r\n @Event()\r\n close: EventEmitter<void>;\r\n\r\n @Event()\r\n save: EventEmitter<Settings>;\r\n\r\n componentWillLoad() {\r\n this.tempSettings = { ...this.settings };\r\n }\r\n\r\n private handleClose = () => {\r\n if (\r\n JSON.stringify(this.tempSettings) !== JSON.stringify(this.settings)\r\n ) {\r\n if (\r\n confirm(\r\n \"Are you sure you want to close without saving your changes?\",\r\n )\r\n ) {\r\n this.close.emit();\r\n }\r\n } else {\r\n this.close.emit();\r\n }\r\n };\r\n\r\n private handleSave = () => {\r\n this.save.emit(this.tempSettings);\r\n this.close.emit();\r\n };\r\n\r\n private handleInputChange = (\r\n key: keyof Settings,\r\n value: number | Language,\r\n ) => {\r\n this.tempSettings = {\r\n ...this.tempSettings,\r\n [key]: value,\r\n };\r\n };\r\n\r\n render() {\r\n const t = getLanguageStrings(state.settings.language);\r\n return (\r\n <div class=\"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50\">\r\n <div class=\"bg-primary rounded-4xl p-6 w-full max-w-md\">\r\n <div class=\"flex justify-between items-center mb-6\">\r\n <h2 class=\"text-xl font-semibold\">Settings</h2>\r\n <button\r\n class=\"p-2 hover:bg-hover rounded-full transition-colors\"\r\n onClick={this.handleClose}\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"24\"\r\n height=\"24\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n >\r\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\r\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n <div class=\"space-y-4\">\r\n <div>\r\n <h3 class=\"text-sm font-medium text-text-muted mb-1\">\r\n Debug Information\r\n </h3>\r\n <p class=\"text-sm text-text-muted mb-1\">\r\n state: {JSON.stringify(state, null, 2)}\r\n </p>\r\n <p class=\"text-sm text-text-muted mb-1\">\r\n {navigator.userAgent}\r\n </p>\r\n <p class=\"text-sm text-text-muted mb-1\">\r\n {navigator.userAgent.indexOf(\"Safari\")}\r\n </p>\r\n <p class=\"text-sm text-text-muted mb-1\">\r\n maxTouchPoints: {navigator.maxTouchPoints}\r\n </p>\r\n <p class=\"text-sm text-text-muted mb-1\">\r\n iPhone: {navigator.userAgent.indexOf(\"iPhone\")}\r\n </p>\r\n <p class=\"text-sm text-text-muted mb-1\">\r\n Mac OS: {navigator.userAgent.indexOf(\"Mac OS\")}\r\n </p>\r\n </div>\r\n <div>\r\n <label class=\"block text-sm font-medium text-text-muted mb-1\">\r\n {t.settings.language}\r\n </label>\r\n <select\r\n class=\"w-full bg-muted rounded-4xl p-2\"\r\n onInput={(e) =>\r\n this.handleInputChange(\r\n \"language\",\r\n (e.target as HTMLSelectElement)\r\n .value as Language,\r\n )}\r\n >\r\n <option\r\n value=\"en\"\r\n selected={this.tempSettings.language ===\r\n \"en\"}\r\n >\r\n English\r\n </option>\r\n <option\r\n value=\"es\"\r\n selected={this.tempSettings.language ===\r\n \"es\"}\r\n >\r\n Español\r\n </option>\r\n <option\r\n value=\"de\"\r\n selected={this.tempSettings.language ===\r\n \"de\"}\r\n >\r\n Deutsch\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div>\r\n <label class=\"block text-sm font-medium text-text-muted mb-1\">\r\n {t.settings.rowSpacing}\r\n </label>\r\n <input\r\n type=\"number\"\r\n class=\"w-full bg-muted rounded-4xl p-2\"\r\n value={this.tempSettings.rowSpacing}\r\n onInput={(e) =>\r\n this.handleInputChange(\r\n \"rowSpacing\",\r\n parseFloat(\r\n (e.target as HTMLInputElement)\r\n .value,\r\n ),\r\n )}\r\n />\r\n </div>\r\n\r\n <div>\r\n <label class=\"block text-sm font-medium text-text-muted mb-1\">\r\n {t.settings.columnSpacing}\r\n </label>\r\n <input\r\n type=\"number\"\r\n class=\"w-full bg-muted rounded-4xl p-2\"\r\n value={this.tempSettings.columnSpacing}\r\n onInput={(e) =>\r\n this.handleInputChange(\r\n \"columnSpacing\",\r\n parseFloat(\r\n (e.target as HTMLInputElement)\r\n .value,\r\n ),\r\n )}\r\n />\r\n </div>\r\n\r\n <div>\r\n <label class=\"block text-sm font-medium text-text-muted mb-1\">\r\n {t.settings.borderInset}\r\n </label>\r\n <input\r\n type=\"number\"\r\n class=\"w-full bg-muted rounded-4xl p-2\"\r\n value={this.tempSettings.borderInset}\r\n onInput={(e) =>\r\n this.handleInputChange(\r\n \"borderInset\",\r\n parseFloat(\r\n (e.target as HTMLInputElement)\r\n .value,\r\n ),\r\n )}\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex justify-end gap-4 mt-6\">\r\n <button\r\n class=\"px-4 py-2 bg-surface rounded-4xl hover:bg-surface-hover transition-colors\"\r\n onClick={this.handleClose}\r\n >\r\n Cancel\r\n </button>\r\n <button\r\n class=\"px-4 py-2 bg-secondary text-muted rounded-4xl hover:bg-text-secondary transition-colors\"\r\n onClick={this.handleSave}\r\n >\r\n Save Changes\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"solar-expert.entry.esm.js","sources":["src/utils/theme.ts","src/output.css?tag=solar-expert","src/components/solar-expert/solar-expert.tsx"],"sourcesContent":["import { ColorScheme } from \"../config\";\r\n\r\n/**\r\n * Applies a color scheme theme globally to the document root.\r\n * Since all components use global CSS (shadow: false), this will automatically \r\n * update the theme for all components.\r\n * \r\n * @param colorScheme - The color scheme object containing theme colors\r\n */\r\nexport function applyThemeGlobally(colorScheme: Partial<ColorScheme>): void {\r\n applyThemeToElement(document.documentElement, colorScheme);\r\n}\r\n\r\n/**\r\n * Applies a color scheme theme to a specific element (useful for Shadow DOM).\r\n * \r\n * @param element - The element to apply the theme to (e.g., Shadow DOM host)\r\n * @param colorScheme - The color scheme object containing theme colors\r\n */\r\nexport function applyThemeToElement(element: HTMLElement, colorScheme: Partial<ColorScheme>): void {\r\n // Set CSS custom properties on the specified element\r\n if (colorScheme.primary) {\r\n element.style.setProperty('--color-primary', colorScheme.primary);\r\n }\r\n if (colorScheme.primaryForeground) {\r\n element.style.setProperty('--color-primary-foreground', colorScheme.primaryForeground);\r\n }\r\n if (colorScheme.secondary) {\r\n element.style.setProperty('--color-secondary', colorScheme.secondary);\r\n }\r\n if (colorScheme.secondaryForeground) {\r\n element.style.setProperty('--color-secondary-foreground', colorScheme.secondaryForeground);\r\n }\r\n if (colorScheme.tertiary) {\r\n element.style.setProperty('--color-tertiary', colorScheme.tertiary);\r\n }\r\n if (colorScheme.tertiaryForeground) {\r\n element.style.setProperty('--color-tertiary-foreground', colorScheme.tertiaryForeground);\r\n }\r\n if (colorScheme.muted) {\r\n element.style.setProperty('--color-muted', colorScheme.muted);\r\n }\r\n if (colorScheme.mutedForeground) { \r\n element.style.setProperty('--color-muted-foreground', colorScheme.mutedForeground);\r\n }\r\n if (colorScheme.error) {\r\n element.style.setProperty('--color-error', colorScheme.error);\r\n }\r\n if (colorScheme.errorForeground) {\r\n element.style.setProperty('--color-error-foreground', colorScheme.errorForeground);\r\n }\r\n \r\n // Surface colors\r\n if (colorScheme.surface) {\r\n element.style.setProperty('--color-surface', colorScheme.surface);\r\n }\r\n if (colorScheme.surfaceHover) {\r\n element.style.setProperty('--color-surface-hover', colorScheme.surfaceHover);\r\n }\r\n if (colorScheme.surfaceActive) {\r\n element.style.setProperty('--color-surface-active', colorScheme.surfaceActive);\r\n }\r\n \r\n // Text colors\r\n if (colorScheme.textMuted) {\r\n element.style.setProperty('--color-text-muted', colorScheme.textMuted);\r\n }\r\n if (colorScheme.textSecondary) {\r\n element.style.setProperty('--color-text-secondary', colorScheme.textSecondary);\r\n }\r\n if (colorScheme.textPlaceholder) {\r\n element.style.setProperty('--color-text-placeholder', colorScheme.textPlaceholder);\r\n }\r\n \r\n // Border colors\r\n if (colorScheme.border) {\r\n element.style.setProperty('--color-border', colorScheme.border);\r\n }\r\n if (colorScheme.borderLight) {\r\n element.style.setProperty('--color-border-light', colorScheme.borderLight);\r\n }\r\n \r\n // Status colors\r\n if (colorScheme.success) {\r\n element.style.setProperty('--color-success', colorScheme.success);\r\n }\r\n if (colorScheme.info) {\r\n element.style.setProperty('--color-info', colorScheme.info);\r\n }\r\n \r\n // Interactive colors\r\n if (colorScheme.hover) {\r\n element.style.setProperty('--color-hover', colorScheme.hover);\r\n }\r\n if (colorScheme.hoverDark) {\r\n element.style.setProperty('--color-hover-dark', colorScheme.hoverDark);\r\n }\r\n if (colorScheme.overlay) {\r\n element.style.setProperty('--color-overlay', colorScheme.overlay);\r\n }\r\n if (colorScheme.tooltip) {\r\n element.style.setProperty('--color-tooltip', colorScheme.tooltip);\r\n }\r\n}","/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-red-100: oklch(93.6% 0.032 17.717);\n --color-red-300: oklch(80.8% 0.114 19.571);\n --color-red-500: oklch(63.7% 0.237 25.331);\n --color-red-700: oklch(50.5% 0.213 27.518);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --container-md: 28rem;\n --container-2xl: 42rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --radius-lg: 0.5rem;\n --radius-4xl: 2rem;\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --animate-spin: spin 1s linear infinite;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --color-primary: hsl(41 51% 90%);\n --color-primary-foreground: hsl(0 0% 0%);\n --color-secondary: hsl(28 100% 8%);\n --color-secondary-foreground: hsl(0 0% 100%);\n --color-tertiary: hsl(28 100% 29%);\n --color-tertiary-foreground: hsl(0 0% 100%);\n --color-muted: hsl(0 0% 100%);\n --color-muted-foreground: hsl(0 0% 0%);\n --color-error: hsl(0 100% 50%);\n --color-error-foreground: hsl(0 0% 100%);\n --color-surface: hsl(0 0% 88%);\n --color-surface-hover: hsl(0 0% 82%);\n --color-surface-active: hsl(0 0% 64%);\n --color-text-muted: hsl(0 0% 45%);\n --color-text-secondary: hsl(0 0% 55%);\n --color-text-placeholder: hsl(0 0% 73%);\n --color-border: hsl(0 0% 82%);\n --color-border-light: hsl(0 0% 93%);\n --color-success: hsl(142 76% 36%);\n --color-info: hsl(221 83% 53%);\n --color-hover: hsl(0 0% 88%);\n --color-hover-dark: hsl(28 100% 8%);\n --color-overlay: rgba(0, 0, 0, 0.24);\n --color-tooltip: hsl(0 0% 13%);\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .pointer-events-none {\n pointer-events: none;\n }\n .absolute {\n position: absolute;\n }\n .fixed {\n position: fixed;\n }\n .relative {\n position: relative;\n }\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .bottom-4 {\n bottom: calc(var(--spacing) * 4);\n }\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .left-1\\/2 {\n left: calc(1/2 * 100%);\n }\n .left-3 {\n left: calc(var(--spacing) * 3);\n }\n .z-10 {\n z-index: 10;\n }\n .z-20 {\n z-index: 20;\n }\n .z-50 {\n z-index: 50;\n }\n .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .m-auto {\n margin: auto;\n }\n .mt-1 {\n margin-top: calc(var(--spacing) * 1);\n }\n .mt-4 {\n margin-top: calc(var(--spacing) * 4);\n }\n .mt-6 {\n margin-top: calc(var(--spacing) * 6);\n }\n .mb-1 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n .mb-6 {\n margin-bottom: calc(var(--spacing) * 6);\n }\n .block {\n display: block;\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .inline {\n display: inline;\n }\n .inline-block {\n display: inline-block;\n }\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n .h-48 {\n height: calc(var(--spacing) * 48);\n }\n .h-64 {\n height: calc(var(--spacing) * 64);\n }\n .h-\\[400px\\] {\n height: 400px;\n }\n .h-full {\n height: 100%;\n }\n .max-h-full {\n max-height: 100%;\n }\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .w-16 {\n width: calc(var(--spacing) * 16);\n }\n .w-20 {\n width: calc(var(--spacing) * 20);\n }\n .w-64 {\n width: calc(var(--spacing) * 64);\n }\n .w-full {\n width: 100%;\n }\n .max-w-2xl {\n max-width: var(--container-2xl);\n }\n .max-w-md {\n max-width: var(--container-md);\n }\n .flex-1 {\n flex: 1;\n }\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-0 {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-2 {\n --tw-translate-y: calc(var(--spacing) * 2);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .scale-95 {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .scale-100 {\n --tw-scale-x: 100%;\n --tw-scale-y: 100%;\n --tw-scale-z: 100%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .cursor-not-allowed {\n cursor: not-allowed;\n }\n .resize {\n resize: both;\n }\n .appearance-none {\n appearance: none;\n }\n .grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-center {\n align-items: center;\n }\n .items-start {\n align-items: flex-start;\n }\n .items-stretch {\n align-items: stretch;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .justify-start {\n justify-content: flex-start;\n }\n .gap-0 {\n gap: calc(var(--spacing) * 0);\n }\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .space-y-3 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-6 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .rounded {\n border-radius: 0.25rem;\n }\n .rounded-4xl {\n border-radius: var(--radius-4xl);\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n .border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .border-b-2 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 2px;\n }\n .border-border {\n border-color: var(--color-border);\n }\n .border-current {\n border-color: currentcolor;\n }\n .border-error\\/20 {\n border-color: color-mix(in srgb, hsl(0 100% 50%) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-error) 20%, transparent);\n }\n }\n .border-info\\/20 {\n border-color: color-mix(in srgb, hsl(221 83% 53%) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-info) 20%, transparent);\n }\n }\n .border-red-300 {\n border-color: var(--color-red-300);\n }\n .border-secondary {\n border-color: var(--color-secondary);\n }\n .border-success\\/20 {\n border-color: color-mix(in srgb, hsl(142 76% 36%) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-success) 20%, transparent);\n }\n }\n .border-t-transparent {\n border-top-color: transparent;\n }\n .bg-black {\n background-color: var(--color-black);\n }\n .bg-error\\/10 {\n background-color: color-mix(in srgb, hsl(0 100% 50%) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-error) 10%, transparent);\n }\n }\n .bg-error\\/90 {\n background-color: color-mix(in srgb, hsl(0 100% 50%) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-error) 90%, transparent);\n }\n }\n .bg-info\\/90 {\n background-color: color-mix(in srgb, hsl(221 83% 53%) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-info) 90%, transparent);\n }\n }\n .bg-muted {\n background-color: var(--color-muted);\n }\n .bg-overlay {\n background-color: var(--color-overlay);\n }\n .bg-primary {\n background-color: var(--color-primary);\n }\n .bg-red-100 {\n background-color: var(--color-red-100);\n }\n .bg-secondary {\n background-color: var(--color-secondary);\n }\n .bg-success\\/10 {\n background-color: color-mix(in srgb, hsl(142 76% 36%) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-success) 10%, transparent);\n }\n }\n .bg-success\\/90 {\n background-color: color-mix(in srgb, hsl(142 76% 36%) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-success) 90%, transparent);\n }\n }\n .bg-surface {\n background-color: var(--color-surface);\n }\n .bg-tertiary {\n background-color: var(--color-tertiary);\n }\n .bg-transparent {\n background-color: transparent;\n }\n .object-contain {\n object-fit: contain;\n }\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .px-6 {\n padding-inline: calc(var(--spacing) * 6);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n .pt-3 {\n padding-top: calc(var(--spacing) * 3);\n }\n .pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n .pt-7 {\n padding-top: calc(var(--spacing) * 7);\n }\n .pr-3 {\n padding-right: calc(var(--spacing) * 3);\n }\n .pr-4 {\n padding-right: calc(var(--spacing) * 4);\n }\n .pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\n }\n .pb-3 {\n padding-bottom: calc(var(--spacing) * 3);\n }\n .pb-4 {\n padding-bottom: calc(var(--spacing) * 4);\n }\n .pl-3 {\n padding-left: calc(var(--spacing) * 3);\n }\n .pl-4 {\n padding-left: calc(var(--spacing) * 4);\n }\n .pl-10 {\n padding-left: calc(var(--spacing) * 10);\n }\n .text-center {\n text-align: center;\n }\n .text-right {\n text-align: right;\n }\n .text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .text-error {\n color: var(--color-error);\n }\n .text-error-foreground {\n color: var(--color-error-foreground);\n }\n .text-muted {\n color: var(--color-muted);\n }\n .text-muted-foreground {\n color: var(--color-muted-foreground);\n }\n .text-primary-foreground {\n color: var(--color-primary-foreground);\n }\n .text-red-500 {\n color: var(--color-red-500);\n }\n .text-red-700 {\n color: var(--color-red-700);\n }\n .text-secondary {\n color: var(--color-secondary);\n }\n .text-success {\n color: var(--color-success);\n }\n .text-text-muted {\n color: var(--color-text-muted);\n }\n .text-text-secondary {\n color: var(--color-text-secondary);\n }\n .text-white {\n color: var(--color-white);\n }\n .accent-tertiary {\n accent-color: var(--color-tertiary);\n }\n .opacity-0 {\n opacity: 0%;\n }\n .opacity-100 {\n opacity: 100%;\n }\n .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .duration-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n .hover\\:bg-hover {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-hover);\n }\n }\n }\n .hover\\:bg-muted {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-muted);\n }\n }\n }\n .hover\\:bg-overlay {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-overlay);\n }\n }\n }\n .hover\\:bg-secondary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, hsl(28 100% 8%) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent);\n }\n }\n }\n }\n .hover\\:bg-surface-hover {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-surface-hover);\n }\n }\n }\n .hover\\:bg-tertiary {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-tertiary);\n }\n }\n }\n .hover\\:bg-tertiary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, hsl(28 100% 29%) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-tertiary) 80%, transparent);\n }\n }\n }\n }\n .hover\\:bg-text-secondary {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-text-secondary);\n }\n }\n }\n .focus\\:border-2 {\n &:focus {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n }\n .focus\\:border-secondary {\n &:focus {\n border-color: var(--color-secondary);\n }\n }\n .focus\\:border-transparent {\n &:focus {\n border-color: transparent;\n }\n }\n .focus\\:ring-2 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus\\:ring-secondary {\n &:focus {\n --tw-ring-color: var(--color-secondary);\n }\n }\n .focus\\:ring-tertiary {\n &:focus {\n --tw-ring-color: var(--color-tertiary);\n }\n }\n .focus\\:ring-offset-0 {\n &:focus {\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus\\:outline-none {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .sm\\:mt-0 {\n @media (width >= 40rem) {\n margin-top: calc(var(--spacing) * 0);\n }\n }\n .sm\\:flex-3 {\n @media (width >= 40rem) {\n flex: 3;\n }\n }\n .sm\\:flex-row {\n @media (width >= 40rem) {\n flex-direction: row;\n }\n }\n .sm\\:items-center {\n @media (width >= 40rem) {\n align-items: center;\n }\n }\n .sm\\:gap-4 {\n @media (width >= 40rem) {\n gap: calc(var(--spacing) * 4);\n }\n }\n .md\\:grid-cols-2 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .md\\:pl-2 {\n @media (width >= 48rem) {\n padding-left: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&\\:\\:-webkit-slider-runnable-track\\]\\:rounded-full {\n &::-webkit-slider-runnable-track {\n border-radius: calc(infinity * 1px);\n }\n }\n .\\[\\&\\:\\:-webkit-slider-runnable-track\\]\\:bg-black\\/25 {\n &::-webkit-slider-runnable-track {\n background-color: color-mix(in srgb, #000 25%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 25%, transparent);\n }\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:h-\\[10px\\] {\n &::-webkit-slider-thumb {\n height: 10px;\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:w-\\[10px\\] {\n &::-webkit-slider-thumb {\n width: 10px;\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:appearance-none {\n &::-webkit-slider-thumb {\n appearance: none;\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:rounded-full {\n &::-webkit-slider-thumb {\n border-radius: calc(infinity * 1px);\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:bg-muted {\n &::-webkit-slider-thumb {\n background-color: var(--color-muted);\n }\n }\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-scale-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-space-y-reverse: 0;\n --tw-border-style: solid;\n --tw-font-weight: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n","import { Component, Element, Env, h, Prop, State, Watch } from \"@stencil/core\";\r\nimport { Loader } from \"@googlemaps/js-api-loader\";\r\nimport { Language } from \"../../types/lang\";\r\nimport { getLanguageStrings } from \"../../utils/lang/general\";\r\nimport { onChange, state } from \"../../store\";\r\nimport { ColorScheme, DEFAULT_COLOR_SCHEME } from \"../../config\";\r\nimport { applyThemeGlobally, applyThemeToElement } from \"../../utils/theme\";\r\n\r\n@Component({\r\n tag: \"solar-expert\",\r\n shadow: false,\r\n styleUrl: \"../../output.css\",\r\n assetsDirs: [\"assets\"],\r\n})\r\nexport class SolarExpert {\r\n @Element()\r\n el!: HTMLElement;\r\n\r\n @Prop()\r\n apiKey: string = Env.GOOGLE_MAPS_API_KEY;\r\n @Prop()\r\n language: Language = \"en\";\r\n @Prop()\r\n colorScheme: Partial<ColorScheme> | null = null;\r\n // {\r\n // primary: \"hsl(0 0% 100%)\",\r\n // secondary: \"hsl(0 0% 100%)\",\r\n // tertiary: \"hsl(0 0% 100%)\",\r\n // muted: \"hsl(0 0% 100%)\",\r\n // error: \"hsl(0 0% 100%)\",\r\n // // secondary: \"hsl(180 100% 25%)\",\r\n // // tertiary: \"hsl(24 100% 18%)\",\r\n // // muted: \"hsl(0 0% 85%)\",\r\n // // error: \"hsl(240 75% 29%)\",\r\n // primaryForeground: \"hsl(0 0% 100%)\",\r\n // secondaryForeground: \"hsl(0 0% 100%)\",\r\n // tertiaryForeground: \"hsl(0 0% 100%)\",\r\n // mutedForeground: \"hsl(0 0% 100%)\",\r\n // errorForeground: \"hsl(0 0% 100%)\",\r\n // surface: \"hsl(0 0% 100%)\",\r\n // surfaceHover: \"hsl(0 0% 100%)\",\r\n // surfaceActive: \"hsl(0 0% 100%)\",\r\n // // Text colors\r\n // textMuted: \"hsl(0 0% 100%)\",\r\n // textSecondary: \"hsl(0 0% 100%)\",\r\n // textPlaceholder: \"hsl(0 0% 100%)\",\r\n // // Border colors\r\n // border: \"hsl(0 0% 100%)\",\r\n // borderLight: \"hsl(0 0% 100%)\",\r\n // // Status colors\r\n // success: \"hsl(0 0% 100%)\",\r\n // info: \"hsl(0 0% 100%)\",\r\n // // Interactive colors\r\n // hover: \"hsl(0 0% 100%)\",\r\n // hoverDark: \"hsl(0 0% 100%)\",\r\n // overlay: \"hsl(0 0% 100%)\",\r\n // tooltip: \"hsl(0 0% 100%)\",\r\n // };\r\n\r\n @State()\r\n latitude: number | null = 40.581614;\r\n @State()\r\n longitude: number | null = -4.128423;\r\n @State()\r\n isLoaded: boolean = false;\r\n @State()\r\n autocomplete: google.maps.places.Autocomplete | null = null;\r\n @State()\r\n place: google.maps.places.PlaceResult | null = null;\r\n @State()\r\n showMapSelector: boolean = false;\r\n\r\n private inputElement?: HTMLInputElement;\r\n\r\n componentWillLoad() {\r\n state.isMobile =\r\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i\r\n .test(navigator.userAgent) || window.innerWidth < 768;\r\n this.loadGoogleMapsScript();\r\n onChange(\"latitude\", () => {\r\n if (this.showMapSelector) {\r\n this.showMapSelector = false;\r\n this.scrollToMapDraw();\r\n }\r\n });\r\n state.settings.language = this.language;\r\n\r\n const isIPhone = navigator.userAgent.indexOf(\"iPhone\") != -1;\r\n const isMac = navigator.userAgent.indexOf(\"Mac OS\") != -1;\r\n\r\n state.isIOS = isIPhone || isMac;\r\n if (!this.colorScheme) {\r\n applyThemeToElement(this.el, DEFAULT_COLOR_SCHEME);\r\n applyThemeGlobally(DEFAULT_COLOR_SCHEME);\r\n }\r\n this.applyTheme();\r\n }\r\n\r\n @Watch(\"colorScheme\")\r\n colorSchemeChanged() {\r\n this.applyTheme();\r\n }\r\n\r\n private applyTheme() {\r\n if (this.colorScheme) {\r\n // Apply theme globally for non-shadow components\r\n applyThemeGlobally(this.colorScheme);\r\n // Apply theme to this component's Shadow DOM host element\r\n applyThemeToElement(this.el, this.colorScheme);\r\n }\r\n }\r\n\r\n private async loadGoogleMapsScript() {\r\n try {\r\n const loader = new Loader({\r\n apiKey: this.apiKey,\r\n libraries: [\"places\", \"maps\", \"marker\"],\r\n });\r\n\r\n const places = await loader.importLibrary(\"places\");\r\n this.isLoaded = true;\r\n this.initializeAutocomplete(places);\r\n } catch (error) {\r\n console.error(\"Error loading Google Maps: \", error);\r\n }\r\n }\r\n\r\n private initializeAutocomplete(\r\n places: google.maps.PlacesLibrary,\r\n ) {\r\n if (!this.inputElement || !this.isLoaded) return;\r\n this.autocomplete = new places.Autocomplete(this.inputElement);\r\n\r\n this.autocomplete.addListener(\"place_changed\", () => {\r\n state.latitude = null;\r\n state.longitude = null;\r\n const place = this.autocomplete?.getPlace();\r\n this.latitude = place?.geometry?.location?.lat() ?? 0;\r\n this.longitude = place?.geometry?.location?.lng() ?? 0;\r\n state.latitude = this.latitude;\r\n state.longitude = this.longitude;\r\n state.location = place?.name ?? null;\r\n\r\n this.scrollToMapDraw();\r\n });\r\n }\r\n\r\n private scrollToMapDraw() {\r\n const mapDrawElement = this.el.querySelector(\"map-draw\");\r\n if (mapDrawElement) {\r\n mapDrawElement.scrollIntoView({ behavior: \"smooth\" });\r\n }\r\n }\r\n\r\n private handleChooseOnMap() {\r\n this.showMapSelector = true;\r\n }\r\n\r\n render() {\r\n const t = getLanguageStrings(this.language);\r\n return (\r\n <div\r\n class=\"flex flex-col w-full h-full p-3 m-auto\"\r\n id=\"solar-calculator\"\r\n >\r\n {this.showMapSelector\r\n ? (\r\n <map-selector\r\n api-key={this.apiKey}\r\n language={this.language}\r\n />\r\n )\r\n : (\r\n <>\r\n <div class=\"pb-2 flex flex-col sm:flex-row gap-2 sm:gap-4 items-stretch w-full\">\r\n <div class=\"relative flex-1 sm:flex-3\">\r\n <div class=\"absolute left-3 top-0 h-full flex items-center text-muted-foreground pointer-events-none\">\r\n <search-icon />\r\n </div>\r\n <input\r\n ref={(el) => this.inputElement = el}\r\n type=\"text\"\r\n placeholder={t.solarExpert\r\n .searchPlaceholder}\r\n class=\"w-full pl-10 pr-4 py-2 border border-border rounded-4xl focus:ring-secondary bg-muted text-muted-foreground h-full\"\r\n />\r\n </div>\r\n <button\r\n onClick={() => this.handleChooseOnMap()}\r\n class=\"flex-1 pl-4 pr-4 py-2 border border-border bg-muted rounded-4xl focus:ring-secondary hover:bg-surface-hover\"\r\n >\r\n {t.mapSelector.chooseOnMap}\r\n </button>\r\n </div>\r\n {(state.latitude === null ||\r\n state.longitude === null) && (\r\n <div class=\"w-full pb-2\">\r\n <p class=\"text-text-muted text-center flex items-center justify-center rounded-4xl px-4 py-2 w-full\">\r\n {t.mapDraw.noAddressSelected}\r\n </p>\r\n </div>\r\n )}\r\n <map-draw\r\n apiKey={this.apiKey}\r\n />\r\n </>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"solar-system-form.entry.esm.js","sources":["src/utils/api.ts","src/output.css?tag=solar-system-form","src/components/solar-system-form/solar-system-form.tsx"],"sourcesContent":["import { BuildingInsightsResponse } from \"harmonia-types\";\r\n\r\nexport async function fetchSolarData(\r\n latitude: number,\r\n longitude: number,\r\n apiKey: string,\r\n) {\r\n if (latitude === 0 || longitude === 0) {\r\n return null;\r\n }\r\n try {\r\n const args = {\r\n \"location.latitude\": latitude.toFixed(5),\r\n \"location.longitude\": longitude.toFixed(5),\r\n };\r\n const params = new URLSearchParams({\r\n ...args,\r\n key: apiKey,\r\n });\r\n const response = await fetch(\r\n `https://solar.googleapis.com/v1/buildingInsights:findClosest?${params}`,\r\n );\r\n\r\n if (!response.ok) {\r\n const errorText = await response.text();\r\n throw new Error(\r\n `HTTP error! status: ${response.status}, body: ${errorText}`,\r\n );\r\n }\r\n\r\n const contentType = response.headers.get(\"content-type\");\r\n if (!contentType || !contentType.includes(\"application/json\")) {\r\n const text = await response.text();\r\n console.error(\"Unexpected content type:\", contentType, \"Response:\", text);\r\n return null;\r\n }\r\n\r\n const rawData: BuildingInsightsResponse = await response.json();\r\n return rawData;\r\n } catch (error) {\r\n console.error(\"Error fetching solar data:\", error);\r\n if (\r\n error instanceof TypeError &&\r\n error.message === \"Failed to fetch\"\r\n ) {\r\n throw new Error(\"Unable to connect to the solar data API.\");\r\n }\r\n throw error;\r\n }\r\n}\r\n\r\nexport interface LeadData {\r\n location: {\r\n name: string;\r\n latitude: number;\r\n longitude: number;\r\n };\r\n systemConfig: {\r\n maxNumberOfPanels: number;\r\n panelPeakPower: number;\r\n polygons: any[];\r\n solarSystems: any;\r\n electricityPrice: number;\r\n compensationRate: number;\r\n annualPriceIncrease: number;\r\n };\r\n client: {\r\n name: string;\r\n email: string;\r\n phone: string;\r\n consumption: number;\r\n consumptionProfile: string;\r\n hasBattery: boolean;\r\n battery: number;\r\n hasHeatPump: boolean;\r\n heatPumpM2: number;\r\n hasElectricCar: boolean;\r\n electricCarChargingTime: string;\r\n electricCarKmPerYear: number;\r\n };\r\n images: {\r\n roof: string;\r\n polygon: string;\r\n };\r\n results: {\r\n autonomy: number;\r\n costSavings: number;\r\n compensation20Years: number;\r\n savedCosts20Years: number;\r\n totalEnergyConsumption: number;\r\n };\r\n}\r\n\r\nexport async function sendLeadToNexvoro(\r\n leadData: LeadData,\r\n): Promise<{ success: boolean; message: string; leadId?: string }> {\r\n try {\r\n const extradata = {\r\n leadtype: \"A-lead\",\r\n phase: \"10 Anbahnung\",\r\n title: `${leadData.client.name}/solarExpert`,\r\n extradata: leadData,\r\n };\r\n\r\n const formData = new FormData();\r\n formData.append(\"md\", \"81.87.84.81.84.\");\r\n formData.append(\"token\", \"estwtayazyrwtddwsstqatw\");\r\n formData.append(\"NewsletterID\", \"20404\");\r\n formData.append(\"type\", \"new\");\r\n formData.append(\"data\", \"lead\");\r\n formData.append(\"values\", JSON.stringify(extradata));\r\n\r\n // Build the URL\r\n const baseUrl = \"https://workspace.nexvoro.cloud/exchange/extevent\";\r\n const url = baseUrl;\r\n\r\n // Send the request with FormData to avoid CORS preflight\r\n const response = await fetch(url, {\r\n method: \"POST\",\r\n body: formData,\r\n // No custom headers to avoid preflight request\r\n });\r\n\r\n if (!response.ok) {\r\n const errorText = await response.text();\r\n console.error(\r\n \"Error sending lead to Nexvoro:\",\r\n response.status,\r\n errorText,\r\n );\r\n throw new Error(\r\n `HTTP error! status: ${response.status}, body: ${errorText}`,\r\n );\r\n }\r\n\r\n const result = await response.text();\r\n console.log(\"result\", result);\r\n\r\n // Check if the response contains a lead ID (successful creation)\r\n if (result.includes(\"ERROR\")) {\r\n return {\r\n success: false,\r\n message: \"Lead not created\",\r\n leadId: result,\r\n };\r\n } else {\r\n return {\r\n success: true,\r\n message: \"Lead submitted successfully\",\r\n leadId: undefined,\r\n };\r\n }\r\n } catch (error) {\r\n console.error(\"Error sending lead to Nexvoro:\", error);\r\n return {\r\n success: false,\r\n message: error instanceof Error\r\n ? error.message\r\n : \"Unknown error occurred\",\r\n };\r\n }\r\n}\r\n","/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-red-100: oklch(93.6% 0.032 17.717);\n --color-red-300: oklch(80.8% 0.114 19.571);\n --color-red-500: oklch(63.7% 0.237 25.331);\n --color-red-700: oklch(50.5% 0.213 27.518);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --container-md: 28rem;\n --container-2xl: 42rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --radius-lg: 0.5rem;\n --radius-4xl: 2rem;\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --animate-spin: spin 1s linear infinite;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --color-primary: hsl(41 51% 90%);\n --color-primary-foreground: hsl(0 0% 0%);\n --color-secondary: hsl(28 100% 8%);\n --color-secondary-foreground: hsl(0 0% 100%);\n --color-tertiary: hsl(28 100% 29%);\n --color-tertiary-foreground: hsl(0 0% 100%);\n --color-muted: hsl(0 0% 100%);\n --color-muted-foreground: hsl(0 0% 0%);\n --color-error: hsl(0 100% 50%);\n --color-error-foreground: hsl(0 0% 100%);\n --color-surface: hsl(0 0% 88%);\n --color-surface-hover: hsl(0 0% 82%);\n --color-surface-active: hsl(0 0% 64%);\n --color-text-muted: hsl(0 0% 45%);\n --color-text-secondary: hsl(0 0% 55%);\n --color-text-placeholder: hsl(0 0% 73%);\n --color-border: hsl(0 0% 82%);\n --color-border-light: hsl(0 0% 93%);\n --color-success: hsl(142 76% 36%);\n --color-info: hsl(221 83% 53%);\n --color-hover: hsl(0 0% 88%);\n --color-hover-dark: hsl(28 100% 8%);\n --color-overlay: rgba(0, 0, 0, 0.24);\n --color-tooltip: hsl(0 0% 13%);\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .pointer-events-none {\n pointer-events: none;\n }\n .absolute {\n position: absolute;\n }\n .fixed {\n position: fixed;\n }\n .relative {\n position: relative;\n }\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .bottom-4 {\n bottom: calc(var(--spacing) * 4);\n }\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .left-1\\/2 {\n left: calc(1/2 * 100%);\n }\n .left-3 {\n left: calc(var(--spacing) * 3);\n }\n .z-10 {\n z-index: 10;\n }\n .z-20 {\n z-index: 20;\n }\n .z-50 {\n z-index: 50;\n }\n .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .m-auto {\n margin: auto;\n }\n .mt-1 {\n margin-top: calc(var(--spacing) * 1);\n }\n .mt-4 {\n margin-top: calc(var(--spacing) * 4);\n }\n .mt-6 {\n margin-top: calc(var(--spacing) * 6);\n }\n .mb-1 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n .mb-6 {\n margin-bottom: calc(var(--spacing) * 6);\n }\n .block {\n display: block;\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .inline {\n display: inline;\n }\n .inline-block {\n display: inline-block;\n }\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n .h-48 {\n height: calc(var(--spacing) * 48);\n }\n .h-64 {\n height: calc(var(--spacing) * 64);\n }\n .h-\\[400px\\] {\n height: 400px;\n }\n .h-full {\n height: 100%;\n }\n .max-h-full {\n max-height: 100%;\n }\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .w-16 {\n width: calc(var(--spacing) * 16);\n }\n .w-20 {\n width: calc(var(--spacing) * 20);\n }\n .w-64 {\n width: calc(var(--spacing) * 64);\n }\n .w-full {\n width: 100%;\n }\n .max-w-2xl {\n max-width: var(--container-2xl);\n }\n .max-w-md {\n max-width: var(--container-md);\n }\n .flex-1 {\n flex: 1;\n }\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-0 {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-2 {\n --tw-translate-y: calc(var(--spacing) * 2);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .scale-95 {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .scale-100 {\n --tw-scale-x: 100%;\n --tw-scale-y: 100%;\n --tw-scale-z: 100%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .cursor-not-allowed {\n cursor: not-allowed;\n }\n .resize {\n resize: both;\n }\n .appearance-none {\n appearance: none;\n }\n .grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-center {\n align-items: center;\n }\n .items-start {\n align-items: flex-start;\n }\n .items-stretch {\n align-items: stretch;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .justify-start {\n justify-content: flex-start;\n }\n .gap-0 {\n gap: calc(var(--spacing) * 0);\n }\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .space-y-3 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-6 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .rounded {\n border-radius: 0.25rem;\n }\n .rounded-4xl {\n border-radius: var(--radius-4xl);\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n .border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .border-b-2 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 2px;\n }\n .border-border {\n border-color: var(--color-border);\n }\n .border-current {\n border-color: currentcolor;\n }\n .border-error\\/20 {\n border-color: color-mix(in srgb, hsl(0 100% 50%) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-error) 20%, transparent);\n }\n }\n .border-info\\/20 {\n border-color: color-mix(in srgb, hsl(221 83% 53%) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-info) 20%, transparent);\n }\n }\n .border-red-300 {\n border-color: var(--color-red-300);\n }\n .border-secondary {\n border-color: var(--color-secondary);\n }\n .border-success\\/20 {\n border-color: color-mix(in srgb, hsl(142 76% 36%) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-success) 20%, transparent);\n }\n }\n .border-t-transparent {\n border-top-color: transparent;\n }\n .bg-black {\n background-color: var(--color-black);\n }\n .bg-error\\/10 {\n background-color: color-mix(in srgb, hsl(0 100% 50%) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-error) 10%, transparent);\n }\n }\n .bg-error\\/90 {\n background-color: color-mix(in srgb, hsl(0 100% 50%) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-error) 90%, transparent);\n }\n }\n .bg-info\\/90 {\n background-color: color-mix(in srgb, hsl(221 83% 53%) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-info) 90%, transparent);\n }\n }\n .bg-muted {\n background-color: var(--color-muted);\n }\n .bg-overlay {\n background-color: var(--color-overlay);\n }\n .bg-primary {\n background-color: var(--color-primary);\n }\n .bg-red-100 {\n background-color: var(--color-red-100);\n }\n .bg-secondary {\n background-color: var(--color-secondary);\n }\n .bg-success\\/10 {\n background-color: color-mix(in srgb, hsl(142 76% 36%) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-success) 10%, transparent);\n }\n }\n .bg-success\\/90 {\n background-color: color-mix(in srgb, hsl(142 76% 36%) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-success) 90%, transparent);\n }\n }\n .bg-surface {\n background-color: var(--color-surface);\n }\n .bg-tertiary {\n background-color: var(--color-tertiary);\n }\n .bg-transparent {\n background-color: transparent;\n }\n .object-contain {\n object-fit: contain;\n }\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .px-6 {\n padding-inline: calc(var(--spacing) * 6);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n .pt-3 {\n padding-top: calc(var(--spacing) * 3);\n }\n .pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n .pt-7 {\n padding-top: calc(var(--spacing) * 7);\n }\n .pr-3 {\n padding-right: calc(var(--spacing) * 3);\n }\n .pr-4 {\n padding-right: calc(var(--spacing) * 4);\n }\n .pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\n }\n .pb-3 {\n padding-bottom: calc(var(--spacing) * 3);\n }\n .pb-4 {\n padding-bottom: calc(var(--spacing) * 4);\n }\n .pl-3 {\n padding-left: calc(var(--spacing) * 3);\n }\n .pl-4 {\n padding-left: calc(var(--spacing) * 4);\n }\n .pl-10 {\n padding-left: calc(var(--spacing) * 10);\n }\n .text-center {\n text-align: center;\n }\n .text-right {\n text-align: right;\n }\n .text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .text-error {\n color: var(--color-error);\n }\n .text-error-foreground {\n color: var(--color-error-foreground);\n }\n .text-muted {\n color: var(--color-muted);\n }\n .text-muted-foreground {\n color: var(--color-muted-foreground);\n }\n .text-primary-foreground {\n color: var(--color-primary-foreground);\n }\n .text-red-500 {\n color: var(--color-red-500);\n }\n .text-red-700 {\n color: var(--color-red-700);\n }\n .text-secondary {\n color: var(--color-secondary);\n }\n .text-success {\n color: var(--color-success);\n }\n .text-text-muted {\n color: var(--color-text-muted);\n }\n .text-text-secondary {\n color: var(--color-text-secondary);\n }\n .text-white {\n color: var(--color-white);\n }\n .accent-tertiary {\n accent-color: var(--color-tertiary);\n }\n .opacity-0 {\n opacity: 0%;\n }\n .opacity-100 {\n opacity: 100%;\n }\n .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .duration-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n .hover\\:bg-hover {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-hover);\n }\n }\n }\n .hover\\:bg-muted {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-muted);\n }\n }\n }\n .hover\\:bg-overlay {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-overlay);\n }\n }\n }\n .hover\\:bg-secondary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, hsl(28 100% 8%) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent);\n }\n }\n }\n }\n .hover\\:bg-surface-hover {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-surface-hover);\n }\n }\n }\n .hover\\:bg-tertiary {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-tertiary);\n }\n }\n }\n .hover\\:bg-tertiary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, hsl(28 100% 29%) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-tertiary) 80%, transparent);\n }\n }\n }\n }\n .hover\\:bg-text-secondary {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-text-secondary);\n }\n }\n }\n .focus\\:border-2 {\n &:focus {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n }\n .focus\\:border-secondary {\n &:focus {\n border-color: var(--color-secondary);\n }\n }\n .focus\\:border-transparent {\n &:focus {\n border-color: transparent;\n }\n }\n .focus\\:ring-2 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus\\:ring-secondary {\n &:focus {\n --tw-ring-color: var(--color-secondary);\n }\n }\n .focus\\:ring-tertiary {\n &:focus {\n --tw-ring-color: var(--color-tertiary);\n }\n }\n .focus\\:ring-offset-0 {\n &:focus {\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus\\:outline-none {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .sm\\:mt-0 {\n @media (width >= 40rem) {\n margin-top: calc(var(--spacing) * 0);\n }\n }\n .sm\\:flex-3 {\n @media (width >= 40rem) {\n flex: 3;\n }\n }\n .sm\\:flex-row {\n @media (width >= 40rem) {\n flex-direction: row;\n }\n }\n .sm\\:items-center {\n @media (width >= 40rem) {\n align-items: center;\n }\n }\n .sm\\:gap-4 {\n @media (width >= 40rem) {\n gap: calc(var(--spacing) * 4);\n }\n }\n .md\\:grid-cols-2 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .md\\:pl-2 {\n @media (width >= 48rem) {\n padding-left: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&\\:\\:-webkit-slider-runnable-track\\]\\:rounded-full {\n &::-webkit-slider-runnable-track {\n border-radius: calc(infinity * 1px);\n }\n }\n .\\[\\&\\:\\:-webkit-slider-runnable-track\\]\\:bg-black\\/25 {\n &::-webkit-slider-runnable-track {\n background-color: color-mix(in srgb, #000 25%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 25%, transparent);\n }\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:h-\\[10px\\] {\n &::-webkit-slider-thumb {\n height: 10px;\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:w-\\[10px\\] {\n &::-webkit-slider-thumb {\n width: 10px;\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:appearance-none {\n &::-webkit-slider-thumb {\n appearance: none;\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:rounded-full {\n &::-webkit-slider-thumb {\n border-radius: calc(infinity * 1px);\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:bg-muted {\n &::-webkit-slider-thumb {\n background-color: var(--color-muted);\n }\n }\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-scale-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-space-y-reverse: 0;\n --tw-border-style: solid;\n --tw-font-weight: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n","import { Component, h, Prop, State, Watch } from \"@stencil/core\";\nimport { DEFAULT_SOLAR_PANEL_TYPE } from \"../../config\";\nimport { getLanguageStrings } from \"../../utils/lang/general\";\nimport { Polygon } from \"harmonia-types\";\nimport { state } from \"../../store\";\nimport { SimulationConfig, SolarSystem } from \"harmonia-sim\";\nimport { generateElectricCarChargingHours, simulate } from \"harmonia-sim\";\nimport { HEAT_PUMP_CONSUMPTION } from \"../../constants\";\nimport { LeadData, sendLeadToNexvoro } from \"../../utils/api\";\n\n@Component({\n tag: \"solar-system-form\",\n styleUrl: \"../../output.css\",\n shadow: false,\n})\nexport class SolarSystemForm {\n @Prop()\n systemConfigs: { [id: string]: SolarSystem } = {};\n @Prop()\n polygons: Polygon[] = [];\n @Prop()\n roofCanvas: HTMLCanvasElement;\n @Prop()\n polygonCanvas: HTMLCanvasElement;\n\n @State()\n householdConsumption: number = 4500;\n @State()\n consumptionProfile: \"mostly_at_home\" | \"mostly_away\" = \"mostly_at_home\";\n @State()\n electricityPrice: number = 0.3;\n @State()\n compensationRate: number = 0.07;\n @State()\n annualPriceIncrease: number = 2;\n @State()\n autonomy: number = 0;\n @State()\n costSavings: number = 0;\n @State()\n numberOfPanels: number = 5;\n @State()\n panelPeakPower: number = 0.4; // kW per panel\n @State()\n name: string = \"\";\n @State()\n email: string = \"\";\n @State()\n phone: string = \"\";\n @State()\n nameError: string = \"\";\n @State()\n emailError: string = \"\";\n @State()\n phoneError: string = \"\";\n @State()\n electricCar: boolean = false;\n @State()\n electricCarChargingTime: \"day\" | \"night\" = \"day\";\n @State()\n heatPump: number = 0;\n @State()\n battery: number = 0;\n @State()\n batteryEnabled: boolean = false;\n\n @State()\n compensation20Years: number = 0;\n @State()\n savedCosts20Years: number = 0;\n @State()\n maxPanels: number = 5;\n @State()\n kmDrivenPerYear: number = 10000;\n @State()\n totalEnergyConsumption: number = 4500;\n @State()\n totalEnergyProduction: number = 0;\n @State()\n isSubmitting: boolean = false;\n @State()\n submitMessage: string = \"\";\n @State()\n submitSuccess: boolean = false;\n\n @Watch(\"systemConfigs\")\n updateSystemConfigs() {\n if (Object.keys(this.systemConfigs).length === 0) {\n this.numberOfPanels = 0;\n this.maxPanels = 0;\n return;\n }\n this.numberOfPanels = Object.keys(this.systemConfigs).reduce(\n (acc, curr) => acc + this.systemConfigs[curr].numberOfPanels,\n 0,\n );\n this.maxPanels = Object.keys(this.systemConfigs).reduce(\n (acc, curr) => acc + this.systemConfigs[curr].numberOfPanels,\n 0,\n );\n\n this.panelPeakPower = Object.entries(this.systemConfigs)[0][1][0]\n ?.panel.kWattPeak ?? 0.44;\n\n this.recalculate();\n }\n\n private formatEuropeanNumber(num: number, decimals: number = 2): string {\n const fixed = num.toFixed(decimals);\n const [integerPart, decimalPart] = fixed.split(\".\");\n\n // Add dots as thousands separators\n const formattedInteger = integerPart.replace(\n /\\B(?=(\\d{3})+(?!\\d))/g,\n \".\",\n );\n\n // Join with comma as decimal separator\n return decimalPart\n ? `${formattedInteger},${decimalPart}`\n : formattedInteger;\n }\n\n private recalculate() {\n const currentSystemConfigs = {};\n let totalNumberOfPanels = 0;\n for (const [key, value] of Object.entries(this.systemConfigs)) {\n if (totalNumberOfPanels >= this.numberOfPanels) {\n break;\n }\n if (\n value.numberOfPanels + totalNumberOfPanels > this.numberOfPanels\n ) {\n currentSystemConfigs[key] = {\n ...value,\n numberOfPanels: this.numberOfPanels - totalNumberOfPanels,\n };\n totalNumberOfPanels = this.numberOfPanels;\n } else {\n currentSystemConfigs[key] = value;\n totalNumberOfPanels += value.numberOfPanels;\n }\n }\n\n const simulationConfig: SimulationConfig = {\n general: {\n simulationYears: 20,\n },\n householdConsumption: {\n consumptionProfile: this.consumptionProfile,\n winterConsumptionFactor: 1.4,\n summerConsumptionFactor: 0.6,\n averageConsumption: this.householdConsumption / 365,\n },\n electricityPrice: {\n purchase: this.electricityPrice,\n sell: this.compensationRate,\n increase: this.annualPriceIncrease / 100,\n },\n solarSystems: currentSystemConfigs,\n batteryKWh: this.battery,\n solarRadiation: {\n winterFactor: 0.2,\n summerFactor: 0.6,\n },\n heatPump: {\n m2: this.heatPump,\n consumptionPerM2: HEAT_PUMP_CONSUMPTION / 365,\n },\n electricCar: this.electricCar\n ? {\n averageKilometersPerDay: this.kmDrivenPerYear / 365,\n consumptionkWhPer100km: 20,\n batteryKWh: 80,\n chargingHours: this.electricCarChargingTime === \"day\"\n ? generateElectricCarChargingHours(6, 18)\n : generateElectricCarChargingHours(18, 6),\n }\n : undefined,\n };\n\n const result = simulate(simulationConfig);\n\n this.compensation20Years = result.compensationPerDay * 365 * 20;\n this.savedCosts20Years = result.byYearSavedCosts.reduce(\n (acc, curr) => acc + curr,\n 0,\n ) + this.compensation20Years;\n this.costSavings = result.byYearSavedCosts[0];\n this.autonomy = result.autonomy * 100;\n this.totalEnergyConsumption = result.totalEnergyConsumptionDay * 365;\n // Calculate total energy production based on compensation and rate\n this.totalEnergyProduction = result.totalEnergyProduction * 365;\n }\n\n componentWillLoad() {\n this.updateSystemConfigs();\n }\n\n private validateForm(): boolean {\n let isValid = true;\n const t = getLanguageStrings(state.settings.language);\n\n // Validate name\n if (!this.name.trim()) {\n this.nameError = t.solarSystemForm.nameError;\n isValid = false;\n } else {\n this.nameError = \"\";\n }\n\n // Validate email\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n if (!this.email.trim()) {\n this.emailError = t.solarSystemForm.emailError;\n isValid = false;\n } else if (!emailRegex.test(this.email)) {\n this.emailError = t.solarSystemForm.validEmailError;\n isValid = false;\n } else {\n this.emailError = \"\";\n }\n\n // Validate phone (optional)\n const phoneRegex = /^[\\+]?[1-9][\\d]{0,15}$/;\n if (\n this.phone.trim() &&\n !phoneRegex.test(this.phone.replace(/[\\s\\-\\(\\)]/g, \"\"))\n ) {\n this.phoneError = t.solarSystemForm.phoneError;\n isValid = false;\n } else {\n this.phoneError = \"\";\n }\n\n return isValid;\n }\n\n private async handleRequestOffer() {\n if (!this.validateForm()) {\n return;\n }\n\n this.isSubmitting = true;\n this.submitMessage = \"\";\n this.submitSuccess = false;\n\n const t = getLanguageStrings(state.settings.language);\n\n try {\n const leadData: LeadData = {\n location: {\n name: state.location,\n latitude: state.latitude,\n longitude: state.longitude,\n },\n systemConfig: {\n maxNumberOfPanels: this.maxPanels,\n panelPeakPower: this.panelPeakPower,\n polygons: this.polygons,\n solarSystems: this.systemConfigs,\n electricityPrice: this.electricityPrice,\n compensationRate: this.compensationRate,\n annualPriceIncrease: this.annualPriceIncrease,\n },\n client: {\n name: this.name,\n email: this.email,\n phone: this.phone,\n consumption: this.householdConsumption,\n consumptionProfile: this.consumptionProfile,\n hasBattery: this.batteryEnabled,\n battery: this.battery,\n hasHeatPump: this.heatPump > 0,\n heatPumpM2: this.heatPump,\n hasElectricCar: this.electricCar,\n electricCarChargingTime: this.electricCarChargingTime,\n electricCarKmPerYear: this.kmDrivenPerYear,\n },\n images: {\n roof: this.roofCanvas.toDataURL(),\n polygon: this.polygonCanvas.toDataURL(),\n },\n results: {\n autonomy: this.autonomy,\n costSavings: this.costSavings,\n compensation20Years: this.compensation20Years,\n savedCosts20Years: this.savedCosts20Years,\n totalEnergyConsumption: this.totalEnergyConsumption,\n },\n };\n console.log(\"leadData\", leadData);\n const result = await sendLeadToNexvoro(leadData);\n\n this.submitSuccess = result.success;\n\n if (result.success) {\n console.log(\"Lead successfully sent to Nexvoro\", result);\n this.submitMessage = t.solarSystemForm.leadSubmitted;\n // Optionally reset form or show success message\n } else {\n console.error(\n \"Failed to send lead to Nexvoro:\",\n result.message,\n );\n this.submitMessage = t.solarSystemForm.leadError;\n }\n } catch (error) {\n console.error(\"Error in handleRequestOffer:\", error);\n this.submitSuccess = false;\n this.submitMessage = error instanceof Error\n ? error.message\n : \"An unexpected error occurred\";\n } finally {\n this.isSubmitting = false;\n }\n }\n\n private isIOS(): boolean {\n return state.isIOS;\n }\n\n render() {\n const t = getLanguageStrings(state.settings.language);\n\n // Reusable style objects\n const borderStyle = { border: \"1px solid var(--color-border)\" };\n const errorBorderStyle = { border: \"1px solid var(--color-error)\" };\n\n return (\n <div\n class=\"flex flex-col justify-center items-center w-full h-full pt-4\" // style={{\n // display: (Object.keys(this.systemConfigs).length === 0)\n // ? \"none\"\n // : \"flex\",\n // }}\n id=\"solar-system-form\"\n >\n <h1 class=\"text-2xl font-bold text-secondary mb-4 w-full\">\n {t.solarSystemForm.title}\n </h1>\n\n <div class=\"w-full bg-primary rounded-4xl space-y-6\">\n {/* System Info Section */}\n <div\n class=\"space-y-4 p-4 rounded-4xl\"\n style={borderStyle}\n >\n <h2 class=\"text-lg font-semibold text-secondary\">\n {t.solarSystemForm.systemInformation}\n </h2>\n <div class=\"flex flex-col sm:flex-row gap-4\">\n {/* Number of Panels */}\n <div class=\"flex-1 bg-muted rounded-4xl p-4 space-y-3\">\n <div class=\"flex items-center justify-between\">\n <label class=\"text-sm font-medium text-text-muted\">\n {t.solarSystemForm.numberOfPanels}\n </label>\n {!this.isIOS()\n ? (\n <input\n type=\"number\"\n class=\"w-20 px-3 py-1 rounded-full bg-muted text-muted-foreground text-right\"\n value={this.numberOfPanels}\n readOnly\n />\n )\n : (\n <input\n type=\"number\"\n min=\"1\"\n max={this.maxPanels}\n class=\"w-20 px-3 py-1 rounded-full focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground text-center\"\n style={borderStyle}\n value={this.numberOfPanels}\n onInput={(e) => {\n const value = parseInt(\n (e.target as HTMLInputElement)\n .value,\n );\n if (\n value >= 1 &&\n value <=\n this.maxPanels\n ) {\n this.numberOfPanels =\n value;\n this.recalculate();\n }\n }}\n />\n )}\n </div>\n {!this.isIOS() && (\n <input\n type=\"range\"\n min=\"1\"\n max={this.maxPanels}\n step=\"1\"\n class=\"input-slider w-full custom-range appearance-none rounded-full bg-transparent [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-black/25 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:h-[10px] [&::-webkit-slider-thumb]:w-[10px] [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-muted\"\n value={this.numberOfPanels}\n onInput={(e) => {\n this.numberOfPanels = parseInt(\n (e.target as HTMLInputElement)\n .value,\n );\n if (isNaN(this.numberOfPanels)) {\n this.numberOfPanels = 0;\n }\n this.recalculate();\n }}\n />\n )}\n </div>\n\n {/* Panel Peak Power */}\n <div class=\"flex-1 bg-muted rounded-4xl p-4\">\n <div class=\"flex items-center justify-between\">\n <label class=\"text-sm font-medium text-text-muted\">\n {t.solarSystemForm.panelPeakPower}\n </label>\n <span class=\"text-text-muted\">\n {this.panelPeakPower.toFixed(2)} kW\n </span>\n </div>\n <div class=\"flex items-center justify-between mt-4\">\n <span class=\"text-sm font-medium text-text-muted\">\n {t.solarSystemForm.totalSystemPeakPower}\n </span>\n <span class=\"font-bold text-text-muted\">\n {(DEFAULT_SOLAR_PANEL_TYPE.kWattPeak *\n this.numberOfPanels).toFixed(1)} kWp\n </span>\n </div>\n </div>\n </div>\n </div>\n {/* Household Consumption Section */}\n <div\n class=\"space-y-4 p-4 rounded-4xl\"\n style={borderStyle}\n >\n <h2 class=\"text-lg font-semibold text-secondary\">\n {t.solarSystemForm.householdConsumptionTitle}\n </h2>\n <div class=\"grid grid-rows-2 gap-0\">\n <div class=\"grid grid-cols-2 gap-4\">\n <label class=\"block text-sm font-medium text-text-muted\">\n {t.solarSystemForm.annualConsumption}\n </label>\n <label class=\"block text-sm font-medium text-text-muted\">\n {t.solarSystemForm.consumptionProfileTitle}\n </label>\n </div>\n <div class=\"grid grid-cols-2 gap-4\">\n <input\n type=\"number\"\n step=\"100\"\n min=\"0\"\n class=\"w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground\"\n style={borderStyle}\n value={this.householdConsumption}\n onInput={(e) => {\n this.householdConsumption = parseInt(\n (e.target as HTMLInputElement)\n .value,\n );\n this.recalculate();\n }}\n />\n <select\n class=\"w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground\"\n style={borderStyle}\n onChange={(e) => {\n this.consumptionProfile =\n (e.target as HTMLSelectElement)\n .value as\n | \"mostly_at_home\"\n | \"mostly_away\";\n this.recalculate();\n }}\n >\n <option\n value=\"mostly_at_home\"\n selected={this.consumptionProfile ===\n \"mostly_at_home\"}\n >\n {t.solarSystemForm.consumptionProfiles\n .mostlyAtHome}\n </option>\n <option\n value=\"mostly_away\"\n selected={this.consumptionProfile ===\n \"mostly_away\"}\n >\n {t.solarSystemForm.consumptionProfiles\n .mostlyAway}\n </option>\n </select>\n </div>\n </div>\n {\n /* <div class=\"mt-4 h-48\">\n <canvas ref={(el) => this.chartRef = el}></canvas>\n </div> */\n }\n </div>\n <div\n class=\"space-y-4 p-4 rounded-4xl\"\n style={borderStyle}\n >\n <h2 class=\"text-lg font-semibold text-secondary\">\n {t.solarSystemForm.additionalComponents.title}\n </h2>\n <div class=\"flex flex-col gap-4\">\n {/* Heat Pump Section */}\n <div class=\"flex flex-col bg-muted rounded-4xl p-4 gap-4\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex items-center gap-2\">\n <input\n type=\"checkbox\"\n id=\"heatPump\"\n class=\"w-4 h-4 accent-tertiary border-border rounded-full focus:ring-tertiary focus:ring-offset-0 focus:ring-2\"\n checked={this.heatPump > 0}\n onChange={(e) => {\n this.heatPump =\n (e.target as HTMLInputElement)\n .checked\n ? 100\n : 0;\n this.recalculate();\n }}\n />\n <label\n htmlFor=\"heatPump\"\n class=\"text-text-muted\"\n >\n {t.solarSystemForm\n .additionalComponents\n .heatPump}\n </label>\n </div>\n {(this.heatPump > 0 && !this.isIOS()) && (\n <span class=\"text-text-muted\">\n {this.heatPump} m²\n </span>\n )}\n </div>\n {this.heatPump > 0 && (\n <div class=\"flex flex-col gap-2\">\n {this.isIOS()\n ? (\n <div class=\"flex items-center gap-2\">\n <input\n type=\"number\"\n min=\"10\"\n max=\"300\"\n step=\"10\"\n class=\"flex-1 px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted\"\n style={borderStyle}\n value={this.heatPump}\n onInput={(e) => {\n let value =\n parseInt(\n (e.target as HTMLInputElement)\n .value,\n );\n if (isNaN(value)) {\n value = 0;\n }\n if (\n value >= 0 &&\n value <= 300\n ) {\n this.heatPump =\n value;\n this.recalculate();\n }\n }}\n />\n <span class=\"text-sm text-text-muted\">\n m²\n </span>\n </div>\n )\n : (\n <input\n type=\"range\"\n min=\"10\"\n max=\"300\"\n step=\"10\"\n class=\"input-slider custom-range appearance-none rounded-full bg-transparent [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-black/25 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:h-[10px] [&::-webkit-slider-thumb]:w-[10px] [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-muted\"\n value={this.heatPump}\n onInput={(e) => {\n this.heatPump =\n parseInt(\n (e.target as HTMLInputElement)\n .value,\n );\n this.recalculate();\n }}\n />\n )}\n </div>\n )}\n </div>\n\n {/* Electric Car Section */}\n <div class=\"flex flex-col bg-muted rounded-4xl p-4 gap-4\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex items-center gap-2\">\n <input\n type=\"checkbox\"\n id=\"electricCar\"\n class=\"w-4 h-4 accent-tertiary border-border rounded focus:ring-tertiary focus:ring-offset-0 focus:ring-2\"\n checked={this.electricCar}\n onChange={(e) => {\n this.electricCar =\n (e.target as HTMLInputElement)\n .checked;\n this.recalculate();\n }}\n />\n <label\n htmlFor=\"electricCar\"\n class=\"text-text-muted\"\n >\n {t.solarSystemForm\n .additionalComponents\n .electricCar}\n </label>\n </div>\n </div>\n {this.electricCar && (\n <div class=\"flex flex-col gap-2\">\n <div class=\"grid grid-cols-2 gap-4\">\n <label class=\"text-sm text-text-muted\">\n {t.solarSystemForm\n .additionalComponents\n .chargingTime}\n </label>\n <label class=\"text-sm text-text-muted\">\n {t.solarSystemForm\n .additionalComponents\n .kilometersPerYear}\n </label>\n </div>\n <div class=\"grid grid-cols-2 gap-4\">\n <select\n class=\"w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted\"\n onChange={(e) => {\n this.electricCarChargingTime =\n (e.target as HTMLSelectElement)\n .value as\n | \"day\"\n | \"night\";\n this.recalculate();\n }}\n style={borderStyle}\n >\n <option\n value=\"day\"\n selected={this\n .electricCarChargingTime ===\n \"day\"}\n >\n {t.solarSystemForm\n .additionalComponents\n .chargingTimeDay}\n </option>\n <option\n value=\"night\"\n selected={this\n .electricCarChargingTime ===\n \"night\"}\n >\n {t.solarSystemForm\n .additionalComponents\n .chargingTimeNight}\n </option>\n </select>\n <input\n type=\"number\"\n min=\"1000\"\n max=\"100000\"\n step=\"1000\"\n class=\"w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted\"\n value={this.kmDrivenPerYear}\n onInput={(e) => {\n this.kmDrivenPerYear =\n parseInt(\n (e.target as HTMLInputElement)\n .value,\n );\n if (\n isNaN(\n this.kmDrivenPerYear,\n )\n ) {\n this.kmDrivenPerYear =\n 0;\n }\n this.recalculate();\n }}\n style={borderStyle}\n />\n </div>\n </div>\n )}\n </div>\n\n {/* Battery Section */}\n <div class=\"flex flex-col bg-muted rounded-4xl p-4 gap-4\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex items-center gap-2\">\n <input\n type=\"checkbox\"\n id=\"battery\"\n class=\"w-4 h-4 accent-tertiary border-border rounded-full focus:ring-tertiary focus:ring-offset-0 focus:ring-2\"\n checked={this.batteryEnabled}\n onChange={(e) => {\n this.batteryEnabled =\n (e.target as HTMLInputElement)\n .checked;\n this.battery =\n this.batteryEnabled\n ? 5\n : 0;\n this.recalculate();\n }}\n />\n <label\n htmlFor=\"battery\"\n class=\"text-text-muted\"\n >\n {t.solarSystemForm\n .additionalComponents\n .battery}\n </label>\n </div>\n {(this.batteryEnabled && !this.isIOS()) && (\n <span class=\"text-text-muted\">\n {this.battery} kWh\n </span>\n )}\n </div>\n {this.batteryEnabled && (\n <div class=\"flex flex-col gap-2\">\n {this.isIOS()\n ? (\n <div class=\"flex items-center gap-2\">\n <input\n type=\"number\"\n min=\"0\"\n max=\"20\"\n step=\"1\"\n class=\"flex-1 px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted\"\n value={this.battery}\n onInput={(e) => {\n let value =\n parseInt(\n (e.target as HTMLInputElement)\n .value,\n );\n if (isNaN(value)) {\n value = 0;\n }\n if (\n value >= 0 &&\n value <= 20\n ) {\n this.battery =\n value;\n } else {\n this.battery =\n 20;\n }\n this.recalculate();\n }}\n style={borderStyle}\n />\n <span class=\"text-sm text-text-muted\">\n kWh\n </span>\n </div>\n )\n : (\n <input\n type=\"range\"\n min=\"1\"\n max=\"20\"\n step=\"1\"\n class=\"input-slider w-full custom-range appearance-none rounded-full bg-transparent [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-black/25 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:h-[10px] [&::-webkit-slider-thumb]:w-[10px] [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-muted\"\n value={this.battery}\n onInput={(e) => {\n const value = parseInt(\n (e.target as HTMLInputElement)\n .value,\n );\n this.battery = value;\n this.batteryEnabled =\n value > 0;\n this.recalculate();\n }}\n />\n )}\n </div>\n )}\n </div>\n </div>\n </div>\n\n {/* Electricity Price and Compensation Section */}\n <div\n class=\"space-y-4 p-4 rounded-4xl\"\n style={borderStyle}\n >\n <h2 class=\"text-lg font-semibold text-secondary\">\n {t.solarSystemForm.electricityCostsTitle}\n </h2>\n <div\n style={{\n display: \"grid\",\n gridTemplateColumns:\n \"repeat(auto-fit, minmax(100px, 1fr))\",\n gap: \"1rem\",\n }}\n >\n <div>\n <label class=\"block text-sm font-medium text-text-muted mb-1\">\n {t.solarSystemForm.electricityPrice}\n </label>\n <input\n type=\"number\"\n step=\"0.01\"\n class=\"w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted\"\n style={borderStyle}\n value={this.electricityPrice.toFixed(2)}\n onInput={(e) => {\n this.electricityPrice = parseFloat(\n (e.target as HTMLInputElement)\n .value,\n );\n this.recalculate();\n }}\n />\n </div>\n <div>\n <label class=\"block text-sm font-medium text-text-muted mb-1\">\n {t.solarSystemForm.compensationRate}\n </label>\n <input\n type=\"number\"\n step=\"0.01\"\n class=\"w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted\"\n style={borderStyle}\n value={this.compensationRate.toFixed(2)}\n onInput={(e) => {\n this.compensationRate = parseFloat(\n (e.target as HTMLInputElement)\n .value,\n );\n this.recalculate();\n }}\n />\n </div>\n <div>\n <label class=\"block text-sm font-medium text-text-muted mb-1\">\n {t.solarSystemForm.annualPriceIncrease}\n </label>\n <input\n type=\"number\"\n step=\"0.1\"\n class=\"w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted\"\n style={borderStyle}\n value={this.annualPriceIncrease.toFixed(1)}\n onInput={(e) => {\n this.annualPriceIncrease = parseFloat(\n (e.target as HTMLInputElement)\n .value,\n );\n this.recalculate();\n }}\n />\n </div>\n </div>\n </div>\n\n {/* Results Section */}\n <div\n class=\"space-y-4 p-4 rounded-4xl\"\n style={borderStyle}\n >\n <h2 class=\"text-lg font-semibold text-secondary\">\n {t.solarSystemForm.resultsTitle}\n </h2>\n <div class=\"bg-muted rounded-4xl p-4\">\n <div class=\"flex flex-col sm:flex-row sm:items-center justify-between\">\n <span class=\"text-text-muted\">\n {t.solarSystemForm.autonomy}\n </span>\n <span class=\"text-xl font-bold text-secondary mt-1 sm:mt-0\">\n {this.autonomy > 100\n ? \"100\"\n : this.formatEuropeanNumber(\n this.autonomy,\n 1,\n )}%\n </span>\n </div>\n <div class=\"flex flex-col sm:flex-row sm:items-center justify-between mt-4\">\n <span class=\"text-text-muted\">\n {t.solarSystemForm.totalEnergyConsumption}\n </span>\n <span class=\"text-xl font-bold text-secondary mt-1 sm:mt-0\">\n {this.formatEuropeanNumber(\n this.totalEnergyConsumption,\n 0,\n )} kWh/{t.solarSystemForm.year}\n </span>\n </div>\n <div class=\"flex flex-col sm:flex-row sm:items-center justify-between mt-4\">\n <span class=\"text-text-muted\">\n {t.solarSystemForm.totalEnergyProduction}\n </span>\n <span class=\"text-xl font-bold text-secondary mt-1 sm:mt-0\">\n {this.formatEuropeanNumber(\n this.totalEnergyProduction,\n 0,\n )} kWh/{t.solarSystemForm.year}\n </span>\n </div>\n <div class=\"flex flex-col sm:flex-row sm:items-center justify-between mt-4\">\n <div class=\"flex items-center gap-2\">\n <span class=\"text-text-muted\">\n {t.solarSystemForm.costSavings}\n </span>\n </div>\n <span class=\"text-xl font-bold text-success mt-1 sm:mt-0\">\n {this.formatEuropeanNumber(\n this.costSavings,\n )} €/{t\n .solarSystemForm.year}\n </span>\n </div>\n <div class=\"flex flex-col sm:flex-row sm:items-center justify-between mt-4\">\n <div class=\"flex items-center gap-2\">\n <span class=\"text-text-muted\">\n {t.solarSystemForm.compensation20Years}\n </span>\n </div>\n <span class=\"text-xl font-bold text-success mt-1 sm:mt-0\">\n {this.formatEuropeanNumber(\n this.compensation20Years,\n )} €\n </span>\n </div>\n <div class=\"flex flex-col sm:flex-row sm:items-center justify-between mt-4\">\n <div class=\"flex items-center gap-2\">\n <span class=\"text-text-muted\">\n {t.solarSystemForm\n .monetaryBenefit20Years}\n </span>\n </div>\n <span class=\"text-xl font-bold text-success mt-1 sm:mt-0\">\n {this.formatEuropeanNumber(\n this.savedCosts20Years,\n )} €\n </span>\n </div>\n </div>\n </div>\n\n {/* Contact Information Section */}\n <div\n class=\"space-y-4 p-4 rounded-4xl\"\n style={borderStyle}\n >\n <h2 class=\"text-lg font-semibold text-secondary\">\n {t.solarSystemForm.requestOffer}\n </h2>\n <div\n style={{\n display: \"grid\",\n gridTemplateColumns:\n \"repeat(auto-fit, minmax(1 00px, 1fr))\",\n gap: \"1rem\",\n }}\n >\n <div>\n <label class=\"block text-sm font-medium text-text-muted mb-1\">\n {t.solarSystemForm.name}\n </label>\n <input\n type=\"text\"\n class={`w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground`}\n style={this.nameError\n ? errorBorderStyle\n : borderStyle}\n value={this.name}\n onInput={(e) => {\n this.name =\n (e.target as HTMLInputElement)\n .value;\n this.validateForm();\n }}\n placeholder=\"Your name\"\n />\n {this.nameError && (\n <p class=\"text-error text-sm mt-1\">\n {this.nameError}\n </p>\n )}\n </div>\n <div>\n <label class=\"block text-sm font-medium text-text-muted mb-1\">\n {t.solarSystemForm.email}\n </label>\n <input\n type=\"email\"\n class={`w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground`}\n style={this.emailError\n ? errorBorderStyle\n : borderStyle}\n value={this.email}\n onInput={(e) => {\n this.email =\n (e.target as HTMLInputElement)\n .value;\n this.validateForm();\n }}\n placeholder=\"your.email@example.com\"\n />\n {this.emailError && (\n <p class=\"text-error text-sm mt-1\">\n {this.emailError}\n </p>\n )}\n </div>\n <div>\n <label class=\"block text-sm font-medium text-text-muted mb-1\">\n {t.solarSystemForm.phone}\n </label>\n <input\n type=\"tel\"\n class={`w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground`}\n style={this.phoneError\n ? errorBorderStyle\n : borderStyle}\n value={this.phone}\n onInput={(e) => {\n this.phone =\n (e.target as HTMLInputElement)\n .value;\n this.validateForm();\n }}\n placeholder=\"+34 123 456 789\"\n />\n {this.phoneError && (\n <p class=\"text-error text-sm mt-1\">\n {this.phoneError}\n </p>\n )}\n </div>\n </div>\n <div class=\"flex flex-col items-center gap-4\">\n <button\n onClick={() => this.handleRequestOffer()}\n disabled={!this.name.trim() ||\n !this.email.trim() || !!this.nameError ||\n !!this.emailError || !!this.phoneError ||\n this.isSubmitting}\n class={`px-6 py-3 rounded-4xl transition-colors duration-200 flex items-center gap-2 ${\n this.isSubmitting\n ? \"bg-muted text-text-muted cursor-not-allowed\"\n : \"bg-secondary hover:bg-tertiary\"\n }`}\n style={{\n color: this.isSubmitting\n ? \"var(--color-text-muted)\"\n : \"#ffffff\",\n }}\n >\n {this.isSubmitting && (\n <div class=\"w-4 h-4 border-2 border-current border-t-transparent rounded-full animate-spin\">\n </div>\n )}\n {this.isSubmitting\n ? t.solarSystemForm.sending\n : t.solarSystemForm.requestOfferButton}\n </button>\n\n {this.submitMessage && (\n <div\n class={`text-sm px-4 py-2 rounded-4xl ${\n this.submitSuccess\n ? \"bg-success/10 text-success border border-success/20\"\n : \"bg-error/10 text-error border border-error/20\"\n }`}\n >\n {this.submitMessage}\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n"],"names":["generateElectricCarChargingHours","simulate"],"mappings":"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"}
|