:root{
  --bg: #0b0b0c;                 /* dark default */
  --card:#141417;
  --text:#f2f2f3;
  --muted:#9aa0a6;
  --brand:#46c2a1;
  --accent:#6aa7ff;
  --key:#1d1e23;
  --key-hover:#242630;
  --border:#262730;
}
[data-theme="light"]{
  --bg:#f7f7fb;
  --card:#ffffff;
  --text:#0b0b0c;
  --muted:#5f6368;
  --brand:#0aa37f;
  --accent:#1f6fff;
  --key:#f1f3f5;
  --key-hover:#e6e9ee;
  --border:#e7e7ef;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:"Noto Nastaliq Urdu","Noto Naskh Arabic", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  letter-spacing:0.1px;
}
.container{max-width:1100px;margin:0 auto;padding:24px}

/* Header */
.site-header{
  display:grid; grid-template-columns:1fr auto auto; gap:16px; align-items:center;
  background:linear-gradient(145deg,var(--brand),var(--accent)); padding:12px 16px; border-radius:16px; color:#fff;
}
.brand{display:flex;align-items:center;gap:12px}
.brand.small .logo{width:34px;height:34px}
.logo{width:40px;height:40px;border-radius:12px;background:#fff;display:grid;place-items:center;color:var(--brand);font-weight:800}
.title{display:flex;flex-direction:column;line-height:1}
.title b{font-size:20px}
.title small{opacity:.9}
.nav{display:flex;gap:14px;flex-wrap:wrap}
.nav a{color:#fff;text-decoration:none;opacity:.95}
.nav a:hover{opacity:1;text-decoration:underline}
.controls{display:flex;gap:8px;flex-wrap:wrap;justify-self:end}

/* Buttons & switches */
.btn{
  border:1px solid transparent;background:var(--key);color:var(--text);
  padding:10px 14px;border-radius:12px;cursor:pointer;font-size:14px;
  transition:transform .05s ease, background .2s ease; user-select:none;
}
.btn:hover{background:var(--key-hover)}
.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--brand);border-color:transparent;color:white}
.btn.ghost{background:rgba(255,255,255,0.2);color:#fff}
.switch{display:inline-flex;align-items:center;gap:8px;color:#fff}
.switch input{inline-size:46px;block-size:28px;appearance:none;background:var(--key);border:1px solid var(--border);border-radius:999px;position:relative;outline:none;cursor:pointer}
.switch input:checked{background:var(--brand)}
.switch input::after{content:"";position:absolute;inset-inline-start:2px;inset-block-start:2px;inline-size:22px;block-size:22px;background:#fff;border-radius:50%;transition:transform .2s}
/* RTL awareness: knob moves left when checked */
.switch input:checked::after{transform:translateX(-18px)}

/* Layout */
.grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin-top:16px}
@media (max-width: 980px){.grid{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px}
.card.subtle{background:transparent}
.muted{color:var(--muted)}

/* Editor */
.editor{display:flex;flex-direction:column;gap:10px}
.selects{display:flex;gap:8px;flex-wrap:wrap}
textarea{
  width:100%;min-height:280px;max-height:60vh;resize:vertical;
  background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:14px;
  padding:16px;font-size:22px;line-height:2;direction:rtl;outline:none;
}
.toolbar{display:flex;flex-wrap:wrap;gap:8px}
.stats{display:flex;gap:16px;color:var(--muted);font-size:14px}

/* Keyboard */
.kbd{display:grid;gap:8px}
.row{display:grid;grid-auto-flow:column;gap:8px}
.key{
  background:var(--key);border:1px solid var(--border);border-radius:12px;padding:10px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;min-width:40px;min-height:44px;user-select:none;
  transition:background .15s, transform .04s; font-size:20px;
}
.key:hover{background:var(--key-hover)}
.key:active{transform:translateY(1px)}
.key.wide{grid-column:span 2}
.key.space{min-width:100%;height:48px}

/* Ads placeholders */
.ads{margin:16px 0;padding:12px;border:1px dashed var(--border);border-radius:12px;text-align:center;color:var(--muted);font-size:14px}
.ads-top{min-height:90px}
.ads-inline{min-height:120px}
.ads-side{min-height:250px}
.ads-bottom{min-height:90px}

/* Footer */
.site-footer{margin-top:28px}
.foot-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.copyright{margin-top:8px;color:var(--muted);font-size:13px;text-align:center}