.htp-wrap{max-width:1100px;margin:25px auto;padding:22px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-sizing:border-box;font-family:inherit;color:#1f2937;box-shadow:0 8px 30px rgba(0,0,0,.06)}
.htp-header{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:20px}.htp-header h2{margin:0 0 5px;font-size:26px}.htp-header p{margin:0;color:#6b7280;font-size:14px}
.htp-mode{display:flex;gap:6px}.htp-mode-btn,.htp-btn,.htp-key,.htp-suggestion{border:1px solid #d1d5db;background:#f9fafb;color:#111827;border-radius:8px;padding:9px 13px;cursor:pointer;font-size:14px}.htp-mode-btn.active,.htp-btn.primary{background:#111827;color:#fff;border-color:#111827}
.htp-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.htp-panel{position:relative}.htp-panel label{display:block;font-weight:600;margin-bottom:7px}.htp-input,.htp-output{width:100%;min-height:230px;resize:vertical;border:1px solid #d1d5db;border-radius:10px;padding:14px;font:inherit;line-height:1.7;box-sizing:border-box;background:#fff;color:#111827}.htp-output{background:#fafafa}
.htp-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.htp-suggestions{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;min-height:0}.htp-suggestion{padding:5px 9px}.htp-suggestion small{opacity:.65}
.htp-keyboard{border-top:1px solid #eee;padding-top:15px}.htp-keyboard-title{font-weight:600;margin-bottom:9px}.htp-keys{display:flex;flex-wrap:wrap;gap:6px}.htp-key{min-width:42px;padding:8px 9px}
.htp-stats{display:flex;flex-wrap:wrap;gap:18px;border-top:1px solid #eee;margin-top:16px;padding-top:13px;font-size:13px;color:#6b7280}.htp-stats strong{color:#111827}.htp-notice{min-height:22px;margin-top:8px;font-size:13px}.htp-brand{font-size:11px;color:#9ca3af;text-align:right;margin-top:5px}
@media(max-width:720px){.htp-wrap{padding:15px}.htp-header{flex-direction:column;align-items:flex-start}.htp-grid{grid-template-columns:1fr}.htp-header h2{font-size:22px}.htp-mode{width:100%}.htp-mode-btn{flex:1}.htp-key{min-width:36px}.htp-stats{gap:10px}}
