@font-face{
  font-family:'IRANSans';
  src:url('../fonts/IRANSans.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'IRANSans';
  src:url('../fonts/IRANSans_Bold.ttf') format('truetype');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'IRANSans';
  src:url('../fonts/IRANSans_Black.ttf') format('truetype');
  font-weight:900;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Irancell';
  src:url('../fonts/Irancell_Light.ttf') format('truetype');
  font-weight:300;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Irancell';
  src:url('../fonts/Irancell_Medium.ttf') format('truetype');
  font-weight:500;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Irancell';
  src:url('../fonts/Irancell_Bold.ttf') format('truetype');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Sarbaz';
  src:url('../fonts/Sarbaz.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

:root{
  --bg-base:#020617;
  --glass-1:rgba(255,255,255,0.04);
  --glass-bdr:rgba(255,255,255,0.10);
  --glass-bdr2:rgba(255,255,255,0.16);
  --acc:#2563EB;--acc-2:#06B6D4;--acc-3:#7C3AED;
  --danger:#ff6b8a;
  --txt:#EEF2FA;--txt-2:#93A1BC;--txt-3:#5c6884;
  --shadow-card:0 8px 40px rgba(0,0,0,0.55),0 2px 8px rgba(0,0,0,0.3);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{
  font-family:'IRANSans','Irancell',Tahoma,'Segoe UI',sans-serif;
  background:var(--bg-base);
  color:var(--txt);
  min-height:100vh;
  padding:40px 20px;
  position:relative;
}
body::before,body::after{content:'';position:fixed;border-radius:50%;pointer-events:none;z-index:-1;}
body::before{width:600px;height:600px;top:-200px;right:-150px;background:radial-gradient(circle,rgba(37,99,235,0.16) 0%,transparent 70%);}
body::after{width:500px;height:500px;bottom:-150px;left:-100px;background:radial-gradient(circle,rgba(124,58,237,0.12) 0%,transparent 70%);}

.wrap{max-width:900px;margin:0 auto;}

.card{
  background:var(--glass-1);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:1px solid var(--glass-bdr);
  border-radius:32px;
  padding:40px;
  margin-bottom:24px;
  box-shadow:var(--shadow-card);
  position:relative;
  overflow:hidden;
}
.card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.18),transparent);
}

.icon-wrap{
  width:56px;height:56px;
  margin-bottom:16px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(37,99,235,0.16),rgba(6,182,212,0.12));
  border:1px solid var(--glass-bdr2);
  display:flex;align-items:center;justify-content:center;
}
.icon-wrap svg{
  width:26px;height:26px;
  stroke:var(--acc-2);
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

h1{
  font-size:1.6rem;
  font-weight:800;
  letter-spacing:-0.3px;
  margin-bottom:8px;
}
p.desc{
  color:var(--txt-2);
  font-size:0.92rem;
  line-height:1.9;
  margin-bottom:20px;
}

.codebox{
  background:rgba(0,0,0,0.35);
  border:1px solid var(--glass-bdr);
  border-radius:14px;
  padding:16px 18px;
  font-family:'Consolas','Courier New',monospace;
  font-size:0.85rem;
  color:var(--acc-2);
  direction:ltr;
  text-align:left;
  overflow-x:auto;
  margin-bottom:10px;
  user-select:all;
}
.codebox .comment{color:var(--txt-3);}

.divider{
  height:1px;
  background:linear-gradient(90deg,transparent,var(--glass-bdr),transparent);
  margin:24px 0;
}

.stats{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:16px;
  flex-wrap:wrap;
  gap:12px;
}
.stats h2{font-size:1.1rem;font-weight:800;}
.badge{
  background:linear-gradient(135deg,var(--acc),#312E81);
  color:#fff;
  font-size:0.78rem;
  font-weight:700;
  padding:6px 14px;
  border-radius:999px;
}

.search{
  width:100%;
  padding:14px 18px;
  border-radius:16px;
  border:1px solid var(--glass-bdr);
  background:rgba(255,255,255,0.05);
  color:var(--txt);
  font-size:0.9rem;
  margin-bottom:20px;
  outline:none;
  transition:border-color 0.2s;
  font-family:inherit;
}
.search:focus{border-color:var(--acc);}
.search::placeholder{color:var(--txt-3);}

.pkg-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:8px;
  max-height:520px;
  overflow-y:auto;
  padding-right:4px;
}
.pkg-grid::-webkit-scrollbar{width:6px;}
.pkg-grid::-webkit-scrollbar-thumb{background:var(--glass-bdr2);border-radius:10px;}

.pkg{
  background:rgba(255,255,255,0.04);
  border:1px solid var(--glass-bdr);
  border-radius:12px;
  padding:10px 14px;
  font-size:0.82rem;
  color:var(--txt-2);
  font-family:'Consolas','Courier New',monospace;
  direction:ltr;
  text-align:left;
  transition:border-color 0.15s,color 0.15s;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pkg{cursor:pointer;}
.pkg:hover{border-color:var(--acc);color:var(--txt);}

.modal-overlay{
  position:fixed;inset:0;z-index:50;
  background:rgba(2,6,23,0.7);
  backdrop-filter:blur(4px);
  display:none;
  align-items:center;justify-content:center;
  padding:20px;
}
.modal-overlay.open{display:flex;}
.modal-box{
  width:100%;max-width:520px;max-height:80vh;
  background:#0b1220;
  border:1px solid var(--glass-bdr2);
  border-radius:24px;
  box-shadow:var(--shadow-card);
  padding:28px;
  display:flex;flex-direction:column;
  overflow:hidden;
}
.modal-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:14px;
}
.modal-head h3{font-size:1.05rem;font-weight:800;direction:ltr;text-align:left;}
.modal-close{
  width:30px;height:30px;border-radius:10px;
  border:1px solid var(--glass-bdr);
  background:rgba(255,255,255,0.05);
  color:var(--txt-2);
  cursor:pointer;font-size:1rem;line-height:1;
}
.modal-close:hover{color:var(--txt);border-color:var(--glass-bdr2);}
.modal-sub{font-size:0.8rem;color:var(--txt-2);margin-bottom:14px;}
.modal-files{
  overflow-y:auto;
  display:flex;flex-direction:column;gap:6px;
}
.modal-file{
  background:rgba(255,255,255,0.04);
  border:1px solid var(--glass-bdr);
  border-radius:10px;
  padding:8px 12px;
  font-family:'Consolas','Courier New',monospace;
  font-size:0.78rem;
  color:var(--txt-2);
  direction:ltr;text-align:left;
  word-break:break-all;
}
.bg-grid{
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:
    linear-gradient(var(--glass-bdr) 1px, transparent 1px),
    linear-gradient(90deg, var(--glass-bdr) 1px, transparent 1px);
  background-size:54px 54px;
  mask-image: radial-gradient(ellipse 75% 62% at 50% 0%, #000 25%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 75% 62% at 50% 0%, #000 25%, transparent 78%);
}
.code-label{
  font-size:0.8rem;
  color:var(--txt-2);
  margin-bottom:6px;
  margin-top:14px;
}
.code-label:first-of-type{margin-top:20px;}

.codebox{
  background:rgba(0,0,0,0.35);
  border:1px solid var(--glass-bdr);
  border-radius:14px;
  padding:16px 44px 16px 18px; /* فضای دکمه سمت راست تو RTL یعنی padding-inline-end */
  padding-inline-end:44px;
  font-family:'Consolas','Courier New',monospace;
  font-size:0.85rem;
  color:var(--acc-2);
  direction:ltr;
  text-align:left;
  overflow-x:auto;
  margin-bottom:16px;
  position:relative;
}

.codebox .cmd{
  display:inline-block;
  user-select:all;
  cursor:pointer;
}

.copy-btn{
  position:absolute;
  top:50%;
  inset-inline-end:10px;
  transform:translateY(-50%);
  width:28px;height:28px;
  border-radius:8px;
  border:1px solid var(--glass-bdr);
  background:rgba(255,255,255,0.05);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  transition:background-color .15s, border-color .15s, transform .15s;
}
.copy-btn:hover{
  background:rgba(255,255,255,0.1);
  border-color:var(--glass-bdr2);
}
.copy-btn.copied svg{stroke:#2ee6a6;}
.copy-btn.copied{border-color:#2ee6a6;}
.copy-btn svg{
  width:14px;height:14px;
  stroke:var(--txt-2);
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.no-result{
  text-align:center;
  color:var(--txt-3);
  padding:40px 0;
  font-size:0.9rem;
  display:none;
}

.meta{
  font-size:0.76rem;
  color:var(--txt-3);
  text-align:center;
  margin-top:8px;
}
/* برچسب وضعیت پیشنهادها - از همون پالت رنگی پروژه (acc-2 / acc-3) */
.status-badge{
  display:inline-flex;
  align-items:center;
  font-size:0.72rem;
  font-weight:700;
  padding:3px 10px;
  border-radius:999px;
  white-space:nowrap;
}
.status-available{
  color:var(--acc-2);
  background:rgba(6,182,212,0.12);
  border:1px solid rgba(6,182,212,0.35);
}
.status-queued{
  color:var(--acc-3);
  background:rgba(124,58,237,0.12);
  border:1px solid rgba(124,58,237,0.35);
}
