:root{--primary-blue:#5a26a8;--primary:#5a26a8;--primary-light:#f0e7ff;--secondary-gray:#d3d3d3;--dark-gray:#1c2526;--text-color:#333;--light-gray:#f5f5f5;--white:#fff;--error-red:#f44336;--purple:#9c27b0;--gray:#5a26a8;--border-gray:#ddd;--light-border-gray:#ccc;--disabled-gray:#e0e0e0;--tooltip-bg:#333;--tooltip-text:#fff}*:focus{outline:solid 1px var(--primary)!important}body{min-height:100vh;font-family:"Barlow",Helvetica,Arial,sans-serif;margin:0;padding:0;background-color:var(--light-gray);color:var(--text-color)}header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-basis:100%;height:50px;padding:10px 20px;background-color:var(--primary);border-bottom:solid 1px var(--border-gray)}.page-wrapper{display:flex;flex-direction:row;gap:20px;padding:0 20px}h1{margin:0;text-align:left;font-size:1.5em;color:#000}.logo-wrapper{display:flex;gap:10px;align-items:flex-end}.logo{font-size:0}.logo svg{width:clamp(100px, 10vw, 160px)}.control-panel{position:sticky;top:130px;overflow-y:auto;z-index:100;display:flex;flex-direction:column;width:300px;height:100%;max-height:calc(100vh - 120px);margin-top:60px;padding:20px;user-select:none;border-radius:8px;box-shadow:0 0 10px rgb(0 0 0 / .25);background:var(--white);scrollbar-width:thin;scrollbar-color:var(--primary-blue) #fff0}.control-panel-wrapper{display:flex;flex-direction:column;gap:10px}.options-container,.background-control,.button-container,.bulk-actions-container,.view-container{display:flex;flex-direction:column;gap:6px}.options-container h3,.background-control h3,.filter-container h3,.view-container h3,.modal h3{font-size:1.1em;color:#000;margin:0}.filter-action-btn{background:var(--primary-blue)}.option-group{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;label{width:100%}.info-icon{margin-left:auto}}.icon-options{display:flex;flex-wrap:wrap;width:calc(100% - 20px);gap:4px;justify-content:space-between;padding:10px;border-radius:10px;margin:10px;background-color:var(--light-gray);user-select:none}.option-group label,.select-all-label,.background-control label,.icon-options label{font-size:.8em;white-space:nowrap;display:flex;align-items:center;gap:5px;user-select:none}.icon-options-group{display:flex;flex-direction:column;gap:3px}.icon-options-title{width:100%;text-align:left;font-size:.7em;font-weight:500}.icon-options-group label{font-size:.7em;cursor:pointer}.icon-options-group .toggle-switch{width:20px;height:8px}.icon-options-group .toggle-switch .toggle-slider:before{top:1px;width:6px;height:6px}.option-group.is-main{label{width:100%;padding-bottom:10px;font-weight:600;border-bottom:solid 1px var(--border-gray)}}.toggle-switch{position:relative;display:inline-block;width:24px;height:14px}.toggle-switch input[type="checkbox"]{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--secondary-gray);transition:0.3s;border-radius:12px}.toggle-slider:before{position:absolute;content:"";height:10px;width:10px;left:1px;bottom:2px;background-color:var(--white);transition:0.3s;border-radius:50%;box-shadow:0 1px 2px rgb(0 0 0 / .3);transform:translateX(0)}input[type="checkbox"]:checked+.toggle-slider{background-color:var(--primary-blue)}input[type="checkbox"]:checked+.toggle-slider:before{transform:translateX(12px)}input[type="checkbox"]:disabled+.toggle-slider{background-color:var(--disabled-gray);cursor:not-allowed}input[type="checkbox"]:disabled+.toggle-slider:before{background-color:var(--light-gray)}.background-control input[type="range"]{width:100%;appearance:none;height:8px;background:linear-gradient(to right,var(--white),#000);border-radius:5px;outline:none;border:solid 1px var(--border-gray)}.background-control input[type="range"]::-webkit-slider-thumb{appearance:none;width:15px;height:15px;background:var(--primary-blue);border-radius:50%;cursor:pointer}.background-control input[type="range"]::-moz-range-thumb{width:15px;height:15px;background:var(--gray);border-radius:50%;cursor:pointer}button,.file-input-wrapper label{display:flex;align-items:center;justify-content:center;gap:5px;background-color:var(--gray);border:none;color:var(--white);padding:6px 10px;text-align:center;text-decoration:none;font-size:.8em;cursor:pointer;border-radius:5px;transition:opacity 0.3s}button:hover,.file-input-wrapper label:hover{opacity:.9}button:disabled{opacity:.5;cursor:not-allowed}.button-container,.option-buttons,.filter-actions-wrapper{display:flex;gap:10px;flex-wrap:wrap}.button-group{display:flex;flex-direction:row;gap:10px}#downloadAllBtn{min-height:50px;background-color:var(--primary-blue);font-size:16px;font-weight:600}#generateSpriteBtn{min-height:50px;background-color:var(--dark-gray);font-size:16px;font-weight:600}#closeModalBtn,#cancelDuplicateBtn,#closeCodeModalBtn,#closeDuplicatesModalBtn{background-color:var(--error-red)}#detectDuplicatesBtn{background-color:var(--white);color:var(--purple);border:solid 1px var(--purple)}#applyGroupEditBtn,#confirmDuplicateBtn,#viewDuplicatesBtn{background-color:#4caf50}#undoBtn{background-color:var(--gray)}#undoBtn:disabled{background-color:var(--disabled-gray);cursor:not-allowed}#deleteSelectedBtn,#clearAllBtn{background-color:var(--white);color:var(--error-red);border:solid 1px var(--error-red)}.download-btn{max-height:fit-content;padding:2px 4px;background-color:var(--white);font-size:.7em;color:var(--primary-blue);border:solid 1px;transition:all 0.25s ease-in-out}.download-btn:hover{background-color:var(--primary-blue);color:var(--white);svg{fill:var(--white)}}.delete-btn{max-height:fit-content;padding:2px 4px;background-color:var(--white);font-size:.7em;color:var(--error-red);border:solid 1px;transition:all 0.25s ease-in-out}.delete-btn:hover{background-color:var(--error-red);color:var(--white);svg{fill:var(--white)}}.button-wrapper{display:flex;justify-content:space-between;width:100%}#resetPropertiesBtn,#clearFiltersBtn,#editGroupBtn{background-color:#fff0;padding:0;border:none;font-size:.7em;text-decoration:underline;color:var(--gray);cursor:pointer}#clearFiltersBtn.duplicates-mode{color:var(--error-red);font-weight:700}#editGroupBtn{color:var(--primary-blue)}#clearAllBtn:hover,#resetPropertiesBtn:hover,#clearFiltersBtn:hover,#editGroupBtn:hover{opacity:.9}.main-content{flex:1;display:flex;flex-direction:column;margin:60px 0}.main-tools{display:flex;gap:20px}#dropZone{width:100%;padding:20px;font-family:monospace;font-size:1.2em;box-sizing:border-box;border:2px dashed var(--light-border-gray);background-color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:border-color 0.3s,background-color 0.3s;gap:20px;user-select:none;border-radius:8px}#dropZone.dragover{border-color:var(--gray);background-color:#e8f5e9}#dropZone .button-options{display:flex;gap:10px}.file-input-wrapper{margin-top:10px;display:inline-block}.file-input-wrapper input[type="file"]{display:none}.filter-container,#filterGroupsContainer{display:none;flex-direction:column;gap:10px}.filter-panel{padding:10px}#searchContainer{position:relative;flex-grow:1;max-width:240px;margin:0}.library-search-container{position:relative;width:100%;margin:0;margin:0}#searchContainer svg{position:absolute;left:4px;top:50%;transform:translateY(-50%)}.library-search-container svg{position:absolute;left:6px;top:50%;transform:translateY(-50%)}#searchInput,#librarySearchInput{width:100%;height:40px;padding:8px 25px 8px 32px;box-sizing:border-box;font-size:.9em;border:1px solid var(--border-gray);border-radius:5px;background-color:var(--white)}#searchInput::placeholder{font-size:.8em}#searchInput:focus{outline:solid 1px var(--primary-blue)}#clearSearch{position:absolute;right:5px;top:50%;transform:translateY(-50%);cursor:pointer;font-size:1em;color:#888;padding:0 5px}#filterGroupsToggle{cursor:pointer;font-size:.9em;color:var(--gray);display:flex;align-items:center;justify-content:space-between;gap:5px}#filterGroupsToggle:hover{color:#000}#filterGroups{max-height:300px;overflow-y:auto}.filter-btn{padding:4px 6px;cursor:pointer;border-radius:4px;font-size:.7em;color:#9f9f9f;background:var(--white);border:1px solid var(--border-gray)}.filter-btn.active{background-color:#000;color:var(--white)}.sort-controls{position:sticky;top:110px;display:none;flex-wrap:wrap;gap:10px;margin:0;background:var(--light-gray);padding:10px 0;z-index:5;justify-content:flex-start;align-items:center}#sortSelect,#sortOrderSelect,#iconLibrarySelect{min-width:150px;min-height:40px;padding:8px 12px;font-size:.9em;border:1px solid var(--border-gray);border-radius:4px;background-color:var(--white);user-select:none}#iconLibrarySelect{border-color:var(--primary)}.accordion.is-filters{margin-left:auto}.accordion-header{display:flex;align-items:center;justify-content:space-between;background-color:var(--light-gray);color:var(--primary-blue);padding:6px 10px;cursor:pointer;border-radius:5px;border:1px solid var(--border-gray);font-size:.8em;font-weight:600;user-select:none}.accordion-header-filters{gap:8px;background-color:#fff;color:#000;border:1px solid var(--border-gray);font-size:.9em;padding:8px 12px;position:relative}.accordion-header-filters.has-filters{background-color:#fff;color:var(--primary-blue);border:1px solid var(--primary-blue)}.accordion-header-filters.has-filters svg path{fill:var(--primary-blue)}.accordion-header-filters svg path{fill:#000;transition:fill 0.3s ease}.accordion-header.is-open{border-radius:5px 5px 0 0}.accordion-header svg{transform:rotate(0deg);transition:all 0.25s ease-in-out}.accordion-header.is-open svg{transform:rotate(180deg)}.accordion-header-filters svg{transform:none;width:22px;height:22px}.accordion-header-filters.is-open svg{transform:none}.accordion-content{display:none;padding:10px;background-color:var(--white);border:1px solid var(--border-gray);border-top:none;border-radius:0 0 5px 5px;user-select:none}.accordion-content-filters{position:absolute;min-width:300px;padding:16px;box-sizing:border-box;box-shadow:0 0 10px rgb(0 0 0 / .25)}.accordion .accordion-header.is-open+.accordion-content{display:block}#cleanupAccordion{display:block}#viewAccordion,#filterAccordion,#bulkActionsAccordion{display:none}#results{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:15px;margin-top:20px;max-width:100%;min-height:200px;border:2px dotted #fff0;border-radius:8px;transition:border-color 0.3s}#results:empty{border-color:var(--border-gray);position:relative}#results:empty::after{content:"You don't have any icons in your workspace yet";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1em;color:var(--secondary-gray);white-space:nowrap}.icon-container{position:relative;border:1px solid var(--border-gray);padding:10px;text-align:center;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:fit-content;max-width:180px;min-height:120px;background-color:var(--white)}.icon-container.duplicate-mode{background-color:#f9f9f9}.icon-container svg{max-width:80px;max-height:80px;width:100%;height:auto;display:block;margin:0 auto}.icon-name{margin-top:10px;font-size:.9em;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:var(--text-color)}.icon-name:hover{background-color:var(--light-gray);border-radius:3px}.code-btn{position:absolute;top:5px;right:5px;background-color:var(--secondary-gray);color:var(--white);border:none;border-radius:50%;aspect-ratio:1;padding:4px;font-size:.7em;cursor:pointer;transition:all 0.25s ease-in-out;font-family:monospace;user-select:none}.code-btn:hover{background-color:var(--gray)}.modal,#codeModal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgb(0 0 0 / .5);z-index:1000}.modal-content{display:flex;flex-direction:column;gap:20px;background-color:var(--white);margin:15% auto;padding:20px;border-radius:5px;width:300px;box-shadow:0 2px 5px rgb(0 0 0 / .2)}#codeModal .modal-content{margin:5% auto;width:90%;max-width:600px;max-height:80vh;overflow-y:auto}.modal h3,#codeModal h3{margin:0;color:var(--gray);font-size:1.1em}.modal .option-group,#codeModal .option-group{margin-bottom:10px}#codeModal pre{background-color:var(--light-gray);padding:10px;border-radius:5px;white-space:pre-wrap;word-wrap:break-word;max-height:50vh;overflow-y:auto;font-size:.9em;color:var(--text-color)}#duplicateModal ul,#duplicatesModal ul{list-style-type:none;padding:0;max-height:150px;overflow-y:auto}#duplicateModal li,#duplicatesModal li{padding:5px 0;font-size:.9em}.tooltip{position:relative;display:flex}.tooltip .tooltiptext{visibility:hidden;width:120px;background-color:var(--tooltip-bg);color:var(--tooltip-text);text-align:center;border-radius:4px;padding:5px;position:absolute;z-index:100;bottom:125%;left:50%;transform:translateX(-50%);opacity:0;transition:opacity 0.3s;white-space:normal;box-sizing:border-box}.tooltip .tooltiptext.above{bottom:auto;top:125%}.tooltip:hover .tooltiptext{visibility:visible;opacity:1}.counter-wrapper{display:flex;align-items:center;gap:10px;user-select:none}#counter{margin-top:20px}.close-btn,.clear-filters-icon{padding:0;line-height:1;transition:color 0.3s}.close-btn:hover,.clear-filters-icon:hover{color:var(--dark-gray)}#filterCount{font-size:.9em;color:var(--gray)}#filterCount.duplicates-active{color:var(--error-red);font-weight:500}.loading-spinner{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;display:none;background:rgb(255 255 255 / .8);padding:20px;border-radius:10px;width:100vw;height:100vh;justify-content:center;align-items:center;flex-direction:column}.loading-spinner.show{display:flex;align-items:center;justify-content:center}.spinner{width:40px;height:40px;border:4px solid var(--primary-blue);border-top:4px solid #fff0;border-radius:50%;animation:spin 1s linear infinite}.spinner-message{color:var(--text-color,#333);margin-top:10px;font-weight:700;text-align:center}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#svgCodeEditor{min-height:280px}#saveCodeBtn{background-color:#4caf50;color:var(--white)}#codeModal .modal-content{margin:5% auto;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;background-color:var(--white);border-radius:5px;padding:20px;box-shadow:0 2px 5px rgb(0 0 0 / .2)}.CodeMirror{border:1px solid var(--border-gray);border-radius:5px;font-family:monospace;height:280px;font-size:.9em}.CodeMirror-scroll{min-height:280px}.CodeMirror-linenumber.CodeMirror-gutter-elt{padding:10px}.CodeMirror-wrap{background:var(--light-gray)}.button-group{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.feedback{display:flex;flex-direction:column;gap:10px;margin:20px 0}.feedback a{font-size:12px;color:var(--primary-blue)}.feedback-alternative{margin-top:2px;color:var(--dark-gray);font-size:11px}.feedback-alternative a{font-size:11px;color:var(--gray)}.feedback-alternative a:hover{opacity:.7;text-decoration:underline}.info-icon{cursor:pointer;color:var(--primary-blue);font-size:.9em;margin-left:auto;transition:color 0.3s ease}.info-icon:hover{color:var(--dark-gray)}.info-box{position:absolute;top:20px;z-index:10;display:none;background-color:var(--white);border:1px solid var(--border-gray);border-radius:5px;padding:10px;font-size:.85em;color:var(--text-color);box-shadow:0 2px 5px rgb(0 0 0 / .1);opacity:0;transform:translateY(-5px);transition:opacity 0.3s ease,transform 0.3s ease}.info-box.active{display:block;opacity:1;transform:translateY(0)}.filter-section-title{font-size:.9em;font-weight:700;color:#666;margin-bottom:8px}.close-filter-panel{position:absolute;right:4px;top:4px}.ko-fi{display:flex;align-items:center;gap:4px;max-width:250px;height:100%;color:var(--white)}.ko-fi a{display:flex;align-items:center;gap:5px;color:var(--white);text-decoration:none}.ko-fi p{margin:0;font-size:13px;font-weight:300}@media (max-width:480px){.ko-fi p{display:none}}.ko-fi-logo{width:clamp(30px, 4vw, 40px)}.library-results{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}.icon-libraries-section{position:fixed;top:70px;display:flex;flex-direction:column;z-index:150;width:100%;height:fit-content;margin-left:-20px;border:solid 1px var(--border-gray);border-radius:0 0 4px 4px;border-top:0;background-color:rgb(255 255 255 / .75);backdrop-filter:blur(1px);overflow:auto}.icon-libraries-section.is-open{display:flex;flex-direction:column;height:calc(100vh - 70px);border:solid 1px var(--border-gray);border-top:0;overflow:auto}.icon-libraries-section h2{position:sticky;top:0;display:flex;align-items:center;gap:6px;margin:0;padding:10px 20px;font-size:16px;background-color:var(--primary-light);z-index:3000}.icons-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.library-icon-item{width:100%;max-width:60px;height:auto;padding:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all 0.2s ease;text-align:center;font-size:9px}.library-icon-item:hover{transform:translateY(-2px);box-shadow:0 2px 8px rgb(0 0 0 / .1);background-color:#f9f9f9}.library-icon-item.selected{background-color:var(--primary-light);border-color:var(--primary)}.library-icon-preview img{min-width:30px}.library-actions{position:sticky;top:-20px;display:flex;justify-content:left;gap:10px;height:40px;padding:10px 0;z-index:10;background-color:var(--white)}.library-selector{display:flex;flex-direction:column;gap:10px;width:100%}.license-notice{font-size:11px;color:var(--secondary-text,#666);margin-top:4px;font-style:italic}.library-info{padding:8px 12px;background-color:#f5f5f5;border-radius:4px;font-size:14px}.library-info .license-notice{margin-top:4px;font-size:12px;color:#666}.library-search-container,.library-actions{display:none}.error-message{color:#d32f2f;padding:10px;background-color:#ffebee;border-radius:4px;margin-bottom:15px}footer{position:fixed;bottom:0;z-index:100;flex-basis:100%;width:100%;padding:10px;background:var(--primary);color:var(--white);font-size:12px;text-align:center}.icon-libraries-section .accordion-content{display:none}.icon-libraries-section .accordion-header.is-open+.accordion-content{display:block}.icon-libraries-section .accordion-header{cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-weight:700;padding:10px 15px;border-radius:5px;background-color:var(--light-gray);margin-bottom:10px}.icon-libraries-section .accordion-header.is-open svg{transform:rotate(180deg)}.icon-libraries-section .accordion-header svg{transition:transform 0.3s ease}.icon-libraries-section .license-info-icon{margin-left:10px;margin-right:auto}#libraryAccordion .accordion-header{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:10px;background-color:var(--primary);color:var(--white);border-radius:4px;transition:background-color 0.3s}#libraryAccordion .accordion-header:hover{background-color:var(--primary-dark,#482980)}#libraryAccordion .accordion-header svg{transition:transform 0.3s ease}#libraryAccordion .accordion-header.is-open svg{transform:rotate(180deg)}#libraryAccordion .accordion-content{padding:15px 10px;border:1px solid var(--border-gray);border-top:none;border-radius:0 0 4px 4px}.icon-libraries-wrapper{display:none;flex-direction:column;gap:10px;width:calc(100% - 40px);max-width:800px;margin:0 20px 20px 20px;padding:20px;box-sizing:border-box;background-color:var(--white);box-shadow:0 0 10px rgb(0 0 0 / .25);border-radius:0 0 8px 8px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--primary-blue) #fff0}.icon-libraries-section.is-open .icon-libraries-wrapper{display:flex}#toggle-library{cursor:pointer}#toggle-library{transition:all 0.3s ease-in-out}#toggle-library .top-line,#toggle-library .middle-line,#toggle-library .bottom-line{transition:all 0.3s ease-in-out;transform-origin:center}.is-open #toggle-library .top-line{transform:translate(0,0) rotate(45deg)}.is-open #toggle-library .middle-line{opacity:0}.is-open #toggle-library .bottom-line{transform:translate(-4px,-4px) rotate(-45deg)}@media (max-width:300px){.tooltip .tooltiptext{width:150px}}@media (max-width:600px){.tooltip .tooltiptext{width:100px;font-size:.8em}.accordion.is-filters{width:100%;margin:unset}.accordion-header-filters{font-size:.9em}.accordion-header-filters svg{width:20px;height:20px}.sort-controls{align-items:flex-start;flex-direction:column;gap:5px}#sortSelect,#sortOrderSelect,#searchContainer{width:100%;max-width:none}#searchInput,#librarySearchInput{width:100%}#editGroupBtn,#undoBtn{width:100%;text-align:left;user-select:none}.accordion-header-filters{justify-content:flex-start}.accordion-content-filters{z-index:10}#searchContainer{max-width:100%}.library-actions{flex-wrap:wrap;height:auto}}@media (max-width:991px){.page-wrapper{flex-direction:column}.icon-libraries-section,.icon-libraries-section.is-open{position:fixed;top:70px;width:100%;box-sizing:border-box}.main-content{position:relative;margin:0 0 20px 0;order:2}.control-panel{position:relative;top:unset;z-index:0;max-height:unset;width:100%;padding:10px;box-sizing:border-box}}.global-search-container{margin-bottom:15px;border-radius:4px;padding:10px;background-color:#f9f9f9}.library-icon-source{font-size:7px;color:var(--primary);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-icon-preview{flex:1;display:flex;align-items:center;justify-content:center}