/* ───────── لایه‌ی عادت‌ساز: استریک، هدف، ماموریت، پاداش، آنبوردینگ ───────── */
.linkbtn{background:none;border:0;color:var(--ac-d);font:inherit;font-weight:700;font-size:13.5px;cursor:pointer;padding:4px 6px}
.pill.gempill svg{color:var(--vi)}

/* کارت استریک */
.streakcard{background:#fff;border:1.5px solid var(--line);border-radius:22px;padding:14px 16px;box-shadow:var(--shadow);margin-bottom:12px}
.streakcard.risk{border-color:var(--am);background:linear-gradient(180deg,#FFF6E2,#fff)}
.srow{display:flex;align-items:center;gap:12px}
.flame{width:50px;height:50px;border-radius:16px;background:#F1E8D8;color:#C9BBA2;display:grid;place-items:center;flex:none}
.flame svg{width:30px;height:30px}
.flame.lit{background:linear-gradient(180deg,#FFD27A,#F58A5C);color:#fff;box-shadow:0 5px 0 #D9622E;animation:flicker 2.4s ease-in-out infinite}
@keyframes flicker{50%{transform:scale(1.07) rotate(-3deg)}}
.stxt{flex:1} .stxt b{font-family:var(--fd);font-size:18px;display:block;line-height:1.4} .stxt small{color:var(--mut);font-size:13px;line-height:1.6;display:block}
.shieldchip{display:flex;align-items:center;gap:4px;font-weight:800;color:var(--vi);background:#F0ECFB;border-radius:99px;padding:4px 10px} .shieldchip svg{width:18px;height:18px}
.wdots{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:12px 0 8px}
.wd{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;color:var(--dim);font-weight:700}
.wd i{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;color:#fff}
.wd i svg{width:15px;height:15px}
.wd.on i{background:var(--co);border-color:var(--co)} .wd.today i{border-color:var(--ac);box-shadow:0 0 0 3px rgba(31,163,155,.18)} .wd.today span{color:var(--ac-d)} .wd.future{opacity:.5}
.goalrow{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:var(--mut);font-weight:600}
.gbar{height:10px;background:#F1E8D8;border-radius:99px;overflow:hidden;margin-top:4px} .gbar i{display:block;height:100%;background:linear-gradient(90deg,var(--am),var(--co));border-radius:99px;transition:width .8s cubic-bezier(.3,1.2,.5,1)}

/* پیشنهاد و بنرها */
.offerbar,.savebar,.installcard{display:flex;align-items:center;gap:12px;border-radius:18px;padding:12px 14px;margin-bottom:12px}
.offerbar{background:linear-gradient(120deg,#FFEFD2,#FFE0CC);border:1.5px solid #F5C58B}
.offerbar>svg,.savebar>svg{width:30px;height:30px;color:var(--co);flex:none}
.offerbar b,.savebar b,.installcard b{font-family:var(--fd);font-size:15px;display:block;line-height:1.5} .offerbar small,.savebar small,.installcard small{display:block;color:var(--mut);font-size:12.5px;line-height:1.6}
.offerbar .cd{color:var(--co-d);font-variant-numeric:tabular-nums;direction:ltr;display:inline-block}
.savebar{background:#EEF8F7;border:1.5px solid #BFE3DF} .savebar>svg{color:var(--ac)} .savebar .btn{margin-inline-start:auto}
.installcard{background:#fff;border:1.5px dashed var(--line2);flex-wrap:wrap} .installcard>div:nth-child(2){flex:1;min-width:150px} .ibtns{display:flex;align-items:center;gap:6px}
.price .was{display:block;font-size:12px;font-weight:500;color:var(--dim);text-decoration:line-through;line-height:1.2}

/* ماموریت‌ها */
.quest{display:flex;align-items:center;gap:12px;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:12px 14px}
.quest i{width:26px;height:26px;border-radius:50%;border:2px solid var(--line2);display:grid;place-items:center;color:#fff;flex:none} .quest i svg{width:15px;height:15px}
.quest span{flex:1;font-weight:600} .quest b{display:flex;align-items:center;gap:4px;color:var(--vi)} .quest b svg{width:18px;height:18px}
.quest.done{background:#EAF7EF;border-color:#A9DDBE} .quest.done i{background:var(--gr);border-color:var(--gr)}
.chestrow{margin-top:10px} .chestrow>svg{width:26px;height:26px;color:var(--am)}

/* پاداش‌های پایان درس */
.rw.gem{border-color:var(--vi)} .rw.gem small{background:var(--vi);color:#fff}
.rw{animation:pop .5s cubic-bezier(.2,1.6,.4,1) both;animation-delay:calc(var(--i,0)*120ms)}
.bonuses{display:grid;gap:10px;width:100%}
.bonus{display:flex;align-items:center;gap:12px;text-align:start;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:10px 14px;animation:rise .5s both;animation-delay:calc(var(--i,0)*160ms)}
.bonus>svg{width:30px;height:30px;flex:none} .bonus b{font-family:var(--fd);display:block} .bonus small{color:var(--mut);display:block}
.bonus.streak>svg{color:var(--co)} .bonus.goal>svg{color:var(--gr)} .bonus.quest>svg{color:var(--vi)} .bonus.chest{background:linear-gradient(120deg,#FFF3D6,#fff);border-color:#F5C58B} .bonus.chest>svg{color:var(--am)}
@keyframes pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}

/* آنبوردینگ */
.ob{gap:10px}
.obtop{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px} .obtop .x svg{transform:rotate(90deg)}
.obdots{display:flex;gap:6px} .obdots i{width:26px;height:6px;border-radius:9px;background:var(--line)} .obdots i.on{background:var(--ac)}
.obhero{display:flex;align-items:center;gap:10px;margin:4px 0 6px} .obhero .hodo{margin:0;flex:none}
.bubble{position:relative;background:#fff;border:1.5px solid var(--line);border-radius:18px 18px 18px 4px;padding:12px 14px;font-weight:700;line-height:1.7;box-shadow:var(--shadow)}
.obbody{flex:1} .obcta{padding-top:12px;position:sticky;bottom:0}
.ggrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gcard,.lcard,.dcard{background:#fff;border:2px solid var(--line);border-bottom-width:5px;border-radius:18px;padding:14px;font:inherit;color:var(--ink);cursor:pointer;text-align:center;transition:transform .08s,border-color .15s}
.gcard{display:flex;flex-direction:column;align-items:center;gap:4px;font-weight:700;min-height:92px;justify-content:center} .gcard .em{font-size:30px}
.gcard.sel,.dcard.sel{border-color:var(--ac);background:#E6F6F4}
.gcard:active,.lcard:active,.dcard:active{transform:translateY(3px)}
.lcard{text-align:start;display:block;width:100%} .lcard b{font-family:var(--fd);font-size:18px;display:block} .lcard small{color:var(--mut)}
.dcard{display:flex;align-items:center;gap:10px;width:100%;text-align:start} .dcard b{font-family:var(--fd);flex:1;font-size:17px} .dcard span{background:#F1E8D8;border-radius:99px;padding:1px 10px;font-weight:700;font-size:13px} .dcard small{color:var(--mut)}
.perks{display:grid;gap:10px;text-align:start} .perk{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.75);border:1.5px solid var(--line);border-radius:16px;padding:10px 14px}
.perk>svg{width:26px;height:26px;color:#fff;background:var(--gr);border-radius:50%;padding:5px;flex:none} .perk b{display:block;font-family:var(--fd);font-size:15px} .perk small{color:var(--mut);display:block;font-size:12.5px}
.forecast{display:flex;gap:12px;align-items:center;background:linear-gradient(120deg,#FFF3D6,#FFE7D3);border:1.5px solid #F5C58B;border-radius:18px;padding:12px 14px}
.forecast>svg{width:32px;height:32px;color:var(--am);flex:none} .forecast b{font-family:var(--fd);font-size:20px;display:block} .forecast small{color:var(--mut);display:block;line-height:1.6;font-size:13px}

/* پرچم سبز روی درس‌های پاس‌شده */
.node.done{background:radial-gradient(circle at 32% 24%,#FFF3BF,#FFD056 58%,#F2A61E)}
.node.done .flagicon{width:44px;height:44px;filter:drop-shadow(0 2px 2px rgba(120,80,0,.3))}

/* تعیین سطح، پیشنهاد بسته، هشدار شبکه */
.abar{display:grid;grid-template-columns:110px 1fr 44px;align-items:center;gap:10px;font-size:13.5px} .abar b{text-align:left}
.lcard.sel{border-color:var(--ac);background:#E6F6F4}
.suggest{display:grid;gap:4px;text-align:center;border:2px solid var(--ac);background:linear-gradient(180deg,#F1FBFA,#fff)} .suggest b{font-family:var(--fd);font-size:19px} .suggest .sp{font-weight:800;color:var(--ac-d)} .suggest span{color:var(--mut)}
.warn{display:flex;gap:12px;align-items:center;background:#FDE9E7;border:1.5px solid #F0A9A4;border-radius:16px;padding:12px 14px} .warn>svg{width:28px;height:28px;color:var(--co);flex:none} .warn b{font-family:var(--fd);display:block} .warn small{color:var(--mut);display:block;line-height:1.6}
.card .seg{margin-bottom:10px}
.savebar .btn,.installcard .btn{white-space:nowrap;flex:none;min-width:84px;overflow-wrap:normal;word-break:keep-all}

.social{display:grid;gap:10px;justify-items:center} .sbtn{width:100%!important;min-height:48px}
.or{display:flex;align-items:center;gap:10px;color:var(--dim);font-size:13px} .or::before,.or::after{content:'';flex:1;height:1px;background:var(--line)}
.gbtn{min-height:44px;display:grid;place-items:center}

/* گفتگو با پشتیبانی و نوار حالت آزمایشی */
.chat{display:flex;flex-direction:column;gap:8px;max-height:46dvh;overflow-y:auto;padding:6px 2px;margin-bottom:10px}
.bub{max-width:82%;padding:9px 13px;border-radius:18px;line-height:1.8;overflow-wrap:anywhere}
.bub.me{align-self:flex-end;background:var(--ac);color:#fff;border-bottom-left-radius:6px}
.bub.adm{align-self:flex-start;background:#fff;border:1.5px solid var(--line);border-bottom-right-radius:6px}
.chatin{display:flex;gap:8px;align-items:center} .chatin .field{flex:1;min-height:50px;font-size:16px}
.asbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 14px;background:#F5A524;color:#3a2600;font-weight:800;font-size:13px}
.asbar button{background:#fff;border:0;border-radius:99px;padding:4px 14px;font:inherit;font-weight:800;cursor:pointer;color:#3a2600}
body.has-asbar{padding-top:36px}
