/* ============================================================
   مسابقه‌ی فرهنگ ترافیک — تمِ پایه (Premium / Dark)
   پالت بر پایه‌ی هویتِ پلیس: سرمه‌ای تیره + آبیِ الکتریکی + طلایی + سفید
   ساختار و نام‌کلاس‌ها حفظ شده تا منطقِ مسابقه دست‌نخورده بماند.
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --navy:#0B1B3B; --navy-2:#0E2148; --navy-3:#132a55;
  --brand:#2563EB;      /* آبیِ الکتریکی: عناصر تعاملی */
  --brand-2:#1E40AF;
  --accent:#C9A24A;     /* طلایی: CTA و جزئیات مهم */
  --accent-2:#E7CD8A;
  --danger:#E5484D; --go:#2FBF71;
  --ink:#16233f; --muted:#6b7890; --line:#e7eaf2; --card:#ffffff;
}
html,body{height:100%}
body{
  font-family:Vazirmatn,Tahoma,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(1100px 600px at 80% -8%, rgba(37,99,235,.20) 0 60%, transparent 61%),
    radial-gradient(900px 500px at 0% 110%, rgba(201,162,74,.12) 0 60%, transparent 61%),
    linear-gradient(165deg,var(--navy),var(--navy-2));
  min-height:100dvh;
}
.app{width:100%;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}

/* ---------- هدر ---------- */
.topbar{display:flex;align-items:center;padding:14px 18px;gap:12px;
  background:linear-gradient(180deg,rgba(11,27,59,.85),rgba(11,27,59,0));position:relative;z-index:20}
.emblem{display:flex;align-items:center;gap:11px;max-width:1100px;margin:0 auto;width:100%}
.emblem img{width:44px;height:44px;object-fit:contain;flex:none;filter:drop-shadow(0 3px 8px rgba(0,0,0,.4))}
.emblem-txt b{display:block;font-size:.9rem;line-height:1.5;color:#fff}
.emblem-txt span{font-size:.72rem;color:var(--accent-2)}

/* ---------- نوار پیشرفتِ جاده (مسابقه) ---------- */
.road{position:relative;height:46px;background:#0a1430;border-block:1px solid rgba(255,255,255,.06);
  overflow:hidden;display:flex;align-items:center;max-width:680px;margin:0 auto;width:calc(100% - 32px);border-radius:12px}
.road[hidden]{display:none}   /* فقط هنگام مسابقه نمایش داده می‌شود */
.road-line{position:absolute;top:50%;left:0;right:0;height:3px;transform:translateY(-50%);
  background:repeating-linear-gradient(90deg,var(--accent) 0 22px,transparent 22px 44px);opacity:.8}
.car{position:absolute;right:2%;font-size:1.5rem;transition:right .7s cubic-bezier(.3,1,.4,1);filter:drop-shadow(0 2px 2px #0007)}
.flag{position:absolute;left:2%;font-size:1.2rem}

/* ---------- ناحیه‌ی صحنه ---------- */
.stage{flex:1;width:100%}
.screen{display:none;animation:fade .5s ease}
.screen.show{display:block}
/* صفحه‌های فرم/مسابقه در ستونِ خوانا وسط‌چین می‌شوند؛ صفحه‌ی اول تمام‌عرض است */
#s-register,#s-otp,#s-quiz,#s-pledge,#s-result{max-width:600px;margin:0 auto;padding:18px 16px 40px}
@keyframes fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ---------- کارت‌ها (سطحِ روشن روی زمینه‌ی تیره) ---------- */
.card{background:var(--card);border-radius:20px;padding:24px 20px;
  box-shadow:0 24px 60px -30px rgba(0,0,0,.7); border:1px solid rgba(255,255,255,.5)}
.card.center{text-align:center}
.card h2,.q-card h2{font-size:1.25rem;margin-bottom:16px;line-height:1.7;color:var(--navy)}
.muted{color:var(--muted);font-weight:400;font-size:.85rem}

/* ---------- فیلدها ---------- */
.field{margin-bottom:16px}
.field label{display:block;font-size:.9rem;font-weight:700;margin-bottom:8px;color:var(--navy)}
input[type=text],input[type=tel],input[type=number]{
  width:100%;border:2px solid var(--line);border-radius:14px;padding:13px 14px;
  font-family:inherit;font-size:1rem;background:#fbfcff;transition:.2s;color:var(--ink)}
input:focus{outline:none;border-color:var(--brand);background:#fff;box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.note{margin-top:8px;background:#fff7e6;border:1px dashed var(--accent);border-radius:12px;padding:9px 12px;font-size:.83rem;color:#7a5b00}
/* تله‌ی ربات: پنهان و «امن برای RTL» — بدونِ ایجادِ سرریزِ افقی.
   (روشِ قبلی left:-9999px در حالتِ راست‌به‌چپ ~۱۰۰۰۰px عرضِ اضافه می‌ساخت.) */
.hp{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
    clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;left:0;top:auto}

/* ---------- چیپ‌ها ---------- */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:2px solid var(--line);background:#fff;border-radius:14px;padding:10px 14px;
  font-family:inherit;font-size:.9rem;cursor:pointer;transition:.15s;color:var(--ink)}
.chip:hover{border-color:var(--brand)}
.chip.active{background:var(--brand);color:#fff;border-color:var(--brand)}

/* ---------- دکمه‌ها ---------- */
.btn{width:100%;border:none;border-radius:16px;padding:15px;font-family:inherit;font-size:1.05rem;
  font-weight:800;color:#fff;background:linear-gradient(180deg,var(--brand),var(--brand-2));
  cursor:pointer;transition:.15s;box-shadow:0 12px 24px -12px var(--brand)}
.btn:hover{filter:brightness(1.05)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.6;cursor:not-allowed}
.btn-lg{font-size:1.12rem;padding:16px 30px;width:auto;
  background:linear-gradient(180deg,var(--accent-2),var(--accent));color:#3a2c00;
  box-shadow:0 16px 30px -12px rgba(201,162,74,.6)}
.btn-lg:hover{filter:brightness(1.04)}
.btn-text{background:none;border:none;color:var(--muted);font-family:inherit;font-size:.9rem;margin-top:12px;cursor:pointer;width:100%}

/* ---------- پیام‌ها ---------- */
.msg{min-height:20px;color:var(--danger);font-size:.86rem;margin:6px 0 10px;font-weight:700}

/* ---------- کد تأیید ---------- */
.big-emoji{font-size:2.6rem;margin-bottom:6px}
.code-input{text-align:center;letter-spacing:14px;font-size:1.6rem;font-weight:700;direction:ltr}
.dev-hint{background:#eaf1ff;color:#1E40AF;border-radius:10px;padding:8px;font-size:.82rem;margin-bottom:10px}

/* ---------- مسابقه ---------- */
.quiz-head{display:flex;justify-content:space-between;align-items:center;color:#dbe6ff;margin-bottom:12px;font-size:.85rem}
.scene-title{font-weight:700;background:rgba(37,99,235,.18);border:1px solid rgba(37,99,235,.4);color:#dfe9ff;padding:6px 12px;border-radius:999px}
.counter{color:#9fb0d6}
.q-card{background:var(--card);border-radius:22px;padding:24px 18px;
  box-shadow:0 24px 60px -30px rgba(0,0,0,.7);text-align:center;animation:pop .45s cubic-bezier(.2,1.1,.4,1)}
@keyframes pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.q-emoji{font-size:2.8rem;margin-bottom:8px}
.options{display:flex;flex-direction:column;gap:11px;margin-top:8px;text-align:right}
.opt{border:2px solid var(--line);background:#fbfcff;border-radius:15px;padding:14px 16px;
  font-family:inherit;font-size:.98rem;cursor:pointer;transition:.15s;display:flex;align-items:center;gap:10px}
.opt:hover{border-color:var(--brand);background:#fff}
.opt .k{width:26px;height:26px;flex:none;border-radius:8px;background:#eef2fb;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:var(--brand)}
.opt.correct{border-color:var(--go);background:#eafaf0}
.opt.correct .k{background:var(--go);color:#fff}
.opt.wrong{border-color:var(--danger);background:#fdeeec}
.opt.wrong .k{background:var(--danger);color:#fff}
.opt.disabled{pointer-events:none;opacity:.85}
/* شعارِ فرهنگ‌سازی — بنرِ طلاییِ بالای صفحه‌ی سؤال (وقتی خالی است، جمع می‌شود) */
.q-slogan{display:block;text-align:center;margin:0 auto;overflow:hidden;
  max-height:0;opacity:0;transform:translateY(-6px);font-weight:800;color:#3a2c00;
  transition:max-height .45s ease, opacity .45s ease, transform .45s ease, margin .45s ease, padding .45s ease}
.q-slogan.show{max-height:160px;opacity:1;transform:none;margin:0 0 16px;padding:14px 18px;
  background:linear-gradient(180deg,var(--accent-2),var(--accent));
  border:1px solid rgba(201,162,74,.6);border-radius:16px;font-size:1.05rem;line-height:1.9;
  box-shadow:0 14px 34px -16px rgba(201,162,74,.75)}
.q-slogan.show::before{content:"🚦 ";}

/* ---------- قول ---------- */
.pledges{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.pledge{border:2px solid var(--line);background:#fbfcff;border-radius:14px;padding:13px 15px;cursor:pointer;font-size:.96rem;transition:.15s}
.pledge:hover{border-color:var(--brand)}
.pledge.active{background:var(--brand);color:#fff;border-color:var(--brand)}

/* ---------- گواهی/نتیجه ---------- */
.certificate{background:linear-gradient(180deg,#ffffff,#f6f9ff);border-radius:22px;padding:26px 20px;text-align:center;position:relative;overflow:hidden;
  box-shadow:0 30px 70px -34px rgba(0,0,0,.7);border:3px solid var(--accent)}
.cert-top{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:8px}
.cert-org{font-weight:800;color:var(--navy);font-size:.92rem}
.score-ring{width:120px;height:120px;border-radius:50%;margin:14px auto;display:flex;flex-direction:column;
  align-items:center;justify-content:center;color:#fff;
  background:conic-gradient(var(--accent) var(--p,0deg), #e6ecf6 0deg);position:relative}
.score-ring::before{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--navy)}
.score-ring span,.score-ring small{position:relative;z-index:1}
.score-ring span{font-size:2rem;font-weight:800}
.score-ring small{font-size:.8rem;opacity:.9}
.cert-line{font-size:1.08rem;line-height:2;margin:14px 6px;font-weight:800;color:var(--ink)}
.cert-slogan{color:var(--brand-2);font-weight:800;margin-top:8px}

/* ---------- کانفتی ---------- */
.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.confetti i{position:absolute;top:-12px;width:8px;height:14px;border-radius:2px;animation:fall linear forwards}
@keyframes fall{to{transform:translateY(560px) rotate(540deg);opacity:.2}}

/* ---------- فوترِ سراسری مخفی است؛ لندینگ فوترِ اختصاصیِ خود را دارد ---------- */
.foot{display:none}

@media (max-width:380px){ .code-input{letter-spacing:10px} }
@media (prefers-reduced-motion:reduce){ *{animation:none!important;transition:none!important} }

/* ============================================================
   بهبودِ ظاهریِ صفحه‌ی ثبت‌نام (فقط #s-register — بقیه‌ی صفحه‌ها دست‌نخورده)
   رسمی، مینیمال، Premium و مناسبِ لمسِ موبایل.
   ============================================================ */
#s-register{max-width:480px}
#s-register .card{padding:26px 20px;border-radius:22px;position:relative;
  border-top:3px solid var(--accent)}                 /* اکسنتِ طلاییِ هویتی */
#s-register .card h2{font-size:1.22rem;margin-bottom:4px}
#s-register .reg-lead{color:var(--muted);font-size:.9rem;margin-bottom:18px}
#s-register .field{margin-bottom:18px}
#s-register .field label{font-size:.92rem}
#s-register input{padding:14px 15px;font-size:1.02rem}   /* لمسِ راحت‌تر */
#s-register .chip{padding:11px 15px}                     /* هدفِ لمسِ بزرگ‌تر */
#s-register #go-otp{margin-top:8px;font-size:1.08rem;padding:16px}
@media (max-width:430px){
  #s-register{max-width:none;padding:16px 16px 40px}     /* دقیقاً ۱۶px حاشیه‌ی افقی */
}
