:root{--bg:#eceaf8;--g1:#b9a8ff99;--g2:#8cc3ff99;--g3:#ffb3c866;--gl:rgba(255,255,255,.62);--gb:rgba(255,255,255,.7);--tb:rgba(91,75,208,.1);--in:rgba(255,255,255,.6);--t:#22203a;--m:#5b5980;--p:#5b4bd0;--p2:#1f6fc2;--b:rgba(91,75,208,.2);--ok:#17785a;--no:#c23a54;--ht:#fff;--onno:#fff;
 --ff:Vazirmatn,"Noto Sans Arabic UI","IRANSansX","Segoe UI","SF Arabic",Tahoma,system-ui,sans-serif;--s-1:.8rem;--s0:.95rem;--s1:1.1rem;--s2:1.4rem;--s3:1.9rem}
@media(prefers-color-scheme:dark){:root{--bg:#0e0d1d;--g1:#5b3fd477;--g2:#1f5fd277;--g3:#b02a5a44;--gl:rgba(34,32,64,.6);--gb:rgba(255,255,255,.09);--tb:rgba(155,140,255,.14);--in:rgba(0,0,0,.28);--t:#e8e6fa;--m:#a3a1c6;--p:#a99bff;--p2:#5cb8ff;--b:rgba(255,255,255,.11);--ok:#5fd3a2;--no:#ff7b92;--ht:#15142a;--onno:#15142a}}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--t);font:400 var(--s0)/1.85 var(--ff);padding-bottom:104px;overflow-x:clip}
body::before{content:'';position:fixed;inset:0;z-index:-1;background:radial-gradient(55% 45% at 8% 0,var(--g1),transparent),radial-gradient(50% 45% at 100% 25%,var(--g2),transparent),radial-gradient(60% 50% at 40% 100%,var(--g3),transparent)}
:focus-visible{outline:2px solid var(--p);outline-offset:2px}
.glass,.card,.st,header,nav,dialog{background:var(--gl);border:1px solid var(--gb);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5)}
header{position:sticky;top:8px;z-index:5;margin:8px;border-radius:16px;padding:8px 16px;display:flex;justify-content:space-between;align-items:center;font-weight:700;margin-top:calc(8px + env(safe-area-inset-top))}
#clk{font-weight:400;font-size:var(--s-1);color:var(--m)}
main{max-width:720px;margin:auto;padding:4px 12px;min-width:0}
main.sw{animation:fade .16s ease-out}
.card,.st{padding:14px;margin-bottom:12px;min-width:0;overflow-wrap:anywhere}.card{border-radius:14px}
.card>h4:first-child{margin:-14px -14px 10px;padding:9px 14px;background:var(--tb);border-bottom:1px solid var(--b);border-radius:14px 14px 0 0;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}
.card>h4:first-child::after{content:'';flex:none;width:7px;height:7px;border-inline-end:2px solid var(--m);border-bottom:2px solid var(--m);transform:translateY(-2px) rotate(45deg);transition:transform .18s}
.card.mini>h4:first-child{margin-bottom:-14px;border-bottom:0;border-radius:14px}.card.mini>h4:first-child::after{transform:translateY(1px) rotate(-45deg)}
.card.mini>*:not(h4:first-child){display:none}
.lg>h4:first-child,dialog h4{cursor:default}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.st{margin:0;border-radius:12px;border-inline-start:4px solid var(--p)}.st:nth-child(2),.st:nth-child(4){border-inline-start-color:var(--p2)}.st:nth-child(3){border-inline-start-color:var(--no)}
.st small,.sub{color:var(--m)}.st{padding:11px 12px}.st small{font-size:.78rem;line-height:1.5;display:block}.st h3{margin:0;font-size:1.02rem;font-weight:700;line-height:1.55}.up{color:var(--ok)}.dn{color:var(--no)}h4{margin:0 0 8px}
.btn{width:100%;min-height:44px;padding:11px 14px;border:0;border-radius:12px;background:var(--p);color:var(--ht);font:inherit;font-weight:700;cursor:pointer;transition:filter .15s,transform .1s}.btn:hover{filter:brightness(1.1)}.btn:active{transform:scale(.98)}
.btn.out{background:var(--no);color:var(--onno)}.btn.g{background:transparent;color:var(--p);border:1px solid var(--p)}.btn.sm{width:auto;min-height:40px;padding:7px 14px;font-size:.85rem}
input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--b);border-radius:10px;background:var(--in);color:var(--t);font:inherit;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{border-color:var(--p);box-shadow:0 0 0 3px var(--tb)}
input[type=checkbox]{width:20px;height:20px;min-height:0;accent-color:var(--p)}.ltr{direction:ltr;text-align:left}
label{display:block;margin:10px 0 3px;color:var(--m);font-size:.85rem}.cb{display:inline-flex;align-items:center;gap:6px;margin:6px 12px 0 0;color:var(--t);font-size:var(--s0)}
nav{position:fixed;z-index:6;bottom:calc(10px + env(safe-area-inset-bottom));left:0;right:0;margin:0 auto;width:min(94vw,520px);display:flex;padding:5px;border-radius:22px}
nav button{flex:1;min-width:0;min-height:48px;position:relative;border:0;background:none;color:var(--m);padding:7px 0 5px;font:inherit;font-size:.64rem;cursor:pointer;border-radius:16px;transition:background .15s,color .15s}
nav button:hover{background:var(--tb)}nav button.on{color:var(--p);background:var(--tb);font-weight:700}
nav button.on::after{content:'';position:absolute;bottom:1px;left:30%;right:30%;height:3px;border-radius:3px;background:var(--p)}
nav svg{width:22px;height:22px;display:block;margin:0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tabs{display:flex;gap:6px;margin-bottom:12px;overflow-x:auto}.tabs button{flex:1;min-height:40px;white-space:nowrap;border:1px solid var(--gb);background:var(--gl);color:var(--m);border-radius:20px;padding:6px 12px;font:inherit;font-size:.85rem;cursor:pointer}.tabs .on{background:var(--p);color:var(--ht);border-color:var(--p);font-weight:700}
.mn{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.mn b{font-size:var(--s1)}.mn button{border:1px solid var(--gb);background:var(--gl);color:var(--t);border-radius:12px;width:44px;height:44px;font-size:1.1rem;cursor:pointer}.mn button:active{transform:scale(.92)}
.row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--b);min-width:0}.row:last-child{border:0}.row>div{min-width:0}.row>div:first-child{flex:1}
.row button,.ib{min-width:40px;min-height:40px;border:0;background:none;color:var(--m);font-size:1.05rem;cursor:pointer;border-radius:10px}.row button:hover{background:var(--tb);color:var(--t)}
.tot{font-weight:700}.alert{padding:10px 12px;border-radius:10px;margin-top:10px;font-weight:700;background:var(--in)}.alert.dn{border:1px solid var(--no)}.alert.up{border:1px solid var(--ok)}
.chip{background:var(--tb);color:var(--p);padding:1px 10px;border-radius:20px;font-size:var(--s-1);white-space:nowrap;max-width:45%;overflow:hidden;text-overflow:ellipsis}
code{display:block;direction:ltr;text-align:left;background:var(--in);padding:8px;border-radius:8px;font-size:var(--s-1);overflow-x:auto}
.jp{display:flex;gap:6px}.jp select{padding:10px 4px}
dialog{border-radius:16px;width:min(92vw,400px);color:var(--t);padding:16px;min-width:0;overflow-wrap:anywhere}dialog[open]{animation:pop .2s cubic-bezier(.2,.8,.2,1)}dialog::backdrop{background:#0008;animation:fade .2s}
#ts{position:fixed;top:64px;inset-inline:0;text-align:center;pointer-events:none;z-index:9}#ts span{background:var(--t);color:var(--bg);padding:8px 16px;border-radius:20px;display:inline-block;max-width:90%;animation:fade .2s both}
.lg{max-width:360px;margin:12vh auto;padding:16px}
.big{font-size:var(--s2);font-weight:800;line-height:1.2;margin:0;font-variant-numeric:tabular-nums}
.ch{width:100%;height:auto}.ch text{font-size:9px;fill:var(--m)}.bar{transform-box:fill-box;transform-origin:bottom;animation:grow .6s cubic-bezier(.2,.8,.2,1) both}.ln{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.1s ease forwards}
.dh{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:2px}
.dayt{position:relative;height:56px;margin:10px 0 6px;border-radius:10px;background:var(--in);border:1px solid var(--b);overflow:hidden}
.dz{position:absolute;top:0;bottom:0}.dz.win{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--no) 30%,transparent) 0 3px,transparent 3px 9px)}
.dz.off{background:var(--tb)}.dz.pre{background:color-mix(in srgb,var(--m) 10%,transparent)}.dz.ot{background:color-mix(in srgb,var(--p2) 13%,transparent)}
.dp{position:absolute;top:11px;bottom:11px;border-radius:5px;background:var(--p);transform-origin:right;animation:segin .6s cubic-bezier(.2,.8,.2,1) both}
.dp.o{background:var(--p2)}.dp.x{background:var(--m);opacity:.4}.dp.run{animation:segin .6s cubic-bezier(.2,.8,.2,1) both,pulse 1.8s ease-in-out .6s infinite}
.dnow{position:absolute;top:0;bottom:0;width:2px;background:var(--t);opacity:.7}
.dl{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;font-size:var(--s-1);color:var(--m)}.dl i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:5px;vertical-align:-1px}
@keyframes pop{from{opacity:0;transform:scale(.94)}}@keyframes fade{from{opacity:0}}@keyframes grow{from{transform:scaleY(0)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes segin{from{transform:scaleX(0)}}@keyframes pulse{50%{opacity:.55}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
a.btn{display:inline-block;text-align:center;text-decoration:none;line-height:1.9}label.btn{cursor:pointer}textarea{resize:vertical}
fieldset{border:0;padding:0;margin:0;min-width:0}fieldset:disabled{opacity:.75}
#vb{display:none;position:sticky;top:62px;z-index:4;margin:0 8px 8px;padding:6px 12px;border-radius:12px;background:var(--no);color:var(--onno);align-items:center;justify-content:space-between;gap:8px;font-size:.85rem}
#vb .btn{background:var(--onno);color:var(--no);min-height:36px;padding:4px 12px}
.soi svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.soi svg text{fill:currentColor;stroke:none}
.nm{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
