:root { --ama-primary: #0073e5; --ama-primary-dark: #005bb7; --ama-border: #ccd0d4; --ama-bg: #f6f7f7; --ama-text: #2c3338; --ama-error: #d63638; --ama-success: #2a722e; }
.ama-pro-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; max-width: 700px; margin: 2em auto; padding: 2em; background: #fff; border: 1px solid var(--ama-border); border-radius: 8px; box-shadow: 0 4px 10px rgba(0,0,0,0.05); position: relative; }
.ama-pro-input-group label { display: block; font-weight: 600; margin-bottom: .5em; color: var(--ama-text); }
#ama-pro-question { width: 100%; min-height: 120px; padding: 12px; border: 1px solid var(--ama-border); border-radius: 4px; font-size: 16px; line-height: 1.5; resize: vertical; box-sizing: border-box; transition: border-color .15s, box-shadow .15s; }
#ama-pro-question:focus { border-color: var(--ama-primary); box-shadow: 0 0 0 1px var(--ama-primary); outline: none; }
.ama-pro-word-counter { text-align: right; font-size: .85em; color: #646970; margin-top: 5px; }
#ama-pro-word-count.limit-exceeded { color: var(--ama-error); font-weight: bold; }
#ama-pro-submit-button { display: block; width: 100%; padding: 14px 20px; margin-top: 1.5em; font-size: 16px; font-weight: 600; color: #fff; background-color: var(--ama-primary); border: none; border-radius: 4px; cursor: pointer; transition: background-color .2s, transform .1s; }
#ama-pro-submit-button:hover:not(:disabled) { background-color: var(--ama-primary-dark); }
#ama-pro-submit-button:disabled { background-color: #a0a5aa; cursor: not-allowed; }
.ama-pro-result-box { margin-top: 2em; padding: 1.5em; background: var(--ama-bg); border-radius: 4px; color: var(--ama-text); line-height: 1.7; min-height: 100px; position: relative; }
.ama-pro-response.error { color: var(--ama-error); font-weight: bold; }
.ama-pro-loader { display: none; border: 4px solid #f3f3f3; border-radius: 50%; border-top: 4px solid var(--ama-primary); width: 40px; height: 40px; animation: ama-spin 1s linear infinite; margin: 20px auto; }
.ama-pro-result-box.loading .ama-pro-loader { display: block; }
@keyframes ama-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
/* Modal Styles */
.ama-pro-hidden { display: none !important; }
#ama-pro-limit-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.65); z-index: 99998; }
#ama-pro-limit-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: #fff; padding: 2.5em; border-radius: 8px; box-shadow: 0 5px 25px rgba(0,0,0,0.2); z-index: 99999; width: 90%; max-width: 500px; text-align: center; }
#ama-pro-modal-title { margin-top: 0; color: var(--ama-text); font-size: 1.5em; }
#ama-pro-modal-message { color: #555; line-height: 1.6; margin: 1em 0 1.5em 0; }
.ama-pro-modal-button { display: inline-block; padding: 12px 25px; font-size: 16px; font-weight: 600; color: #fff; background-color: var(--ama-primary); border-radius: 5px; text-decoration: none; }
.ama-pro-modal-close { position: absolute; top: 10px; right: 15px; background: transparent; border: none; font-size: 28px; color: #aaa; cursor: pointer; padding: 0; }
/* Toast Notification Styles */
#ama-pro-toast { position: fixed; top: 20px; left: 50%; transform: translateX(-50%); padding: 12px 25px; border-radius: 6px; color: #fff; font-size: 15px; font-weight: 500; z-index: 100000; box-shadow: 0 3px 10px rgba(0,0,0,0.2); opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s, top .3s; }
#ama-pro-toast.show { top: 40px; opacity: 1; visibility: visible; }
#ama-pro-toast.success { background-color: var(--ama-success); }
#ama-pro-toast.error { background-color: var(--ama-error); }