:root{--bg:#0b0b0f;--card:#131318;--line:#24242c;--text:#ecebe6;--muted:#8d8b85;--gold:#d8ad48;--gold2:#f3d27a;--bad:#e5645a}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 "IBM Plex Sans Arabic","Noto Sans Arabic",system-ui,sans-serif}
body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}
.card{width:100%;max-width:420px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px 24px}
.brand{font-weight:700;letter-spacing:.3em;font-size:13px;background:linear-gradient(90deg,var(--gold),var(--gold2));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:18px}
h1{font-size:22px;margin:0 0 10px}
p{margin:0 0 12px}
.muted{color:var(--muted);font-size:14px}
.ltr{direction:ltr;unicode-bidi:isolate;text-align:left}
.big{font-size:18px;font-weight:600;color:var(--gold2);word-break:break-all}
input{width:100%;height:56px;border-radius:12px;border:1px solid var(--line);background:#0e0e12;color:var(--text);font-size:20px;padding:0 16px;margin:6px 0 14px;letter-spacing:.06em}
input:focus{outline:none;border-color:var(--gold)}
button,.btn{display:block;width:100%;height:56px;border:0;border-radius:12px;background:linear-gradient(90deg,var(--gold),var(--gold2));color:#1a1405;font:600 17px/56px inherit;text-align:center;text-decoration:none;cursor:pointer;margin:8px 0}
button:disabled{opacity:.5}
.number{font-size:64px;font-weight:700;text-align:center;letter-spacing:.1em;color:var(--gold2);margin:14px 0}
.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}
.choices button{height:84px;font-size:32px;line-height:84px;margin:0;background:#1b1b22;color:var(--text);border:1px solid var(--line)}
.choices button:active{border-color:var(--gold)}
.msg{min-height:1.7em;color:var(--muted)}
.msg.bad{color:var(--bad)}
.st{display:none}
[data-state=need_device] .st[data-st=need_device],[data-state=pending] .st[data-st=pending],[data-state=approved] .st[data-st=approved],[data-state=denied] .st[data-st=denied]{display:block}
