:root{--bg:#020617;--card:#0f172a;--line:#1e293b;--line2:#334155;--txt:#cbd5e1;--muted:#94a3b8;--hi:#f1f5f9;--cyan:#67e8f9;--cyan2:#0891b2;--gold:#fbbf24}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--txt);font-family:'Rubik',system-ui,sans-serif;line-height:1.75;font-size:17px}
a{color:var(--cyan)}
.wrap{max-width:860px;margin:0 auto;padding:0 16px}
.top{border-bottom:1px solid var(--line);background:#0b1222}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;flex-wrap:wrap}
.brand{color:#fff;font-weight:900;text-decoration:none;font-size:1.05rem}
.brand small{color:var(--muted);font-weight:400;margin-inline-start:6px}
.top nav{display:flex;gap:14px;font-size:.9rem;flex-wrap:wrap}
.top nav a{text-decoration:none;color:var(--muted)}
.top nav a:hover{color:var(--cyan)}
.crumbs{font-size:.82rem;color:var(--muted);margin:18px 0 0}
.crumbs a{color:var(--muted)}
h1{color:#fff;font-size:2rem;line-height:1.3;margin:.6rem 0 .4rem;font-weight:900}
h2{color:var(--cyan);font-size:1.3rem;margin:2.2rem 0 .6rem;font-weight:900}
h3{color:var(--hi);font-size:1.05rem;margin:1.2rem 0 .3rem}
.lead{font-size:1.1rem;color:var(--hi)}
.he{font-family:'Frank Ruhl Libre',serif}
.box{background:var(--card);border:1px solid var(--line2);border-radius:14px;padding:18px;margin:20px 0}
.tool label{display:block;font-weight:700;color:var(--hi);margin-bottom:8px}
.ct-row{display:flex;gap:8px;flex-wrap:wrap}
.ct-row input{flex:1;min-width:180px;font-size:1.3rem;padding:10px 12px;border-radius:10px;border:1px solid var(--line2);background:var(--bg);color:#fff;font-family:'Frank Ruhl Libre',serif;direction:rtl}
.ct-row input:focus{outline:none;border-color:var(--cyan2)}
.btn{border:none;border-radius:10px;padding:10px 16px;font-weight:900;cursor:pointer;font-size:.95rem;font-family:inherit;text-decoration:none;display:inline-block}
.btn-go{background:var(--cyan2);color:#fff}
.btn-go:hover{background:#06b6d4}
.btn-kb{background:transparent;border:1px solid var(--line2);color:var(--muted)}
#ctKb{display:grid;grid-template-columns:repeat(9,1fr);gap:5px;margin-top:10px;direction:rtl}
#ctKb[hidden]{display:none}
#ctKb button{background:#1e293b;border:1px solid var(--line2);color:#f1f5f9;border-radius:8px;padding:8px 0;font-size:1.1rem;font-weight:700;cursor:pointer}
#ctKb button.wide{grid-column:span 3;font-size:.85rem}
#ctOut{margin-top:14px}
.ct-main{font-size:1.2rem;margin-bottom:10px}
.ct-main b{font-family:'Frank Ruhl Libre',serif;color:var(--gold);font-size:2rem}
.ct-note{color:var(--muted);font-size:.9rem;margin-bottom:8px}
.ct-grid{display:flex;flex-wrap:wrap;gap:6px}
.ct-cell{display:flex;flex-direction:column;align-items:center;background:rgba(255,255,255,.04);border:1px solid var(--line2);border-radius:8px;padding:6px 10px;min-width:44px}
.ct-src{font-size:1.4rem;font-weight:900;color:#fff;font-family:'Frank Ruhl Libre',serif}
.ct-arrow{color:var(--muted);font-size:.8rem}
.ct-dst{font-size:1.2rem;color:var(--cyan);font-family:'Frank Ruhl Libre',serif}
table.map{border-collapse:collapse;width:100%;font-size:1rem}
table.map td,table.map th{border:1px solid var(--line2);padding:6px 8px;text-align:center}
table.map th{background:#111c33;color:var(--hi)}
table.map td{font-family:'Frank Ruhl Libre',serif;font-size:1.25rem;color:#fff}
.tblwrap{overflow-x:auto}
ul.plain{padding-inline-start:1.3rem}
.ex{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:10px 0}
.ex:last-child{border-bottom:none}
.ex .w{font-family:'Frank Ruhl Libre',serif;font-size:1.5rem;color:#fff}
.ex .w b{color:var(--gold)}
.ex .r{color:var(--muted);font-size:.9rem}
.ex .acts{display:flex;gap:6px;flex-wrap:wrap}
.btn-sm{padding:6px 10px;font-size:.8rem;border-radius:8px;border:1px solid var(--cyan2);color:var(--cyan);background:transparent;cursor:pointer;text-decoration:none;font-weight:700;font-family:inherit}
.verse{font-family:'Frank Ruhl Libre',serif;font-size:1.7rem;line-height:1.7;color:#fff;text-align:center;direction:rtl;margin:6px 0}
.verse-ref{text-align:center;color:var(--cyan);font-weight:700}
.letters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;direction:rtl;margin:12px 0}
.letters .ct-cell{min-width:58px}
.letters .ct-dst{color:var(--gold);font-size:1.5rem}
.letters .alg{font-size:.7rem;color:var(--muted)}
details.faq{border-bottom:1px solid var(--line);padding:10px 0}
details.faq summary{cursor:pointer;color:var(--hi);font-weight:700}
.others{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.others a{display:block;background:var(--card);border:1px solid var(--line2);border-radius:10px;padding:10px 12px;text-decoration:none;color:var(--hi);font-weight:700}
.others a span{display:block;color:var(--muted);font-weight:400;font-size:.8rem}
.others a:hover{border-color:var(--cyan2)}
.cta{text-align:center;margin:30px 0}
.cta .btn-go{font-size:1.1rem;padding:14px 26px}
footer{border-top:1px solid var(--line);margin-top:40px;padding:20px 0 40px;font-size:.85rem;color:var(--muted)}
footer a{color:var(--muted)}
[dir=ltr] .ct-row input,[dir=ltr] .verse{direction:rtl}
@media(max-width:600px){h1{font-size:1.55rem}body{font-size:16px}.verse{font-size:1.35rem}}
