/* Clean, modern UI */
.jpt-wrap { display:flex; justify-content:center; padding:20px; }
.jpt-card { width:100%; max-width:860px; background:#fff; border:1px solid #e5e7eb; border-radius:14px; padding:18px; box-shadow:0 10px 24px rgba(0,0,0,.06); }
.jpt-title { font-size:22px; margin:0 0 12px; }
.jpt-direction { display:flex; gap:16px; margin-bottom:10px; color:#374151; }
.jpt-inputbox { position:relative; }
.jpt-inputbox textarea { width:100%; resize:vertical; padding:12px 14px; border:1px solid #d1d5db; border-radius:12px; font-size:16px; min-height:120px; }
.jpt-toolbar { display:flex; gap:8px; align-items:center; justify-content:flex-end; margin-top:8px; }
.jpt-toolbar button { padding:8px 12px; border:1px solid #d1d5db; background:#fff; border-radius:10px; cursor:pointer; }
.jpt-toolbar #jpt-translate { background:#111827; color:#fff; border-color:#111827; }
.jpt-output { margin-top:14px; border:1px solid #e5e7eb; border-radius:12px; padding:12px; min-height:80px; background:#fafafa; }
.jpt-actions { display:flex; justify-content:flex-end; margin-top:10px; }
.jpt-actions button { padding:8px 12px; border:1px solid #d1d5db; background:#fff; border-radius:10px; cursor:pointer; }
.jpt-placeholder { color:#6b7280; }
.jpt-loading { opacity:.7; position:relative; }
.jpt-loading:after { content:''; position:absolute; top:12px; right:12px; width:18px; height:18px; border:2px solid #9ca3af; border-top-color:transparent; border-radius:50%; animation:jptspin 0.9s linear infinite; }
@keyframes jptspin { to { transform: rotate(360deg); } }
