        /* ── Template Grid ── */
        .ig-tpl-grid {
          display: grid;
          grid-template-columns: repeat(3, 1fr);
          gap: 16px;
        }
        @media (max-width: 1024px) {
          .ig-tpl-grid { grid-template-columns: repeat(2, 1fr); }
        }
        @media (max-width: 640px) {
          .ig-tpl-grid { grid-template-columns: 1fr; }
        }

        /* ── Template Card ── */
        .ig-tpl-card {
          padding: 0;
          display: flex;
          flex-direction: column;
          overflow: hidden;
          transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                      box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .ig-tpl-card:hover {
          transform: translateY(-3px);
          box-shadow: var(--shadow-lg);
        }
        .ig-tpl-card-body {
          padding: 24px 24px 16px;
          flex: 1;
        }
        .ig-tpl-card-icon-wrapper {
          display: flex;
          align-items: center;
          justify-content: space-between;
          margin-bottom: 16px;
        }
        .ig-tpl-card-icon {
          width: 52px;
          height: 52px;
          border-radius: var(--radius-md);
          background: linear-gradient(135deg, rgba(255,249,71,0.15) 0%, rgba(124,58,237,0.10) 100%);
          display: flex;
          align-items: center;
          justify-content: center;
          color: #fff947;
          flex-shrink: 0;
        }
        .ig-tpl-card-name {
          font-size: 1.0625rem;
          font-weight: 650;
          letter-spacing: -0.01em;
          color: var(--text-primary);
          margin-bottom: 8px;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
        }
        .ig-tpl-card-desc {
          font-size: 0.8375rem;
          color: var(--text-secondary);
          line-height: 1.55;
          display: -webkit-box;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical;
          overflow: hidden;
          margin-bottom: 14px;
          min-height: 2.6em;
        }
        .ig-tpl-card-keywords {
          display: flex;
          flex-wrap: wrap;
          gap: 6px;
        }
        .ig-tpl-keyword-badge {
          font-size: 0.6875rem;
          padding: 2px 8px;
        }
        .ig-tpl-category-badge {
          font-size: 0.6875rem;
          padding: 2px 10px;
        }
        .ig-tpl-card-footer {
          padding: 14px 24px;
          border-top: 1px solid var(--border-glass);
          display: flex;
          justify-content: flex-end;
        }

        /* ── Template Card Extras ── */
        .ig-tpl-section-label {
          font-size: 0.6875rem;
          font-weight: 600;
          text-transform: uppercase;
          letter-spacing: 0.03em;
          color: var(--text-muted);
          margin-bottom: 6px;
          display: block;
        }
        .ig-tpl-usecases {
          margin-bottom: 12px;
        }
        .ig-tpl-usecase-list {
          list-style: none;
          padding: 0;
          margin: 0;
        }
        .ig-tpl-usecase-item {
          font-size: 0.7875rem;
          color: var(--text-secondary);
          padding: 3px 0;
          padding-left: 14px;
          position: relative;
        }
        .ig-tpl-usecase-item::before {
          content: "•";
          position: absolute;
          left: 2px;
          color: var(--primary);
        }
        .ig-tpl-usecase-more {
          color: var(--text-muted);
          font-style: italic;
        }
        .ig-tpl-result {
          margin-bottom: 12px;
          padding: 10px 12px;
          background: rgba(34, 197, 94, 0.08);
          border-radius: var(--radius-md);
          border-left: 3px solid #22c55e;
        }
        .ig-tpl-result-text {
          font-size: 0.7875rem;
          color: var(--text-secondary);
          line-height: 1.5;
        }
        .ig-tpl-placeholders {
          margin-bottom: 4px;
        }
        .ig-tpl-placeholder-list {
          display: flex;
          flex-wrap: wrap;
          gap: 6px;
        }
        .ig-tpl-placeholder-tag {
          font-size: 0.6875rem;
          padding: 2px 8px;
          background: rgba(124, 58, 237, 0.12);
          color: #a78bfa;
          border-radius: var(--radius-sm);
          font-family: var(--font-mono);
        }

        /* ── Customize Modal ── */
        .ig-tpl-modal-body {
          display: flex;
          flex-direction: column;
          gap: 16px;
          padding: 4px 4px;
        }
        .ig-tpl-modal-body::-webkit-scrollbar {
          width: 6px;
        }
        .ig-tpl-modal-body::-webkit-scrollbar-track {
          background: transparent;
        }
        .ig-tpl-modal-body::-webkit-scrollbar-thumb {
          background: var(--border-glass);
          border-radius: 3px;
        }
        .ig-tpl-modal-body::-webkit-scrollbar-thumb:hover {
          background: var(--text-muted);
        }
        .ig-tpl-modal-info {
          padding: 10px 14px;
          background: var(--bg-secondary);
          border-radius: var(--radius-md);
          border: 1px solid var(--border-glass);
        }
        .ig-tpl-modal-desc {
          font-size: 0.875rem;
          color: var(--text-secondary);
          margin: 0;
          line-height: 1.5;
        }
        .ig-tpl-modal-section {
          padding: 10px 14px;
          background: rgba(255,249,71, 0.04);
          border-radius: var(--radius-md);
          border: 1px solid rgba(255,249,71, 0.15);
        }
        .ig-tpl-modal-section-title {
          font-size: 0.8125rem;
          font-weight: 600;
          color: var(--text-primary);
          margin: 0 0 8px 0;
        }
        .ig-tpl-info-list {
          list-style: none;
          padding: 0;
          margin: 0;
        }
        .ig-tpl-info-list-item {
          font-size: 0.8rem;
          color: var(--text-secondary);
          padding: 4px 0 4px 16px;
          position: relative;
        }
        .ig-tpl-info-list-item::before {
          content: "✓";
          position: absolute;
          left: 0;
          color: #22c55e;
          font-weight: 600;
        }
        .ig-tpl-placeholders-guide {
          display: flex;
          flex-direction: column;
          gap: 8px;
        }
        .ig-tpl-placeholder-row {
          display: flex;
          align-items: center;
          gap: 12px;
        }
        .ig-tpl-placeholder-code {
          font-size: 0.75rem;
          padding: 3px 8px;
          background: rgba(124, 58, 237, 0.12);
          color: #a78bfa;
          border-radius: var(--radius-sm);
          font-family: var(--font-mono);
          white-space: nowrap;
        }
        .ig-tpl-placeholder-desc {
          font-size: 0.7875rem;
          color: var(--text-secondary);
        }
        .ig-tpl-form-group {
          display: flex;
          flex-direction: column;
          gap: 6px;
        }
        .ig-tpl-label {
          font-size: 0.8125rem;
          font-weight: 600;
          color: var(--text-secondary);
        }
        .ig-tpl-textarea {
          resize: vertical;
          min-height: 60px;
          font-family: var(--font-mono);
          font-size: 0.8375rem;
          line-height: 1.5;
        }
        .ig-tpl-form-row {
          display: flex;
          gap: 16px;
        }
        @media (max-width: 480px) {
          .ig-tpl-form-row { flex-direction: column; }
        }
        .ig-tpl-form-half {
          flex: 1;
        }
        .ig-tpl-form-actions {
          display: flex;
          justify-content: flex-end;
          padding-top: 8px;
        }

        /* ── Keyword Chips ── */
        .ig-tpl-keywords-container {
          display: flex;
          flex-wrap: wrap;
          gap: 6px;
          min-height: 32px;
        }
        .ig-tpl-keyword-chip {
          display: inline-flex;
          align-items: center;
          gap: 4px;
          padding: 4px 10px;
          border-radius: var(--radius-full);
          background: rgba(255,249,71, 0.12);
          color: #fff947;
          font-size: 0.8125rem;
          font-weight: 500;
        }
        .ig-tpl-chip-remove {
          background: none;
          border: none;
          color: inherit;
          cursor: pointer;
          padding: 0 2px;
          font-size: 1rem;
          line-height: 1;
          opacity: 0.7;
          transition: opacity 0.15s ease;
        }
        .ig-tpl-chip-remove:hover {
          opacity: 1;
        }
        .ig-tpl-keyword-input-row {
          display: flex;
          gap: 8px;
          margin-top: 8px;
        }
        .ig-tpl-keyword-input-row .input {
          flex: 1;
        }
