:root{
  --primary:#8B1A1A;--primary-dark:#5C0F0F;--secondary:#D4A017;
  --bg:#FDF6E3;--surface:#FFFFFF;--text:#2C1810;--text-light:#8B7355;
  --border:#C8A96E;--radius:12px;--shadow:0 4px 20px rgba(139,26,26,.12);
  --font-primary:'Noto Sans Devanagari','Segoe UI',Arial,sans-serif;
  --font-tirhuta:'Mithilauni','Noto Sans Tirhuta',serif;
}
[data-theme="dark"]{
  --bg:#1A1410;--surface:#241C16;--text:#F0E6D2;--text-light:#B0A090;--border:#4A3A28;
  --shadow:0 4px 20px rgba(0,0,0,.4);
}
@font-face{font-family:"Mithilauni";src:url("../fonts/Mithilauni.ttf") format("truetype");font-display:swap;}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--font-primary);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.6;transition:background .3s,color .3s;}
.tir-font{font-family:"Mithilauni","Noto Sans Tirhuta",serif!important;}
.noto-font{font-family:'Noto Sans Tirhuta',serif!important;}
.header{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;padding:20px;text-align:center;}
.header h1{font-size:clamp(1.4rem,4vw,2rem);}
.header h1 .highlight{color:var(--secondary);}
.subtitle{opacity:.9;font-size:clamp(.8rem,2vw,1rem);margin-top:4px;}
.top-controls{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap;}
.lang-switcher{display:flex;gap:8px;flex-wrap:wrap;}
.lang-btn{padding:6px 18px;border:2px solid rgba(255,255,255,.25);border-radius:25px;background:transparent;color:#fff;cursor:pointer;font-weight:600;transition:all .3s;font-family:inherit;}
.lang-btn:hover{background:rgba(255,255,255,.1);}
.lang-btn.active{background:var(--secondary);border-color:var(--secondary);color:var(--text);}
.theme-toggle{background:rgba(255,255,255,.15);border:none;border-radius:50%;width:40px;height:40px;font-size:1.2rem;cursor:pointer;}
.container{max-width:1100px;margin:16px auto;padding:0 16px;}
.seo-heading{font-size:1.2rem;color:var(--primary);margin-bottom:12px;}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:16px;box-shadow:var(--shadow);}
.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;}
.ctrl-group{display:flex;flex-direction:column;gap:3px;flex:1;min-width:120px;}
.ctrl-group label{font-size:.65rem;font-weight:700;color:var(--primary);text-transform:uppercase;}
.ctrl-group select{padding:8px 12px;border:2px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);cursor:pointer;width:100%;min-height:44px;font-family:var(--font-primary);}
.btn-swap{background:var(--secondary);border:none;border-radius:50%;width:44px;height:44px;font-size:1.2rem;cursor:pointer;color:var(--text);flex-shrink:0;}
.btn-swap:active{transform:rotate(180deg);}
.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
@media(max-width:700px){.editor-grid{grid-template-columns:1fr;}}
.panel{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);position:relative;}
.panel:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px rgba(139,26,26,.08);}
.panel-head{background:linear-gradient(90deg,var(--primary),var(--primary-dark));color:#fff;padding:8px 14px;font-weight:700;display:flex;justify-content:space-between;align-items:center;min-height:40px;border-radius:10px 10px 0 0;}
.count{font-size:.65rem;opacity:.8;background:rgba(255,255,255,.15);padding:2px 10px;border-radius:12px;}
textarea{width:100%;min-height:160px;height:auto;border:none;padding:12px 14px;font-size:clamp(1rem,2.5vw,1.15rem);line-height:2;resize:vertical;background:var(--bg);color:var(--text);font-family:var(--font-primary);border-radius:0 0 10px 10px;}
textarea:focus{outline:none;}
textarea[readonly]{background:var(--surface);}
.suggest-box{position:absolute;left:8px;right:8px;background:var(--surface);border:2px solid var(--primary);border-radius:8px;box-shadow:0 6px 20px rgba(139,26,26,.2);z-index:500;max-height:230px;overflow-y:auto;display:none;}
.suggest-box.show{display:block;}
.suggest-item{padding:10px 14px;cursor:pointer;font-size:1.05rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:10px;}
.suggest-item:last-child{border-bottom:none;}
.suggest-item.active,.suggest-item:hover{background:var(--secondary);color:var(--text);}
.suggest-item .roman{font-size:.72rem;color:var(--text-light);}
.action-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px;}
.action-bar-3{grid-template-columns:repeat(3,1fr);}
@media(max-width:500px){.action-bar,.action-bar-3{grid-template-columns:repeat(2,1fr);}}
.btn{padding:10px 8px;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:all .3s;font-family:var(--font-primary);min-height:44px;color:#fff;}
.btn:active{transform:scale(.96);}
.btn-primary{background:var(--primary);}.btn-secondary{background:var(--secondary);color:var(--text);}
.btn-outline{background:transparent;border:2px solid var(--border);color:var(--text);}
.btn-success{background:#2D6A4F;}.btn-pdf{background:#DC3545;}.btn-image{background:#6C3483;}
.phonetic-rules{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-top:14px;}
.rule-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:2px 10px;max-height:180px;overflow-y:auto;}
.phonetic-rules code{background:var(--text);color:var(--secondary);padding:1px 6px;border-radius:3px;font-family:monospace;font-size:.75rem;}
.rule-item{display:flex;gap:3px;padding:1px 0;}
.example{margin-top:10px;font-size:.85rem;color:var(--text-light);}
.about-section{margin-top:24px;padding:20px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);}
.about-section h3{color:var(--primary);}
.about-section p{font-size:.9rem;color:var(--text-light);margin-top:8px;}
.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(100px);background:var(--text);color:var(--surface);padding:12px 24px;border-radius:12px;opacity:0;transition:all .4s;z-index:9999;pointer-events:none;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.toast.success{background:#2D6A4F;color:#fff;}.toast.error{background:#B91C1C;color:#fff;}
.footer{text-align:center;padding:20px;color:var(--text-light);border-top:1px solid var(--border);margin-top:16px;}
.tirhuta-text{font-family:var(--font-tirhuta);font-size:1.1em;}
