@font-face {
  font-family: "A J Kunheing E-T-M 05";
  src: url("https://fonttai.com/api/font-file-by-id/d2b05451-abf8-4fe9-9d35-9a6deb54d62a") format("truetype");
  font-display: swap;
}
:root { --primary: #168653; --primary-dark: #116b42; --primary-light: #e8f5ee; --line: #e2e8f0; --muted: #64748b; }
* { box-sizing: border-box; }
body { background: #f6f8fb; color: #16202c; }
.shan-text, .shan-font { font-family: "A J Kunheing E-T-M 05", "Noto Sans Thai", sans-serif; }
.navbar-brand { letter-spacing: -.02em; }
.brand-icon { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 14px; color: white; background: var(--primary); }
.brand-subtitle { font-size: .58rem; letter-spacing: .12em; }
.hero { display: flex; gap: 1rem; align-items: center; padding: 1.25rem; background: linear-gradient(120deg,#eaf7ef,#fff); border: 1px solid #d9eee1; border-radius: 1.25rem; }
.hero-symbol { width: 54px; height: 54px; flex: 0 0 54px; display: grid; place-items: center; border-radius: 18px; color: white; background: var(--primary); font-size: 1.35rem; }
.eyebrow { color: var(--primary); font-size: .7rem; font-weight: 800; letter-spacing: .14em; }
.panel { height: fit-content; background: #fff; border: 1px solid var(--line); border-radius: 1.25rem; box-shadow: 0 5px 24px rgba(15,23,42,.035); }
.form-control, .form-select { border-color: #dbe3ec; border-radius: .8rem; padding: .8rem .9rem; }
.form-control:focus, .form-select:focus { border-color: var(--primary); box-shadow: 0 0 0 .2rem rgba(22,134,83,.12); }
#textInput { line-height: 1.9; resize: vertical; min-height: 220px; font-size: 1.05rem; }
.counter { color: var(--muted); font-size: .8rem; font-variant-numeric: tabular-nums; }
.btn-primary { --bs-btn-bg: var(--primary); --bs-btn-border-color: var(--primary); --bs-btn-hover-bg: var(--primary-dark); --bs-btn-hover-border-color: var(--primary-dark); --bs-btn-active-bg: var(--primary-dark); --bs-btn-active-border-color: var(--primary-dark); }
#generateBtn { border-radius: .9rem; padding: .9rem; }
#generateBtn:disabled { opacity: .55; }
.success-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: var(--primary); background: var(--primary-light); }
.empty-state { padding: 1.5rem .5rem; text-align: center; color: #94a3b8; }
.empty-state i { font-size: 1.8rem; }
.history-item { padding: .8rem 0; border-bottom: 1px solid #eef2f6; }
.history-item:last-child { border-bottom: 0; }
.history-text { overflow-wrap: anywhere; font-size: .9rem; }
.history-date { font-size: .75rem; color: var(--muted); }
footer { color: var(--muted); }
@media (max-width: 575.98px) { .hero { align-items: flex-start; } .hero-symbol { width: 44px; height: 44px; flex-basis: 44px; border-radius: 14px; } }

.brand-logo { width: 46px; height: 46px; object-fit: contain; border-radius: 12px; }
.language-select { min-width: 112px; border-radius: .65rem; padding-top: .45rem; padding-bottom: .45rem; }
