/* ومضة — البوّابة والمعالج: الافتراضي «فجر» الفاتح كصفحة التعريف (كتلة آخر الملف)، والليل لمن اختاره هناك (wmdTheme).
   الرموز في :root رموز الليل: البوّابة (دخول، عضوية، فتح) ليلٌ تحت السماء نفسها،
   والمعالج بعد الفتح فجرٌ فاتح — هو العتبة إلى هوية «فجر» داخل المساحة. الأوزان المتاحة فقط: 400/500/700. */
:root{
  --n9:#0A1230; --n8:#101A40; --n6:#26336A;
  --st:#F3EEDF; --st-2:#C9CADF; --st-3:#9CA1C2;
  --sand:#E8C88A; --sand-ink:#191633;
  --dawn:#F7F0E1; --dawn-card:#FFFDF8; --dawn-ink:#1B2142; --dawn-ink-2:#4A4F6E; --dawn-ink-3:#6B6F88; --dawn-line:rgba(27,33,66,.12);
  --thread:#3FD0B0; --bad:#F09A8E;
  --hair:rgba(201,202,223,.16); --hair-2:rgba(201,202,223,.28);
  --f-d:'Cairo',system-ui,sans-serif;
  --f-b:'Cairo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-m:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --e-out:cubic-bezier(.16,1,.3,1);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--n9);-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;min-height:100dvh;color:var(--st);font:400 16.5px/1.8 var(--f-b);background:transparent;-webkit-font-smoothing:antialiased}
::selection{background:rgba(232,200,138,.35)}
:focus-visible{outline:2px solid var(--sand);outline-offset:3px;border-radius:8px}
a{color:var(--sand);text-underline-offset:.28em}
h1,h2,h3{font-family:var(--f-d);font-weight:800;margin:0}
p{margin:0}
[hidden]{display:none!important}
.sky{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
svg.i{width:20px;height:20px;flex:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ── التحميل ── */
.boot{min-height:100vh;min-height:100dvh;display:grid;place-items:center}
.boot{color:#F3EEDF}
.boot svg{height:60px;width:124px;animation:breathe 1.6s var(--e-out) infinite alternate}
@keyframes breathe{from{opacity:.35;transform:scale(.94)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.boot svg{animation:none}}

/* ══════════ البوّابة: ليل ══════════ */
.gate{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:28px 16px calc(28px + env(safe-area-inset-bottom))}
.gate .box{width:min(460px,100%);padding:30px 28px 28px;border-radius:30px;background:#0D1638;
  box-shadow:inset 0 0 0 1px var(--hair-2),0 40px 90px -40px rgba(0,0,0,.8)}
@media (max-width:420px){.gate .box{padding:24px 20px}}
.gate .gtop{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:30px}
.gate .logo{display:inline-flex;align-items:center;gap:9px;font:700 22px/1 var(--f-d);color:var(--st)}
.gate .logo svg.wm{height:60px;width:124px;display:block}
svg.wm{overflow:visible}
html[data-theme=night] .gate .wm,html[data-theme=night] .boot .wm{--wm-dot:#3FD0B0}
@media (max-width:420px){.gate .logo small{display:none}.gate .logo svg.wm{height:50px;width:104px}}
.gate .logo small{font:500 11.5px/1 var(--f-b);color:var(--st-3);padding:5px 8px;border-radius:99px;border:1px solid var(--hair)}
.toNaam{display:inline-flex;align-items:center;gap:7px;color:var(--st-2);text-decoration:none;font:500 13.5px/1 var(--f-b);padding:8px 11px 8px 12px;border-radius:99px;border:1px solid var(--hair)}
.toNaam img{width:17px;height:17px}
.toNaam:hover{color:var(--st);border-color:var(--hair-2)}
.gate h1{font-size:clamp(26px,6vw,31px);line-height:1.35}
.gate p{margin-top:10px;color:var(--st-2)}
.gate .muted,.muted{color:var(--st-3);font-size:14.5px}
.gate .muted a{color:var(--sand)}
.row{display:flex;gap:10px;margin-top:24px}
.row>*{flex:1}
.gate label.f,label.f{display:block;font:500 14.5px/1.4 var(--f-b);color:var(--st);margin:22px 0 9px}
label.f small{color:var(--st-3);font-weight:400}
.in-t{width:100%;height:52px;border-radius:15px;border:1px solid var(--hair-2);background:rgba(6,11,30,.6);color:var(--st);padding:0 16px;font:500 16.5px var(--f-b);caret-color:var(--sand)}
.in-t::placeholder{color:var(--st-3)}
.in-t:focus{outline:none;border-color:var(--sand);box-shadow:0 0 0 3px rgba(232,200,138,.16)}
.pw{position:relative}
.pw .in-t{padding-inline-end:52px}
.pw button{position:absolute;inset-inline-end:6px;top:6px;width:40px;height:40px;border:0;border-radius:11px;background:transparent;color:var(--st-3);cursor:pointer;display:grid;place-items:center}
.pw button:hover{color:var(--st);background:rgba(201,202,223,.08)}
.meter{height:4px;border-radius:4px;background:rgba(201,202,223,.14);margin-top:10px;overflow:hidden}
.meter i{display:block;height:100%;width:0;border-radius:4px;transition:width .35s var(--e-out),background .35s}
.check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;margin-top:16px;font-size:15px;color:var(--st-2);cursor:pointer}
.check input{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:3px 0 0;border-radius:7px;box-shadow:inset 0 0 0 1.5px var(--st-3);cursor:pointer;display:grid;place-items:center;transition:background .2s,box-shadow .2s}
.check input:checked{background:var(--sand);box-shadow:none}
.check input:checked::after{content:"";width:6px;height:11px;border:solid var(--sand-ink);border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.check input:focus-visible{outline:2px solid var(--sand);outline-offset:2px}
.err{margin-top:14px;padding:12px 14px;border-radius:13px;background:rgba(240,154,142,.1);color:var(--bad);font-size:14.5px;box-shadow:inset 0 0 0 1px rgba(240,154,142,.3)}
.code{margin-top:14px;padding:16px;border-radius:15px;background:rgba(6,11,30,.7);box-shadow:inset 0 0 0 1px var(--hair);font:500 16px/1.7 var(--f-m);letter-spacing:.04em;direction:ltr;text-align:center;color:var(--sand);word-break:break-all}
details.opt{margin-top:22px;border-top:1px solid var(--hair);padding-top:14px}
details.opt summary{cursor:pointer;list-style:none;font:500 15px var(--f-b);color:var(--st-2);display:flex;align-items:center;justify-content:space-between}
details.opt summary::-webkit-details-marker{display:none}
details.opt summary::after{content:"";width:9px;height:9px;border:solid var(--st-3);border-width:0 1.5px 1.5px 0;transform:rotate(45deg);transition:transform .3s var(--e-out)}
details.opt[open] summary::after{transform:rotate(-135deg)}
details.opt .muted{margin-top:10px}

/* ── الأزرار ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 20px;border-radius:16px;border:0;cursor:pointer;
  font:700 16px/1 var(--f-b);text-decoration:none;white-space:nowrap;transition:transform .25s var(--e-out),background .2s,box-shadow .25s}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.btn-w{width:100%}
.btn-p{background:var(--sand);color:var(--sand-ink);box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 12px 26px -16px rgba(0,0,0,.7)}
.btn-p:not([disabled]):hover{background:#F0D39C}
.btn-o{background:transparent;color:var(--st);box-shadow:inset 0 0 0 1px var(--hair-2)}
.btn-o:hover{background:rgba(201,202,223,.08)}
.btn-g{background:var(--dawn-ink);color:var(--dawn)}
.btn-g:hover{background:#262D57}
.btn svg.i{width:20px;height:20px}
.spin{width:20px;height:20px;border-radius:50%;border:2px solid currentColor;border-inline-end-color:transparent;animation:rot .8s linear infinite}
@keyframes rot{to{transform:rotate(360deg)}}

/* ── التنبيه والورقة ── */
.toast{position:fixed;inset-inline:16px;bottom:calc(20px + env(safe-area-inset-bottom));margin:0 auto;width:fit-content;max-width:calc(100% - 32px);padding:13px 18px;border-radius:14px;
  background:var(--st);color:var(--n9);font:500 15px var(--f-b);box-shadow:0 18px 40px -18px rgba(0,0,0,.6);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .3s var(--e-out);z-index:90}
.toast.on{opacity:1;transform:none}
.veil{position:fixed;inset:0;z-index:80;background:rgba(6,11,30,.55);display:grid;align-items:end;opacity:0;transition:opacity .22s}
.veil.on{opacity:1}
.sheet{width:min(560px,100%);margin:0 auto;padding:24px 22px calc(24px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;background:var(--n8);box-shadow:inset 0 1px 0 var(--hair-2);transform:translateY(24px);transition:transform .3s var(--e-out)}
.veil.on .sheet{transform:none}

/* ══════════ المعالج: فجر ══════════ */
body:has(.shell.bare){background:var(--dawn);color:var(--dawn-ink);color-scheme:light}
html:has(.shell.bare){background:var(--dawn)}
body:has(.shell.bare) .sky{display:none}
.shell.bare{min-height:100vh;min-height:100dvh;background:var(--dawn);color:var(--dawn-ink)}
.shell.bare ::selection{background:rgba(217,174,98,.35)}
.shell.bare :focus-visible{outline-color:#8A5A12}
.bare .main{width:min(620px,100%);margin:0 auto;padding:22px 18px 130px}
.wiz-brand{display:flex;align-items:center;gap:9px;font:700 21px/1 var(--f-d);color:var(--dawn-ink);margin-bottom:26px}
.wiz-brand .wm{height:56px;width:116px;display:block}
.wiz-brand small{font:500 13px/1 var(--f-b);color:var(--dawn-ink-3)}
.wiz-brand .toNaam{margin-inline-start:auto;color:var(--dawn-ink-2);border-color:var(--dawn-line)}
.wiz-steps{display:flex;gap:6px;margin-bottom:22px}
.wiz-steps i{height:4px;flex:1;border-radius:4px;background:var(--dawn-line);transition:background .4s}
.wiz-steps i.on{background:#C8963E}
.bare h1{color:var(--dawn-ink);line-height:1.35}
.bare .muted{color:var(--dawn-ink-2);margin-top:8px}
.bare label.f{color:var(--dawn-ink)}
.bare label.f small{color:var(--dawn-ink-3)}
.bare .in-t{background:var(--dawn-card);border-color:var(--dawn-line);color:var(--dawn-ink);caret-color:#8A5A12}
.bare .in-t::placeholder{color:var(--dawn-ink-3)}
.bare .in-t:focus{border-color:#C8963E;box-shadow:0 0 0 3px rgba(200,150,62,.18)}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;padding:4px;border-radius:15px;background:var(--dawn-card);box-shadow:inset 0 0 0 1px var(--dawn-line)}
.seg button{min-height:44px;border:0;border-radius:11px;background:transparent;color:var(--dawn-ink-2);font:500 15px var(--f-b);cursor:pointer;transition:background .2s,color .2s}
.seg button[aria-pressed="true"]{background:var(--dawn-ink);color:var(--dawn);font-weight:700}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:40px;padding:0 15px;border-radius:99px;border:0;background:var(--dawn-card);color:var(--dawn-ink-2);font:500 14.5px var(--f-b);cursor:pointer;box-shadow:inset 0 0 0 1px var(--dawn-line);transition:background .2s,color .2s,box-shadow .2s}
.chip[aria-pressed="true"]{background:#F3E2BE;color:var(--dawn-ink);box-shadow:inset 0 0 0 1.5px #C8963E}
.pick{display:grid;gap:10px;margin-top:20px}
.pick-g{margin:26px 0 -8px;font:700 14px/1.5 var(--f-b);color:var(--dawn-ink-2);letter-spacing:.2px}
.pick-n{margin-top:8px;font-size:13.5px;color:var(--dawn-ink-2)}
.pk{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:start;text-align:start;padding:16px 16px 16px 46px;border-radius:20px;border:0;cursor:pointer;
  background:var(--dawn-card);color:var(--dawn-ink);font:inherit;box-shadow:inset 0 0 0 1px var(--dawn-line);transition:box-shadow .2s,background .2s}
.pk b{display:block;font:700 16.5px/1.4 var(--f-d)}
.pk div>span{display:block;margin-top:4px;font-size:14.5px;line-height:1.7;color:var(--dawn-ink-2)}
.pk .ok{position:absolute;inset-inline-end:14px;top:16px;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--dawn-line);color:transparent}
.pk .ok svg{width:15px;height:15px}
.pk[aria-pressed="true"]{box-shadow:inset 0 0 0 2px #C8963E;background:#FFF9EC}
.pk[aria-pressed="true"] .ok{background:var(--dawn-ink);color:var(--dawn);box-shadow:none}
.card{padding:18px;border-radius:20px;background:var(--dawn-card);box-shadow:inset 0 0 0 1px var(--dawn-line)}
.bare .card b{color:var(--dawn-ink)!important}
.swatches{display:flex;flex-wrap:wrap;gap:10px}
.swatches button{width:30px;height:30px;border-radius:50%;border:0;background:var(--c);cursor:pointer;box-shadow:0 0 0 2px var(--dawn-card),0 0 0 3px transparent;transition:box-shadow .2s}
.swatches button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--dawn-card),0 0 0 4px var(--dawn-ink)}
.stick{position:fixed;inset-inline:0;bottom:0;display:flex;gap:10px;padding:14px 18px calc(14px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(247,240,225,0),var(--dawn) 34%);justify-content:center}
.stick .btn{flex:1;max-width:292px}
.bare .btn-o{color:var(--dawn-ink);box-shadow:inset 0 0 0 1px rgba(27,33,66,.24)}
.bare .btn-o:hover{background:rgba(27,33,66,.05)}
.bare .btn-p{background:var(--dawn-ink);color:var(--dawn);box-shadow:none}
.bare .btn-p:not([disabled]):hover{background:#262D57}

/* ── الأفاتار: كوكبة الوكيل بلونه ── */
.av{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;flex:none;background:color-mix(in oklab,var(--c) 12%,#fff);color:var(--c)}
.av svg.con{width:40px;height:40px}
.av svg.con line{stroke:currentColor;stroke-width:1.2;opacity:.55}
.av svg.con circle{fill:currentColor}
.gate .av{background:rgba(201,202,223,.08);color:color-mix(in oklab,var(--c) 62%,#F3EEDF)}

/* ══════════ الفجر (الافتراضي): عاجيٌّ دافئ، حبر تيل، وذهب الومضة — كصفحة التعريف وهوية المساحة من الداخل ══════════ */
html:not([data-theme=night]){--dawn:#F7F3EB;--dawn-card:#FFFFFF;--dawn-ink:#14302E;--dawn-ink-2:#3A5350;--dawn-ink-3:#586E6A;--dawn-line:rgba(20,48,46,.12);
  background:#F7F3EB;color-scheme:light}
html:not([data-theme=night]) .sky{display:none}
html:not([data-theme=night]) .boot{color:#14302E}
html:not([data-theme=night]) .gate,html:not([data-theme=night]) .veil{--n9:#F7F3EB;--n8:#FFFFFF;--st:#14302E;--st-2:#3A5350;--st-3:#586E6A;--sand:#8F5B0E;--sand-ink:#14302E;
  --hair:rgba(20,48,46,.1);--hair-2:rgba(20,48,46,.2);--bad:#A8322A;color:#14302E}
html:not([data-theme=night]) .gate .box{background:#FFFFFF;box-shadow:0 1px 2px rgba(70,45,10,.05),0 30px 70px -34px rgba(70,45,10,.36)}
html:not([data-theme=night]) .gate .in-t{background:#FFFFFF}
html:not([data-theme=night]) .gate .btn-p{background:#E3B04C;color:#14302E;box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 14px 28px -18px rgba(120,80,10,.6)}
html:not([data-theme=night]) .gate .btn-p:not([disabled]):hover{background:#EBBD60}
html:not([data-theme=night]) .gate .btn-o:hover,html:not([data-theme=night]) .gate .pw button:hover{background:rgba(20,48,46,.05)}
html:not([data-theme=night]) .gate .code{background:#F1EBDF}
html:not([data-theme=night]) .gate .err{background:rgba(168,50,42,.07);box-shadow:inset 0 0 0 1px rgba(168,50,42,.25)}
html:not([data-theme=night]) .toast{background:#14302E;color:#F7F3EB}
html:not([data-theme=night]) .veil{background:rgba(20,48,46,.35)}
html:not([data-theme=night]) .btn-g:hover{background:#1F4440}
