/* ============================================================
   SABERHP · قالب «گره» — Girih × Blockchain
   استایل سراسری برای همهٔ صفحات
   ============================================================ */
:root{
  --night:#0d1129;
  --night-2:#121737;
  --tile:rgba(242,237,224,.035);
  --bone:#f2ede0;
  --muted:#a3abc9;
  --faint:#5f6788;

  --firoozeh:#3fd6c6;
  --lapis:#5b7cff;
  --saffron:#f0b34c;
  --saffron-deep:#c98a2b;

  --line:rgba(242,237,224,.12);
  --line-2:rgba(242,237,224,.06);

  --maxw:1160px;
  --pad:clamp(18px,4vw,36px);
  --sec:clamp(56px,9vw,120px);
  --r:14px;

  --display:"Lalezar","Vazirmatn",sans-serif;
  --sans:"Vazirmatn",ui-sans-serif,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  --star:polygon(50% 0%,61% 24%,85% 15%,76% 39%,100% 50%,76% 61%,85% 85%,61% 76%,50% 100%,39% 76%,15% 85%,24% 61%,0% 50%,24% 39%,15% 15%,39% 24%);
}
@media (prefers-reduced-motion: reduce){
  *{animation:none!important; transition:none!important; scroll-behavior:auto!important}
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:84px}
body{
  margin:0; background:var(--night); color:var(--bone);
  font-family:var(--sans); line-height:1.9; overflow-x:hidden;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
body::before{
  content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(720px 540px at 50% -6%, rgba(91,124,255,.14), transparent 62%),
    radial-gradient(640px 520px at 8% 100%, rgba(63,214,198,.07), transparent 60%),
    radial-gradient(700px 560px at 96% 88%, rgba(240,179,76,.06), transparent 60%),
    linear-gradient(180deg,#0d1129,#0e1230 55%,#0a0d20);
}
body::after{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.10;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%23f2ede0' stroke-opacity='.5' stroke-width='1'%3E%3Cpath d='M48 6 58 26 78 18 70 38 90 48 70 58 78 78 58 70 48 90 38 70 18 78 26 58 6 48 26 38 18 18 38 26z'/%3E%3C/g%3E%3C/svg%3E");
  background-size:96px 96px;
  -webkit-mask-image:radial-gradient(130% 90% at 50% 0%, #000 25%, transparent 80%);
  mask-image:radial-gradient(130% 90% at 50% 0%, #000 25%, transparent 80%);
}

a{color:var(--saffron); text-decoration:none}
img{display:block; max-width:100%}
::selection{background:rgba(63,214,198,.3); color:#fff}
:focus-visible{outline:2px solid var(--firoozeh); outline-offset:3px; border-radius:6px}

.skip{position:absolute; inset-inline-start:-9999px; top:8px; z-index:100; background:var(--saffron); color:#231604; padding:10px 16px; border-radius:10px; font-weight:800}
.skip:focus{inset-inline-start:12px}

.wrap{max-width:var(--maxw); margin-inline:auto; padding-inline:var(--pad)}
.mono{font-family:var(--mono)}

/* ---------- ستارهٔ گره ---------- */
.star{display:inline-block; width:12px; height:12px; clip-path:var(--star); background:var(--firoozeh); flex:none}
.star.saffron{background:var(--saffron)}
.star.lapis{background:var(--lapis)}
@keyframes spinstar{to{transform:rotate(360deg)}}

/* ---------- NAV ---------- */
header.top{
  position:sticky; top:0; z-index:50;
  backdrop-filter:blur(14px) saturate(140%);
  background:linear-gradient(180deg, rgba(10,13,32,.88), rgba(10,13,32,.45) 75%, transparent);
  border-bottom:1px solid var(--line-2);
}
.nav{display:flex; align-items:center; justify-content:space-between; gap:14px; padding-block:13px}
.brand{display:flex; align-items:center; gap:11px; min-width:0; color:var(--bone)}
.brand .mark{width:34px; height:34px; clip-path:var(--star);
  background:conic-gradient(from 40deg, var(--saffron), var(--lapis), var(--firoozeh), var(--saffron)); flex:none}
.brand .b-fa{font-family:var(--display); font-size:20px; line-height:1; padding-top:4px; white-space:nowrap}
.brand .b-en{font-family:var(--mono); font-size:9.5px; color:var(--muted); letter-spacing:.22em; text-transform:uppercase; white-space:nowrap; display:block}
.nav-side{display:flex; align-items:center; gap:8px}
.nav-links{display:flex; gap:2px; align-items:center}
.nav-links a.nl{font-size:13.5px; font-weight:600; color:var(--muted); padding:8px 12px; border-radius:9px; transition:.18s}
.nav-links a.nl:hover{color:var(--bone); background:var(--tile)}
.nav-links a.nl[aria-current="page"]{color:var(--saffron)}
.lang{display:flex; gap:3px; border:1px solid var(--line); border-radius:999px; padding:3px; background:var(--tile)}
.chip{font-family:var(--mono); border:0; background:transparent; color:var(--muted); padding:6px 12px; border-radius:999px; cursor:pointer; font-weight:600; font-size:12px; transition:.18s}
.chip[aria-pressed="true"]{background:var(--saffron); color:#231604}

/* موبایل: منوی همبرگری */
.burger{display:none; width:40px; height:40px; border:1px solid var(--line); border-radius:10px; background:var(--tile); color:var(--bone); cursor:pointer; place-items:center}
.burger svg{width:18px; height:18px}
@media (max-width:860px){
  .burger{display:grid}
  .nav-links{
    position:absolute; top:calc(100% + 1px); inset-inline:0; flex-direction:column; align-items:stretch;
    background:rgba(10,13,32,.97); border-bottom:1px solid var(--line); padding:10px var(--pad) 16px;
    display:none;
  }
  .nav-links.open{display:flex}
  .nav-links a.nl{padding:12px; font-size:15px; border-bottom:1px solid var(--line-2)}
}

/* ---------- Sections ---------- */
.section{padding-block:var(--sec)}
.sec-head{display:flex; align-items:center; gap:16px; margin-bottom:clamp(26px,4vw,48px)}
.sec-head .star{width:15px; height:15px}
.sec-title{margin:0; font-family:var(--display); font-size:clamp(28px,5vw,50px); font-weight:400; line-height:1.15}
.sec-rule{flex:1; min-width:40px; height:1px; background:linear-gradient(to left, var(--line), transparent)}
[dir="ltr"] .sec-rule{background:linear-gradient(to right, var(--line), transparent)}
.sec-tag{font-family:var(--mono); font-size:11px; color:var(--faint); letter-spacing:.14em; text-transform:uppercase; white-space:nowrap}

/* ---------- سرصفحهٔ داخلی (page hero) ---------- */
.page-hero{padding-block:clamp(44px,7vw,84px) clamp(20px,4vw,40px)}
.page-hero .crumb{font-family:var(--mono); font-size:12px; color:var(--faint); display:flex; align-items:center; gap:8px}
.page-hero .crumb a{color:var(--muted)}
.page-hero h1{margin:.25em 0 .15em; font-family:var(--display); font-weight:400; font-size:clamp(38px,7.5vw,76px); line-height:1.08}
.page-hero h1 .accent{background:linear-gradient(100deg, var(--saffron) 10%, #ffd98f 45%, var(--saffron-deep));
  -webkit-background-clip:text; background-clip:text; color:transparent}
.page-hero .sub{margin:0; color:var(--muted); font-size:clamp(15px,1.8vw,17.5px); max-width:62ch}

/* ---------- HERO (خانه) ---------- */
.hero{padding-top:clamp(44px,7vw,92px)}
.hero-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(28px,4.5vw,64px); align-items:center}
@media (max-width:920px){ .hero-grid{grid-template-columns:1fr} }
.kicker{display:inline-flex; align-items:center; gap:10px; font-family:var(--mono); font-size:12px; letter-spacing:.14em; color:var(--firoozeh); text-transform:uppercase}
.pulse{width:8px; height:8px; clip-path:var(--star); background:var(--firoozeh); animation:spinstar 6s linear infinite}
.h1{margin:.28em 0 0; font-family:var(--display); font-weight:400; font-size:clamp(52px,11vw,120px); line-height:1.04}
.h1 .sur{background:linear-gradient(100deg, var(--saffron) 10%, #ffd98f 45%, var(--saffron-deep));
  -webkit-background-clip:text; background-clip:text; color:transparent}
.role{margin:14px 0 6px; font-size:clamp(16px,2.2vw,21px); font-weight:700}
.typed-wrap{font-family:var(--mono); color:var(--muted); font-size:clamp(13px,1.7vw,15px); min-height:1.8em}
.typed{color:var(--firoozeh)}
.caret{display:inline-block; width:9px; background:var(--saffron); margin-inline-start:2px; animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.lead{margin:20px 0 0; max-width:56ch; color:var(--muted); font-size:clamp(15px,1.7vw,17px)}

.facts{display:flex; flex-wrap:wrap; gap:10px; margin-top:26px}
.fact{display:inline-flex; align-items:center; gap:9px; padding:9px 14px; border:1px solid var(--line); border-radius:11px; background:var(--tile); font-size:13px; transition:.2s}
.fact:hover{border-color:rgba(240,179,76,.45); transform:translateY(-2px)}
.fact .k{font-family:var(--mono); font-size:10.5px; color:var(--faint); text-transform:uppercase; letter-spacing:.08em}
.fact .v{font-weight:700}
.fact .star{width:10px; height:10px}

.cta{display:flex; flex-wrap:wrap; gap:11px; margin-top:30px}
.btn{display:inline-flex; align-items:center; gap:9px; padding:13px 19px; border-radius:12px; font-weight:800; font-size:14px;
  border:1px solid var(--line); background:var(--tile); color:var(--bone); cursor:pointer; font-family:inherit;
  transition:transform .16s, box-shadow .22s, border-color .2s, color .2s, background .2s}
.btn .ico{width:17px; height:17px}
.btn:hover{transform:translateY(-2px); border-color:rgba(240,179,76,.5); box-shadow:0 12px 30px rgba(0,0,0,.45)}
.btn.primary{background:linear-gradient(135deg, var(--saffron), var(--saffron-deep)); color:#231604; border-color:transparent}
.btn.primary:hover{box-shadow:0 14px 34px rgba(240,179,76,.32)}
.btn.copied{border-color:var(--firoozeh); color:var(--firoozeh); background:rgba(63,214,198,.07)}

/* پرتره */
.portrait{position:relative}
.frame{position:relative; margin:0; padding:10px; border:1px solid var(--line); border-radius:var(--r);
  background:linear-gradient(180deg, rgba(91,124,255,.08), transparent 45%), var(--tile);
  box-shadow:0 36px 90px rgba(0,0,0,.55)}
.frame .corner{position:absolute; width:22px; height:22px; clip-path:var(--star); background:var(--firoozeh); opacity:.9}
.frame .c1{top:-11px; inset-inline-start:-11px}
.frame .c2{bottom:-11px; inset-inline-end:-11px; background:var(--saffron)}
.avatar{width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:calc(var(--r) - 6px);
  background:linear-gradient(135deg,#181d42,#101430)}
.av-meta{display:flex; justify-content:space-between; align-items:center; margin-top:10px; font-family:var(--mono); font-size:11px; color:var(--muted)}
.av-meta .on{color:var(--firoozeh)}
.sig-chip{position:absolute; inset-inline-start:-14px; bottom:34px; display:flex; align-items:center; gap:9px;
  font-family:var(--mono); font-size:11px; padding:9px 13px; border-radius:12px;
  background:rgba(10,13,32,.9); border:1px solid rgba(91,124,255,.45); backdrop-filter:blur(8px);
  box-shadow:0 10px 30px rgba(0,0,0,.5)}
.sig-chip b{color:var(--bone); font-weight:600}
.sig-chip .hash{color:var(--lapis)}
@media (max-width:920px){ .sig-chip{inset-inline-start:auto; inset-inline-end:14px; bottom:26px} }

/* ---------- نوار کاشی (ticker) ---------- */
.ticker{border-block:1px solid var(--line-2); padding-block:15px; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ticker-track{display:flex; width:max-content; animation:scroll 42s linear infinite; direction:ltr}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-track span{font-family:var(--mono); font-size:clamp(13px,1.8vw,15px); color:var(--muted); padding-inline:20px; white-space:nowrap; display:inline-flex; align-items:center; gap:20px}
.ticker-track span::after{content:""; width:7px; height:7px; clip-path:var(--star); background:var(--saffron); opacity:.8}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ---------- ABOUT ---------- */
.about-grid{display:grid; grid-template-columns:1.4fr .8fr; gap:clamp(24px,4vw,52px); align-items:start}
@media (max-width:880px){ .about-grid{grid-template-columns:1fr} }
.about-lead{font-size:clamp(17px,2.3vw,23px); line-height:1.75; margin:0 0 18px; font-weight:500}
.about p{color:var(--muted); margin:0 0 14px; max-width:62ch}
.glance{border:1px solid var(--line); border-radius:var(--r); background:var(--tile); overflow:hidden}
.glance .row{display:flex; justify-content:space-between; gap:12px; padding:14px 18px; border-bottom:1px solid var(--line-2)}
.glance .row:last-child{border-bottom:0}
.glance .lbl{font-family:var(--mono); font-size:11.5px; color:var(--faint); letter-spacing:.06em; text-transform:uppercase}
.glance .val{font-weight:700; font-size:14px; text-align:end}
.glance .val.acc{color:var(--firoozeh)}

/* ---------- کارت‌ها ---------- */
.cards{display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(16px,2.6vw,22px)}
@media (max-width:760px){ .cards{grid-template-columns:1fr} }
.cards.cols-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){ .cards.cols-3{grid-template-columns:1fr} }
.card{position:relative; border:1px solid var(--line); border-radius:var(--r); padding:clamp(22px,3vw,30px); background:var(--tile); overflow:hidden; transition:.25s}
.card::after{content:""; position:absolute; inset-inline-end:-26px; top:-26px; width:84px; height:84px; clip-path:var(--star);
  background:linear-gradient(135deg, rgba(91,124,255,.16), rgba(63,214,198,.1)); transition:.3s}
.card:hover{transform:translateY(-4px); border-color:rgba(91,124,255,.45); box-shadow:0 22px 48px rgba(0,0,0,.42)}
.card:hover::after{transform:rotate(22deg) scale(1.1)}
.card .ci{width:44px; height:44px; clip-path:var(--star); display:grid; place-items:center; margin-bottom:16px;
  background:rgba(240,179,76,.14); color:var(--saffron)}
.card .ci svg{width:19px; height:19px}
.card h3{margin:0 0 8px; font-family:var(--display); font-weight:400; font-size:clamp(20px,2.6vw,25px)}
.card p{margin:0; color:var(--muted); font-size:14.5px; line-height:1.75}
.card .more{display:inline-flex; align-items:center; gap:6px; margin-top:14px; font-size:13px; font-weight:700}

/* فهرست جزئیات با گلولهٔ ستاره */
.detail-list{list-style:none; margin:14px 0 0; padding:0}
.detail-list li{display:flex; gap:10px; align-items:flex-start; padding:7px 0; color:var(--muted); font-size:14px}
.detail-list li::before{content:""; flex:none; width:9px; height:9px; margin-top:9px; clip-path:var(--star); background:var(--firoozeh)}

/* ---------- روند همکاری ---------- */
.process{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(12px,2vw,18px); counter-reset:step}
@media (max-width:860px){ .process{grid-template-columns:repeat(2,1fr)} }
@media (max-width:520px){ .process{grid-template-columns:1fr} }
.step{border:1px solid var(--line); border-radius:var(--r); background:var(--tile); padding:20px; position:relative; counter-increment:step; transition:.2s}
.step:hover{border-color:rgba(63,214,198,.45); transform:translateY(-3px)}
.step::before{content:counter(step, persian); font-family:var(--display); font-size:34px; color:var(--saffron); line-height:1; display:block; margin-bottom:8px}
[dir="ltr"] .step::before{content:counter(step)}
.step b{display:block; font-size:15.5px; margin-bottom:4px}
.step span{color:var(--muted); font-size:13.5px}

/* ---------- JOURNEY ---------- */
.chain{display:flex; flex-direction:column}
.block{display:grid; grid-template-columns:56px 1fr; gap:18px; align-items:stretch}
.block .spine{display:flex; flex-direction:column; align-items:center}
.block .cube{width:46px; height:46px; clip-path:var(--star); flex:none; display:grid; place-items:center;
  background:linear-gradient(135deg, rgba(91,124,255,.28), rgba(63,214,198,.2)); color:var(--firoozeh); transition:.35s}
.block:hover .cube{background:linear-gradient(135deg, rgba(240,179,76,.4), rgba(91,124,255,.3)); color:var(--saffron)}
.block .cube svg{width:18px; height:18px}
.block .link{flex:1; width:2px; min-height:26px; margin-block:6px;
  background:repeating-linear-gradient(var(--lapis) 0 6px, transparent 6px 11px); opacity:.5}
.block:last-child .link{display:none}
.block .body{border:1px solid var(--line); border-radius:var(--r); background:var(--tile); padding:18px 20px; margin-bottom:14px; transition:.25s}
.block:last-child .body{margin-bottom:0}
.block:hover .body{border-color:rgba(240,179,76,.4)}
.block .meta{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:4px}
.block .yr{font-family:var(--mono); font-size:12px; color:var(--saffron); letter-spacing:.05em}
.block .bn{font-family:var(--mono); font-size:11px; color:var(--faint)}
.block h3{margin:2px 0 6px; font-family:var(--display); font-weight:400; font-size:clamp(19px,2.4vw,24px)}
.block p{margin:0; color:var(--muted); font-size:14.5px; max-width:64ch}

/* ---------- پنل‌ها ---------- */
.two{display:grid; grid-template-columns:1fr 1fr; gap:clamp(18px,3vw,26px)}
@media (max-width:860px){ .two{grid-template-columns:1fr} }
.panel{border:1px solid var(--line); border-radius:var(--r); padding:clamp(22px,3vw,30px); background:var(--tile)}
.panel h3{margin:0 0 6px; font-family:var(--display); font-weight:400; font-size:clamp(21px,2.8vw,27px)}
.panel .sub{margin:0 0 16px; color:var(--muted); font-size:14px}
.principle{display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-bottom:1px solid var(--line-2)}
.principle:last-child{border-bottom:0; padding-bottom:0}
.principle .star{margin-top:8px}
.principle b{font-weight:800; display:block; font-size:15.5px}
.principle span{color:var(--muted); font-size:13.5px}
.tags{display:flex; flex-wrap:wrap; gap:9px}
.tag{font-family:var(--mono); font-size:12.5px; font-weight:500; padding:8px 13px; border-radius:10px;
  border:1px solid var(--line); background:rgba(242,237,224,.03); transition:.2s; cursor:default; direction:ltr}
.tag:hover{transform:translateY(-2px); border-color:rgba(63,214,198,.5); color:var(--firoozeh)}

/* ---------- STATS ---------- */
.stats{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(12px,2vw,20px)}
@media (max-width:760px){ .stats{grid-template-columns:repeat(2,1fr)} }
.stat{padding:clamp(20px,2.6vw,30px); border:1px solid var(--line); border-radius:var(--r); background:var(--tile); position:relative}
.stat .star{position:absolute; top:14px; inset-inline-end:14px; width:10px; height:10px; opacity:.85}
.stat .num{font-family:var(--mono); font-weight:600; font-size:clamp(30px,5vw,46px); line-height:1; direction:ltr}
[dir="rtl"] .stat .num{text-align:end}
.stat .cap{margin-top:10px; color:var(--muted); font-size:13px}

/* ---------- FAQ ---------- */
.faq{display:flex; flex-direction:column; gap:12px}
.qa{border:1px solid var(--line); border-radius:var(--r); background:var(--tile); overflow:hidden}
.qa summary{cursor:pointer; list-style:none; padding:17px 20px; display:flex; align-items:center; justify-content:space-between; gap:14px; font-weight:700; font-size:15.5px}
.qa summary::-webkit-details-marker{display:none}
.qa summary .pm{flex:none; width:14px; height:14px; clip-path:var(--star); background:var(--saffron); transition:transform .3s}
.qa[open] summary .pm{transform:rotate(45deg); background:var(--firoozeh)}
.qa .ans{padding:0 20px 18px; color:var(--muted); font-size:14.5px; line-height:1.8}

/* ---------- CONTACT ---------- */
.contact{display:flex; flex-wrap:wrap; gap:24px; align-items:center; justify-content:space-between;
  border:1px solid var(--line); border-radius:calc(var(--r) + 6px); padding:clamp(26px,4vw,46px);
  background:
    radial-gradient(420px 260px at 12% 0%, rgba(240,179,76,.1), transparent 60%),
    radial-gradient(420px 260px at 90% 100%, rgba(91,124,255,.12), transparent 60%),
    var(--tile)}
.contact h2{margin:8px 0 8px; font-family:var(--display); font-weight:400; font-size:clamp(26px,4vw,40px)}
.contact p{margin:0; color:var(--muted)}

/* کارت راه ارتباطی */
.contact-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,2.4vw,20px)}
@media (max-width:860px){ .contact-cards{grid-template-columns:1fr} }
.ccard{border:1px solid var(--line); border-radius:var(--r); background:var(--tile); padding:clamp(20px,3vw,28px); transition:.22s; color:var(--bone); display:block}
.ccard:hover{transform:translateY(-4px); border-color:rgba(240,179,76,.5); box-shadow:0 18px 40px rgba(0,0,0,.4)}
.ccard .ci{width:44px; height:44px; clip-path:var(--star); display:grid; place-items:center; margin-bottom:14px;
  background:rgba(63,214,198,.14); color:var(--firoozeh)}
.ccard .ci svg{width:19px; height:19px}
.ccard b{font-family:var(--display); font-weight:400; font-size:20px; display:block; margin-bottom:2px}
.ccard .val{font-family:var(--mono); font-size:13px; color:var(--saffron); direction:ltr; text-align:start; display:block}
[dir="rtl"] .ccard .val{text-align:end}
.ccard p{margin:8px 0 0; color:var(--muted); font-size:13.5px}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--line-2); color:var(--muted); margin-top:var(--sec)}
.foot{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; padding-block:26px; font-size:13px}
.foot .social{display:flex; gap:8px}
.foot .social a{width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--line); border-radius:11px; color:var(--muted); transition:.2s}
.foot .social a:hover{color:var(--saffron); border-color:rgba(240,179,76,.45); transform:translateY(-2px)}
.foot .social a svg{width:18px; height:18px}
.foot .clock{font-family:var(--mono); display:inline-flex; align-items:center; gap:9px; color:var(--bone)}
.foot .clock .lbl{color:var(--faint); font-size:11px; letter-spacing:.06em; text-transform:uppercase}
.foot .clock .star{width:8px; height:8px; animation:spinstar 8s linear infinite}

#toTop{position:fixed; inset-block-end:22px; inset-inline-end:22px; z-index:55; width:44px; height:44px; border-radius:12px;
  border:1px solid var(--line); background:rgba(10,13,32,.78); backdrop-filter:blur(8px); color:var(--saffron); cursor:pointer;
  display:grid; place-items:center; opacity:0; transform:translateY(12px); pointer-events:none; transition:.25s}
#toTop.show{opacity:1; transform:none; pointer-events:auto}
#toTop svg{width:18px; height:18px}

#toast{position:fixed; inset-block-end:24px; inset-inline-start:50%; transform:translate(-50%,20px); z-index:70;
  background:rgba(13,17,41,.95); border:1px solid var(--firoozeh); color:var(--firoozeh); font-family:var(--mono); font-size:13px;
  padding:11px 18px; border-radius:12px; opacity:0; pointer-events:none; transition:.25s; backdrop-filter:blur(8px)}
#toast.show{opacity:1; transform:translate(-50%,0)}

.reveal{opacity:0; transform:translateY(22px); transition:opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1)}
.reveal.show{opacity:1; transform:none}

/* اسکرول‌اسپای */
.nav-links a.nl[aria-current="true"]{color:var(--saffron); background:var(--tile)}
