:root{
  --bg:#ffffff; --surface:#f6f7fb; --surface2:#eef0f7; --ink:#131629; --muted:#454c66;
  --line:#e2e5f0; --accent:#6d28d9; --accent2:#2563eb; --accent-ink:#ffffff;
  --accent-soft:#ede9fe; --ring:rgba(37,99,235,.22);
  --radius:16px; --max:1120px; --shadow:0 10px 30px rgba(19,22,41,.08);
  --shadow-lg:0 18px 44px rgba(19,22,41,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
::selection{background:#ddd6fe;color:#2e1065}
[id]{scroll-margin-top:94px}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.65;font-size:17px;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--accent2)} a:hover{text-decoration:underline}
:focus-visible{outline:3px solid #93c5fd;outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:50}
.skip:focus{left:0}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.25rem}
img{max-width:100%;height:auto}
header.site{position:sticky;top:0;background:#020617;z-index:20;box-shadow:0 10px 24px rgba(2,6,23,.22)}
.nav{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;padding:.8rem 0}
.logo{font-weight:800;font-size:1.15rem;color:#f1f5f9;text-decoration:none;letter-spacing:-.01em}
.logo span{background:linear-gradient(90deg,#a78bfa,#60a5fa);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.nav nav{margin-left:auto;display:flex;gap:1.1rem;flex-wrap:wrap}
.nav nav a{color:#e2e8f0;text-decoration:none;font-weight:600;transition:color .15s ease}
.nav nav a:hover{color:#a78bfa}
.btn{display:inline-block;background:linear-gradient(90deg,var(--accent),var(--accent2));
  color:var(--accent-ink);padding:.7rem 1.3rem;border-radius:999px;font-weight:700;
  text-decoration:none;border:0;cursor:pointer;font-size:1rem;
  box-shadow:0 6px 18px rgba(109,40,217,.25);
  transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}
.btn:hover{text-decoration:none;opacity:.92;transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(109,40,217,.32)}
.btn:active{transform:translateY(0)}
.btn.secondary{background:var(--surface2);color:var(--ink);box-shadow:none}
.hero{background:radial-gradient(1100px 480px at 85% -10%,rgba(124,58,237,.35),rgba(124,58,237,0) 60%),
  radial-gradient(900px 420px at -10% 110%,rgba(37,99,235,.28),rgba(37,99,235,0) 55%),
  linear-gradient(135deg,#020617 0%,#1e1b4b 55%,#0f172a 100%);color:#f1f5f9;
  padding:4.2rem 0 3.4rem}
.hero h1{font-size:clamp(2rem,5vw,3.1rem);line-height:1.15;margin:.2rem 0 1rem;letter-spacing:-.02em;color:#fff;text-wrap:balance}
.hero p.lead{font-size:1.2rem;line-height:1.6;color:#cbd5e1;max-width:46rem}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:800;color:var(--accent)}
.hero .eyebrow{color:#a78bfa}
.hero .btn.secondary{background:#1e293b;color:#f1f5f9}
.ticks{list-style:none;margin:1.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem 1.4rem;
  color:#cbd5e1;font-size:.98rem}
.ticks li{position:relative;padding-left:1.35rem}
.ticks li::before{content:"\2713";position:absolute;left:0;color:#a78bfa;font-weight:800}
section{padding:2.8rem 0}
h1{font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.2;letter-spacing:-.01em;text-wrap:balance}
h2{font-size:1.55rem;line-height:1.3;margin:2.2rem 0 .8rem;letter-spacing:-.01em;text-wrap:balance}
h3{font-size:1.15rem;margin:1.4rem 0 .4rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.1rem}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.2rem 1.25rem;box-shadow:var(--shadow);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:#d3d8ee}
.card h3{margin-top:.2rem}
.card a{font-weight:700;text-decoration:none}
.card a:hover{text-decoration:underline}
.tag{display:inline-block;background:var(--surface2);border-radius:999px;padding:.12rem .65rem;
  font-size:.78rem;font-weight:700;color:var(--accent);margin-bottom:.5rem;letter-spacing:.02em}
.toolbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.4rem;box-shadow:var(--shadow);margin:1.6rem 0}
label{font-weight:700;display:block;margin:1rem 0 .35rem}
label:first-child{margin-top:0}
input[type=text],input[type=email],select,textarea{width:100%;padding:.7rem .8rem;font:inherit;
  border:1.5px solid #c6cbdd;border-radius:10px;background:#fff;color:var(--ink);
  transition:border-color .15s ease,box-shadow .15s ease}
input[type=text]:focus,input[type=email]:focus,select:focus,textarea:focus{
  border-color:var(--accent2);box-shadow:0 0 0 3px var(--ring);outline:none}
textarea{min-height:110px;resize:vertical}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.output{margin-top:1.2rem;display:grid;gap:.7rem}
.result{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem;
  display:flex;gap:.8rem;align-items:flex-start;justify-content:space-between;white-space:pre-wrap;word-break:break-word}
.result .txt{flex:1}
.copybtn{flex:none;background:var(--surface2);border:1px solid var(--line);border-radius:8px;
  padding:.35rem .7rem;cursor:pointer;font-weight:700;font:inherit;font-size:.85rem;
  transition:background .15s ease,border-color .15s ease}
.copybtn:hover{background:#e0e4f2;border-color:#c9cfe6}
.counts{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.8rem}
.counts .num{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.6rem 1rem;text-align:center}
.counts .num b{display:block;font-size:1.35rem}
table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.97rem}
th,td{border:1px solid var(--line);padding:.55rem .7rem;text-align:left}
th{background:var(--surface2)}
tr:nth-child(even) td{background:#fafbfe}
.ok{color:#067647;font-weight:700}.bad{color:#b42318;font-weight:700}
details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.9rem 1.1rem;margin:.6rem 0;
  transition:border-color .15s ease}
details:hover{border-color:#d3d8ee}
summary{font-weight:700;cursor:pointer}
summary:hover{color:var(--accent)}
summary::marker{color:var(--accent)}
details p{margin:.6rem 0 .15rem}
footer.site{background:#0f1226;color:#cfd3e8;margin-top:3rem;padding:2.6rem 0 1.6rem}
footer.site a{color:#e7e9f7;text-decoration:none}
footer.site a:hover{text-decoration:underline}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.4rem}
footer.site h3{color:#fff;margin-top:0}
.fine{border-top:1px solid #262a4a;margin-top:2rem;padding-top:1.1rem;font-size:.9rem;color:#9aa0c2}
.prose p,.prose li{color:#23263f;line-height:1.75;max-width:75ch}
.prose ul{padding-left:1.3rem}
.prose li{margin:.3rem 0}
.notice{background:#fff7e6;border:1px solid #f0d48a;border-radius:12px;padding:1rem 1.2rem;margin:1.2rem 0}
@media (max-width:860px){
  section{padding:2.2rem 0}
  .hero{padding:3.1rem 0 2.6rem}
  .nav nav{gap:.85rem}
}
@media (max-width:640px){
  .row{grid-template-columns:1fr}
  .nav{gap:.7rem;padding:.65rem 0}
  .nav nav{margin-left:0;gap:.75rem;font-size:.95rem}
  .toolbox{padding:1rem}
  .btn{padding:.65rem 1.1rem}
  .counts{gap:.6rem}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .card,.btn,.copybtn,.nav nav a,details,
  input[type=text],input[type=email],select,textarea{transition:none}
}
/* Language switcher + multilingual support (Phase A i18n, additive) */
.langswitch{position:relative}
.langswitch summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.45rem;
  background:#1e293b;color:#f1f5f9;border:1px solid #334155;border-radius:999px;
  padding:.42rem .85rem;font-weight:600;font-size:.92rem;white-space:nowrap;
  transition:background .15s ease,border-color .15s ease}
.langswitch summary::-webkit-details-marker{display:none}
.langswitch summary:hover{background:#273549;border-color:#475569}
.langswitch[open] summary{border-color:#a78bfa}
.langmenu{position:absolute;top:calc(100% + .5rem);inset-inline-end:0;z-index:40;min-width:11.5rem;
  background:#0f172a;border:1px solid #334155;border-radius:14px;padding:.4rem;
  box-shadow:0 18px 44px rgba(2,6,23,.45);display:grid;gap:.15rem}
.langitem{display:flex;align-items:center;gap:.55rem;padding:.5rem .7rem;border-radius:9px;
  color:#e2e8f0;font-weight:600;font-size:.95rem;text-decoration:none}
a.langitem:hover{background:#1e293b;text-decoration:none;color:#fff}
.langitem.active{color:#a78bfa}
.langitem .check{margin-inline-start:auto;color:#a78bfa;font-weight:800}
html[lang="ur"] body{font-family:"Noto Nastaliq Urdu","Urdu Typesetting",system-ui,-apple-system,
  "Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.95}
html[lang="ur"] .prose p,html[lang="ur"] .prose li,html[lang="ur"] .card p{line-height:2.05}
html[lang="hi"] body{font-family:"Noto Sans Devanagari",system-ui,-apple-system,"Segoe UI",Roboto,
  Helvetica,Arial,sans-serif}
html[lang="ur"] h1,html[lang="ur"] h2,html[lang="ur"] h3,html[lang="ur"] .logo,
html[lang="ur"] .eyebrow,html[lang="hi"] h1,html[lang="hi"] h2,html[lang="hi"] .eyebrow{letter-spacing:normal}
html[dir="rtl"] .nav nav{margin-left:0;margin-right:auto}
html[dir="rtl"] .ticks li{padding-left:0;padding-right:1.35rem}
html[dir="rtl"] .ticks li::before{left:auto;right:0}
html[dir="rtl"] .prose ul{padding-left:0;padding-right:1.3rem}
html[dir="rtl"] th,html[dir="rtl"] td{text-align:right}
html[dir="rtl"] .skip{left:auto;right:-9999px}
html[dir="rtl"] .skip:focus{left:auto;right:0}
@media (prefers-reduced-motion:reduce){
  .langswitch summary{transition:none}
}
