@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;inset:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;inset:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media(pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.image-cropper{margin-top:16px;padding:14px;background:#f8f9fb;border:1px solid #dde1e8;border-radius:8px}.cropper-label{font-weight:600;font-size:.9rem;margin-bottom:4px;color:#2c3e50}.cropper-hint{font-size:.75rem;color:#888;margin:0 0 10px}.crop-canvas-wrapper{display:flex;justify-content:center;background:repeating-conic-gradient(#ccc 0% 25%,#fff 0% 50%) 0 0 / 12px 12px;border-radius:4px;overflow:hidden}.cropper-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.crop-apply-btn,.crop-download-btn{flex:1;min-width:140px;padding:8px 14px;border:none;border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;transition:opacity .15s,background .15s}.crop-apply-btn{background:#00bfff;color:#fff}.crop-apply-btn:hover:not(:disabled){background:#09c}.crop-download-btn{background:#2ecc71;color:#fff;border:1px solid #27ae60}.crop-download-btn:hover:not(:disabled){background:#27ae60}.crop-apply-btn:disabled,.crop-download-btn:disabled{opacity:.45;cursor:not-allowed}.saved-collections-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.saved-collections-content{background:#fff;border-radius:12px;width:90%;max-width:1000px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003}.auth-required{padding:3rem;text-align:center;color:#86868b}.collections-layout{display:grid;grid-template-columns:280px 1fr;overflow:hidden;flex:1}.collections-list{border-right:1px solid #e5e5e7;overflow-y:auto;padding:1rem}.collections-list h3{font-size:.9rem;font-weight:600;color:#86868b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem;padding:0 .5rem}.collection-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-radius:8px;cursor:pointer;transition:background .2s;margin-bottom:.25rem}.collection-item:hover{background:#f5f5f7}.collection-item.active{background:#e5e5e7}.collection-info{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.collection-name{font-weight:500;color:#1d1d1f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-count{color:#86868b;font-size:.85rem}.delete-btn{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:4px;color:#86868b;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s}.collection-item:hover .delete-btn{opacity:1}.delete-btn:hover{background:#ff3b30;color:#fff}.collection-preview{padding:1.5rem;overflow-y:auto}.collection-preview h3{font-size:1.25rem;font-weight:600;color:#1d1d1f;margin-bottom:1.5rem}.icons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:1rem}.icon-card{aspect-ratio:1;border:1px solid #e5e5e7;border-radius:8px;padding:.75rem;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .2s;position:relative;overflow:hidden}.icon-card:hover{border-color:#7b68ee;box-shadow:0 4px 12px #7b68ee26}.icon-preview{width:100%;flex:1;display:flex;align-items:center;justify-content:center}.icon-preview svg{max-width:100%;max-height:100%}.icon-actions{position:absolute;bottom:.5rem;right:.5rem;opacity:0;transition:opacity .2s;display:flex;gap:.25rem}.icon-card:hover .icon-actions{opacity:1}.icon-actions button{color:#fff;border:none;border-radius:4px;padding:.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.download-icon-btn{background:#7b68ee}.download-icon-btn:hover{background:#6a5acd}.delete-icon-btn{background:#ff3b30}.delete-icon-btn:hover{background:#d32f2f}@media(max-width:768px){.saved-collections-content{width:95%;max-height:90vh}.collections-layout{grid-template-columns:1fr}.collections-list{border-right:none;border-bottom:1px solid #e5e5e7;max-height:200px}.icons-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}}.save-to-collection-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.save-to-collection-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003}.modal-body{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem}.error-banner{background:#fff5f5;border:1px solid #ff3b30;border-radius:8px;padding:.75rem 1rem;margin:0 1.5rem;display:flex;align-items:center;gap:.5rem;color:#ff3b30;font-size:.9rem}.icon-preview-section{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;background:#f5f5f7;border-radius:8px}.icon-preview-box{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;padding:1rem}.icon-preview-box svg{max-width:100%;max-height:100%}.icon-name{font-weight:500;color:#1d1d1f;font-size:.9rem}.collections-section h3,.new-collection-form h3{font-size:.9rem;font-weight:600;color:#86868b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.collections-list-save{display:flex;flex-direction:column;gap:.5rem}.collection-option{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#f5f5f7;border:1px solid #e5e5e7;border-radius:8px;cursor:pointer;transition:all .2s;font-size:.95rem;color:#1d1d1f;width:100%;text-align:left}.collection-option:hover:not(:disabled){background:#fff;border-color:#7b68ee;box-shadow:0 2px 8px #7b68ee26}.collection-option:disabled{opacity:.5;cursor:not-allowed}.collection-option .collection-name{flex:1;font-weight:500}.collection-option .icon-count{color:#86868b;font-size:.85rem}.new-collection-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1rem;background:#7b68ee;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s;width:100%}.new-collection-btn:hover:not(:disabled){background:#6a5acd}.new-collection-btn:disabled{opacity:.5;cursor:not-allowed}.new-collection-form{display:flex;flex-direction:column;gap:1rem}.input-group input{width:100%;padding:.875rem 1rem;border:1px solid #e5e5e7;border-radius:8px;font-size:.95rem;transition:border-color .2s}.form-actions{display:flex;gap:.75rem}.cancel-btn,.create-btn{flex:1;padding:.875rem 1rem;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.cancel-btn{background:#f5f5f7;color:#1d1d1f}.cancel-btn:hover:not(:disabled){background:#e5e5e7}.create-btn{background:#7b68ee;color:#fff}.create-btn:hover:not(:disabled){background:#6a5acd}.cancel-btn:disabled,.create-btn:disabled{opacity:.5;cursor:not-allowed}.loading-state{padding:2rem;text-align:center;color:#86868b;display:flex;flex-direction:column;align-items:center;gap:.75rem}.loading-state svg.spin{animation:spin 1s linear infinite}@media(max-width:768px){.save-to-collection-content{width:95%}.modal-body{padding:1rem}}.save-settings-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.save-settings-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e5e7}.modal-header h2{font-size:1.5rem;font-weight:600;color:#1d1d1f;margin:0}.close-btn{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#86868b;transition:all .2s}.close-btn:hover{background:#f5f5f7;color:#1d1d1f}.error-message{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:#fff3f3;color:#ff3b30;font-size:.9rem}.save-section,.existing-section{padding:1.5rem}.save-section{border-bottom:1px solid #e5e5e7}.save-section h3,.existing-section h3{font-size:1rem;font-weight:600;color:#1d1d1f;margin:0 0 1rem}.input-group{display:flex;gap:.5rem}.input-group input{flex:1;padding:.75rem;border:1px solid #d2d2d7;border-radius:8px;font-size:1rem;transition:border-color .2s}.input-group input:focus{outline:none;border-color:#7b68ee}.input-group input:disabled{background:#f5f5f7;cursor:not-allowed}.save-btn{padding:.75rem 1.5rem;background:#7b68ee;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.save-btn:hover:not(:disabled){background:#6a5acd}.save-btn:disabled{background:#d2d2d7;cursor:not-allowed}.loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:#86868b}.loading svg.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.settings-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border:1px solid #e5e5e7;border-radius:8px;cursor:pointer;transition:all .2s}.settings-item:hover{border-color:#7b68ee;background:#f9f9fb}.settings-info{display:flex;align-items:center;gap:.5rem;color:#1d1d1f}.settings-info span{font-weight:500}.settings-item svg:last-child{color:#86868b}.success-modal-overlay{position:fixed;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:2000}.success-modal-close{position:absolute;top:12px;right:12px;background:none;border:none;cursor:pointer;color:#86868b;border-radius:50%;padding:.3rem;transition:background .2s}.success-modal-close:hover{background:#f5f5f7;color:#1d1d1f}.success-modal-content{position:relative;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000002e;padding:2rem 2.5rem;min-width:320px;display:flex;flex-direction:column;align-items:center;animation:fadeIn .2s}.success-modal-title{font-size:1.2rem;font-weight:700;color:#2d7be5;margin-bottom:.5rem}.success-modal-message{font-size:1.1rem;color:#1d1d1f;margin-bottom:.2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.view-settings-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.view-settings-content{background:#fff;border-radius:12px;width:90%;max-width:1000px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003}.settings-container{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem}.settings-group{background:#f5f5f7;border-radius:8px;padding:1rem}.settings-group h3{font-size:.9rem;font-weight:600;color:#86868b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #e5e5e7}.setting-row:last-child{border-bottom:none}.setting-label{font-size:.9rem;color:#1d1d1f;font-weight:500}.setting-value{font-size:.9rem;color:#86868b;font-family:monospace}.settings-footer{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f5f5f7;border-radius:8px;font-size:.85rem;color:#86868b}.empty-state{padding:3rem;text-align:center;color:#86868b}.empty-state svg{margin-bottom:1rem;color:#d2d2d7}.empty-state small{display:block;margin-top:.5rem;font-size:.9rem}.loading{padding:3rem;text-align:center;color:#86868b}.loading svg.spin{animation:spin 1s linear infinite;margin-bottom:1rem}.error-message{padding:2rem;text-align:center;color:#ff3b30;display:flex;flex-direction:column;align-items:center;gap:1rem}.error-message button{padding:.5rem 1rem;background:#7b68ee;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:background .2s}.error-message button:hover{background:#6a5acd}.auth-required{padding:3rem 1.5rem;text-align:center;color:#86868b}.auth-required svg{margin-bottom:1rem;color:#d2d2d7}.settings-layout{display:grid;grid-template-columns:280px 1fr;overflow:hidden;flex:1}.settings-list{border-right:1px solid #e5e5e7;overflow-y:auto;padding:1rem}.settings-list h3{font-size:.9rem;font-weight:600;color:#86868b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem;padding:0 .5rem}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-radius:8px;cursor:pointer;transition:background .2s;margin-bottom:.25rem}.settings-item:hover{background:#f5f5f7}.settings-item.active{background:#e5e5e7}.settings-info{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.settings-name{font-weight:500;color:#1d1d1f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-actions{display:flex;gap:.25rem}.load-btn,.settings-actions .delete-btn{border:none;cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#fff!important;opacity:0}.load-btn svg,.settings-actions .delete-btn svg{color:#fff!important}.settings-item:hover .load-btn,.settings-item:hover .settings-actions .delete-btn{opacity:1}.load-btn{background:#7b68ee}.load-btn:hover{background:#6a5acd}.settings-actions .delete-btn{background:#ff3b30}.settings-actions .delete-btn:hover{background:#d32f2f}.settings-preview{padding:1.5rem;overflow-y:auto}.settings-details h3{font-size:1.25rem;font-weight:600;color:#1d1d1f;margin-bottom:1.5rem}.settings-group h4{font-size:.9rem;font-weight:600;color:#86868b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#86868b}.no-selection svg{margin-bottom:1rem;color:#d2d2d7}@media(max-width:768px){.view-settings-content{width:95%;max-height:90vh}.settings-layout{grid-template-columns:1fr}.settings-list{border-right:none;border-bottom:1px solid #e5e5e7;max-height:200px}.settings-container{padding:1rem}.setting-row{flex-direction:column;align-items:flex-start;gap:.25rem}.setting-value{margin-left:0}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 20px #00000026;position:relative}.close-modal{position:absolute;top:12px;right:12px;background:none;border:none;font-size:28px;cursor:pointer;color:#666;line-height:1;padding:4px 8px}.close-modal:hover{color:#000}.modal-btn{width:100%;padding:12px;background:#34c759;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.modal-btn:hover{background:#30b350}.gradient-warning{max-width:500px}.warning-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;color:#ff6b6b}.warning-header h2{margin:0;font-size:14px;font-weight:600}.warning-body{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.warning-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#f8f9fa;border-radius:8px}.warning-item svg{flex-shrink:0;margin-top:2px;color:#495057}.warning-item p{margin:0;line-height:1.6;color:#212529}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f7;color:#1d1d1f}.app{min-height:100vh;display:flex;flex-direction:column}header{background:#fff;padding:2rem;border-bottom:1px solid #d2d2d7;position:relative}.header-content{max-width:1400px;margin:0 auto;width:100%}.header-title{text-align:center}.login-button-container{position:absolute;right:2rem;top:50%;transform:translateY(-50%)}header h1{font-size:2.5rem;font-weight:600;margin-bottom:.5rem;color:#1d1d1f}header p{color:#86868b;font-size:1.1rem}.login-btn-wrapper{position:relative;display:inline-block}.login-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#7b68ee;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .4s,color .4s}.login-btn:hover{background:linear-gradient(-45deg,#ff1493,#7b68ee);color:gold}.login-btn-wrapper:hover .login-tooltip{visibility:visible;opacity:1}.user-logged-in{display:flex;align-items:center;gap:.75rem}.user-greeting{font-size:.95rem;color:#1d1d1f;font-weight:500}.user-info{display:flex;align-items:center;gap:.75rem}.user-email{font-size:.9rem;color:#1d1d1f;font-weight:500}.logout-btn{padding:.5rem 1rem;background:#f5f5f7;color:#1d1d1f;border:1px solid #d2d2d7;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .2s}.logout-btn:hover{background:#e8e8ed}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.auth-modal{background:#fff;border-radius:12px;padding:2rem;width:90%;max-width:400px;position:relative;box-shadow:0 10px 40px #0003}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;color:#86868b;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close:hover{color:#1d1d1f}.auth-modal h2{font-size:1.75rem;font-weight:600;margin-bottom:.5rem;color:#1d1d1f}.modal-subtitle{color:#86868b;font-size:.95rem;margin-bottom:1.5rem}.social-auth{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.social-btn{display:flex;align-items:center;justify-content:center;gap:.625rem;padding:.75rem;border:1px solid #d2d2d7;border-radius:8px;background:#fff;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s}.social-btn:hover{background:#f5f5f7;border-color:#86868b}.social-btn:disabled{opacity:.5;cursor:not-allowed}.divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:#86868b;font-size:.85rem}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid #d2d2d7}.divider span{padding:0 .75rem}.auth-modal form{display:flex;flex-direction:column;gap:.75rem}.auth-modal input[type=email],.auth-modal input[type=password]{padding:.75rem;border:1px solid #d2d2d7;border-radius:8px;font-size:.95rem;transition:border-color .2s}.auth-modal input:focus{outline:none;border-color:#0071e3}.auth-modal input:disabled{background:#f5f5f7;cursor:not-allowed}.auth-error{color:#ff3b30;font-size:.85rem;padding:.5rem;background:#fff5f5;border-radius:6px}.auth-submit-btn{padding:.75rem;background:#0071e3;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;margin-top:.5rem;transition:background .2s}.auth-submit-btn:hover{background:#0077ed}.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed}.auth-toggle{text-align:center;margin-top:1.5rem;font-size:.9rem;color:#86868b}.auth-toggle button{background:none;border:none;color:#0071e3;font-size:.9rem;font-weight:500;cursor:pointer;text-decoration:underline}.auth-toggle button:hover{color:#0077ed}.auth-toggle button:disabled{opacity:.5;cursor:not-allowed}.container{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:2rem;max-width:1400px;margin:0 auto;width:100%}.panel{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column}.panel h2{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:#1d1d1f}.section{margin-bottom:1.5rem}.section label{display:flex;align-items:center;justify-content:space-between;font-weight:500;margin-bottom:.5rem;color:#1d1d1f;font-size:.95rem}.section label a{color:#0071e3;text-decoration:none;font-size:.9rem;font-weight:400}.section label a:hover{text-decoration:underline}.section input[type=text],.section input[type=url],.section input[type=number],.section input[type=file],.section select{width:100%;padding:.75rem;border:1px solid #d2d2d7;border-radius:8px;font-size:1rem;transition:border-color .2s}.section input[type=text]:focus,.section input[type=url]:focus,.section input[type=number]:focus{outline:none;border-color:#0071e3}.section small{display:block;margin-top:.25rem;color:#86868b;font-size:.85rem}.radio-group{display:flex;gap:1rem}.radio-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.radio-group input[type=radio]{cursor:pointer}.section label input[type=checkbox]{margin-right:.5rem;cursor:pointer}.checkbox-inline{display:flex;align-items:center;gap:6px;font-size:.9em;opacity:.8}.label-row{display:flex;align-items:center;justify-content:space-between}.color-gradient{display:flex;align-items:center;gap:.5rem}.color-gradient .color-input-wrapper{flex:1}.color-gradient span{color:#86868b;font-weight:600}.color-input-wrapper{display:flex;align-items:center;gap:.5rem;position:relative;flex:1}.color-input-wrapper input[type=text]{flex:1}.color-picker{width:40px;height:40px;flex-shrink:0;border:1px solid #d2d2d7;border-radius:8px;cursor:pointer;background:none;padding:2px;transition:border-color .2s,transform .1s}.color-picker:hover{border-color:#0071e3;transform:scale(1.05)}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker::-webkit-color-swatch{border:none;border-radius:6px}.color-picker::-moz-color-swatch{border:none;border-radius:6px}.direction-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:500}.direction-toggle:hover{opacity:.7}.preview-box{margin-top:auto;padding-top:1.5rem;border-top:1px solid #d2d2d7}.preview-label{font-weight:500;margin-bottom:1rem;color:#1d1d1f}.preview-box img{width:100%;max-width:300px;height:300px;object-fit:contain;margin:0 auto;display:block;background:linear-gradient(45deg,#f0f0f0 25%,transparent 25%),linear-gradient(-45deg,#f0f0f0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f0f0f0 75%),linear-gradient(-45deg,transparent 75%,#f0f0f0 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;border-radius:8px;padding:1rem}.preview-placeholder{width:100%;max-width:300px;height:300px;margin:0 auto;display:flex;align-items:center;justify-content:center;background:#f5f5f7;border:2px dashed #d2d2d7;border-radius:8px;color:#86868b;text-align:center;padding:2rem}.generate-btn{width:100%;padding:.75rem;background:#00bfff;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.generate-btn:hover:not(:disabled){background:#00ace6}.generate-btn:disabled{background:#d2d2d7;cursor:not-allowed}.user-actions{display:flex;gap:.5rem;margin-bottom:1rem}.action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:#fff!important;color:#1d1d1f!important;border:2px solid;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.action-btn svg{color:#1d1d1f!important}.action-btn.save-settings-btn,.action-btn.view-settings-btn{border-color:#00bfff}.action-btn.save-settings-btn:hover,.action-btn.view-settings-btn:hover{background:#00bfff!important;color:#fff!important}.action-btn.save-settings-btn:hover svg,.action-btn.view-settings-btn:hover svg{color:#fff!important}.action-btn:hover{box-shadow:0 2px 8px #00000026}.collection-actions{display:flex;align-items:center;gap:8px;margin-top:.75rem}.collection-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:#fff!important;color:#1d1d1f!important;border:2px solid #34c759;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.collection-btn svg{color:#1d1d1f!important}.collection-btn:hover{background:#34c759!important;color:#fff!important;box-shadow:0 2px 8px #00000026}.collection-btn:hover svg{color:#fff!important}.save-icon-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:#7b68ee;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s;margin-top:.75rem}.save-icon-btn:hover{background:#6a5acd}.download-btn{width:100%;padding:.75rem;background:#34c759;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s;margin-top:1rem}.download-btn:hover{background:#30b350}.download-btn.compact{width:auto;padding:.4rem .7rem;font-size:.8rem;font-weight:600;border-radius:6px;margin-top:0}.download-actions{display:flex;align-items:center;gap:8px;margin-top:10px}.download-actions span{opacity:.7;font-size:.9em;margin-right:4px}.ai-discovery{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid #f0f0f0}.ai-search-box{display:flex;gap:.5rem;align-items:stretch}.ai-search-box input{flex:1;padding:.75rem;border:1px solid #d2d2d7;border-radius:8px;font-size:1rem;transition:border-color .2s}.ai-search-box input:focus{outline:none;border-color:#00bfff}.ai-search-btn{padding:.75rem 1.25rem;background:linear-gradient(135deg,#7b68ee,#ff1493);color:#fff;border:none;border-radius:8px;font-size:1.2rem;cursor:pointer;transition:opacity .2s;min-width:60px}.ai-search-btn:hover:not(:disabled){opacity:.9}.ai-search-btn:disabled{opacity:.5;cursor:not-allowed}.ai-suggestions{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.5rem}.suggestion-chip{padding:.5rem .75rem;background:#f5f5f7;border:1px solid #d2d2d7;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s;color:#1d1d1f;font-family:SF Mono,Monaco,Courier New,monospace}.suggestion-chip:hover{background:#0071e3;color:#fff;border-color:#0071e3;transform:translateY(-1px)}.ai-loading-message{margin-top:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid rgba(102,126,234,.2);border-radius:8px;color:#7b68ee;font-size:.9rem;text-align:center;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.error{padding:.75rem;background:#ff3b30;color:#fff;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.warning{padding:.75rem;background:#f5c542;color:#1d1d1f;border-radius:8px;margin-bottom:1rem;font-size:.9rem;font-weight:500}footer{background:#fff;padding:1.5rem;text-align:center;border-top:1px solid #d2d2d7;color:#86868b}footer a{color:#0071e3;text-decoration:none;font-weight:500}footer a:hover{text-decoration:underline}@media(max-width:968px){.container{grid-template-columns:1fr}header{padding:1.5rem}.header-content{display:flex;flex-direction:column;align-items:center}header h1{font-size:2rem}.login-button-container{position:static;transform:none;margin-top:1rem;align-self:flex-end}.login-btn{padding:.5rem .75rem}.login-btn svg{width:25px;height:25px}.user-greeting{font-size:.85rem}.preview-box img,.preview-placeholder{max-width:250px;height:250px}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#1d1d1f;background-color:#f5f5f7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}
