/* Halalan v5 · play it straight · Urbanist only */
:root{
  --dark:#070B14; --dark-2:#0C1322; --dark-3:#121B2E; --dline:rgba(255,255,255,.08); --dline-2:rgba(255,255,255,.14);
  --bg:#F7F8FA; --white:#FFFFFF; --ink:#0B1220; --ink-2:#4A5568; --ink-3:#8A94A6; --line:#E6E9EF; --line-2:#D6DBE4;
  --on-dark:#F4F6FA; --on-dark-2:#A8B3C7; --on-dark-3:#6F7C93;
  --g1:#10B981; --g2:#14B8A6; --g3:#6366F1;
  --grad:linear-gradient(120deg,#10B981 0%,#14B8A6 45%,#6366F1 100%);
  --grad-soft:linear-gradient(120deg,rgba(16,185,129,.12),rgba(20,184,166,.10) 45%,rgba(99,102,241,.12));
  --ok:#059669; --ok-bg:#E7F8F1; --due:#B45309; --due-bg:#FEF3E2; --exp:#DC2626; --exp-bg:#FEECEC;
  --sh-1:0 1px 2px rgba(16,24,40,.05),0 4px 12px -4px rgba(16,24,40,.06);
  --sh-2:0 1px 2px rgba(16,24,40,.04),0 16px 36px -14px rgba(20,184,166,.22),0 36px 70px -36px rgba(99,102,241,.3);
  --sh-3:0 2px 4px rgba(16,24,40,.05),0 30px 60px -20px rgba(20,184,166,.3),0 60px 120px -50px rgba(99,102,241,.45);
  --sh-btn:0 10px 24px -10px rgba(20,184,166,.75),0 4px 10px -4px rgba(99,102,241,.45);
  --f:"Urbanist","Zain",system-ui,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --gut:clamp(16px,5vw,72px);
  --max:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--f);-webkit-font-smoothing:antialiased;overflow-x:hidden}
[lang=ar] body{line-height:1.85}
img,svg{display:block}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-family:var(--f);font-weight:800;letter-spacing:-.03em;line-height:1.05;text-wrap:balance}
[lang=ar] h1,[lang=ar] h2,[lang=ar] h3,[lang=ar] h4{letter-spacing:0;line-height:1.35;font-weight:700}
p{margin:0} ul,ol{margin:0;padding:0;list-style:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:fixed;top:-60px;inset-inline-start:12px;z-index:200;background:var(--ink);color:#fff;padding:8px 12px;border-radius:8px}
.skip:focus{top:12px}
:focus-visible{outline:2.5px solid var(--g2);outline-offset:3px;border-radius:8px}
.faint{color:var(--ink-3)}
.micro{font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
[lang=ar] .micro{letter-spacing:0;text-transform:none;font-size:.8rem}
.mono{font-variant-numeric:tabular-nums;unicode-bidi:plaintext}
[dir=rtl] .flip{transform:scaleX(-1)}
.sample{position:absolute;inset-inline-end:16px;bottom:12px;font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.sample--inline{position:static;margin-inline-start:auto}
[lang=ar] .sample{letter-spacing:0;text-transform:none;font-size:.74rem}

/* reveal (content visible by default; hidden only once JS is ready) */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;height:50px;padding:0 24px;border:0;border-radius:999px;cursor:pointer;text-decoration:none;font-weight:600;font-size:.98rem;white-space:nowrap;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background-position .6s var(--ease),background-color .25s,color .25s}
.btn>span{display:inline-flex;align-items:center;gap:10px}
.btn b{font-weight:600}
.btn svg{width:18px;height:18px;transition:transform .35s var(--ease)}
.btn--pri{color:#fff;background:var(--grad);background-size:160% 100%;box-shadow:var(--sh-btn)}
.btn--pri:hover{background-position:100% 0;transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(20,184,166,.8),0 6px 12px -4px rgba(99,102,241,.5)}
.btn--pri:hover svg{transform:translateX(3px)}
[dir=rtl] .btn--pri:hover svg{transform:scaleX(-1) translateX(3px)}
.btn--pri:active{transform:none}
.btn--sec{background:var(--white);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2),var(--sh-1)}
.btn--sec:hover{box-shadow:inset 0 0 0 1px var(--g2),var(--sh-2);transform:translateY(-1px)}
.band--dark .btn--sec,.join .btn--sec,.nav .btn--ghost{background:rgba(255,255,255,.06);color:var(--on-dark);box-shadow:inset 0 0 0 1px var(--dline-2)}
.band--dark .btn--sec:hover,.join .btn--sec:hover,.nav .btn--ghost:hover{background:rgba(255,255,255,.12)}
.btn--ghost{background:transparent;color:var(--ink)}
.btn--sm{height:40px;padding:0 18px;font-size:.9rem}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;inset-inline:0;z-index:60;color:var(--on-dark);transition:background .35s,box-shadow .35s,border-color .35s;border-bottom:1px solid transparent}
.nav.is-stuck{background:rgba(7,11,20,.72);backdrop-filter:saturate(1.4) blur(16px);-webkit-backdrop-filter:saturate(1.4) blur(16px);border-color:var(--dline)}
.nav__in{display:flex;align-items:center;gap:28px;height:72px;padding-inline:var(--gut);max-width:calc(var(--max) + 2*var(--gut));margin-inline:auto}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.brand__mark{width:34px;height:34px;flex:none;filter:drop-shadow(0 6px 14px rgba(20,184,166,.45))}
.brand__word{display:grid;line-height:1}
.brand__word b{font-weight:800;font-size:1.3rem;letter-spacing:-.02em}
.brand__word small{margin-top:4px;font-size:.66rem;font-weight:500;color:var(--on-dark-3);letter-spacing:.04em}
.nav__links{display:flex;gap:2px;margin-inline-start:auto}
.nav__links a{padding:8px 14px;border-radius:999px;text-decoration:none;font-weight:500;font-size:.95rem;color:var(--on-dark-2);transition:color .2s,background .2s}
.nav__links a:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav__act{display:flex;align-items:center;gap:8px}
.lang{height:40px;padding:0 14px;border:0;border-radius:999px;background:transparent;cursor:pointer;font-weight:600;font-size:.92rem;color:var(--on-dark);box-shadow:inset 0 0 0 1px var(--dline-2)}
.lang:hover{background:rgba(255,255,255,.08)}
.menu{display:none;width:42px;height:42px;border:0;border-radius:12px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--dline-2);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.menu span{display:block;width:18px;height:2px;border-radius:2px;background:var(--on-dark);transition:transform .3s var(--ease)}
.menu[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mnav{display:grid;padding:6px var(--gut) 18px;background:rgba(7,11,20,.96);border-top:1px solid var(--dline)}
.mnav[hidden]{display:none}
.mnav a{padding:14px 0;border-bottom:1px solid var(--dline);text-decoration:none;font-weight:600}

/* ---------- dark bands + mesh ---------- */
.band--dark{position:relative;background:var(--dark);color:var(--on-dark);overflow:hidden;isolation:isolate}
.mesh{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.mesh i{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;animation:drift 22s ease-in-out infinite alternate}
.mesh .b1{width:52vw;height:52vw;max-width:760px;max-height:760px;left:-10%;top:-18%;background:radial-gradient(circle,#10B981,transparent 65%)}
.mesh .b2{width:48vw;height:48vw;max-width:700px;max-height:700px;right:-12%;top:-8%;background:radial-gradient(circle,#6366F1,transparent 65%);animation-duration:26s}
.mesh .b3{width:40vw;height:40vw;max-width:560px;max-height:560px;left:30%;top:30%;background:radial-gradient(circle,#14B8A6,transparent 65%);opacity:.4;animation-duration:30s}
@keyframes drift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(6%,4%,0) scale(1.08)}100%{transform:translate3d(-4%,8%,0) scale(.96)}}
.gridlines{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--dline) 1px,transparent 1px),linear-gradient(90deg,var(--dline) 1px,transparent 1px);background-size:72px 72px;-webkit-mask:radial-gradient(70% 55% at 50% 30%,#000 20%,transparent 75%);mask:radial-gradient(70% 55% at 50% 30%,#000 20%,transparent 75%)}

/* ---------- hero ---------- */
.hero{padding:150px var(--gut) 0;text-align:center}
.hero__copy{max-width:900px;margin-inline:auto}
.pill{display:inline-flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;border-radius:999px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--dline-2);font-size:.88rem;font-weight:500;color:var(--on-dark-2)}
[dir=rtl] .pill{padding:6px 6px 6px 16px}
.pill__tag{padding:3px 10px;border-radius:999px;background:var(--grad);color:#fff;font-weight:700;font-size:.78rem}
.hero h1{margin-top:26px;font-size:clamp(2.8rem,6.4vw,5.6rem);letter-spacing:-.04em;line-height:1;color:#fff}
[lang=ar] .hero h1{font-size:clamp(2.4rem,5vw,4.4rem);line-height:1.3}
.lead{margin:24px auto 0;max-width:60ch;font-size:clamp(1.02rem,1.4vw,1.18rem);color:var(--on-dark-2)}
.finder{margin:36px auto 0;max-width:620px}
.finder__tabs{display:inline-flex;gap:4px;padding:4px;margin-bottom:14px;border-radius:999px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--dline)}
.finder__tabs button{border:0;background:transparent;padding:7px 14px;border-radius:999px;cursor:pointer;font-weight:600;font-size:.86rem;color:var(--on-dark-3);transition:all .25s}
.finder__tabs button:hover{color:var(--on-dark)}
.finder__tabs button[aria-selected=true]{background:rgba(255,255,255,.12);color:#fff}
.finder__bar{display:flex;align-items:center;gap:8px;padding:7px;padding-inline-start:18px;border-radius:999px;background:rgba(255,255,255,.97);box-shadow:0 24px 60px -20px rgba(0,0,0,.6),0 0 0 6px rgba(255,255,255,.06)}
.finder__bar:focus-within{box-shadow:0 24px 60px -20px rgba(0,0,0,.6),0 0 0 6px rgba(20,184,166,.35)}
.finder__ico{width:20px;height:20px;color:var(--ink-3);flex:none}
.finder__bar input{flex:1;min-width:0;border:0;outline:0;background:transparent;height:46px;font-size:1.02rem;font-weight:500;color:var(--ink)}
.finder__bar input::placeholder{color:#9AA3B2}
.finder__hint{margin-top:14px;font-size:.88rem;color:var(--on-dark-3)}
.linkish{border:0;background:none;padding:0;cursor:pointer;font-weight:600;font-size:.88rem;color:#7DE3C8;text-decoration:underline;text-underline-offset:3px}
.finder__out:not(:empty){margin-top:14px}
.result-card{display:flex;gap:14px;align-items:flex-start;padding:14px 18px;border-radius:16px;text-align:start;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px var(--dline-2);animation:rise .5s var(--ease)}
.result-card p{font-size:.92rem;color:var(--on-dark-2)}
.result-card b{color:#fff}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* product window */
.stage{position:relative;max-width:1080px;margin:64px auto 0;perspective:1600px}
.stage::before{content:"";position:absolute;inset:10% 8% -4%;z-index:-1;background:var(--grad);filter:blur(90px);opacity:.45;border-radius:40%}
.window{--tilt:18deg;--sc:.94;text-align:start;border-radius:20px 20px 0 0;background:linear-gradient(180deg,rgba(255,255,255,.98),#F4F6FA);box-shadow:0 -1px 0 rgba(255,255,255,.4),0 40px 100px -30px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.12);transform:rotateX(var(--tilt)) scale(var(--sc));transform-origin:50% 100%;will-change:transform;color:var(--ink)}
.window__bar{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line)}
.dots{display:flex;gap:6px}
.dots i{width:11px;height:11px;border-radius:50%;background:#E3E7EE}
.dots i:first-child{background:#FF6B6B}.dots i:nth-child(2){background:#FFC857}.dots i:nth-child(3){background:#34D399}
.window__url{padding:5px 14px;border-radius:999px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);font-size:.8rem;font-weight:500;color:var(--ink-2);unicode-bidi:plaintext}
.window__body{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;padding:22px}
.vres{border-radius:16px;background:var(--white);box-shadow:inset 0 0 0 1px var(--line),var(--sh-1);overflow:hidden}
.vres__banner{display:flex;align-items:center;gap:14px;padding:18px 20px;background:linear-gradient(120deg,#E8FAF3,#EEF3FF)}
.vres__ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--grad);color:#fff;box-shadow:var(--sh-btn);flex:none}
.vres__ic svg{width:20px;height:20px}
.vres__t{font-weight:800;font-size:1.15rem;letter-spacing:-.01em}
.vres__no{font-size:.85rem;font-weight:500;color:var(--ink-2);unicode-bidi:plaintext}
.vres__banner .status{margin-inline-start:auto}
.vres__kv{margin:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.vres__kv div{padding:14px 20px;border-bottom:1px solid var(--line)}
.vres__kv div:nth-child(odd){border-inline-end:1px solid var(--line)}
.vres__kv dt{font-size:.74rem;font-weight:600;color:var(--ink-3)}
.vres__kv dd{margin:3px 0 0;font-weight:600;font-size:.95rem}
.vres__bar{padding:14px 20px 18px}
.vres__bar p{font-size:.86rem}
.vres__bar b{font-weight:800;font-size:1.05rem}
.meter{height:8px;margin-top:10px;border-radius:8px;background:var(--line);overflow:hidden}
.meter span{display:block;height:100%;width:calc(var(--v)*100%);border-radius:8px;background:var(--grad);transform-origin:left;animation:grow 1.4s var(--ease) .6s both}
[dir=rtl] .meter span{transform-origin:right}
@keyframes grow{from{transform:scaleX(0)}}
.vchain{position:relative;display:grid;gap:10px;align-content:start}
.vchain::before{content:"";position:absolute;inset-inline-start:21px;top:24px;bottom:24px;width:2px;background:linear-gradient(var(--g1),var(--g3));border-radius:2px}
.vchain li{position:relative;display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;background:var(--white);box-shadow:inset 0 0 0 1px var(--line),var(--sh-1);animation:rise .6s var(--ease) both;animation-delay:calc(.5s + var(--i,0)*.15s)}
.vchain li:nth-child(2){--i:1}.vchain li:nth-child(3){--i:2}.vchain li:nth-child(4){--i:3}
.vchain i{width:16px;height:16px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--grad);color:#fff;margin-inline-start:0;position:relative;z-index:1;box-shadow:0 0 0 4px var(--white)}
.vchain i svg{width:10px;height:10px}
.vchain span{display:block;font-size:.72rem;font-weight:600;color:var(--ink-3)}
.vchain b{display:block;font-weight:600;font-size:.9rem}

/* ---------- roles ---------- */
.roles{padding:72px var(--gut) 0;max-width:calc(var(--max) + 2*var(--gut));margin-inline:auto;text-align:center}
.roles__t{font-weight:600;color:var(--ink-3);font-size:.95rem}
.doors{margin-top:22px;display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.doors a{display:grid;gap:2px;padding:16px 12px;border-radius:16px;text-decoration:none;background:var(--white);box-shadow:inset 0 0 0 1px var(--line);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.doors a:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px rgba(20,184,166,.5),var(--sh-2)}
.doors b{font-weight:700;font-size:1.05rem}
.doors span{font-size:.8rem;color:var(--ink-3)}

/* ---------- sections ---------- */
.sec{padding:clamp(100px,11vw,150px) var(--gut) 0;max-width:calc(var(--max) + 2*var(--gut));margin-inline:auto}
.band--dark.sec{max-width:none;margin-top:clamp(100px,11vw,150px);padding-bottom:clamp(100px,11vw,150px)}
.band--dark.sec>*:not(.mesh){max-width:var(--max);margin-inline:auto}
.band--dark + .sec{padding-top:clamp(90px,10vw,130px)}
.eyebrow{display:inline-block;font-weight:700;font-size:.9rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.sh{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px 60px;align-items:end;margin-bottom:48px}
.sh .eyebrow{grid-column:1/-1}
.sh h2{font-size:clamp(2.2rem,4.4vw,3.6rem)}
[lang=ar] .sh h2{font-size:clamp(1.9rem,3.6vw,2.9rem)}
.sh>p:last-child{color:var(--ink-2);font-size:1.08rem;max-width:52ch}
.band--dark .sh h2{color:#fff}
.band--dark .sh>p:last-child{color:var(--on-dark-2)}
.sh--center{grid-template-columns:1fr;text-align:center;justify-items:center}
.sh--center h2{max-width:18ch}
.sh--center>p:last-child{max-width:56ch}

/* card */
.card{position:relative;background:var(--white);border-radius:22px;box-shadow:inset 0 0 0 1px var(--line),var(--sh-2)}
.band--dark .card{background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--dline-2),0 30px 60px -30px rgba(0,0,0,.6);color:var(--on-dark);backdrop-filter:blur(8px)}

/* bento */
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tile{position:relative;display:flex;flex-direction:column;gap:22px;min-height:280px;padding:28px;border-radius:24px;text-decoration:none;background:var(--white);box-shadow:inset 0 0 0 1px var(--line),var(--sh-1);overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.tile::after{content:"";position:absolute;inset:auto -20% -60% auto;width:70%;height:90%;background:var(--grad);filter:blur(70px);opacity:0;transition:opacity .6s var(--ease);pointer-events:none}
.tile:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgba(20,184,166,.35),var(--sh-3)}
.tile:hover::after{opacity:.18}
.tile--wide{grid-column:span 2}
.tile h3{font-size:1.45rem;letter-spacing:-.02em}
.tile p{margin-top:6px;color:var(--ink-2);font-size:.98rem;max-width:40ch}
.tile--dark{background:var(--dark);color:var(--on-dark);box-shadow:0 30px 60px -30px rgba(7,11,20,.7)}
.tile--dark p{color:var(--on-dark-2)}
.tile--dark::after{opacity:.35}
.tile--dark:hover::after{opacity:.5}
.mini-list{margin-top:auto;display:grid;gap:8px}
.mini-list li{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);font-size:.92rem}
.mini-list b{font-weight:600;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.av{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none;font-weight:700;font-size:.8rem;color:#fff;background:linear-gradient(135deg,#10B981,#14B8A6)}
.av--2{background:linear-gradient(135deg,#14B8A6,#6366F1)}
.av--3{background:linear-gradient(135deg,#6366F1,#8B5CF6)}
.ring{margin-top:auto;position:relative;width:130px;height:130px;align-self:center}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:10;stroke-linecap:round}
.ring__bg{stroke:var(--line)}
.ring__fg{stroke:url(#g-brand);stroke-dasharray:314;stroke-dashoffset:314;transition:stroke-dashoffset 1.6s var(--ease) .2s}
.in .ring__fg,.ring.in .ring__fg{stroke-dashoffset:138}
.ring p{position:absolute;inset:0;display:grid;place-content:center;text-align:center;line-height:1}
.ring b{font-size:1.8rem;font-weight:800}
.ring span{font-size:.78rem;color:var(--ink-3);margin-top:4px}
.mini-quotes{margin-top:auto;display:grid;gap:8px}
.mini-quotes li{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);font-size:.9rem}
.mini-quotes li.best{background:var(--white);box-shadow:inset 0 0 0 1.5px var(--g2),0 12px 24px -14px rgba(20,184,166,.6)}
.mini-quotes b{font-weight:600}
.mini-quotes span{font-weight:700}
.mini-steps{margin-top:auto;display:flex;align-items:center;gap:0;padding:10px 4px}
.mini-steps li{position:relative;flex:1;display:flex;align-items:center}
.mini-steps li::before{content:"";width:22px;height:22px;border-radius:50%;flex:none;background:var(--white);box-shadow:inset 0 0 0 2px var(--line-2)}
.mini-steps li:not(:last-child)::after{content:"";flex:1;height:2px;background:var(--line)}
.mini-steps li.done::before{background:var(--grad);box-shadow:0 6px 12px -4px rgba(20,184,166,.6)}
.mini-steps li.done::after{background:var(--grad)}
.mini-steps li.now::before{box-shadow:inset 0 0 0 2px var(--g2),0 0 0 6px rgba(20,184,166,.15);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:inset 0 0 0 2px var(--g2),0 0 0 10px rgba(20,184,166,.05)}}
.mini-steps li:last-child{flex:0}
.mini-chat{margin-top:auto;display:grid;gap:10px}
.mini-chat p{max-width:78%;padding:11px 15px;border-radius:16px;font-size:.92rem;margin:0!important}
.mini-chat .me{justify-self:end;background:rgba(255,255,255,.1);color:#fff;border-end-end-radius:5px}
.mini-chat .bot{background:#fff;color:var(--ink)!important;border-end-start-radius:5px}
.mini-code{margin-top:auto;display:block;padding:14px 16px;border-radius:14px;background:var(--dark);color:#C8D2E3;font:600 .86rem/1.4 var(--f);letter-spacing:.01em;box-shadow:0 14px 28px -16px rgba(7,11,20,.8)}
.mini-code em{font-style:normal;color:#7DE3C8}

/* status */
.status{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font-weight:700;font-size:.74rem;white-space:nowrap}
.status svg{width:13px;height:13px}
.status--ok{background:var(--ok-bg);color:var(--ok)}
.status--due{background:var(--due-bg);color:var(--due)}
.status--exp{background:var(--exp-bg);color:var(--exp)}
.status--live{background:#EEF0FF;color:#4F46E5}
.band--dark .status--ok{background:rgba(16,185,129,.16);color:#6EE7B7}
.band--dark .status--due{background:rgba(245,158,11,.16);color:#FCD34D}

/* ecosystem */
.eco{display:grid;grid-template-columns:300px 1fr;gap:22px;align-items:stretch}
.eco__tabs{display:grid;gap:6px;align-content:start}
.eco__tabs button{display:flex;align-items:center;gap:14px;padding:14px 16px;border:0;border-radius:16px;background:transparent;cursor:pointer;text-align:start;font-weight:600;font-size:1.02rem;color:var(--ink-2);transition:all .3s var(--ease)}
.eco__tabs button:hover{background:var(--white);color:var(--ink)}
.eco__tabs button[aria-selected=true]{background:var(--white);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line),var(--sh-2)}
.eco__l{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:10px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);font-weight:800;font-size:.85rem;color:var(--ink-3);transition:all .3s}
.eco__tabs button[aria-selected=true] .eco__l{background:var(--grad);color:#fff;box-shadow:var(--sh-btn)}
.eco__panel{padding:clamp(24px,3vw,40px);min-height:380px;overflow:hidden}
.ep{display:grid;grid-template-columns:1.1fr 1fr;gap:34px;animation:rise .5s var(--ease)}
.ep h3{font-size:2rem}
.ep__lead{margin-top:12px;color:var(--ink-2)}
.ep__roles{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px}
.ep__roles li{padding:7px 14px;border-radius:999px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);font-size:.9rem;font-weight:600}
.ep__cta{margin-top:28px}
.dash{align-self:start;border-radius:18px;padding:18px;background:linear-gradient(160deg,#F2FBF8,#F3F4FF);box-shadow:inset 0 0 0 1px var(--line)}
.dash__t{font-weight:700}
.dash ul{margin-top:12px;display:grid;gap:8px}
.dash li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 14px;border-radius:12px;background:var(--white);box-shadow:var(--sh-1);font-size:.92rem}
.dash li b{font-weight:800;font-size:1.1rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.dash .sample{position:static;display:block;margin-top:10px;text-align:end}

/* directories */
.app{overflow:hidden}
.app__bar{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line)}
.app__url{padding:5px 14px;border-radius:999px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);font-size:.8rem;font-weight:500;color:var(--ink-2)}
.app__body{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:500px}
.app__side{padding:18px 12px;border-inline-end:1px solid var(--line);background:var(--bg)}
.app__side>.micro{padding-inline:10px}
.dbs{margin-top:10px;display:grid;gap:2px}
.dbs button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:0;border-radius:12px;background:transparent;cursor:pointer;font-weight:500;font-size:.93rem;text-align:start;color:var(--ink-2);transition:all .2s}
.dbs button em{font-style:normal;font-size:.78rem;color:var(--ink-3);font-variant-numeric:tabular-nums}
.dbs button:hover{background:var(--white);color:var(--ink)}
.dbs button.on{background:var(--white);color:var(--ink);font-weight:700;box-shadow:var(--sh-1),inset 0 0 0 1px var(--line)}
.dbs button.on em{color:var(--g2)}
.app__main{min-width:0;padding:20px clamp(14px,2.4vw,26px)}
.filters{display:flex;flex-wrap:wrap;gap:10px}
.sel{display:grid;gap:5px;flex:1;min-width:150px}
.sel select{height:44px;border:0;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);padding:0 12px;cursor:pointer;font-weight:500}
.results__count{margin:18px 0 10px;font-size:.85rem;color:var(--ink-3)}
.results{display:grid;gap:8px}
.results li{display:grid;grid-template-columns:40px 1fr auto;gap:14px;align-items:center;padding:13px 16px;border-radius:14px;background:var(--white);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .3s,transform .35s var(--ease);animation:rise .45s var(--ease) both}
.results li:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px rgba(20,184,166,.4),var(--sh-2)}
.results .av{width:40px;height:40px}
.results h4{font-weight:700;font-size:1rem;letter-spacing:-.01em}
.results p{font-size:.85rem;color:var(--ink-3);unicode-bidi:plaintext}
.empty{padding:36px 16px;text-align:center;color:var(--ink-2);border-radius:14px;background:var(--bg)}
.empty b{display:block;color:var(--ink);margin-bottom:4px}

/* lifecycle (dark) */
.life{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:start}
.life__track{padding:30px}
.stages{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.stages li{display:grid;gap:3px}
.stages b{font-weight:700;font-size:1.02rem}
.stages small{font-size:.8rem;color:var(--on-dark-3)}
.stage__fold{height:6px;border-radius:6px;margin-bottom:14px;background:rgba(255,255,255,.1)}
.stages .done .stage__fold{background:var(--grad)}
.stages .now .stage__fold{background:linear-gradient(90deg,#F59E0B,#FCD34D)}
.stages li.now b{color:#FCD34D}
.f4{background:rgba(220,38,38,.35)!important}
.gauge{display:none}
.ticks{margin-top:28px;display:grid;gap:12px}
.ticks li{position:relative;padding-inline-start:30px;color:var(--on-dark)}
.ticks li::before{content:"";position:absolute;inset-inline-start:0;top:.3em;width:18px;height:18px;border-radius:50%;background:var(--grad) center/100%;-webkit-mask:radial-gradient(circle,#000 58%,transparent 60%);mask:radial-gradient(circle,#000 58%,transparent 60%)}
.ticks li::after{content:"";position:absolute;inset-inline-start:5px;top:calc(.3em + 5px);width:8px;height:5px;border-left:2px solid var(--dark);border-bottom:2px solid var(--dark);transform:rotate(-45deg)}
.audit{padding:24px 26px 36px}
.audit__head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--dline)}
.audit__head p{display:grid;gap:3px}
.audit__head b{font-weight:700;font-size:1.1rem}
.audit__head .mono{font-size:.82rem;color:var(--on-dark-3)}
.audit ul{display:grid}
.audit li{display:grid;grid-template-columns:140px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--dline);font-size:.93rem}
.audit li:last-child{border:0}
.audit time{font-size:.8rem;color:var(--on-dark-3);font-variant-numeric:tabular-nums;unicode-bidi:plaintext}
.band--dark .sample{color:var(--on-dark-3)}

/* trade */
.seg{display:inline-flex;gap:4px;padding:5px;margin-bottom:30px;border-radius:999px;background:var(--white);box-shadow:inset 0 0 0 1px var(--line),var(--sh-1)}
.seg button{border:0;border-radius:999px;background:none;padding:10px 30px;cursor:pointer;font-weight:700;font-size:.95rem;color:var(--ink-3);transition:all .3s var(--ease)}
.seg button[aria-selected=true]{background:var(--grad);color:#fff;box-shadow:var(--sh-btn)}
.trade__pane{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;animation:rise .5s var(--ease)}
.trade__pane[hidden]{display:none}
.trade__feat h3{font-size:clamp(1.6rem,2.6vw,2.2rem);max-width:20ch}
.flist{margin-top:22px;display:grid}
.flist li{position:relative;padding:13px 0;padding-inline-start:34px;border-bottom:1px solid var(--line);font-weight:500}
.flist li::before{content:"";position:absolute;inset-inline-start:0;top:16px;width:20px;height:20px;border-radius:6px;background:var(--grad-soft);box-shadow:inset 0 0 0 1px rgba(20,184,166,.3)}
.flist li::after{content:"";position:absolute;inset-inline-start:6px;top:22px;width:8px;height:5px;border-left:2px solid var(--g2);border-bottom:2px solid var(--g2);transform:rotate(-45deg)}
.rfq{padding:26px 26px 42px}
.rfq header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.rfq h4{margin-top:6px;font-size:1.35rem;letter-spacing:-.02em}
.quotes{margin-top:18px;display:grid;gap:8px}
.quotes li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}
.quotes li.best{background:var(--white);box-shadow:inset 0 0 0 1.5px var(--g2),0 16px 30px -18px rgba(20,184,166,.7)}
.quotes li div{display:grid;gap:3px}
.quotes b{font-weight:700}
.quotes .cn{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--ok);unicode-bidi:plaintext}
.quotes .due{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:var(--due)}
.quotes svg{width:13px;height:13px;flex:none}
.quotes li>p{text-align:end;white-space:nowrap}
.quotes li>p b{font-weight:800;font-size:1.08rem}
.quotes small{color:var(--ink-3)}
.rfq footer{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.shop{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:56px;padding-bottom:26px}
.cart{position:absolute;top:0;inset-inline-end:0;display:flex;align-items:center;gap:10px;padding:9px 16px;border-radius:999px;background:var(--dark);color:#fff;font-weight:600;font-size:.9rem;box-shadow:0 14px 26px -14px rgba(7,11,20,.8)}
.cart svg{width:15px;height:15px}
.cart b{min-width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--grad)}
.cart.bump{animation:bump .5s var(--ease)}
@keyframes bump{40%{transform:scale(1.1)}}
.prod{overflow:hidden}
.prod__img{height:180px;display:grid;place-items:center;border-radius:22px 22px 0 0;background:radial-gradient(60% 70% at 50% 60%,rgba(16,185,129,.22),transparent 70%),linear-gradient(135deg,#F2FBF8,#EEF1FF)}
.prod__img svg{width:74px;height:74px;filter:drop-shadow(0 14px 12px rgba(20,184,166,.3))}
.prod__img svg *{stroke:#0F766E}
.prod__img--b{background:radial-gradient(60% 70% at 50% 60%,rgba(99,102,241,.22),transparent 70%),linear-gradient(135deg,#F3F4FF,#FAF5FF)}
.prod__img--b svg *{stroke:#4F46E5}
.prod__body{padding:16px 18px 20px}
.prod h4{margin-top:4px;font-size:1.15rem;letter-spacing:-.01em}
.verify-pill{margin-top:10px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:0;border-radius:999px;background:var(--ok-bg);color:var(--ok);font-weight:700;font-size:.78rem;cursor:pointer}
.verify-pill svg{width:13px;height:13px}
.verify-pill:hover{box-shadow:inset 0 0 0 1px var(--ok)}
.prod__row{margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.prod__row>b{font-weight:800;font-size:1.05rem}
.shop>.sample{bottom:0}

/* workflow */
.flow__chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.flow__chips button{border:0;border-radius:999px;background:var(--white);box-shadow:inset 0 0 0 1px var(--line);padding:10px 18px;cursor:pointer;font-weight:600;font-size:.92rem;color:var(--ink-2);transition:all .25s var(--ease)}
.flow__chips button:hover{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2),var(--sh-1)}
.flow__chips button[aria-selected=true]{background:var(--dark);color:#fff;box-shadow:0 12px 24px -12px rgba(7,11,20,.7)}
.pipeline{padding:clamp(26px,3vw,42px)}
.steps{display:grid;grid-template-columns:repeat(var(--n),1fr);position:relative;animation:rise .45s var(--ease)}
.steps::before{content:"";position:absolute;top:23px;inset-inline:calc(50%/var(--n));height:3px;border-radius:3px;background:var(--line)}
.steps::after{content:"";position:absolute;top:23px;inset-inline-start:calc(50%/var(--n));width:calc(100% - 100%/var(--n));height:3px;border-radius:3px;background:var(--grad);transform:scaleX(var(--done));transform-origin:left;transition:transform .9s var(--ease)}
[dir=rtl] .steps::after{transform-origin:right}
.step{position:relative;z-index:1;display:grid;justify-items:center;text-align:center;gap:10px;padding-inline:6px}
.step__n{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;font-weight:800;font-size:.95rem;color:var(--ink-3);background:var(--white);box-shadow:inset 0 0 0 2px var(--line-2)}
.step.is-done .step__n{background:var(--grad);color:#fff;box-shadow:var(--sh-btn)}
.step.is-now .step__n{color:var(--g2);box-shadow:inset 0 0 0 2px var(--g2),0 0 0 7px rgba(20,184,166,.14)}
.step b{font-weight:700;font-size:1rem}
.step span{font-size:.8rem;color:var(--ink-3)}
.step.is-now span{color:var(--g2);font-weight:700}
.trail{margin-top:32px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.trail li{padding:14px 16px;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);font-size:.92rem;font-weight:500}
.trail li time{display:block;font-size:.76rem;font-weight:600;color:var(--ink-3);margin-bottom:4px;unicode-bidi:plaintext}
.pipeline .sample{position:static;display:block;text-align:end;margin-top:14px}

/* assistant (dark) */
.ai{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}
.ai__asks{display:grid;gap:10px}
.ai__asks button{width:100%;display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;text-align:start;padding:18px 20px;border:0;border-radius:18px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--dline-2);cursor:pointer;color:var(--on-dark);font-size:1rem;font-weight:500;transition:all .35s var(--ease)}
.ai__asks button em{font-style:normal;font-weight:800;font-size:.85rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ai__asks button:hover{background:rgba(255,255,255,.08);transform:translateX(4px)}
[dir=rtl] .ai__asks button:hover{transform:translateX(-4px)}
.ai__asks button[aria-pressed=true]{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(20,184,166,.6),0 0 40px -10px rgba(20,184,166,.5)}
.chat{background:var(--white)!important;color:var(--ink)!important;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.7),0 0 80px -20px rgba(99,102,241,.4)!important}
.chat__head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.chat__head .brand__mark{width:32px;height:32px}
.chat__head p{display:grid;line-height:1.3}
.chat__head b{font-weight:800}
.chat__head p span{font-size:.8rem;color:var(--ink-3)}
.chat__body{padding:22px;display:grid;gap:14px;min-height:390px;align-content:start;background:linear-gradient(180deg,var(--white),var(--bg))}
.msg{max-width:88%;padding:12px 16px;border-radius:18px;font-size:.95rem;animation:rise .45s var(--ease) both}
.msg--me{justify-self:end;background:var(--dark);color:#fff;border-end-end-radius:5px}
.msg--bot{background:var(--white);box-shadow:inset 0 0 0 1px var(--line),var(--sh-1);border-end-start-radius:5px}
.msg--bot ul{margin-top:8px;display:grid;gap:4px;padding-inline-start:18px;list-style:disc}
.src{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.src span{padding:4px 10px;border-radius:999px;background:var(--grad-soft);box-shadow:inset 0 0 0 1px rgba(20,184,166,.25);font-size:.76rem;font-weight:700;color:#0F766E}
.typing{display:flex;gap:5px;padding:14px 16px;border-radius:18px;background:var(--white);box-shadow:inset 0 0 0 1px var(--line);width:max-content}
.typing i{width:8px;height:8px;border-radius:50%;background:var(--grad);animation:blink 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes blink{50%{opacity:.3;transform:translateY(-2px)}}

/* platform */
.plat{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}
.plat .kicker{font-weight:700;margin-bottom:14px;color:var(--ink-3)}
.code{background:var(--dark)!important;color:#D5DCE8;overflow:hidden;box-shadow:0 30px 60px -30px rgba(7,11,20,.8),0 0 60px -20px rgba(20,184,166,.35)!important}
.code__bar{padding:15px 22px;border-bottom:1px solid var(--dline);font-size:.84rem;font-weight:600;color:var(--on-dark-2);overflow-wrap:anywhere}
.code__bar span{margin-right:8px;padding:2px 8px;border-radius:6px;background:rgba(16,185,129,.18);color:#6EE7B7;font-weight:800}
.code pre{margin:0;padding:22px 26px;overflow-x:auto;font:500 .88rem/1.8 ui-monospace,SFMono-Regular,Menlo,monospace}
.code .k{color:#A5B4FC}.code .s{color:#99F6E4}.code .s.ok{color:#6EE7B7}.code .n{color:#FCD34D}
.integr{display:grid;gap:8px}
.integr li{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;padding:14px 16px;border-radius:14px;background:var(--white);box-shadow:inset 0 0 0 1px var(--line),var(--sh-1);font-weight:600;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.integr li:hover{transform:translateX(4px);box-shadow:inset 0 0 0 1px rgba(20,184,166,.4),var(--sh-2)}
[dir=rtl] .integr li:hover{transform:translateX(-4px)}
.integr em{font-style:normal;font-weight:800;font-size:.8rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.secgrid{margin-top:26px;padding:clamp(26px,3vw,40px)}
.secgrid h3{font-size:1.8rem}
.secgrid dl{margin:26px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.secgrid dl div{padding:18px 20px;border-radius:16px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}
.secgrid dt{font-weight:800;font-size:1.02rem}
.secgrid dd{margin:6px 0 0;color:var(--ink-2);font-size:.95rem}

/* join */
.join{padding:clamp(100px,11vw,150px) var(--gut) 0;max-width:calc(var(--max) + 2*var(--gut));margin-inline:auto}
.join__card{position:relative;overflow:hidden;isolation:isolate;border-radius:32px;padding:clamp(60px,8vw,110px) 24px;text-align:center;background:var(--dark);color:var(--on-dark);box-shadow:0 50px 100px -40px rgba(20,184,166,.55),0 30px 60px -30px rgba(99,102,241,.5)}
.join__card .mesh i{opacity:.7}
.join h2{font-size:clamp(2.3rem,5vw,4.2rem);max-width:17ch;margin-inline:auto;color:#fff;letter-spacing:-.04em}
.join p{margin:20px auto 0;max-width:52ch;color:var(--on-dark-2);font-size:1.1rem}
.join__acts{margin-top:34px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.join .btn--pri{background:#fff;color:var(--ink);box-shadow:0 16px 30px -12px rgba(0,0,0,.5)}
.join .btn--pri:hover{background:#fff}

/* footer */
.foot{margin-top:clamp(90px,10vw,130px);background:var(--dark);color:var(--on-dark-2)}
.foot__in{display:grid;grid-template-columns:1.1fr 1.4fr;gap:48px;padding:64px var(--gut) 24px;max-width:calc(var(--max) + 2*var(--gut));margin-inline:auto}
.foot .brand__word b{color:#fff}
.foot__brand p{margin-top:16px;max-width:40ch;font-size:.95rem;color:var(--on-dark-3)}
.foot__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.foot__cols div{display:grid;gap:10px;align-content:start}
.foot__cols .micro{color:var(--on-dark-3)}
.foot__cols a{text-decoration:none;font-size:.95rem;color:var(--on-dark-2)}
.foot__cols a:hover{color:#fff}
.foot__base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px var(--gut) 30px;max-width:calc(var(--max) + 2*var(--gut));margin-inline:auto;border-top:1px solid var(--dline);font-size:.82rem;color:var(--on-dark-3)}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .nav__links{display:none}
  .menu{display:flex}
  .hide-md{display:none}
  .window__body{grid-template-columns:1fr}
  .doors{grid-template-columns:repeat(3,1fr)}
  .bento{grid-template-columns:1fr 1fr}
  .sh{grid-template-columns:1fr;gap:14px}
  .eco{grid-template-columns:1fr}
  .eco__tabs{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:none}
  .ep{grid-template-columns:1fr}
  .life,.trade__pane,.ai,.plat{grid-template-columns:1fr;gap:28px}
  .foot__in{grid-template-columns:1fr}
}
@media (max-width:760px){
  body{font-size:16px}
  .nav__in{height:64px;gap:10px}
  .nav__act .btn--pri{display:none}
  .hero{padding-top:110px}
  .finder__tabs{display:flex;overflow-x:auto;scrollbar-width:none;border-radius:16px}
  .finder__tabs button{white-space:nowrap}
  .finder__bar{flex-wrap:wrap;border-radius:22px;padding:8px}
  .finder__ico{display:none}
  .finder__bar input{padding-inline:12px;flex-basis:100%}
  .finder__bar .btn{width:100%}
  .stage{margin-top:44px}
  .window{border-radius:16px 16px 0 0}
  .window__body{padding:14px}
  .vres__kv{grid-template-columns:1fr}
  .vres__kv div:nth-child(odd){border-inline-end:0}
  .doors{grid-template-columns:repeat(2,1fr)}
  .bento{grid-template-columns:1fr}
  .tile--wide{grid-column:auto}
  .tile{min-height:0}
  .app__body{grid-template-columns:minmax(0,1fr)}
  .app__side{border-inline-end:0;border-bottom:1px solid var(--line)}
  .dbs{display:flex;overflow-x:auto;scrollbar-width:none}
  .dbs button{white-space:nowrap}
  .sel{min-width:0;flex-basis:100%}
  .results li{grid-template-columns:40px 1fr}
  .results li>.status{grid-column:2;justify-self:start}
  .stages{grid-template-columns:1fr 1fr;row-gap:18px}
  .audit li{grid-template-columns:1fr;gap:2px}
  .shop{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;gap:14px}
  .steps::before,.steps::after{display:none}
  .step{grid-template-columns:48px 1fr;justify-items:start;text-align:start;align-items:center;column-gap:14px;row-gap:0}
  .step__n{grid-row:span 2}
  .trail{grid-template-columns:1fr}
  .secgrid dl{grid-template-columns:1fr}
  .foot__cols{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}.ring__fg{stroke-dashoffset:138}}
.window .status--ok{background:var(--ok-bg);color:var(--ok)}

/* ================= working platform components ================= */
.tile--full{grid-column:1/-1;flex-direction:row;align-items:center;gap:40px;min-height:220px}
.tile--full .tile__txt{flex:1}
.tile--full .mini-chat{flex:1.2;margin-top:0}
body.locked{overflow:hidden}
.ov{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:rgba(7,11,20,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .3s var(--ease)}
.ov[hidden]{display:none}
.ov.on{opacity:1}
.modal{position:relative;width:min(620px,100%);max-height:calc(100vh - 32px);overflow-y:auto;padding:30px;border-radius:24px;background:var(--white);color:var(--ink);box-shadow:0 40px 100px -30px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.1);transform:translateY(14px) scale(.98);transition:transform .45s var(--ease);outline:0}
.ov.on .modal{transform:none}
.modal h2,.drawer h2{font-size:1.6rem;letter-spacing:-.025em;padding-inline-end:40px}
.sub{margin-top:6px;color:var(--ink-2);font-size:.96rem}
.x{position:absolute;top:18px;inset-inline-end:18px;width:38px;height:38px;border:0;border-radius:50%;background:var(--bg);display:grid;place-items:center;cursor:pointer;color:var(--ink-2);transition:background .2s}
.x:hover{background:var(--line)}
.x svg{width:16px;height:16px}
.ov--side{place-items:stretch end;padding:0}
[dir=rtl] .ov--side{place-items:stretch start}
.drawer{position:relative;width:min(480px,100%);height:100%;overflow-y:auto;padding:30px 28px;background:var(--white);color:var(--ink);box-shadow:-30px 0 80px -30px rgba(0,0,0,.5);transform:translateX(40px);transition:transform .45s var(--ease);outline:0}
[dir=rtl] .drawer{transform:translateX(-40px)}
.ov.on .drawer{transform:none}
.form{margin-top:20px;display:grid;gap:14px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fl{display:grid;gap:6px}
.fl--full{grid-column:1/-1}
.fl>span{font-weight:600;font-size:.9rem}
.fl em{font-style:normal;font-weight:500;color:var(--ink-3);font-size:.82rem}
.fl input,.fl select,.fl textarea{width:100%;min-height:48px;padding:12px 14px;border:0;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);outline:0;font-size:.98rem;transition:box-shadow .2s}
.fl textarea{resize:vertical;min-height:100px}
.fl input:focus,.fl select:focus,.fl textarea:focus{box-shadow:inset 0 0 0 2px var(--g2),0 0 0 5px rgba(20,184,166,.12);background:var(--white)}
.fl.bad input,.fl.bad select,.fl.bad textarea{box-shadow:inset 0 0 0 2px var(--exp)}
.err{min-height:0;font-size:.82rem;font-weight:600;color:var(--exp)}
.err:empty{display:none}
.form__acts{display:flex;justify-content:flex-end;gap:10px;margin-top:8px;flex-wrap:wrap}
.form__acts--col{flex-direction:column;align-items:stretch}
.form__alt{text-align:center;font-size:.92rem;color:var(--ink-2)}
.btn--block{width:100%}
.modal .linkish,.drawer .linkish,.result-card .linkish{color:#0F766E}
.band--dark .result-card .linkish,.hero .result-card .linkish{color:#7DE3C8}
.brandrow{margin-bottom:14px}
.brandrow .brand__mark{width:44px;height:44px}
.spin{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:sp .7s linear infinite}
.spin--dark{border-color:var(--line);border-top-color:var(--g2)}
@keyframes sp{to{transform:rotate(360deg)}}
.me-av{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--grad);color:#fff;font-style:normal;font-weight:800;font-size:.75rem}
.acct{margin-top:18px;display:grid;gap:8px}
.acct li{display:flex;justify-content:space-between;padding:14px 16px;border-radius:14px;background:var(--bg)}
.wiz{margin-top:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.wiz li{display:flex;align-items:center;gap:8px;font-size:.84rem;font-weight:600;color:var(--ink-3)}
.wiz i{width:26px;height:26px;flex:none;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:.8rem;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line-2)}
.wiz i svg{width:12px;height:12px}
.wiz .c{color:var(--ink)}
.wiz .c i{box-shadow:inset 0 0 0 2px var(--g2);color:var(--g2)}
.wiz .d i{background:var(--grad);color:#fff;box-shadow:none}
.rolegrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rolecard{position:relative;display:block;padding:16px;border-radius:16px;cursor:pointer;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);transition:all .25s var(--ease)}
.rolecard input{position:absolute;opacity:0}
.rolecard b{font-weight:700}
.rolecard:hover{box-shadow:inset 0 0 0 1px var(--line-2),var(--sh-1)}
.rolecard:has(input:checked){background:var(--white);box-shadow:inset 0 0 0 2px var(--g2),var(--sh-2)}
.rolecard:has(input:focus-visible){outline:2.5px solid var(--g2);outline-offset:2px}
.file{position:relative;display:flex;align-items:center;min-height:48px;padding:12px 14px;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer}
.file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.file b{font-weight:500;color:var(--ink-2);font-size:.92rem}
.review{margin:18px 0 0;display:grid;gap:0;border-radius:16px;background:var(--bg);overflow:hidden}
.review div{display:flex;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line)}
.review div:last-child{border:0}
.review dt{color:var(--ink-3);font-weight:600;font-size:.9rem}
.review dd{margin:0;font-weight:600;text-align:end}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;cursor:pointer}
.check input{margin-top:3px;width:18px;height:18px;accent-color:#14B8A6}
.done{text-align:center;padding:10px 0 4px}
.done__ic{width:68px;height:68px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#fff;box-shadow:var(--sh-btn);animation:pop .6s var(--ease)}
.done__ic svg{width:30px;height:30px}
@keyframes pop{from{transform:scale(.5);opacity:0}}
.done h3{font-size:1.6rem}
.done p{margin:8px auto 0;max-width:44ch;color:var(--ink-2)}
.ref{font-size:.92rem}
.ref b{font-weight:800;color:var(--ink);unicode-bidi:plaintext}
.done__acts{margin-top:22px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.warn{margin-top:14px;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:var(--due-bg);color:var(--due);font-size:.9rem;font-weight:500}
.warn svg{width:16px;height:16px;flex:none;margin-top:3px}
.pf{display:flex;gap:16px;align-items:center;padding-inline-end:40px}
.av--lg{width:60px;height:60px;border-radius:18px;font-size:1.1rem}
.pf h2{padding:0;font-size:1.45rem}
.pf .faint{font-size:.92rem;unicode-bidi:plaintext}
.pf__tags{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}
.tag{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:var(--bg);font-weight:600;font-size:.78rem;color:var(--ink-2)}
.pf__sec{margin-top:24px}
.pf__sec h3{font-size:.85rem;font-weight:700;color:var(--ink-3);letter-spacing:.02em;margin-bottom:8px}
.pf__sec p{color:var(--ink-2)}
.kv2{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kv2 div{padding:12px 14px;border-radius:14px;background:var(--bg)}
.kv2 dt{font-size:.78rem;font-weight:600;color:var(--ink-3)}
.kv2 dd{margin:2px 0 0;font-weight:700}
.map{position:relative;height:170px;border-radius:16px;overflow:hidden;background:repeating-linear-gradient(0deg,transparent 0 27px,rgba(20,184,166,.08) 27px 28px),repeating-linear-gradient(90deg,transparent 0 27px,rgba(20,184,166,.08) 27px 28px),linear-gradient(135deg,#EAF7F2,#EEF1FF)}
.map i{position:absolute;left:50%;top:45%;width:18px;height:18px;border-radius:50% 50% 50% 0;transform:translate(-50%,-50%) rotate(-45deg);background:var(--grad);box-shadow:0 0 0 8px rgba(20,184,166,.15),0 10px 20px -6px rgba(20,184,166,.7)}
.map span{position:absolute;bottom:10px;inset-inline-start:12px;font-size:.78rem;font-weight:600;color:var(--ink-3)}
.pf__acts{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px}
.thread{margin-top:18px;display:grid;gap:10px;max-height:280px;overflow-y:auto;padding:14px;border-radius:16px;background:var(--bg)}
.bubble{max-width:82%;padding:10px 14px;border-radius:16px;font-size:.94rem;animation:rise .4s var(--ease)}
.bubble.them{background:var(--white);box-shadow:var(--sh-1);border-end-start-radius:5px}
.bubble.me{justify-self:end;background:var(--dark);color:#fff;border-end-end-radius:5px}
.bubble small{display:block;margin-top:2px;font-size:.72rem;opacity:.7}
.composer{grid-template-columns:1fr auto;align-items:end;margin-top:12px}
.composer textarea{width:100%;min-height:48px;padding:12px 14px;border:0;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);outline:0;resize:none}
.composer textarea:focus{box-shadow:inset 0 0 0 2px var(--g2)}
.newrfq{margin-top:22px}
.newrfq svg{width:16px;height:16px}
.quotes li{cursor:pointer}
.quotes li:focus-visible{outline:2.5px solid var(--g2);outline-offset:2px}
.quotes li.pending{cursor:default;box-shadow:inset 0 0 0 1px dashed var(--line-2)}
.quotes li.pending .cn{color:var(--ink-3)}
.cart{cursor:pointer;transition:transform .3s var(--ease)}
.cart:hover{transform:translateY(-2px)}
.cartlist{margin-top:18px;display:grid}
.cartlist li{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.cartlist b{font-weight:700}
.cartlist small{display:block;font-size:.8rem;color:var(--ink-3)}
.okc{color:var(--ok);font-weight:600}
.qty{display:inline-flex;align-items:center;border-radius:999px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}
.qty button{width:32px;height:32px;border:0;background:none;cursor:pointer;font-size:1.1rem;font-weight:700;border-radius:50%}
.qty button:hover{background:var(--line)}
.qty span{min-width:22px;text-align:center;font-weight:700}
.lt{min-width:84px;text-align:end;white-space:nowrap}
.tot{display:flex;justify-content:space-between;align-items:center;padding:18px 0}
.tot b{font-size:1.3rem;font-weight:800}
.empty-c{margin-top:30px;padding:36px 16px;text-align:center;border-radius:18px;background:var(--bg)}
.empty-c p{margin-bottom:14px;color:var(--ink-2)}
.pays{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pays legend{font-weight:600;font-size:.9rem;margin-bottom:8px}
.pays label{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;font-weight:600}
.pays label:has(input:checked){background:var(--white);box-shadow:inset 0 0 0 2px var(--g2)}
.pays input{accent-color:#14B8A6}
.track{margin-top:24px;display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.track::before{content:"";position:absolute;top:10px;inset-inline:12.5%;height:2px;background:var(--line)}
.track li{position:relative;z-index:1;display:grid;justify-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--ink-3)}
.track i{width:22px;height:22px;border-radius:50%;background:var(--white);box-shadow:inset 0 0 0 2px var(--line-2);transition:all .4s var(--ease)}
.track li.on{color:var(--ink)}
.track li.on i{background:var(--grad);box-shadow:0 0 0 5px rgba(20,184,166,.15)}
.audit__acts{margin-top:18px;display:flex;gap:8px;flex-wrap:wrap}
.switch{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:14px;background:var(--bg);font-weight:600;cursor:pointer}
.switch input{appearance:none;width:44px;height:26px;border-radius:13px;background:var(--line-2);position:relative;cursor:pointer;transition:background .25s;margin:0}
.switch input::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .3s var(--ease)}
.switch input:checked{background:var(--g2)}
.switch input:checked::after{transform:translateX(18px)}
[dir=rtl] .switch input:checked::after{transform:translateX(-18px)}
.chat__body{max-height:460px;overflow-y:auto}
.chat__form{display:flex;gap:8px;padding:14px;border-top:1px solid var(--line);background:var(--white)}
.chat__form input{flex:1;min-width:0;height:46px;padding:0 16px;border:0;border-radius:999px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);outline:0}
.chat__form input:focus{box-shadow:inset 0 0 0 2px var(--g2)}
.chat__form .btn{height:46px;width:46px;padding:0}
[dir=rtl] .chat__form .btn svg{transform:scaleX(-1)}
.apicon{grid-column:1;display:flex;align-items:center;gap:8px;margin-top:-14px;padding:8px 8px 8px 16px;border-radius:0 0 22px 22px;background:var(--dark-2);color:var(--on-dark-2);box-shadow:0 20px 40px -24px rgba(7,11,20,.8)}
[dir=rtl] .apicon{padding:8px 16px 8px 8px}
.apicon__m{padding:2px 8px;border-radius:6px;background:rgba(16,185,129,.18);color:#6EE7B7;font-weight:800;font-size:.8rem}
.apicon__p{font-weight:600;font-size:.86rem;color:var(--on-dark-3)}
.apicon input{flex:1;min-width:0;height:40px;padding:0 12px;border:0;border-radius:10px;background:rgba(255,255,255,.06);color:#fff;font-weight:600;outline:0;box-shadow:inset 0 0 0 1px var(--dline-2)}
.apicon input:focus{box-shadow:inset 0 0 0 2px var(--g2)}
.plat>.code{border-radius:22px 22px 0 0}
.code__bar em{margin-inline-start:10px;font-style:normal;font-weight:700;font-size:.78rem}
.code__bar em.ok{color:#6EE7B7}.code__bar em.nf{color:#FCA5A5}
.code.flash pre{animation:flash .6s var(--ease)}
@keyframes flash{from{opacity:.2;transform:translateY(4px)}}
.faq{margin-top:16px;display:grid;gap:8px}
.faq details{border-radius:14px;background:var(--bg);padding:4px 16px}
.faq summary{cursor:pointer;padding:12px 0;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:10px}
.faq summary::after{content:"+";font-weight:800;color:var(--g2);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{padding:0 0 14px;color:var(--ink-2)}
.result-list ul{display:grid;gap:6px;margin-top:8px}
.result-list{flex-direction:column;align-items:stretch}
.result-list button{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border:0;border-radius:12px;background:rgba(255,255,255,.06);cursor:pointer;text-align:start;color:var(--on-dark);transition:background .2s}
.result-list button:hover{background:rgba(255,255,255,.12)}
.result-list button>span:nth-child(2){flex:1;min-width:0;display:grid}
.result-list small{color:var(--on-dark-3);font-size:.8rem;unicode-bidi:plaintext}
.result-list .micro{color:var(--on-dark-3)}
.wf-acts{margin-top:26px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.wf-rej{color:var(--exp)}
.wf-rej:hover{background:var(--exp-bg)}
.vres[data-st=due] .vres__banner{background:linear-gradient(120deg,#FEF6E7,#FFF9EF)}
.vres[data-st=due] .vres__ic{background:linear-gradient(135deg,#F59E0B,#FCD34D)}
.vres[data-st=exp] .vres__banner{background:linear-gradient(120deg,#FEECEC,#FFF5F5)}
.vres[data-st=exp] .vres__ic{background:linear-gradient(135deg,#DC2626,#F87171)}
.vres[data-st=exp] .meter span{background:var(--exp)}
.vchain li.bad i{background:var(--exp)}
.toasts{position:fixed;bottom:22px;inset-inline-end:22px;z-index:120;display:grid;gap:8px;max-width:calc(100vw - 32px)}
.toast{display:flex;align-items:center;gap:10px;padding:13px 16px;border-radius:14px;background:var(--dark);color:#fff;font-weight:600;font-size:.92rem;box-shadow:0 20px 40px -16px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.08);animation:rise .4s var(--ease);transition:opacity .35s,transform .35s}
.toast svg{width:18px;height:18px;flex:none;color:#6EE7B7}
.toast--info svg{color:#A5B4FC}
.toast.out{opacity:0;transform:translateY(8px)}
.results li{cursor:pointer}
.mini-list li{cursor:pointer}
@media (max-width:760px){
  .modal{padding:24px 18px;border-radius:20px}
  .grid2,.rolegrid,.pays,.kv2{grid-template-columns:1fr}
  .wiz{grid-template-columns:repeat(4,auto);justify-content:space-between}
  .wiz span{display:none}
  .drawer{padding:26px 18px}
  .tile--full{flex-direction:column;align-items:stretch;gap:22px}
  .apicon{flex-wrap:wrap}
  .apicon input{flex-basis:100%}
  .apicon .btn{width:100%}
  .cartlist li{grid-template-columns:1fr auto}
  .lt{grid-column:1/-1;text-align:start}
  .toasts{inset-inline:16px;bottom:16px}
}
.plat>.code{grid-column:1;grid-row:1}
.plat>.apicon{grid-column:1;grid-row:2}
.plat>div:not(.code){grid-column:2;grid-row:1/span 2}
@media (max-width:1100px){.plat>.code,.plat>.apicon,.plat>div:not(.code){grid-column:1;grid-row:auto}.plat>div:not(.code){margin-top:14px}}

[hidden]{display:none!important}
.tile>*{min-width:0}
.mini-list{width:100%}
.mini-list li{min-width:0}
.mini-list .status{flex:none}
.vres__kv dd,.vchain b{unicode-bidi:plaintext}

/* ---- fix: consistent form controls in Safari + no stale opacity in modals ---- */
.fl input,.fl select,.fl textarea,.sel select{-webkit-appearance:none;appearance:none;font:inherit;line-height:1.3;color:var(--ink)}
.fl input,.fl select{height:48px;min-height:48px}
.fl select,.sel select{padding-inline-end:44px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' fill='none' stroke='%234A5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-size:18px 18px;background-position:right 14px center}
[dir=rtl] .fl select,[dir=rtl] .sel select{background-position:left 14px center}
.fl select:focus{background-color:var(--white)}
.fl{align-content:start}
.ov{opacity:1;transition:none;background:rgba(7,11,20,0);animation:ovIn .3s var(--ease) forwards}
@keyframes ovIn{to{background:rgba(7,11,20,.55)}}
.modal,.drawer{transition:none}
.ov.on .modal{animation:modalIn .45s var(--ease) both}
.ov.on .drawer{animation:drawerIn .45s var(--ease) both}
@keyframes modalIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@keyframes drawerIn{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
[dir=rtl] .ov.on .drawer{animation-name:drawerInR}
@keyframes drawerInR{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
.modal .btn--pri,.drawer .btn--pri{opacity:1;background-color:#14B8A6;-webkit-font-smoothing:antialiased}
.demo-code{margin-top:12px;padding:10px 14px;border-radius:12px;background:var(--bg);font-size:.88rem;color:var(--ink-2)}
.demo-code b{font-weight:800;letter-spacing:.2em;color:var(--ink)}
.otp{letter-spacing:.5em;font-size:1.3rem!important;font-weight:700;text-align:center}
.qrule{margin-top:12px;padding:10px 12px;border-radius:12px;background:#EEF0FF;color:#4F46E5;font-size:.84rem;font-weight:600}
.qty button[disabled]{opacity:.35;cursor:not-allowed}
.qty span{min-width:60px}

/* ================= Halal ledger (public) ================= */
#ledger .sh{margin-bottom:34px}
.lsteps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;counter-reset:none}
.lsteps li{position:relative;display:grid;gap:6px;padding:20px;border-radius:20px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--dline-2)}
.lsteps li:not(.lsteps__last)::after{content:"";position:absolute;top:36px;inset-inline-end:-15px;width:16px;height:2px;background:var(--grad);z-index:1}
.lsteps__n{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--grad);color:#fff;font-weight:800;font-size:.9rem;box-shadow:var(--sh-btn)}
.lsteps b{font-weight:800;font-size:1.08rem;color:#fff;margin-top:6px}
.lsteps span:last-child{color:var(--on-dark-2);font-size:.92rem}
.lsteps__last{background:linear-gradient(150deg,rgba(16,185,129,.18),rgba(99,102,241,.14))!important;box-shadow:inset 0 0 0 1px rgba(94,234,212,.35)!important}
.lchainw{border-radius:24px;background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px var(--dline);margin-bottom:22px}
.lchainw__h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--dline)}
.lchainw__h p{font-weight:800;color:#fff}
.lchainw__h span{font-size:.86rem;color:var(--on-dark-3)}
.lchainw__h b{color:#fff}.lchainw__h b.ok{color:#6EE7B7}.lchainw__h b.bad{color:#FCA5A5}
.lchain{display:flex;align-items:center;overflow-x:auto;padding:22px 20px;scrollbar-width:thin}
.lchain__link{flex:none;width:30px;height:2px;background:var(--grad);box-shadow:0 0 10px rgba(20,184,166,.8)}
.lblk{flex:none;display:grid;gap:4px;width:180px;padding:14px;border:0;border-radius:16px;text-align:start;cursor:pointer;color:var(--on-dark);background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--dline-2);position:relative;overflow:hidden;font:inherit;transition:transform .35s var(--ease),box-shadow .35s;animation:rise .6s var(--ease) both;animation-delay:calc(var(--i)*80ms)}
.lblk::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--grad)}
.lblk--bad::before{background:#EF4444}.lblk--gen::before{background:var(--dline-2)}
.lblk:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px rgba(94,234,212,.4),0 18px 30px -18px rgba(20,184,166,.7)}
.lblk__n{font-size:.76rem;font-weight:800;color:var(--on-dark-3)}
.lblk b{font-weight:700;font-size:.9rem;line-height:1.25;min-height:2.5em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lblk__r{font-size:.76rem;font-weight:700;color:#6EE7B7}
.lblk--bad .lblk__r{color:#FCA5A5}
.lblk__h{font-size:.72rem;color:var(--on-dark-3);font-variant-numeric:tabular-nums}
.lgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;align-items:start}
.lgrid>*{min-width:0}
.lookup{padding:26px}
.lookup h3{font-size:1.4rem;color:#fff}
.lookup__p{margin-top:6px;color:var(--on-dark-2)}
.lookup__f{display:flex;gap:8px;margin-top:18px;padding:6px;padding-inline-start:16px;border-radius:999px;background:#fff}
.lookup__f input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-weight:600;color:var(--ink)}
.lookup__ex{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px;font-size:.84rem;color:var(--on-dark-3)}
.lookup__ex button{border:0;border-radius:999px;padding:4px 10px;background:rgba(255,255,255,.08);color:var(--on-dark);font:600 .8rem var(--f);cursor:pointer}
.lookup__ex button:hover{background:rgba(255,255,255,.16)}
.lookup__acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.lres{display:grid;gap:12px}
.lres__h{font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-3)}
[lang=ar] .lres__h{letter-spacing:0;text-transform:none}
.lcert,.lflag{padding:24px;border-radius:22px;animation:rise .5s var(--ease)}
.lcert{background:linear-gradient(150deg,rgba(16,185,129,.24),rgba(20,184,166,.1) 45%,rgba(99,102,241,.22));box-shadow:inset 0 0 0 1px rgba(94,234,212,.3),0 30px 60px -30px rgba(20,184,166,.6)}
.lflag{background:linear-gradient(150deg,rgba(239,68,68,.24),rgba(239,68,68,.06));box-shadow:inset 0 0 0 1px rgba(252,165,165,.3),0 30px 60px -30px rgba(239,68,68,.5)}
.lcert header,.lflag header{display:flex;gap:12px;align-items:center}
.lcert__ic,.lflag__ic{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;flex:none;color:#fff;background:var(--grad);box-shadow:var(--sh-btn)}
.lflag__ic{background:#EF4444;box-shadow:0 10px 24px -8px rgba(239,68,68,.8)}
.lcert__ic svg,.lflag__ic svg{width:22px;height:22px}
.lcert__k{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-2)}
[lang=ar] .lcert__k{letter-spacing:0;text-transform:none}
.lcert__tok{font-weight:800;font-size:1.15rem;color:#fff}
.lcert h4,.lflag h4{margin-top:14px;font-size:1.4rem;color:#fff;letter-spacing:-.02em}
.lflag h4{margin-top:2px}
.lcert__co{color:var(--on-dark-2);font-size:.92rem}
.lcert dl{margin:14px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.lcert dl div{padding:10px 12px;border-radius:12px;background:rgba(0,0,0,.22)}
.lcert dt{font-size:.72rem;font-weight:700;color:var(--on-dark-3)}
.lcert dd{margin:2px 0 0;font-weight:700;color:#fff;font-size:.9rem}
.lcert__hash{margin-top:12px;display:grid;gap:2px;font-size:.72rem;color:var(--on-dark-3)}
.lcert__hash b{color:#99F6E4;font-size:.72rem;word-break:break-all;font-weight:600}
.lflag .lcert__hash b{color:#FCA5A5}
.lflag__no{display:inline-block;margin:14px 0;padding:6px 12px;border-radius:999px;background:rgba(239,68,68,.2);color:#FCA5A5;font-weight:800;font-size:.86rem}
.lflag ul{display:grid;gap:8px;margin-top:8px}
.lflag li{display:grid;gap:2px;padding:12px 14px;border-radius:14px;background:rgba(0,0,0,.22)}
.lflag li b{color:#FECACA}
.lflag li span{font-size:.86rem;color:var(--on-dark-2)}
.lcert--gen{background:rgba(255,255,255,.05)}
.lres__none{padding:22px;border-radius:20px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--dline-2);color:var(--on-dark-2)}
.lres__none b{display:block;color:#fff;margin-bottom:4px}
@media (max-width:1100px){.lsteps{grid-template-columns:1fr 1fr}.lsteps li::after{display:none}.lgrid{grid-template-columns:1fr}}
@media (max-width:640px){.lsteps{grid-template-columns:1fr}.lcert dl{grid-template-columns:1fr 1fr}.lookup__f{border-radius:18px;flex-wrap:wrap}.lookup__f .btn{width:100%}}
.lsteps li{align-content:start}
/* public ledger explorer */
.lres .lcert,.lres .lflag{cursor:pointer;transition:transform .3s var(--ease)}
.lres .lcert:hover,.lres .lflag:hover{transform:translateY(-2px)}
.lexp{margin-top:22px;border-radius:24px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--dline-2);overflow:hidden;animation:rise .5s var(--ease)}
.lexp[hidden]{display:none}
.lexp__h{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;padding:22px 22px 10px}
.lexp__h h3{font-size:1.4rem;color:#fff}
.lexp__h p{margin-top:4px;color:var(--on-dark-2);font-size:.92rem}
.lexp__integ{padding:0 22px}
.lexp__integ:empty{display:none}
.lexp__bar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 22px 16px}
.lexp__chips{display:flex;gap:6px;flex-wrap:wrap}
.lexp__chips button{height:36px;padding:0 14px;border:0;border-radius:999px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--dline-2);color:var(--on-dark-2);font:600 .88rem var(--f);cursor:pointer}
.lexp__chips button[aria-pressed=true]{background:var(--grad);color:#fff;box-shadow:var(--sh-btn)}
.lexp__s input{height:38px;width:min(320px,100%);padding:0 14px;border:0;border-radius:999px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px var(--dline-2);color:#fff;font:500 .9rem var(--f);outline:0}
.lexp__s input:focus{box-shadow:inset 0 0 0 1.5px #5EEAD4}
.lexp__s{flex:0 1 320px;min-width:0}
.lexp__tw{overflow-x:auto;border-top:1px solid var(--dline)}
.lexp__t{width:100%;border-collapse:collapse;font-size:.9rem;color:var(--on-dark)}
.lexp__t th{text-align:start;padding:12px 16px;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--on-dark-3);border-bottom:1px solid var(--dline);white-space:nowrap}
[lang=ar] .lexp__t th{letter-spacing:0;text-transform:none;font-size:.8rem}
.lexp__t td{padding:12px 16px;border-bottom:1px solid var(--dline);vertical-align:middle}
.lexp__t tr[data-row]{cursor:pointer;transition:background .2s}
.lexp__t tr[data-row]:hover{background:rgba(255,255,255,.05)}
.lexp__t tr[data-row]:focus-visible{outline:2px solid #5EEAD4;outline-offset:-2px}
.lexp__t tr.vok td:first-child{box-shadow:inset 3px 0 0 #10B981}
.lexp__t tr.vbad td:first-child{box-shadow:inset 3px 0 0 #EF4444}
.lexp__t td small{display:block;color:var(--on-dark-3);font-size:.76rem}
.lnum,.lhash{font-variant-numeric:tabular-nums;color:var(--on-dark-3)}
.ltok{font-weight:700;color:#99F6E4}
.lnon{font-weight:600;color:#FCA5A5}
.lempty{text-align:center;color:var(--on-dark-3);padding:30px!important}
.lpill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font-size:.76rem;font-weight:700;white-space:nowrap;background:rgba(255,255,255,.08);color:var(--on-dark-2)}
.lpill svg{width:13px;height:13px}
.lpill--ok{background:rgba(16,185,129,.16);color:#6EE7B7}
.lpill--bad{background:rgba(239,68,68,.16);color:#FCA5A5}
.lblk.vok{box-shadow:inset 0 0 0 2px #10B981,0 0 24px -6px rgba(16,185,129,.8)}
.lblk.vbad{box-shadow:inset 0 0 0 2px #EF4444}
/* dark drawer for block view */
.drawer.drawer--dark{background:#0B1120;color:var(--on-dark);box-shadow:-30px 0 80px -30px rgba(0,0,0,.8),inset 1px 0 0 var(--dline)}
.drawer--dark h2{color:#fff}
.drawer--dark .x{background:rgba(255,255,255,.08);color:var(--on-dark)}
.drawer--dark .x:hover{background:rgba(255,255,255,.14)}
.ldr{display:grid;gap:22px;margin-top:16px}
.ldr h3{font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-3);margin-bottom:10px}
[lang=ar] .ldr h3{letter-spacing:0;text-transform:none;font-size:.85rem}
.lminis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.lmini{display:grid;gap:4px;align-content:start;padding:12px;border:0;border-radius:14px;text-align:start;font:inherit;color:var(--on-dark);background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--dline-2);cursor:pointer;min-width:0}
.lmini--on{background:rgba(20,184,166,.12);box-shadow:inset 0 0 0 1.5px rgba(94,234,212,.6);cursor:default}
.lmini--empty{opacity:.55;cursor:default;box-shadow:inset 0 0 0 1px var(--dline);background:transparent}
.lmini__k{font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-3)}
.lmini b{font-size:1.1rem;font-weight:800}
.lmini__p{font-size:.8rem;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.lmini__h{display:flex;justify-content:space-between;gap:4px;font-size:.66rem}
.lmini__h em{font-style:normal;color:var(--on-dark-3)}
.lmini__h i{font-style:normal;color:var(--on-dark-2);font-variant-numeric:tabular-nums}
.lmini__h i.hl1{background:#5EEAD4;color:#0B1220;padding:0 4px;border-radius:4px}
.lmini__h i.hl2{background:#A5B4FC;color:#0B1220;padding:0 4px;border-radius:4px}
.ldr__note{margin-top:8px;font-size:.8rem;color:var(--on-dark-3)}
.lings,.lsigs{display:grid;gap:6px}
.lings li,.lsigs li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05);font-size:.9rem}
.lings small{color:var(--on-dark-3)}
.lsigs span{font-size:.74rem;color:var(--on-dark-3);font-variant-numeric:tabular-nums}
.ldr__acts{display:flex;gap:10px}
.ldr__vr:empty{display:none}
@media (max-width:640px){.lminis{grid-template-columns:1fr}.lexp__h,.lexp__bar{padding-inline:16px}.lexp__s{flex-basis:100%}.lexp__s input{width:100%}}

/* ---------- public ledger page ---------- */
.nav__links a[aria-current=page]{color:#fff;background:rgba(255,255,255,.08)}
.btn .bi{width:19px;height:19px}
.btn--pri:hover .bi{transform:none}
.band--dark.sec.lpage{margin-top:0;padding-top:clamp(116px,12vw,150px)}
.lpage__top{margin-bottom:40px}
.crumbs{display:flex;gap:8px;align-items:center;font-size:.86rem;color:var(--on-dark-3);margin-bottom:22px}
.crumbs a{color:var(--on-dark-2);text-decoration:none}.crumbs a:hover{color:#fff}
.lpage h1{margin-top:22px;font-size:clamp(2.6rem,5.6vw,4.6rem);letter-spacing:-.04em;color:#fff;max-width:14ch}
[lang=ar] .lpage h1{line-height:1.3;letter-spacing:0}
.lpage .lead{margin-inline:0;max-width:62ch}
.lpage__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.lpage .lexp{margin-top:34px;scroll-margin-top:96px}
.lpage__how{margin-top:clamp(70px,8vw,110px)}
.lpage #lookup{scroll-margin-top:96px}

/* barcode on block cards */
.lbar{display:flex;align-items:center;gap:14px;margin-top:14px;padding:10px;border-radius:14px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--dline)}
.lbar .ean{width:132px;height:auto;flex:none;border-radius:6px}
.lbar span{display:grid;gap:2px;font-size:.72rem;color:var(--on-dark-3);min-width:0}
.lbar b{font-size:.95rem;color:#fff;letter-spacing:.06em;font-variant-numeric:tabular-nums}

/* scan verdicts */
.lverd{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:18px;text-align:start;animation:rise .45s var(--ease)}
.lverd__ic{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff}
.lverd__ic svg{width:20px;height:20px}
.lverd>div{display:grid;gap:3px;min-width:0}
.lverd__k{font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
[lang=ar] .lverd__k{letter-spacing:0;text-transform:none;font-size:.85rem}
.lverd b{font-size:1.12rem;font-weight:800;color:#fff;overflow-wrap:anywhere}
.lverd span{font-size:.88rem;color:var(--on-dark-2)}
.lverd em{font-style:normal;font-weight:700;color:#99F6E4}
.lverd .linkish{justify-self:start;margin-top:4px}
.lverd--ok{background:linear-gradient(150deg,rgba(16,185,129,.28),rgba(99,102,241,.16));box-shadow:inset 0 0 0 1px rgba(94,234,212,.4),0 24px 50px -26px rgba(20,184,166,.7)}
.lverd--ok .lverd__ic{background:var(--grad);box-shadow:var(--sh-btn)}.lverd--ok .lverd__k{color:#6EE7B7}
.lverd--bad{background:linear-gradient(150deg,rgba(239,68,68,.28),rgba(239,68,68,.07));box-shadow:inset 0 0 0 1px rgba(252,165,165,.4),0 24px 50px -26px rgba(239,68,68,.6)}
.lverd--bad .lverd__ic{background:#EF4444}.lverd--bad .lverd__k{color:#FCA5A5}
.lverd__why{color:#FECACA!important;font-weight:600}
.lverd--none{background:rgba(245,158,11,.1);box-shadow:inset 0 0 0 1px rgba(252,211,77,.35)}
.lverd--none .lverd__ic{background:rgba(245,158,11,.9)}.lverd--none .lverd__k{color:#FCD34D}
.result-card .lverd{padding:0;background:none;box-shadow:none;animation:none}

/* scanner (dark modal) */
.modal.modal--dark{background:#0B1120;color:var(--on-dark);box-shadow:0 40px 100px -30px rgba(0,0,0,.8),inset 0 0 0 1px var(--dline-2)}
.modal--dark h2{color:#fff}.modal--dark .sub{color:var(--on-dark-2)}
.modal--dark .x{background:rgba(255,255,255,.08);color:var(--on-dark)}
.modal--dark .btn--ghost{color:var(--on-dark)}
.scan{position:relative;margin-top:18px;aspect-ratio:16/10;max-width:100%;border-radius:20px;overflow:hidden;background:#05080F;box-shadow:inset 0 0 0 1px var(--dline-2)}
.scan video{width:100%;height:100%;object-fit:cover;display:block}
.scan__frame{position:absolute;inset:22% 12%;border-radius:14px;box-shadow:0 0 0 999px rgba(5,8,15,.45),inset 0 0 0 2px rgba(94,234,212,.85)}
.scan__frame i{position:absolute;inset-inline:8px;top:50%;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#5EEAD4,transparent);box-shadow:0 0 14px #14B8A6;animation:laser 1.8s ease-in-out infinite alternate}
@keyframes laser{from{transform:translateY(-34px)}to{transform:translateY(34px)}}
.scan__msg{position:absolute;inset-inline:0;bottom:12px;text-align:center;font-size:.86rem;font-weight:600;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.8);padding-inline:16px}
.scan.is-off .scan__frame i{animation:none;opacity:0}
.scan.is-off .scan__msg{top:50%;bottom:auto;transform:translateY(-50%);color:var(--on-dark-2)}
.scan.is-done{display:none}
.scan__out:not(:empty){margin-top:18px;display:grid;gap:14px}
.scan__card .lcert,.scan__card .lflag{margin:0}
.scan__again{display:flex;flex-wrap:wrap;gap:10px}
.scan__alt{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;align-items:center}
.scan__type{flex:1 1 260px;display:flex;gap:8px;padding:5px;padding-inline-start:14px;border-radius:999px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--dline-2)}
.scan__type:focus-within{box-shadow:inset 0 0 0 1.5px rgba(94,234,212,.7)}
.scan__type input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#fff;font:inherit;font-size:.95rem;letter-spacing:.04em}
.scan__type input::placeholder{color:var(--on-dark-3);letter-spacing:0}
.scan__file{position:relative;overflow:hidden}
.scan__file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.scan__file:focus-within{box-shadow:0 0 0 3px rgba(94,234,212,.5)}
.scan__try{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px;font-size:.84rem;color:var(--on-dark-3)}
.scan__try button{display:grid;gap:1px;text-align:start;padding:8px 12px;border:0;border-radius:12px;cursor:pointer;font:inherit;color:var(--on-dark);background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--dline-2);transition:background .2s}
.scan__try button:hover{background:rgba(255,255,255,.12)}
.scan__try b{font-size:.82rem;font-weight:700}
.scan__try em{font-style:normal;font-size:.72rem;color:var(--on-dark-3);font-variant-numeric:tabular-nums}
@media (max-width:640px){.scan{aspect-ratio:4/5}.scan__frame{inset:30% 8%}.lbar .ean{width:112px}}
.modal.modal--dark{width:min(680px,100%)}
.modal--dark .btn--sec{background:rgba(255,255,255,.07);color:var(--on-dark);box-shadow:inset 0 0 0 1px var(--dline-2)}
.modal--dark .btn--sec:hover{background:rgba(255,255,255,.13)}
.scan__try>span{flex-basis:100%}
.scan__try button{flex:1 1 150px}
