/* ابزارهای عمومی سایت (/tools) — صفحه‌های ایستا و سبک برای موتورهای جستجو */
:root { --tl-pri:#4f46e5; --tl-pri2:#7c3aed; --tl-ink:#1e293b; --tl-mut:#64748b; --tl-line:#e2e8f0; --tl-bg:#f8fafc; }
body { background:var(--tl-bg); }
.tl { font-family:'Vazirmatn',Tahoma,sans-serif; color:var(--tl-ink); direction:rtl; line-height:1.9; overflow-x:clip; }
.tl a { text-decoration:none; }
.tl .me-1 { margin-right:0 !important; margin-left:.3rem !important; }
.tl *, .tl *::before, .tl *::after { box-sizing:border-box; }
.tl-wrap { max-width:1120px; margin:0 auto; padding:0 16px; }

/* نوار بالا */
.tl-nav { position:sticky; top:0; z-index:40; background:rgba(255,255,255,.92); backdrop-filter:blur(12px); border-bottom:1px solid #eef2f7; }
.tl-nav .tl-wrap { display:flex; align-items:center; gap:14px; height:62px; }
.tl-brand img { height:46px; width:auto; display:block; }
.tl-links { display:flex; gap:2px; margin-inline-start:auto; }
.tl-links a { color:#475569; font-size:13.5px; font-weight:600; padding:7px 11px; border-radius:10px; white-space:nowrap; }
.tl-links a:hover, .tl-links a.on { background:#eef2ff; color:var(--tl-pri); }
.tl-btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:10px 20px; border-radius:13px; font-weight:800; font-size:14px; border:0; cursor:pointer; font-family:inherit; white-space:nowrap; transition:transform .15s; }
.tl-btn:hover { transform:translateY(-2px); }
.tl-btn--pri { background:linear-gradient(135deg,#6366f1,#8b5cf6); color:#fff !important; box-shadow:0 10px 26px -10px rgba(99,102,241,.7); }
.tl-btn--ghost { background:#fff; color:#4338ca !important; border:1.5px solid #c7d2fe; }
.tl-btn--light { background:#fff; color:#4338ca !important; }
.tl-btn--sm { padding:7px 14px; font-size:12.5px; border-radius:11px; }
@media (max-width:900px) { .tl-links { display:none; } .tl-nav .tl-btn--pri { margin-inline-start:auto; } }

/* سربرگ */
.tl-hero { background:linear-gradient(135deg,#1e3a8a 0%,#4f46e5 55%,#7c3aed 100%); color:#fff; padding:30px 0 70px; position:relative; overflow:hidden; }
.tl-hero::before { content:""; position:absolute; width:480px; height:480px; border-radius:50%; background:rgba(255,255,255,.06); left:-160px; top:-240px; }
.tl-crumb { font-size:12.5px; color:rgba(255,255,255,.75); margin-bottom:10px; position:relative; }
.tl-crumb a { color:rgba(255,255,255,.9); }
.tl-hero h1 { font-size:30px; font-weight:900; margin:0 0 8px; line-height:1.5; position:relative; }
.tl-hero p { margin:0; color:rgba(255,255,255,.88); font-size:15px; max-width:760px; position:relative; }
.tl-today { display:inline-flex; flex-wrap:wrap; gap:6px 14px; margin-top:14px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.25); border-radius:14px; padding:7px 14px; font-size:13px; position:relative; }
.tl-today b { font-weight:800; }
@media (max-width:640px) { .tl-hero h1 { font-size:23px; } .tl-hero { padding:22px 0 60px; } .tl-hero p { font-size:14px; } }

/* بدنه */
.tl-main { margin-top:-46px; position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:18px; align-items:start; }
@media (max-width:980px) { .tl-main { grid-template-columns:minmax(0,1fr); } }
.tl-card { background:#fff; border:1px solid var(--tl-line); border-radius:20px; padding:20px; box-shadow:0 14px 40px -24px rgba(15,23,42,.35); margin-bottom:18px; }
.tl-card h2 { font-size:18px; font-weight:900; margin:0 0 12px; display:flex; align-items:center; gap:8px; }
.tl-card h2 i { color:var(--tl-pri); }
.tl-card h3 { font-size:15.5px; font-weight:800; margin:18px 0 8px; }
.tl-sub { font-size:13px; color:var(--tl-mut); margin:-6px 0 14px; }
@media (max-width:640px) { .tl-card { padding:16px 14px; border-radius:16px; } }

/* فرم */
.tl-lbl { font-size:12.5px; font-weight:700; color:#475569; margin:0 0 5px; display:block; }
.tl-in, .tl-sel { width:100%; height:44px; border:1.5px solid var(--tl-line); border-radius:12px; padding:0 12px; font-family:inherit; font-size:14.5px; background:#fff; color:var(--tl-ink); outline:none; }
.tl-in:focus, .tl-sel:focus { border-color:#a5b4fc; box-shadow:0 0 0 3px rgba(99,102,241,.12); }
.tl-in.tl-bad { border-color:#f87171; background:#fef2f2; }
.tl-date { display:grid; grid-template-columns:110px 74px minmax(0,1fr) 92px; gap:8px; }
.tl-date .tl-cal { background:#eef2ff; color:#4338ca; font-weight:800; border-color:#c7d2fe; }
.tl-date .tl-year { text-align:center; font-weight:800; letter-spacing:1px; }
@media (max-width:520px) { .tl-date { grid-template-columns:.8fr 1.4fr 1fr; } .tl-date .tl-cal { grid-column:1 / -1; } .tl-date .tl-sel, .tl-date .tl-in { padding:0 8px; font-size:14px; } }
.tl-row { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top:10px; }
.tl-chip { border:1px solid var(--tl-line); background:#fff; border-radius:20px; font-size:12.5px; padding:5px 12px; font-family:inherit; color:#475569; cursor:pointer; }
.tl-chip:hover { border-color:#a5b4fc; color:#4338ca; }
.tl-err { margin-top:12px; background:#fef2f2; color:#b91c1c; border-radius:12px; padding:8px 12px; font-size:13px; }
.tl-note { font-size:12px; color:var(--tl-mut); margin-top:10px; }

/* نتیجه */
.tl-res { margin-top:16px; }
.tl-big { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.tl-big > div { border-radius:16px; padding:12px 14px; background:linear-gradient(135deg,#eef2ff,#f5f3ff); border:1px solid #e0e7ff; min-width:0; }
.tl-big > div:nth-child(2) { background:linear-gradient(135deg,#ecfeff,#eff6ff); border-color:#cffafe; }
.tl-big > div:nth-child(3) { background:linear-gradient(135deg,#f0fdf4,#ecfdf5); border-color:#dcfce7; }
.tl-big span { display:block; font-size:12px; color:var(--tl-mut); font-weight:700; }
.tl-big b { display:block; font-size:19px; font-weight:900; color:#1e1b4b; line-height:1.6; }
.tl-big small { display:block; font-size:12.5px; color:#475569; direction:ltr; text-align:right; }
@media (max-width:640px) { .tl-big { grid-template-columns:1fr; } .tl-big b { font-size:17px; } }
.tl-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:10px; }
.tl-facts div { background:var(--tl-bg); border-radius:12px; padding:8px 12px; font-size:13px; }
.tl-facts div span { color:var(--tl-mut); display:block; font-size:11.5px; }
.tl-facts div b { font-weight:800; }
@media (max-width:640px) { .tl-facts div { padding:7px 10px; font-size:12.5px; } }
.tl-age { display:flex; justify-content:center; gap:10px; text-align:center; }
.tl-age div { flex:1; max-width:150px; background:linear-gradient(135deg,#6366f1,#8b5cf6); color:#fff; border-radius:18px; padding:12px 6px; }
.tl-age div:nth-child(2) { background:linear-gradient(135deg,#0ea5e9,#6366f1); }
.tl-age div:nth-child(3) { background:linear-gradient(135deg,#ec4899,#f59e0b); }
.tl-age b { display:block; font-size:34px; font-weight:900; line-height:1.3; }
.tl-age span { font-size:13px; opacity:.9; }
.tl-hl { margin-top:10px; background:#fffbeb; border:1px solid #fde68a; border-radius:14px; padding:10px 14px; font-size:13.5px; }
.tl-hl.blue { background:#eff6ff; border-color:#bfdbfe; }
.tl-copy { margin-inline-start:auto; }

/* شناسنامه‌ی تولد */
.tl-lore { margin-top:14px; border:1px solid #e9d5ff; background:linear-gradient(135deg,#faf5ff,#fdf2f8); border-radius:18px; padding:14px; }
.tl-lore-head { display:flex; gap:12px; align-items:center; margin-bottom:6px; }
.tl-lore-head b { display:block; font-size:16px; font-weight:900; color:#581c87; }
.tl-lore-head small { font-size:12.5px; color:#6b21a8; }
.tl-sym { width:54px; height:54px; border-radius:16px; background:linear-gradient(135deg,#a855f7,#ec4899); color:#fff; display:flex; align-items:center; justify-content:center; font-size:30px; flex-shrink:0; font-family:'Segoe UI Symbol','Noto Sans Symbols',sans-serif; }
.tl-sym.sm { width:30px; height:30px; font-size:17px; border-radius:9px; display:inline-flex; vertical-align:middle; margin-left:6px; }
.tl-lore .tl-facts div { background:#fff; }
.tl-lore-h { font-size:13.5px; font-weight:900; color:#6b21a8; margin:14px 0 6px; }
.tl-years { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.tl-years div { background:#fff; border-radius:12px; padding:8px 10px; font-size:12.5px; border:1px solid #f3e8ff; }
.tl-years span { display:block; font-size:11px; color:#64748b; }
.tl-years b { font-weight:900; color:#1e1b4b; }
@media (max-width:760px) { .tl-years { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.tl-traits { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; counter-reset:t; }
.tl-traits li { counter-increment:t; background:#fff; border-radius:12px; padding:7px 10px; font-size:13px; font-weight:700; display:flex; gap:8px; align-items:center; }
.tl-traits li::before { content:counter(t, persian); width:22px; height:22px; border-radius:50%; background:#f3e8ff; color:#7e22ce; font-size:11.5px; font-weight:900; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
@media (max-width:520px) { .tl-traits { grid-template-columns:1fr; } }
.tl-mon { border:1px solid var(--tl-line); border-radius:12px; padding:8px 12px; margin-bottom:6px; }
.tl-mon summary { cursor:pointer; font-weight:800; font-size:14px; }
.tl-desc { font-size:13px; color:#475569; margin-top:6px; }

/* BMI */
.tl-bmi-in { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
@media (max-width:640px) { .tl-bmi-in { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.tl-gauge { position:relative; margin:16px 4px 6px; }
.tl-gauge-bar { height:14px; border-radius:10px; background:linear-gradient(270deg,#f59e0b 0%,#f59e0b 21.7%,#22c55e 21.7%,#22c55e 43.3%,#f97316 43.3%,#f97316 60%,#ef4444 60%,#991b1b 100%); }
.tl-gauge-mk { position:absolute; top:-5px; width:18px; height:24px; border-radius:7px; background:#fff; border:3px solid #1e293b; box-shadow:0 4px 10px rgba(0,0,0,.2); transition:right .3s; }
.tl-gauge-l { position:relative; height:18px; font-size:11px; color:#64748b; margin-top:4px; }
.tl-gauge-l span { position:absolute; top:0; transform:translateX(50%); } .tl-gauge-l span:first-child, .tl-gauge-l span:last-child { transform:none; }

/* تست شخصیت */
.tl-mb-prog { display:flex; align-items:center; gap:10px; font-size:12.5px; font-weight:700; color:#475569; margin-bottom:12px; position:sticky; top:62px; background:#fff; padding:8px 0; z-index:3; }
.tl-mb-prog .tl-meter { flex:1; margin:0; }
.tl-q { border:1.5px solid var(--tl-line); border-radius:16px; padding:12px 14px; margin-bottom:8px; transition:border-color .2s, background .2s; }
.tl-q.done { border-color:#c7d2fe; background:#fafaff; }
.tl-q.miss:not(.done) { border-color:#f87171; background:#fef2f2; }
.tl-q-t { font-size:14.5px; font-weight:700; margin-bottom:10px; }
.tl-q-t b { color:#6366f1; }
.tl-q-s { display:flex; align-items:center; justify-content:center; gap:10px; }
.tl-q-end { font-size:11.5px; color:#64748b; font-weight:700; width:52px; text-align:center; }
.tl-q-o { position:relative; cursor:pointer; margin:0; }
.tl-q-o input { position:absolute; opacity:0; }
.tl-q-o span { display:block; border-radius:50%; border:2.5px solid #cbd5e1; transition:all .15s; }
.tl-q-o.s0 span, .tl-q-o.s4 span { width:38px; height:38px; }
.tl-q-o.s1 span, .tl-q-o.s3 span { width:30px; height:30px; }
.tl-q-o.s2 span { width:24px; height:24px; }
.tl-q-o.s0 span, .tl-q-o.s1 span { border-color:#f9a8d4; }
.tl-q-o.s3 span, .tl-q-o.s4 span { border-color:#a5b4fc; }
.tl-q-o:hover span { transform:scale(1.08); }
.tl-q-o.s0 input:checked + span, .tl-q-o.s1 input:checked + span { background:#ec4899; border-color:#ec4899; }
.tl-q-o.s2 input:checked + span { background:#94a3b8; border-color:#94a3b8; }
.tl-q-o.s3 input:checked + span, .tl-q-o.s4 input:checked + span { background:#6366f1; border-color:#6366f1; }
@media (max-width:420px) { .tl-q-s { gap:6px; } .tl-q-end { width:40px; font-size:10.5px; } }
.tl-mb { border-top:2px dashed #e0e7ff; padding-top:16px; }
.tl-mb-head { display:flex; gap:14px; align-items:center; }
.tl-mb-code { font-size:34px; font-weight:900; letter-spacing:3px; direction:ltr; color:#fff; background:linear-gradient(135deg,#6366f1,#ec4899); border-radius:18px; padding:8px 18px; }
.tl-mb-head b { display:block; font-size:21px; font-weight:900; }
.tl-mb-head small { font-size:13.5px; color:#64748b; }
.tl-mb-desc { font-size:14.5px; margin:12px 0; }
.tl-axis { margin-bottom:10px; }
.tl-axis-l { display:flex; justify-content:space-between; font-size:12px; }
.tl-axis-bar { height:10px; border-radius:8px; background:#fce7f3; overflow:hidden; margin:4px 0; }
.tl-axis-bar div { height:100%; background:linear-gradient(90deg,#6366f1,#8b5cf6); border-radius:8px; }
.tl-axis-v { font-size:12px; color:#475569; }
.tl-mb-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:12px 0; }
.tl-mb-grid > div { background:var(--tl-bg); border-radius:14px; padding:10px 12px; }
.tl-mb-grid h4 { font-size:13.5px; font-weight:900; margin:0 0 6px; color:#4338ca; }
.tl-mb-grid ul { margin:0; padding-inline-start:18px; font-size:13px; }
@media (max-width:640px) { .tl-mb-grid { grid-template-columns:1fr; } .tl-mb-code { font-size:26px; } }
.tl-mb-chip { display:inline-block; direction:ltr; background:#eef2ff; color:#4338ca; border-radius:8px; padding:0 8px; font-weight:900; font-size:12.5px; margin-left:6px; }

/* معدل */
.tl-gr { display:grid; grid-template-columns:minmax(0,1fr) 84px 72px 38px; gap:6px; margin-bottom:6px; }
.tl-gr .tl-in { height:40px; font-size:13.5px; }
.tl-num { text-align:center; }
.tl-x { border:0; background:#fef2f2; color:#dc2626; border-radius:10px; cursor:pointer; }
.tl-ghead { display:grid; grid-template-columns:minmax(0,1fr) 84px 72px 38px; gap:6px; font-size:11.5px; color:var(--tl-mut); font-weight:700; margin-bottom:4px; }
.tl-ghead span { text-align:center; } .tl-ghead span:first-child { text-align:right; }
.tl-avg { display:flex; align-items:center; gap:16px; flex-wrap:wrap; background:linear-gradient(135deg,#eef2ff,#f5f3ff); border-radius:18px; padding:14px 18px; }
.tl-avg .n { font-size:42px; font-weight:900; color:#312e81; line-height:1.2; }
.tl-avg .n small { font-size:14px; color:var(--tl-mut); font-weight:700; margin-inline-start:4px; }
.tl-meter { height:9px; background:#e2e8f0; border-radius:8px; overflow:hidden; margin-top:6px; }
.tl-meter div { height:100%; width:0; border-radius:8px; transition:width .3s; }

/* جدول‌ها */
.tl-table { width:100%; border-collapse:collapse; font-size:13px; }
.tl-table th { text-align:right; font-size:12px; color:var(--tl-mut); font-weight:700; padding:8px; border-bottom:1.5px solid var(--tl-line); white-space:nowrap; }
.tl-table td { padding:8px; border-bottom:1px solid #f1f5f9; vertical-align:middle; }
.tl-table tr[data-g] { cursor:pointer; }
.tl-table tr[data-g]:hover td { background:#f8faff; }
.tl-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.tl-days { display:inline-block; min-width:62px; text-align:center; border-radius:20px; padding:2px 10px; font-weight:800; font-size:12px; background:#eef2ff; color:#4338ca; }
.tl-days.soon { background:#dcfce7; color:#15803d; }
.tl-days.now { background:#fef3c7; color:#92400e; }
.tl-kind { font-size:11px; color:var(--tl-mut); }
@media (max-width:640px) { .tl-table .tl-hide-sm { display:none; } }

/* بنر تبلیغاتی */
.tl-promo { position:relative; overflow:hidden; border-radius:22px; padding:22px; color:#fff; background:linear-gradient(135deg,#312e81 0%,#4f46e5 50%,#9333ea 100%); margin-bottom:18px; box-shadow:0 20px 50px -26px rgba(79,70,229,.8); }
.tl-promo::after { content:""; position:absolute; width:260px; height:260px; border-radius:50%; background:rgba(255,255,255,.07); left:-80px; bottom:-120px; }
.tl-promo .tag { display:inline-flex; gap:6px; align-items:center; background:rgba(255,255,255,.16); border-radius:20px; padding:3px 12px; font-size:12px; font-weight:800; }
.tl-promo h3 { font-size:20px; font-weight:900; margin:10px 0 6px; color:#fff; }
.tl-promo p { font-size:13.5px; color:rgba(255,255,255,.88); margin:0 0 12px; }
.tl-promo ul { list-style:none; padding:0; margin:0 0 14px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 12px; font-size:13px; }
.tl-promo li { display:flex; gap:6px; align-items:center; }
.tl-promo li i { color:#a5f3fc; }
.tl-promo .cta { display:flex; gap:8px; flex-wrap:wrap; position:relative; z-index:1; }
.tl-promo--side ul { grid-template-columns:1fr; }
.tl-promo--side h3 { font-size:17px; }
@media (max-width:640px) { .tl-promo ul { grid-template-columns:1fr; } .tl-promo h3 { font-size:17px; } }
.tl-side { position:sticky; top:76px; }
@media (max-width:980px) { .tl-side { position:static; } .tl-side .tl-promo--side { display:none; } }

/* ابزارهای دیگر و مقاله */
.tl-tools { display:grid; grid-template-columns:1fr; gap:8px; }
.tl-tlink { display:flex; gap:10px; align-items:center; padding:10px; border-radius:14px; border:1px solid var(--tl-line); color:var(--tl-ink) !important; background:#fff; }
.tl-tlink:hover { border-color:#a5b4fc; background:#fafaff; }
.tl-tlink.on { border-color:#a5b4fc; background:#eef2ff; }
.tl-tlink i { width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:17px; flex-shrink:0; }
.tl-tlink b { display:block; font-size:13.5px; font-weight:800; }
.tl-tlink span { font-size:11.5px; color:var(--tl-mut); line-height:1.6; display:block; }
.tl-art { font-size:14.5px; color:#334155; }
.tl-art p { margin:0 0 10px; }
.tl-art ul, .tl-art ol { padding-inline-start:20px; margin:0 0 10px; }
.tl-faq details { border:1px solid var(--tl-line); border-radius:14px; padding:10px 14px; margin-bottom:8px; background:#fff; }
.tl-faq summary { cursor:pointer; font-weight:800; font-size:14px; list-style:none; display:flex; justify-content:space-between; gap:10px; }
.tl-faq summary::-webkit-details-marker { display:none; }
.tl-faq summary::after { content:"+"; color:var(--tl-pri); font-size:18px; line-height:1; }
.tl-faq details[open] summary::after { content:"−"; }
.tl-faq details p { margin:8px 0 0; font-size:13.5px; color:#475569; }

/* فهرست ابزارها */
.tl-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
@media (max-width:700px) { .tl-grid { grid-template-columns:1fr; } }
.tl-tcard { display:block; background:#fff; border:1px solid var(--tl-line); border-radius:20px; padding:18px; color:var(--tl-ink) !important; transition:transform .15s, box-shadow .15s; }
.tl-tcard:hover { transform:translateY(-3px); box-shadow:0 18px 40px -24px rgba(79,70,229,.6); }
.tl-tcard i { width:50px; height:50px; border-radius:15px; display:inline-flex; align-items:center; justify-content:center; font-size:23px; color:#fff; }
.tl-tcard h2 { font-size:17px; font-weight:900; margin:10px 0 4px; }
.tl-tcard p { font-size:13.5px; color:var(--tl-mut); margin:0; }

/* پانویس */
.tl-foot { background:#0f172a; color:#94a3b8; padding:30px 0 20px; margin-top:30px; font-size:13px; }
.tl-foot a { color:#cbd5e1; } .tl-foot a:hover { color:#fff; }
.tl-foot .cols { display:flex; flex-wrap:wrap; gap:10px 22px; margin-bottom:12px; }
