@font-face { font-family: 'BYekan'; src: url('fonts/BYekan.ttf') format('truetype'); font-weight: 400; font-display: swap; }
/* علائم نگارشی که BYekan ضعیف نشون می‌ده از فونت سیستم می‌آد */
@font-face { font-family: 'BYekan'; src: local('Segoe UI'), local('Tahoma'), local('Arial'); unicode-range: U+003A, U+003B, U+002C, U+002E, U+2026, U+2014, U+2013, U+060C, U+061B, U+00AB, U+00BB; }
:root {
  --gold1: #f7c453; --gold2: #e08a1e; --purple: #5b3fa8; --teal: #35d0a0;
  --muted: rgba(255,255,255,.65); --glass: rgba(255,255,255,.06); --bd: rgba(255,255,255,.09);
}
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; min-height: 100%; }
body {
  font-family: 'BYekan', Tahoma, 'Segoe UI', sans-serif; font-size: 14px; line-height: 1.7; font-weight: 400; color: #fff;
  background: linear-gradient(135deg, #1b1824 0%, #3b2a4e 100%) fixed; overflow-x: hidden;
}
#app { max-width: 480px; margin: 0 auto; min-height: 100vh; position: relative; padding: calc(env(safe-area-inset-top) + 10px) 14px calc(env(safe-area-inset-bottom) + 108px); overflow-x: hidden; }
#app::before { content: ''; position: absolute; top: 80px; left: 50%; width: 380px; height: 380px; transform: translateX(-50%); background: radial-gradient(circle, rgba(247,196,83,.20), transparent 65%); pointer-events: none; }
.glass { background: var(--glass); border: 1px solid var(--bd); border-radius: 18px; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.card { padding: 16px 18px; margin-bottom: 12px; position: relative; }
h2 { font-size: 22px; margin: 0 0 6px; line-height: 1.5; }
h3 { font-size: 19px; margin: 0 0 8px; color: var(--gold1); }
p { margin: 0 0 8px; }
.pre { white-space: pre-line; }
.muted { color: var(--muted); font-size: 16px; }
.foot { text-align: center; color: var(--muted); font-size: 15px; margin: 14px 0 0; }
.note { text-align: center; color: var(--muted); font-size: 15px; margin: 12px 0 0; }
.demo-badge { display: none; position: absolute; top: 4px; left: 14px; font-size: 11px; opacity: .8; line-height: 1.4; padding: 0 8px; border-radius: 10px; background: rgba(255,255,255,.12); color: var(--muted); z-index: 5; }
.is-demo .demo-badge { display: block; }

/* نوار آمار */
.statbar { display: flex; gap: 6px; padding: 8px; margin: 0 0 12px; position: relative; z-index: 2; }
.chip { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; padding: 4px 2px; border-radius: 999px; background: rgba(255,255,255,.05); line-height: 1.25; }
.chip .ci { font-size: 16px; }
.chip b { font-size: 18px; } .chip b.pos { color: var(--teal); }
.chip small { font-size: 13px; color: var(--muted); white-space: nowrap; }

/* صفحه‌ها */
.screen { display: none; position: relative; z-index: 1; padding-top: 14px; }
.screen.active { display: block; animation: fadeIn .35s ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* چرخ */
.hero { position: relative; width: min(300px, 78vw); aspect-ratio: 1; margin: 6px auto 14px; }
#wheel { width: 100%; height: 100%; filter: drop-shadow(0 0 22px rgba(247,196,83,.35)); animation: spin 120s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.hero-center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; line-height: 1.3; pointer-events: none; }
.hero-center b { font-size: 26px; color: var(--gold1); }
.hc-label { font-size: 14px; color: var(--muted); }
.mood h2 { color: #fff; }
.tip { margin-top: 8px; padding: 8px 12px; border-radius: 12px; background: rgba(247,196,83,.10); border: 1px dashed rgba(247,196,83,.4); font-size: 16px; }
.tip::before { content: '💡 '; }
.win { display: flex; align-items: center; justify-content: space-between; padding: 8px 12px; margin-bottom: 6px; border-radius: 12px; font-size: 16px; }
.win.calm { background: rgba(53,208,160,.12); } .win.sens { background: rgba(224,138,30,.14); }

/* دکمه‌ها */
.btn { display: block; width: 100%; border: 0; border-radius: 16px; padding: 12px 16px; margin: 10px 0 0; font-family: inherit; font-size: 19px; color: #fff; cursor: pointer; transition: transform .12s, filter .12s; }
.btn:active, .nav button:active, .row-item:active, .seg button:active { transform: scale(.96); filter: brightness(1.15); }
.btn.gold { background: linear-gradient(135deg, var(--gold1), var(--gold2)); color: #2a1a05; box-shadow: 0 6px 18px rgba(224,138,30,.3); }
.btn.purple { background: var(--purple); box-shadow: 0 6px 18px rgba(91,63,168,.4); }
.btn.ghost { background: var(--glass); border: 1px solid rgba(255,255,255,.18); }
.btn.danger { background: rgba(220,70,90,.16); border: 1px solid rgba(220,70,90,.5); color: #ff9aa8; }
.btn.sm { width: auto; margin: 0; padding: 8px 16px; font-size: 17px; }
.btn[disabled] { opacity: .7; }

/* چارت */

/* پیش‌بینی */
.idx { display: flex; align-items: center; justify-content: space-between; padding: 5px 0; }
.dots { display: flex; gap: 6px; direction: ltr; }
.dots i { width: 14px; height: 14px; border-radius: 50%; background: rgba(255,255,255,.14); }
.dots i.f { background: linear-gradient(135deg, var(--gold1), var(--gold2)); box-shadow: 0 0 8px rgba(247,196,83,.5); }
.wh { margin: 10px 0 6px; font-size: 17px; }

/* همخوانی */
.sec-title { margin: 2px 4px 10px; }
.row-item { display: flex; align-items: center; justify-content: space-between; width: 100%; font-family: inherit; color: #fff; font-size: 19px; cursor: pointer; text-align: right; padding: 12px 16px; margin-bottom: 8px; transition: transform .12s; }
.row-item small { color: var(--muted); font-size: 15px; } .row-item .arrow { color: var(--gold1); margin-inline-start: 8px; }
.empty { text-align: center; color: var(--muted); padding: 20px 0; }
.back { background: none; border: 0; color: var(--gold1); font-family: inherit; font-size: 18px; padding: 4px 0 10px; cursor: pointer; }
.form label { display: block; margin-bottom: 12px; font-size: 17px; color: var(--muted); }
.form input:not([type=checkbox]), .form select { display: block; width: 100%; margin-top: 4px; padding: 10px 12px; font-family: inherit; font-size: 18px; color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: 12px; }
.form select option { color: #000; }
.form .check { display: flex; align-items: center; gap: 8px; color: #fff; }
.form .check input { width: 20px; height: 20px; accent-color: var(--gold2); }

.spinner { display: inline-block; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.4); border-top-color: #fff; border-radius: 50%; animation: spin .8s linear infinite; vertical-align: middle; margin-inline-end: 8px; }

/* اکانت */
.plan-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.badge-gold { padding: 2px 14px; border-radius: 999px; color: #2a1a05; background: linear-gradient(135deg, var(--gold1), var(--gold2)); }
.bar { height: 10px; border-radius: 6px; background: rgba(255,255,255,.12); overflow: hidden; margin-bottom: 6px; }
.bar i { display: block; height: 100%; width: 0; border-radius: 6px; background: linear-gradient(90deg, var(--gold1), var(--gold2)); transition: width .8s ease; }
.invite { display: flex; gap: 8px; margin-bottom: 4px; }
.invite input { flex: 1; min-width: 0; padding: 8px 10px; font-size: 14px; color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: 12px; }
.friends { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
.friends span { padding: 2px 12px; border-radius: 999px; background: rgba(53,208,160,.14); color: var(--teal); font-size: 16px; }

/* ناوبری */
.nav { position: fixed; bottom: calc(env(safe-area-inset-bottom) + 10px); left: 50%; transform: translateX(-50%); width: min(452px, calc(100vw - 20px)); display: flex; gap: 6px; padding: 7px; z-index: 10; background: rgba(40,30,58,.78); }
.nav button { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 0; padding: 6px 0 4px; border-radius: 14px; border: 1.5px solid transparent; background: rgba(255,255,255,.04); color: var(--muted); font-family: inherit; font-size: 14px; line-height: 1.3; cursor: pointer; transition: all .2s; }
.nav button span { font-size: 22px; line-height: 1.2; }
.nav button.on { border-color: var(--gold1); background: rgba(247,196,83,.14); color: var(--gold1); }

/* دیالوگ و توست */
.modal { position: fixed; inset: 0; z-index: 30; background: rgba(10,6,20,.6); display: flex; align-items: center; justify-content: center; padding: 20px; }
.modal[hidden] { display: none; }
.dlg { background: #2b2140; padding: 20px; width: min(380px, 100%); animation: fadeIn .2s; }
.dlg-btns { display: flex; gap: 8px; margin-top: 14px; } .dlg-btns .btn { margin: 0; font-size: 18px; }
.toast { position: fixed; bottom: calc(env(safe-area-inset-bottom) + 100px); left: 50%; transform: translate(-50%, 20px); background: rgba(0,0,0,.8); padding: 8px 18px; border-radius: 999px; font-size: 16px; opacity: 0; transition: all .3s; z-index: 40; pointer-events: none; white-space: nowrap; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }

/* تب‌های همخوانی */
.pager { display: flex; align-items: flex-start; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; margin: 0 -12px; }
.pager::-webkit-scrollbar { display: none; }
.ppage { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; scroll-snap-stop: always; padding: 0 12px; }
.rep { margin-top: 10px; }

/* --- نسخه‌ی فشرده و بدون بولد --- */
*, *::before, *::after { font-weight: 400 !important; font-synthesis: none; }
h1,h2,h3,h4,b,strong { font-weight: 400 !important; }
#app { padding-left: 12px; padding-right: 12px; padding-bottom: calc(env(safe-area-inset-bottom) + 84px); }
.card { padding: 12px 14px; margin-bottom: 10px; }
h2 { font-size: 18px; margin: 0 0 4px; line-height: 1.5; }
h3 { font-size: 15px; margin: 0 0 6px; }
p { margin: 0 0 6px; }
.muted { font-size: 13px; } .foot, .note { font-size: 12.5px; margin-top: 10px; }
.statbar { padding: 6px; gap: 5px; margin-bottom: 10px; }
.chip { padding: 3px 2px; line-height: 1.2; } .chip .ci { font-size: 14px; } .chip b { font-size: 15px; } .chip small { font-size: 11.5px; }
.hero { width: min(210px, 60vw); margin: 2px auto 10px; }
.hero-center b { font-size: 20px; } .hc-label { font-size: 12px; }
.tip { font-size: 13px; padding: 6px 10px; margin-top: 6px; }
.win { font-size: 13.5px; padding: 6px 10px; margin-bottom: 5px; } .wh { font-size: 14px; margin: 6px 0 4px; }
.btn { font-size: 15.5px; padding: 11px 14px; margin-top: 8px; min-height: 42px; border-radius: 14px; }
.btn.sm { font-size: 14px; padding: 8px 14px; }
.idx { padding: 3px 0; } .dots i { width: 12px; height: 12px; }
.form label { font-size: 13.5px; margin-bottom: 9px; }
.form input:not([type=checkbox]), .form select { font-size: 15px; padding: 9px 10px; }
.back { font-size: 15px; }
.invite input { font-size: 12.5px; }
.friends span { font-size: 13px; }
.dlg { padding: 16px; } .dlg-btns .btn { font-size: 15px; }
.toast { font-size: 14px; bottom: calc(env(safe-area-inset-bottom) + 80px); }
.nav { padding: 5px; gap: 5px; bottom: calc(env(safe-area-inset-bottom) + 8px); }
.nav button { font-size: 11.5px; padding: 4px 0 3px; line-height: 1.25; min-height: 48px; }
.nav button span { font-size: 18px; line-height: 1.2; }
.screen { padding-top: 12px; }

.pos { color: var(--teal); }
.synrow { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--bd); font-size: 14px; }
.hint { margin-bottom: 10px; padding: 6px 10px; border-radius: 10px; background: rgba(53,208,160,.10); font-size: 13.5px; }

/* --- کنترل سگمنتی بالا + نقطه‌ها + فیلتر (الهام از مرجع، با رنگ‌های خودمون) --- */
.segc { position: relative; background: rgba(255,255,255,.07); border: 1px solid var(--bd); border-radius: 20px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
.segc::-webkit-scrollbar { display: none; }
.segin { position: relative; display: flex; width: 100%; }
.segpill { position: absolute; top: 0; bottom: 0; right: 0; z-index: 0; pointer-events: none; }
.segpill::before { content: ''; position: absolute; inset: 4px; border-radius: 16px; background: linear-gradient(135deg, rgba(247,196,83,.30), rgba(224,138,30,.18)); border: 1px solid rgba(247,196,83,.55); box-shadow: 0 4px 14px rgba(0,0,0,.35); }
.segtab { position: relative; z-index: 1; flex: 1 1 0; min-width: 0; min-height: 46px; padding: 0 6px; background: none; border: 0; color: var(--muted); font-family: inherit; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; scroll-snap-align: center; transition: color .2s; }
.segtab.on { color: #fff; }
.segtab.new { color: var(--gold1); }
.dots2 { display: flex; justify-content: center; gap: 6px; margin: 9px 0 10px; }
.dots2 i { width: 6px; height: 6px; border-radius: 3px; background: rgba(255,255,255,.25); transition: width .25s, background .25s; }
.dots2 i.on { width: 22px; background: var(--gold1); }
.filt { display: flex; gap: 8px; margin-bottom: 10px; }
.filt button { flex: 1; min-height: 42px; border: 0; border-radius: 16px; background: var(--glass); border: 1px solid var(--bd); color: var(--muted); font-family: inherit; font-size: 15px; cursor: pointer; transition: all .2s; }
.filt button.on { background: linear-gradient(135deg, var(--gold1), var(--gold2)); color: #2a1a05; border-color: transparent; }
.filt button.on::before { content: '✓ '; }
.pin { position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(env(safe-area-inset-bottom) + 76px); width: min(452px, calc(100vw - 24px)); z-index: 9; margin: 0; }
.pin:active { transform: translateX(-50%) scale(.97); }
.pin[hidden] { display: none; }
#synPager .ppage { padding-bottom: 44px; }
/* اکانت: جمع‌وجور تا توی یک صفحه جا بشه */
#s-acc { padding-top: 6px; }
#s-acc .card { margin-bottom: 8px; padding: 10px 14px; }
#s-acc .btn { margin-top: 0; margin-bottom: 8px; min-height: 40px; padding: 9px 12px; }
#s-acc .plan-top { margin-bottom: 6px; } #s-acc .bar { margin-bottom: 4px; }
#s-acc .inv h3 { margin-bottom: 4px; } #s-acc .inv .btn { margin: 8px 0 0; }
#s-acc .btn.sm { margin: 0; }
#s-acc .friends { margin-top: 8px; flex-wrap: nowrap; overflow: hidden; }
#s-acc .friends span { white-space: nowrap; padding: 0 10px; }
.row2 { display: flex; gap: 8px; } .row2 .btn { flex: 1 1 0; font-size: 14px; padding-inline: 6px; }
#s-acc .foot { margin-top: 4px; }
#s-acc .plan #aRenew { margin: 10px 0 0; }
/* ریشه‌ی باگ سوایپ: ظاهر/ناپدید شدن اسکرول‌بار صفحه عرض پیجر رو عوض می‌کرد */
html { scrollbar-width: none; } html::-webkit-scrollbar { display: none; }

/* انتخاب تاریخ: سه دکمه‌ی هم‌عرض + باتم‌شیت داخل صفحه */
.ferr { margin-top: 6px; padding: 6px 10px; border-radius: 10px; background: rgba(220,70,90,.16); color: #ff9aa8; font-size: 13px; }
.ferr[hidden] { display: none; }
.btn[disabled] { opacity: .45; filter: saturate(.6); }
@keyframes sheetUp { from { transform: translateY(40px); opacity: 0; } to { transform: none; opacity: 1; } }
.form .fl { display: block; margin-bottom: 9px; font-size: 13.5px; color: var(--muted); }

/* فرم فشرده */
.fhead { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.fhead h3 { margin: 0; white-space: nowrap; }
.fhead .hint { margin: 0; padding: 3px 10px; font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.trow { display: flex; align-items: center; gap: 10px; }
#sf.form label, #sf .fl { margin-bottom: 7px; }
#sf.card { padding: 10px 14px; }
#sf .note { margin-top: 6px; }

/* --- چرخ‌های انتخاب (wheel) --- */
  -webkit-mask-image: linear-gradient(transparent, #000 28%, #000 72%, transparent); mask-image: linear-gradient(transparent, #000 28%, #000 72%, transparent); }
.trow { align-items: center; }

/* --- فشرده‌سازی نهایی فاصله‌ها (v9) --- */
body { line-height: 1.55; }
#app { padding-top: calc(env(safe-area-inset-top) + 4px); }
.screen { padding-top: 12px; }
.card { padding: 8px 12px; margin-bottom: 7px; border-radius: 16px; }
h2 { font-size: 17px; margin: 0 0 2px; } h3 { font-size: 14.5px; margin: 0 0 4px; }
p { margin: 0 0 4px; }
.hero { width: min(172px, 52vw); margin: 0 auto 6px; }
.hero-center b { font-size: 18px; } .hc-label { font-size: 12px; line-height: 1.2; }
.tip { padding: 4px 10px; margin-top: 4px; font-size: 13px; }
.win { padding: 4px 10px; margin-bottom: 4px; font-size: 13px; } .wh { margin: 4px 0 3px; font-size: 13.5px; }
.btn { min-height: 38px; padding: 8px 12px; margin-top: 6px; font-size: 15px; }
.idx { padding: 1px 0; } .dots i { width: 11px; height: 11px; }
.segtab { min-height: 36px; font-size: 14.5px; }
.segpill::before { inset: 3px; border-radius: 14px; }
.segc { border-radius: 18px; }
.dots2 { margin: 6px 0 7px; }
.pin { min-height: 40px; bottom: calc(env(safe-area-inset-bottom) + 72px); }
#synPager .ppage { padding-bottom: 40px; }
.filt { margin-bottom: 7px; } .filt button { min-height: 36px; font-size: 14.5px; border-radius: 14px; }
.rep { margin-top: 6px; }
.muted { font-size: 13px; }
/* فرم همخوانی */
.fhead { margin-bottom: 4px; }
.form label, #sf .fl { margin-bottom: 5px; font-size: 13px; }
.form input:not([type=checkbox]), .form select { padding: 6px 10px; margin-top: 2px; font-size: 14.5px; }
#sf.card { padding: 8px 12px; }
#sf .note { margin-top: 4px; font-size: 13px; }
/* اکانت */
#s-acc .card { margin-bottom: 6px; padding: 8px 12px; }
#s-acc .btn { margin-bottom: 6px; min-height: 36px; padding: 6px 10px; }
.row2 .btn { font-size: 13.5px; }
#s-acc .plan-top { margin-bottom: 4px; }
.synrow { margin-top: 5px; padding-top: 5px; font-size: 13.5px; }
.friends { margin-top: 6px; }
.nav button { min-height: 46px; }
.wcols { display: flex; gap: 8px; } .wcols > div { flex: 1 1 0; min-width: 0; }
.win.mini { justify-content: center; text-align: center; padding: 5px 4px; }
.wcols .wh { margin-top: 0; text-align: center; font-size: 13px; }
#tWinDate { font-size: 13px; }

/* تیتر کارت‌ها: هم‌اندازه‌ی متن، با جعبه‌ی تأکیدی طلایی */
.mood h2, #synPager .ppage h2 { font-size: 14px; line-height: 1.55; margin: 0 0 6px; padding: 6px 10px; border-radius: 11px; background: rgba(247,196,83,.10); border: 1px solid rgba(247,196,83,.35); color: var(--gold1); }
#app { padding-bottom: calc(env(safe-area-inset-bottom) + 76px); }

/* --- چرخ آسمان (v11) --- */
.pl { cursor: pointer; outline: none; } .pl:focus-visible text { fill: #fff; }
.wcenter { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; line-height: 1.35; pointer-events: none; padding: 0 22%; }
.wc-d { font-size: 13px; color: #fff; } .wc-m { font-size: 13px; color: var(--gold1); margin-top: 2px; } .wc-n { font-size: 11px; color: var(--muted); margin-top: 2px; line-height: 1.3; }
.wtip { position: absolute; left: 50%; bottom: -8px; transform: translateX(-50%); z-index: 4; white-space: nowrap; padding: 5px 12px; border-radius: 11px; font-size: 13.5px; color: var(--gold1); background: #2b2140; border: 1px solid rgba(247,196,83,.5); box-shadow: 0 6px 16px rgba(0,0,0,.4); }
.wtip[hidden] { display: none; }
.hero { width: auto; aspect-ratio: auto; margin: 0 auto 8px; }
.hero.big { margin-bottom: 8px; }
#s-today .card { margin-bottom: 5px; } #s-today .btn { margin-top: 4px; }

/* --- امروز: دکمه‌ی کوچک اشتراک + متن ۴ خطی --- */
.sharepill { position: absolute; top: 10px; left: 0; z-index: 6; min-height: 32px; padding: 0 12px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid var(--gold1); color: var(--gold1); font-family: inherit; font-size: 13.5px; cursor: pointer; backdrop-filter: blur(6px); transition: transform .12s; }
.sharepill:active { transform: scale(.94); }
.demo-badge { left: auto; right: 14px; }
.clamp { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; white-space: pre-line; }
.clamp.open { display: block; -webkit-line-clamp: unset; }
.more { display: block; margin: -2px 0 4px auto; padding: 2px 4px; background: none; border: 0; color: var(--gold1); font-family: inherit; font-size: 13px; cursor: pointer; }
.more[hidden] { display: none; }
#s-today .ppage .card { margin-bottom: 0; }
#s-today { padding-top: 10px; }

/* ===== قالب اپ (v13): بدون اسکرول صفحه؛ هر بخش داخل خودش اسکرول می‌شه ===== */
html, body { height: var(--vh, 100dvh); overflow: hidden; }
#app { height: var(--vh, 100dvh); min-height: 0; display: flex; flex-direction: column; overflow: hidden; padding-top: calc(env(safe-area-inset-top) + 4px); padding-bottom: calc(env(safe-area-inset-bottom) + 6px) !important; }
#screens { flex: 1 1 auto; min-height: 0; position: relative; display: flex; flex-direction: column; }
.screen { display: none; }
.screen.active { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; overflow: hidden; padding-top: 10px; }
#s-acc.active { overflow-y: auto; scrollbar-width: none; overscroll-behavior: contain; }
#s-acc::-webkit-scrollbar { display: none; }
.nav { position: relative; left: auto; bottom: auto; transform: none; width: 100%; flex: 0 0 auto; margin-top: 6px; }
.pin { position: static; transform: none; width: 100%; flex: 0 0 auto; margin: 6px 0 0 !important; }
.pin:active { transform: scale(.97); }
.pager { flex: 1 1 auto; min-height: 0; align-items: stretch; }
.ppage { overflow-y: auto; scrollbar-width: none; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; padding-bottom: 6px !important; }
.ppage::-webkit-scrollbar { display: none; }
.segc, .dots2, .wheelbox, .sharepill, .filt { flex: 0 0 auto; }
.clamp { -webkit-line-clamp: var(--lines, 4); }
.clamp.open { -webkit-line-clamp: unset; }
#s-chart .card, #s-chart .btn { flex: 0 0 auto; }
.demo-badge { z-index: 20; }
/* آکاردئون: آیکون SVG ثابت، هدر هم‌ارتفاع، بدنه با انیمیشن ارتفاع */
.chev { flex: 0 0 auto; transition: transform .2s ease; }
#s-chart .card { padding-top: 6px; padding-bottom: 6px; }

/* دکمه‌ی گرد ویرایش گوشه‌ی کارت چارت */
.chead { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px; }
.chead h3 { margin: 0; }
.editbtn { width: 40px; height: 40px; margin: -6px -8px -6px 0; padding: 0; background: none; border: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.ep { width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.08); border: 1px solid var(--gold1); transition: transform .12s; }
.editbtn:active .ep { transform: scale(.9); }

/* --- پیل ویرایش تولد + صفحه‌ی ویرایش درون‌برنامه‌ای --- */
.editpill { flex: 0 0 auto; min-height: 32px; padding: 0 12px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid var(--gold1); color: var(--gold1); font-family: inherit; font-size: 13px; cursor: pointer; backdrop-filter: blur(6px); transition: transform .12s; }
.editpill:active { transform: scale(.94); }
.chead { min-height: 32px; margin-bottom: 4px; }

/* --- کارت‌های انتخابی چارت + هاله‌ی سیاره روی چرخ --- */
#cSel.segc { background: none; border: 0; border-radius: 0; overflow: visible; }
#cSel .segpill { display: none; }
#cSel .segin { gap: 8px; }
#cSel .segtab { flex: 1 1 0; min-height: 62px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 4px; border-radius: 14px; background: rgba(255,255,255,.06); border: 1px solid var(--bd); color: #fff; line-height: 1.3; white-space: normal; overflow: visible; transition: transform .15s, box-shadow .25s, border-color .25s, background .25s; }
#cSel .segtab .ic { font-size: 16px; color: var(--gold1); line-height: 1.2; }
#cSel .segtab small { color: var(--muted); font-size: 12px; } #cSel .segtab b { font-size: 15px; }
#cSel .segtab.on { border-color: var(--gold1); background: rgba(247,196,83,.10); box-shadow: 0 0 14px rgba(247,196,83,.38); transform: translateY(-2px); color: #fff; }
#cSel .segtab:active { transform: scale(.95); }
#cSel .segtab.dis { opacity: .4; pointer-events: none; }
.ascnote { margin-top: 2px; text-align: center; color: var(--muted); font-size: 12.5px; }
#cDots { margin: 6px 0 2px; }
.hlring { opacity: 0; transform-box: fill-box; transform-origin: center; pointer-events: none; }
.pl.hl .hlring { opacity: .95; animation: hlp 1.2s ease-in-out infinite; filter: drop-shadow(0 0 4px #f7c453); }
.ascg.hl .ascline { stroke-width: 5.5; filter: drop-shadow(0 0 5px #f7c453); animation: hla 1.2s ease-in-out infinite; }
.ascg { cursor: pointer; outline: none; }
@keyframes hlp { 0%, 100% { transform: scale(.88); opacity: .95; } 50% { transform: scale(1.18); opacity: .45; } }
@keyframes hla { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }
@media (prefers-reduced-motion: reduce) { .pl.hl .hlring, .ascg.hl .ascline { animation: none; } }
#s-chart .pager { margin-top: 6px; }
#s-chart .ppage .card { margin-bottom: 0; }

/* --- فیلدهای جمع‌شده + پاپ‌اور --- */
.frow { display: flex; gap: 6px; min-width: 0; margin-top: 4px; }
.fld { flex: 1 1 0; min-width: 0; min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 4px; padding: 0 10px; font-family: inherit; font-size: 14.5px; color: var(--muted); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: 12px; cursor: pointer; transition: border-color .15s, background .15s; }
.fld span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fld.set { color: #fff; }
.fld.open { border-color: var(--gold1); background: rgba(247,196,83,.10); }
.fld.bad { border-color: rgba(255,120,140,.75); }
.fld[disabled] { opacity: .4; cursor: default; }
.fld.wide { width: 100%; margin-top: 4px; }
.fld .chev { flex: 0 0 auto; }
.fld.open .chev { transform: rotate(180deg); }
.trow { display: flex; align-items: center; gap: 10px; }
.tf { flex: 0 0 56%; }
.trow .check { flex: 1 1 0; min-width: 0; margin: 4px 0 0; font-size: 13px; line-height: 1.4; }
.pop { position: fixed; z-index: 60; display: flex; flex-direction: column; padding: 4px; background: #2b2140; border: 1px solid rgba(247,196,83,.45); border-radius: 14px; box-shadow: 0 10px 26px rgba(0,0,0,.5); }
.pop[hidden] { display: none; }
.pq { margin: 2px 2px 6px; padding: 7px 10px; font-family: inherit; font-size: 14px; color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: 10px; min-width: 0; }
.pq[hidden] { display: none; }
.plist { overflow-y: auto; max-height: 170px; scrollbar-width: none; overscroll-behavior: contain; scroll-snap-type: y proximity; -webkit-mask-image: linear-gradient(transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(transparent, #000 10%, #000 90%, transparent); }
.plist::-webkit-scrollbar { display: none; }
.pi { display: block; width: 100%; height: 34px; padding: 0 10px; border: 0; border-radius: 9px; background: none; color: rgba(255,255,255,.85); font-family: inherit; font-size: 14.5px; text-align: center; cursor: pointer; scroll-snap-align: center; }
.pi.on { background: rgba(247,196,83,.18); color: var(--gold1); }
.pi:active { background: rgba(255,255,255,.1); }
.phd { padding: 4px 10px 0; color: var(--gold1); font-size: 12.5px; }
.form label, .form .fl { margin-bottom: 9px; }

/* --- چارت: کم‌رنگ‌تر و آرام‌تر (v17) --- */
.editpill { position: relative; min-height: 28px; padding: 0 11px; font-size: 12.5px; color: rgba(247,196,83,.8); background: rgba(255,255,255,.04); border: 1px solid rgba(247,196,83,.2); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; transition: background .15s, border-color .15s, transform .12s; }
.editpill::after { content: ''; position: absolute; inset: -7px -4px; } /* ناحیه‌ی لمس ≥ ۴۰px */
.editpill:active { transform: scale(.96); background: rgba(247,196,83,.14); border-color: rgba(247,196,83,.5); }
#s-chart > .glass.card { background: none; border: 0; box-shadow: none; padding: 0 2px; backdrop-filter: none; -webkit-backdrop-filter: none; }
#cSel .segtab { border-color: rgba(255,255,255,.06); background: rgba(255,255,255,.04); }
#cSel .segtab.on { border-color: rgba(247,196,83,.7); background: rgba(247,196,83,.08); box-shadow: 0 0 10px rgba(247,196,83,.22); }
#s-chart .ppage .card { border-color: rgba(255,255,255,.06); background: rgba(255,255,255,.04); }

/* --- اوورلی تمام‌صفحه --- */
.ovback { position: fixed; inset: 0; z-index: 54; background: rgba(10,6,20,.6); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); animation: ovFade .25s ease; }
.ovback[hidden] { display: none; }
.ov { position: fixed; top: 0; bottom: 0; left: 0; right: 0; width: min(480px, 100%); margin: 0 auto; z-index: 55; display: flex; flex-direction: column; background: linear-gradient(135deg, #1b1824 0%, #3b2a4e 100%); padding: calc(env(safe-area-inset-top) + 8px) 12px calc(env(safe-area-inset-bottom) + 8px); }
.ov[hidden] { display: none; }
.ov.open { animation: ovUp .25s ease; }
.ov.closing { animation: ovDown .22s ease forwards; }
@keyframes ovUp { from { transform: translateY(100%); } to { transform: none; } }
@keyframes ovDown { from { transform: none; } to { transform: translateY(100%); } }
@keyframes ovFade { from { opacity: 0; } to { opacity: 1; } }
.ov-head { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; margin-bottom: 6px; }
.ov-head h3 { margin: 0; font-size: 15px; white-space: nowrap; }
.ov-x { width: 40px; height: 40px; margin: -4px -8px -4px 0; background: none; border: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.estat { display: inline-block; margin: 0 auto 0 0; padding: 2px 10px; border-radius: 10px; background: rgba(53,208,160,.10); color: var(--teal); font-size: 12.5px; white-space: nowrap; }
.ov-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; scrollbar-width: none; overscroll-behavior: contain; padding-bottom: 6px; }
.ov-body::-webkit-scrollbar { display: none; }
.ov-foot { flex: 0 0 auto; display: flex; gap: 8px; padding-top: 6px; }
.ov-foot .btn { margin: 0; } .ov-foot .gold { flex: 2.3 1 0; } .ov-foot .ghost { flex: 1 1 0; }
.ov .form { background: none; border: 0; box-shadow: none; padding: 0; backdrop-filter: none; }
.ov .form label, .ov .fl { margin-bottom: 9px; }
.enote { margin: 0 0 4px; text-align: right; font-size: 12.5px; line-height: 1.4; }
.toast { z-index: 70; } .pop { z-index: 60; }
/* همخوانی: ردیف تب‌ها + پیل «تازه» + حالت خالی */
.segrow { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.segrow[hidden], .pager[hidden], .dots2[hidden], .pin[hidden] { display: none; }
.segrow .segc { flex: 1 1 auto; min-width: 0; }
#synEmpty { margin: auto 0; text-align: center; padding: 22px 16px; flex: 0 0 auto; }
#synEmpty .eic { font-size: 34px; line-height: 1.2; margin-bottom: 4px; }
#synEmpty p { color: var(--muted); }

/* --- صفحه‌ی هر نفر (v19) --- */
.pcard { padding: 0 2px 8px; }
.pmeta { display: flex; align-items: center; justify-content: space-between; min-height: 36px; margin-bottom: 4px; }
.pm { font-size: 13px; color: rgba(255,255,255,.6); }
.pcard p { font-size: 14px; line-height: 1.58; margin: 0 0 8px; white-space: pre-line; }
.hbox { margin-top: 4px; padding: 6px 10px; border-radius: 11px; background: rgba(247,196,83,.10); border: 1px solid rgba(247,196,83,.35); color: var(--gold1); font-size: 14px; line-height: 1.55; }
.trash { width: 40px; height: 40px; margin: -6px 0 -6px -8px; padding: 0; background: none; border: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.trash .ti { width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.05); border: 1px solid rgba(255,120,140,.22); transition: background .15s, transform .12s; }
.trash:active .ti { background: rgba(255,120,140,.16); transform: scale(.92); }

/* --- تأیید کوچک بستن + یکدست کردن فوتر --- */
.ov-confirm { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; margin-top: 6px; padding: 6px 10px; border-radius: 12px; background: rgba(220,70,90,.12); border: 1px solid rgba(255,120,140,.3); font-size: 13.5px; }
.ov-confirm[hidden] { display: none; }
.ov-confirm span { flex: 1 1 auto; }
.ov-confirm button { min-height: 34px; padding: 0 12px; border-radius: 10px; font-family: inherit; font-size: 13.5px; cursor: pointer; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); color: #fff; }
.ov-confirm [data-yes] { background: rgba(220,70,90,.25); border-color: rgba(255,120,140,.5); color: #ffb4c0; }
.ov-foot .btn { min-height: 42px; }

/* --- دکمه‌ی شناور «همخوانی تازه» گوشه‌ی پایین-چپ (روی محتوا، بدون ردیف چیدمان) --- */
#synMain.pin { position: absolute; left: 0; bottom: 8px; width: auto; min-height: 36px; margin: 0 !important; padding: 0 14px; font-size: 13px; border-radius: 999px; z-index: 6; box-shadow: 0 6px 16px rgba(224,138,30,.38); transform: none; }
#synMain.pin::after { content: ''; position: absolute; inset: -4px; }
#synMain.pin:active { transform: scale(.95); }
#synPager .ppage { padding-bottom: 52px !important; }
.segrow .segc { width: 100%; }

/* --- مرکز متحرک چرخ و متن کنار چرخ (v39) --- */
.twrap { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 auto 8px; }
.twrap .hero { margin: 0; }
.tinfo { display: flex; flex-direction: column; align-items: flex-start; text-align: right; line-height: 1.45; min-width: 74px; max-width: 98px; }
.ti-w { font-size: 12px; color: var(--muted); }
.ti-d { font-size: 16px; color: #fff; }
.ti-m { font-size: 13px; color: var(--gold1); margin-top: 3px; }
.wc-rot, .wc-rot2, .wc-glow, .wc-star { transform-box: fill-box; transform-origin: center; }
.wc-rot { animation: wcspin 70s linear infinite; }
.wc-rot2 { animation: wcspin 46s linear infinite reverse; }
.wc-glow { animation: wcpulse 4.2s ease-in-out infinite; }
.wc-star { animation: wctw 3.2s ease-in-out infinite; } .wc-star.s1 { animation-delay: .8s; } .wc-star.s2 { animation-delay: 1.6s; } .wc-star.s3 { animation-delay: 2.4s; }
@keyframes wcspin { to { transform: rotate(360deg); } }
@keyframes wcpulse { 0%, 100% { transform: scale(.9); opacity: .75; } 50% { transform: scale(1.08); opacity: 1; } }
@keyframes wctw { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .wc-rot, .wc-rot2, .wc-glow, .wc-star { animation: none; } }

/* --- صفحه‌ی بارگذاری: گردون نمایشی (v40) --- */
#splash { position: fixed; inset: 0; z-index: 200; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
  background: linear-gradient(160deg, #1b1824 0%, #3b2a4e 100%); transition: opacity .5s ease, visibility .5s ease; }
#splash.out { opacity: 0; visibility: hidden; pointer-events: none; }
.sp-glow { position: absolute; width: 70vmin; height: 70vmin; border-radius: 50%; background: radial-gradient(circle, rgba(247,196,83,.20), rgba(247,196,83,0) 65%); animation: sppulse 3.6s ease-in-out infinite; }
/* چرخ از دور (کوچک و محو) نزدیک می‌شود تا به اندازه‌ی اصلی برسد؛ هیچ چرخشی ندارد */
.sp-wheel { position: relative; margin: 0; animation: spzoom 2.1s cubic-bezier(.2,.75,.2,1) both; will-change: transform, opacity; }
.sp-wheel svg { filter: drop-shadow(0 0 14px rgba(247,196,83,.25)); }
.sp-wheel .wc-rot, .sp-wheel .wc-rot2 { animation: none; }
.sp-title { position: relative; font-size: 22px; color: var(--gold1, #f7c453); letter-spacing: .5px; animation: spup .8s .25s ease both; }
.sp-sub { position: relative; font-size: 13.5px; color: rgba(255,255,255,.6); animation: spup .8s .45s ease both; }
.sp-dots i { display: inline-block; width: 4px; height: 4px; margin: 0 2px; border-radius: 50%; background: rgba(247,196,83,.8); animation: spdot 1.2s ease-in-out infinite; }
.sp-dots i:nth-child(2) { animation-delay: .2s; } .sp-dots i:nth-child(3) { animation-delay: .4s; }
@keyframes spzoom { 0% { opacity: 0; transform: translate(var(--tx, 0), var(--ty, 0)) rotate(var(--r0, 0deg)) scale(var(--s0, 4)); } 22% { opacity: 1; } 100% { opacity: 1; transform: none; } }
#splash { overflow: hidden; }
@keyframes spup { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes spdot { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }
@keyframes sppulse { 0%, 100% { transform: scale(.92); opacity: .7; } 50% { transform: scale(1.08); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .sp-wheel svg, .sp-glow, .sp-dots i { animation: none; } .sp-wheel, .sp-title, .sp-sub { animation: none; } }

/* v41: چرخ همیشه وسط می‌ماند؛ ستون راست = متن، ستون چپ = دکمه‌ی بفرست (بدون هم‌پوشانی) */
.twrap { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 6px; width: 100%; }
.twrap .tinfo { justify-self: start; min-width: 0; max-width: none; padding-inline-start: 2px; }
.twrap .sharepill { position: static; justify-self: end; align-self: start; margin-top: 2px; white-space: nowrap; }
.twrap .hero { justify-self: center; }

/* ===== پیش‌بینی: هفته / ماه / ساعت‌ها (v42) ===== */
.sk-wrap { display: flex; flex-direction: column; gap: 10px; padding: 6px 2px; }
.sk { border-radius: 10px; background: linear-gradient(90deg, rgba(255,255,255,.05), rgba(255,255,255,.14), rgba(255,255,255,.05)); background-size: 200% 100%; animation: shim 1.3s linear infinite; }
@keyframes shim { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.ferrc { text-align: center; } .ferrc .btn { width: auto; display: inline-block; padding: 0 22px; margin-top: 4px; }
.dinfo { margin: 8px 0; font-size: 13.5px; line-height: 1.5; }
.dinfo .sub { color: rgba(255,255,255,.65); font-size: 12.5px; margin-top: 1px; }
.dinfo[hidden] { display: none; }
/* نوار ۷ روز */
.wstrip { display: flex; gap: 6px; }
.dchip { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; padding: 4px 0 5px; border-radius: 14px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.07); color: #fff; font-family: inherit; line-height: 1.25; cursor: pointer; transition: background .15s, border-color .15s, transform .12s; }
.dchip small { font-size: 11.5px; color: var(--muted); } .dchip b { font-size: 15px; } .dchip .me { font-size: 14px; line-height: 1.3; }
.dchip.sel { background: rgba(247,196,83,.10); border-color: rgba(247,196,83,.45); }
.dchip.today { box-shadow: 0 0 0 1.5px var(--gold1); }
.dchip:active { transform: scale(.94); }
.mdot { width: 6px; height: 6px; border-radius: 50%; margin-top: 2px; background: rgba(255,255,255,.55); }
.mdot.calm { background: #35d0a0; } .mdot.sensitive { background: #f59e42; }
/* شاخص‌ها */
.idxcard { padding: 6px 12px; margin-bottom: 8px; }
.idr { display: flex; align-items: center; gap: 8px; } .dl { flex: 0 0 auto; width: 12px; text-align: center; } .dl0 { color: var(--muted); font-size: 13px; line-height: 1; }
/* رویدادها */
.evs { margin-bottom: 6px; } .evs h3 { margin-bottom: 2px; }
.ev { display: flex; align-items: baseline; gap: 8px; padding: 5px 0; border-bottom: 1px solid rgba(255,255,255,.06); }
.ev:last-child { border: 0; }
.evd { flex: 0 0 auto; padding: 1px 9px; border-radius: 999px; background: rgba(247,196,83,.10); color: var(--gold1); font-size: 12.5px; white-space: nowrap; }
.evt { flex: 1 1 auto; font-size: 13.5px; line-height: 1.5; } .evh { flex: 0 0 auto; color: var(--muted); font-size: 12.5px; }
.rankchip { display: inline-block; margin: 2px 0 8px; padding: 4px 11px; border-radius: 999px; background: rgba(53,208,160,.10); color: var(--teal); font-size: 13px; line-height: 1.5; }
.wtext { font-size: 14px; line-height: 1.58; margin: 0 0 4px; }
/* تقویم ماه */
.calh { text-align: center; color: var(--gold1); font-size: 14.5px; margin-bottom: 4px; }
.cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.cal .wd { text-align: center; font-size: 12px; color: var(--muted); line-height: 1.6; }
.cell { position: relative; height: 38px; min-width: 0; padding: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 10px; background: rgba(255,255,255,.04); border: 1px solid transparent; color: #fff; font-family: inherit; cursor: pointer; line-height: 1.15; transition: background .15s, transform .12s; box-shadow: inset 0 -2px 0 rgba(255,255,255,.18); }
.cell.empty { background: none; box-shadow: none; pointer-events: none; }
.cell b { font-size: 13.5px; } .cell .pg { font-size: 10px; line-height: 1; margin-top: 1px; }
.cell.calm { box-shadow: inset 0 -2px 0 #35d0a0; } .cell.sensitive { box-shadow: inset 0 -2px 0 #f59e42; }
.cell.today { border-color: var(--gold1); } .cell.sel { background: rgba(247,196,83,.14); }
.cell .mk { position: absolute; top: 4px; left: 5px; width: 5px; height: 5px; border-radius: 50%; background: var(--gold1); }
.cell:active { transform: scale(.92); }
/* نوار زمانی ساعت‌ها */
.tldate { margin-bottom: 14px; }
.tlw { position: relative; padding-top: 0; }
.tl { position: relative; height: 22px; border-radius: 11px; background: rgba(255,255,255,.07); overflow: hidden; }
.tl.small { height: 14px; border-radius: 7px; flex: 1 1 auto; }
.tl .seg { position: absolute; top: 0; bottom: 0; }
.tl .seg.calm { background: rgba(53,208,160,.8); } .tl .seg.sensitive { background: rgba(245,158,66,.85); }
.nowm { position: absolute; top: -3px; bottom: -3px; width: 2px; margin-right: -1px; background: var(--gold1); border-radius: 1px; box-shadow: 0 0 6px rgba(247,196,83,.8); }
.nowl { position: absolute; top: -17px; transform: translateX(50%); font-size: 11.5px; color: var(--gold1); white-space: nowrap; }
.tlt { position: relative; height: 16px; margin-top: 2px; flex: 1 1 auto; }
.tlt span { position: absolute; top: 0; transform: translateX(50%); font-size: 11.5px; color: var(--muted); }
.btl { margin: 8px 0 4px; font-size: 13.5px; color: var(--muted); }
.bchips { display: flex; gap: 6px; }
.bchip { flex: 1 1 0; min-width: 0; min-height: 36px; padding: 0 4px; border-radius: 12px; background: rgba(255,255,255,.06); border: 1px solid var(--bd); color: #fff; font-family: inherit; font-size: 13px; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: background .15s, border-color .15s; }
.bchip.sel { background: rgba(247,196,83,.12); border-color: rgba(247,196,83,.55); color: var(--gold1); }
.wtl { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.wtl .wl { flex: 0 0 82px; font-size: 12.5px; color: rgba(255,255,255,.8); white-space: nowrap; }
#fHoursBox .wcols { margin-top: 8px; }
.dinfo { color: #fff; } .dinfo > div:first-child { color: var(--gold1); }
.tlt span.tfirst { transform: none; } .tlt span.tlast { right: auto; left: 0; transform: none; }
.tlt span.tlast { right: auto !important; left: 0; }

.tip:empty { display: none; }
.tslot { margin-top: 2px; }
.hbox.wh1 { margin: 6px 0 4px; }
.pcard .ph { margin: 6px 0 2px; font-size: 13.5px; color: var(--gold1); }

/* ===== تمدید یا ارتقا (v49) ===== */
.paycur { font-size: 13.5px; color: var(--muted); margin-bottom: 8px; }
.paychip { display: inline-block; margin-inline-start: 6px; padding: 1px 9px; border-radius: 999px; background: rgba(247,196,83,.12); color: var(--gold1); font-size: 12px; }
.paychip[hidden] { display: none; }
.plcards { display: flex; gap: 8px; margin-bottom: 8px; }
.plcard { position: relative; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 9px 6px 8px; border-radius: 16px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.10); color: #fff; font-family: inherit; cursor: pointer; text-align: center; transition: border-color .2s, box-shadow .2s, background .2s, transform .12s; }
.plcard:active { transform: scale(.97); }
.plcard.on { border-color: var(--gold1); background: rgba(247,196,83,.08); box-shadow: 0 0 14px rgba(247,196,83,.28); }
.plck { position: absolute; top: 6px; left: 6px; width: 18px; height: 18px; border-radius: 50%; background: var(--gold1); display: none; align-items: center; justify-content: center; }
.plcard.on .plck { display: flex; }
.plt { font-size: 14.5px; } .plp { font-size: 18px; color: var(--gold1); line-height: 1.4; } .pld { font-size: 12.5px; color: var(--muted); }
.plf { display: flex; flex-direction: column; gap: 1px; margin-top: 4px; font-size: 12.5px; color: rgba(255,255,255,.78); line-height: 1.4; }
.plf i { font-style: normal; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.paybox { padding: 6px 12px; margin-bottom: 8px; }
.payrow { display: flex; align-items: center; gap: 8px; min-height: 34px; font-size: 13.5px; }
.payrow span { flex: 0 0 auto; color: var(--muted); width: 74px; } .payrow b { flex: 1 1 auto; min-width: 0; text-align: right; }
.payrow .cardno { letter-spacing: .5px; direction: ltr; text-align: left; unicode-bidi: plaintext; }
.cpb { flex: 0 0 auto; width: 34px; height: 34px; margin-inline-start: auto; background: none; border: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; border-radius: 10px; }
.cpb:active { background: rgba(255,255,255,.1); }
.nocard { text-align: center; padding: 10px 0; }
.recrow { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.recbtn { flex: 1 1 auto; margin-top: 0 !important; justify-content: center !important; color: #fff; }
.recth { position: relative; flex: 0 0 auto; width: 46px; height: 46px; }
.recth img { width: 46px; height: 46px; object-fit: cover; border-radius: 10px; border: 1px solid rgba(255,255,255,.2); }
.recx { position: absolute; top: -6px; left: -6px; width: 20px; height: 20px; border-radius: 50%; background: rgba(220,70,90,.9); border: 0; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.paynote { width: 100%; min-height: 38px; padding: 6px 10px; font-family: inherit; font-size: 14px; color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: 12px; }
.paystat { text-align: center; padding: 18px 14px; margin-top: 10px; }
.paystat .pbig { font-size: 30px; line-height: 1.3; }
.paystat.ok { border-color: rgba(53,208,160,.45); }
.payrej { margin-bottom: 8px; padding: 6px 10px; border-radius: 10px; background: rgba(220,70,90,.14); border: 1px solid rgba(255,120,140,.3); color: #ffb4c0; font-size: 13px; line-height: 1.5; }
.plcard.blocked { opacity: .5; cursor: not-allowed; filter: saturate(.6); }
.plcard.blocked:active { transform: none; }
.plb { margin-top: 2px; font-size: 12px; color: #ffb4c0; line-height: 1.4; }

/* کارت «امروز چطور بود؟» */
#s-today .ppage .card.feelc { margin-top: 8px; margin-bottom: 4px; }
.feelc h3 { margin: 0 0 8px; }
.feelc .bchip { min-height: 38px; font-size: 13.5px; }
.feelwk { margin-top: 8px; font-size: 13px; line-height: 1.6; }
.feelnote { margin-top: 4px; font-size: 13px; line-height: 1.6; color: var(--gold1); }

/* سلام با نام کاربر (بالای «امروز» و اکانت) */
.hello { margin: 2px 4px 6px; font-size: 15px; color: var(--gold1); font-weight: 700; text-align: right; }
.hello:empty { display: none; }
html, body { overscroll-behavior: none; }
