:root{--stage:#F4F5F8;--ink:#0E1324;--muted:#5A6383;--card:#fff;--shadow:#D5D9E6;--gold:#FFC93C;--gold-d:#B88A00;--blue:#2D5BFF;--blue-d:#1A3AB8;--pink:#FF4F9A;--ok:#00B386;--bad:#FF4F4A}
@media (prefers-color-scheme:dark){:root{--stage:#0E1324;--ink:#F4F5F8;--muted:#A3ABC7;--card:#1A2038;--shadow:#080B16}}
*{box-sizing:border-box}
body{margin:0;background:var(--stage);color:var(--ink);font:600 18px/1.5 "Baloo Bhaijaan 2",system-ui,sans-serif;direction:rtl;min-height:100vh}
main{max-width:900px;margin:0 auto;padding:20px 16px}
h1{font-size:32px;margin:.2em 0}
.card{background:var(--card);border-radius:22px;padding:18px;box-shadow:0 6px 0 var(--shadow);margin:14px 0}
.btn{display:block;width:100%;border:0;border-radius:18px;padding:16px;font:800 22px "Baloo Bhaijaan 2",system-ui;background:var(--gold);color:#0E1324;box-shadow:0 7px 0 var(--gold-d);cursor:pointer;text-align:center;text-decoration:none}
.btn:active{transform:translateY(5px);box-shadow:0 2px 0 var(--gold-d)}
.btn.blue{background:var(--blue);color:#fff;box-shadow:0 7px 0 var(--blue-d)}
input,select{width:100%;font:700 20px "Baloo Bhaijaan 2",system-ui;padding:12px;border-radius:14px;border:3px solid var(--shadow);background:var(--card);color:var(--ink);margin:6px 0 12px}
.muted{color:var(--muted)}
.code{font-size:min(22vw,160px);font-weight:800;letter-spacing:.12em;direction:ltr;text-align:center;color:var(--blue);line-height:1.1}
table{width:100%;border-collapse:collapse}th,td{padding:8px;text-align:start;border-bottom:2px solid var(--shadow)}
.ok{color:var(--ok)}.bad{color:var(--bad)}
.pulse{animation:p .35s}@keyframes p{0%{background:var(--gold)}100%{background:transparent}}
