                    #giftext-tool-wrapper { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
                    #giftext-tool-wrapper * { box-sizing: border-box; }
                    .giftext-upload-area { border: 2px dashed #dee2e6; border-radius: 8px; padding: 40px; text-align: center; cursor: pointer; transition: all 0.3s; margin-bottom: 20px; background: #fafafa; }
                    .giftext-upload-area:hover { border-color: #4dabf7; background: #f0f7ff; }
                    .giftext-upload-area.dragover { border-color: #4dabf7; background: #e7f5ff; }
                    .giftext-upload-area p { margin: 0; color: #868e96; font-size: 14px; }
                    .giftext-upload-icon { font-size: 48px; margin-bottom: 12px; color: #339af0; }
                    #giftext-file-input { display: none; }

                    .giftext-info-bar { display: none; gap: 16px; margin-bottom: 16px; padding: 12px 16px; background: #f8f9fa; border-radius: 8px; font-size: 14px; color: #495057; }
                    .giftext-info-bar.active { display: flex; }

                    .giftext-preview-container { display: none; margin-bottom: 20px; text-align: center; background:#eee;}
                    .giftext-preview-container.active { display: block; }
                    .giftext-preview-box { position: relative; display: inline-block; line-height: 0;  overflow: hidden; max-width: 100%; background-color: #fff; background-image: linear-gradient(45deg, #e0e0e0 25%, transparent 25%), linear-gradient(-45deg, #e0e0e0 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #e0e0e0 75%), linear-gradient(-45deg, transparent 75%, #e0e0e0 75%); background-size: 16px 16px; background-position: 0 0, 0 8px, 8px -8px, -8px 0px; }
                    .giftext-preview-box img { display: block; max-width: 100%; max-height: 500px; }
                    .giftext-preview-box canvas { position: absolute; top: 0; left: 0; width: 100%; height: 100%; cursor: default; }
                    .giftext-drag-hint { font-size: 13px; color: #868e96; margin-top: 8px; }

                    .giftext-action-bar { display: none; gap: 12px; justify-content: center; margin-bottom: 20px; }
                    .giftext-action-bar.active { display: flex; }
                    .giftext-btn { padding: 10px 24px; border: none; border-radius: 6px; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.2s; display: inline-flex; align-items: center; }
                    .giftext-btn-download { background: linear-gradient(135deg, #51cf66 0%, #40c057 100%); color: white; }
                    .giftext-btn-download:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(64, 192, 87, 0.4); }
                    .giftext-btn-reset { background: #868e96; color: white; }
                    .giftext-btn-reset:hover { background: #495057; }

                    .giftext-text-panel { display: none; margin-bottom: 20px; padding: 20px; background: #f8f9fa; border-radius: 8px; }
                    .giftext-text-panel.active { display: block; }
                    .giftext-panel-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
                    .giftext-panel-header h3 { margin: 0; font-size: 16px; color: #212529; }
                    .giftext-btn-add { background: linear-gradient(135deg, #339af0 0%, #228be6 100%); color: white; border: none; padding: 8px 16px; border-radius: 6px; font-size: 14px; cursor: pointer; transition: all 0.2s; display: inline-flex; align-items: center; }
                    .giftext-btn-add:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(51, 154, 240, 0.4); }

                    .giftext-text-entry { background: #fff; border-radius: 8px; padding: 14px; margin-bottom: 12px; border: 1px solid #e9ecef; transition: border-color 0.2s; }
                    .giftext-text-entry:hover { border-color: #ced4da; }
                    .giftext-entry-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
                    .giftext-entry-header span { font-size: 14px; font-weight: 600; color: #495057; }
                    .giftext-btn-delete { background: none; border: none; font-size: 16px; color: #adb5bd; cursor: pointer; padding: 0 4px; line-height: 1; transition: color 0.2s; }
                    .giftext-btn-delete:hover { color: #ff6b6b; }

                    .giftext-entry-body { display: flex; flex-direction: column; gap: 8px; }
                    .giftext-entry-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
                    .giftext-entry-row label { font-size: 13px; color: #868e96; white-space: nowrap; }
                    .giftext-bold-label { display: flex; align-items: center; gap: 4px; cursor: pointer; }

                    .giftext-text-input { flex: 1; min-width: 120px; padding: 6px 10px; border: 1px solid #dee2e6; border-radius: 4px; font-size: 14px; outline: none; transition: border-color 0.2s; }
                    .giftext-text-input:focus { border-color: #339af0; }
                    .giftext-font-select { padding: 6px 8px; border: 1px solid #dee2e6; border-radius: 4px; font-size: 13px; outline: none; background: #fff; cursor: pointer; }
                    .giftext-font-select:focus { border-color: #339af0; }
                    .giftext-size-input { width: 60px; padding: 6px 8px; border: 1px solid #dee2e6; border-radius: 4px; font-size: 13px; text-align: center; outline: none; }
                    .giftext-size-input:focus { border-color: #339af0; }
                    .giftext-pos-input { width: 65px; padding: 6px 8px; border: 1px solid #dee2e6; border-radius: 4px; font-size: 13px; text-align: center; outline: none; }
                    .giftext-pos-input:focus { border-color: #339af0; }
                    .giftext-color-input { width: 32px; height: 28px; padding: 1px; border: 1px solid #dee2e6; border-radius: 4px; cursor: pointer; background: none; }
                    .giftext-bold-input { width: 16px; height: 16px; cursor: pointer; accent-color: #339af0; }

                    .giftext-progress-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 9999; justify-content: center; align-items: center; }
                    .giftext-progress-overlay.active { display: flex; }
                    .giftext-progress-box { background: #fff; border-radius: 12px; padding: 32px 48px; text-align: center; box-shadow: 0 8px 32px rgba(0,0,0,0.2); }
                    .giftext-progress-box p { margin: 0 0 16px; font-size: 16px; color: #212529; }
                    .giftext-progress-bar { width: 240px; height: 8px; background: #e9ecef; border-radius: 4px; overflow: hidden; margin-bottom: 12px; }
                    .giftext-progress-fill { height: 100%; width: 0%; background: linear-gradient(135deg, #339af0 0%, #228be6 100%); border-radius: 4px; transition: width 0.2s; }
                    #giftext-progress-text { font-size: 14px; color: #868e96; }

                    .giftext-seo { margin-top: 40px; padding: 0; line-height: 1.8; color: #495057; font-size: 15px; }
                    .giftext-seo h2 { font-size: 22px; font-weight: 700; color: #212529; margin: 36px 0 16px; padding-bottom: 10px; border-bottom: 2px solid #e9ecef; }
                    .giftext-seo h3 { font-size: 18px; font-weight: 600; color: #343a40; margin: 24px 0 12px; }
                    .giftext-seo p { margin: 0 0 14px; color: #495057; }
                    .giftext-seo ul { margin: 0 0 14px; padding-left: 24px; }
                    .giftext-seo li { margin-bottom: 8px; color: #495057; }
                    .giftext-seo .faq-item { margin-bottom: 20px; padding: 20px; background: #f8f9fa; border-radius: 8px; }
                    .giftext-seo .faq-item h3 { margin: 0 0 8px; font-size: 16px; color: #212529; }
                    .giftext-seo .faq-item p { margin: 0; font-size: 14px; color: #666; }