.modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 1000; align-items: center; justify-content: center; padding: 24px; }
        .modal-overlay.active { display: flex; }
        .modal { background: #fff; border-radius: 8px; padding: 40px; max-width: 420px; width: 100%; position: relative; animation: fadeUp 0.2s ease-out; }
        @keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
        .modal-close { position: absolute; top: 14px; right: 18px; background: none; border: none; font-size: 22px; color: #9ca3af; cursor: pointer; padding: 4px; line-height: 1; }
        .modal-close:hover { color: #0c0c0d; }
        .modal h3 { font-family: 'Bricolage Grotesque', sans-serif; font-size: 22px; font-weight: 700; letter-spacing: -0.5px; margin-bottom: 6px; }
        .modal .modal-desc { color: #6b7280; font-size: 14px; margin-bottom: 24px; }
        .modal-divider { display: flex; align-items: center; gap: 12px; margin: 18px 0; color: #9ca3af; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
        .modal-divider::before, .modal-divider::after { content: ""; flex: 1; height: 1px; background: #e5e7eb; }
        .modal-input { width: 100%; padding: 12px 14px; border: 1px solid #e5e7eb; border-radius: 4px; font-size: 16px; outline: none; transition: border-color 0.15s; }
        .modal-input:focus { border-color: #0055ff; }
        .modal-submit { width: 100%; padding: 12px; background: #0055ff; color: #fff; border: none; border-radius: 4px; font-size: 15px; font-weight: 600; cursor: pointer; margin-top: 10px; transition: background 0.15s; }
        .modal-submit:hover { background: #003ecb; }
        .modal-submit:disabled { background: #9ca3af; cursor: not-allowed; }
        .modal-note { font-size: 12px; color: #6b7280; margin-top: 12px; text-align: center; }
        .modal-error { color: #ef4444; font-size: 13px; margin-top: 8px; display: none; }
        .modal-success { text-align: center; }
        .modal-success .key-box { background: #0c0c0d; border-radius: 6px; padding: 16px; margin: 16px 0; text-align: left; }
        .modal-success .key-label { color: #6b7280; font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; }
        .modal-success .key-value { color: #67e8f9; font-family: monospace; font-size: 13px; word-break: break-all; cursor: pointer; }
        .modal-success .curl-box { background: #0c0c0d; border-radius: 6px; padding: 16px; margin: 16px 0; text-align: left; }
        .modal-success .curl-box pre { margin: 0; overflow-x: auto; white-space: pre-wrap; word-break: break-word; }
        .modal-success .curl-box code { color: #e5e7eb; font-family: monospace; font-size: 12px; line-height: 1.6; }
        #googleBtnBlog { display: flex; justify-content: center; min-height: 44px; }
