@font-face{font-family:V;font-weight:400;src:url(fonts/Vazirmatn-Regular.ttf)}
@font-face{font-family:V;font-weight:500;src:url(fonts/Vazirmatn-Medium.ttf)}
@font-face{font-family:V;font-weight:700;src:url(fonts/Vazirmatn-Bold.ttf)}
@font-face{font-family:V;font-weight:900;src:url(fonts/Vazirmatn-Black.ttf)}
:root{--g:#16392b;--b:#2c6bb5;--line:#b9d3c6;--soft:#f3f8f5;--mut:#4f6359;--red:#a33a2a}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:#fff;color:var(--g);font-family:V,system-ui,sans-serif;-webkit-text-size-adjust:100%}
#app{max-width:560px;margin:0 auto;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 16px) 20px calc(env(safe-area-inset-bottom) + 20px)}
.scr{display:none}.scr.on{display:block}
h1{margin:0;font-size:30px;font-weight:900;line-height:1.3}
h2{margin:0;font-size:21px;font-weight:900}
.sub{margin:4px 0 0;color:var(--mut);font-size:15px;line-height:1.6}.ctr{text-align:center}
.brush{display:block;width:calc(100% + 40px);margin:6px -20px 10px;height:72px;object-fit:cover;object-position:top;-webkit-mask-image:linear-gradient(#000 45%,#0000);mask-image:linear-gradient(#000 45%,#0000)}
.fld{display:block;margin:14px 0 6px;font-weight:700;font-size:16px}
input[type=text],input[type=password]{width:100%;height:52px;border:2px solid var(--line);border-radius:14px;padding:0 14px;font:500 18px V;color:var(--g);background:#fff}
input:focus,button:focus-visible{outline:3px solid var(--b);outline-offset:1px}
.btn{display:block;width:100%;min-height:54px;margin-top:10px;border:0;border-radius:15px;background:var(--g);color:#fff;font:700 18px V;cursor:pointer}
.btn.alt{background:var(--b)}.btn.ghost{background:#fff;color:var(--g);border:2px solid var(--line)}
.btn:disabled{opacity:.45}
.stack{margin-top:14px}
.guide{margin-top:20px;background:var(--soft);border:2px solid var(--line);border-radius:16px;padding:12px 14px;font-size:15px;line-height:1.7}.guide b{display:block;color:var(--b)}
.err{color:var(--red);font-weight:700;min-height:22px;margin:8px 0 0;font-size:15px}
#busy{padding-top:32vh;text-align:center}
.spin{width:52px;height:52px;margin:0 auto 16px;border-radius:50%;border:5px solid var(--line);border-top-color:var(--b);animation:r 1s linear infinite}
@keyframes r{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:4s}}
#prev{display:block;width:100%;max-height:52vh;object-fit:contain;border-radius:18px;margin:12px 0;background:#eef3f0}
.warn{background:#fdf1e6;border:2px solid #e6b98a;color:#7c4a14;border-radius:14px;padding:10px 12px;font-size:15px;line-height:1.65;margin:10px 0}
.part{background:var(--soft);border:2px solid var(--line);border-radius:16px;padding:10px 12px;margin-top:10px}
.part h3{margin:0 0 8px;font-size:17px;font-weight:900;color:var(--b);display:flex;justify-content:space-between;gap:8px}
.part h3 small{font:500 13px V;color:var(--mut)}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{min-height:44px;padding:0 13px;border-radius:12px;background:#fff;border:2px solid var(--line);font:500 16px V;color:var(--g);cursor:pointer}
.chip[aria-pressed=true]{background:var(--g);border-color:var(--g);color:#fff;font-weight:700}
.foot{margin-top:14px}
.lvl{margin-top:14px;border-radius:18px;padding:12px 14px;border:2px solid var(--line)}
.lvl.b{border-color:var(--g);background:var(--soft)}
.lvl h2 span{font:500 14px V;color:var(--mut);margin-right:6px}
.card{padding:10px 0;border-top:1px solid var(--line)}.card:first-of-type{border-top:0}
.card h3{margin:0;font-size:19px;font-weight:900}.card h3 small{font:500 13px V;color:var(--mut);margin-right:5px}
.card p{margin:5px 0 0;font-size:15px;line-height:1.75}
.card .ev{color:var(--mut);font-size:14px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tag{padding:7px 11px;border-radius:11px;background:var(--soft);border:1px solid var(--line);font:500 15px V}
.tag b{color:var(--b);margin-right:4px}
#toast{min-height:24px}

.vh{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.lb{display:flex;align-items:center;justify-content:center;text-align:center}
.btn.alt2{background:#3f8467}
#repPhoto{display:block;width:150px;height:188px;object-fit:cover;border-radius:14px;margin:10px auto 2px}
#repPhoto[hidden],#prev[hidden]{display:none}
.part.need{border-color:#d9822b}
.rp{font-size:16px;line-height:1.9}
.rp h2{font-size:22px;margin:18px 0 6px;color:var(--g);text-align:center}.rp h3{font-size:18px;font-weight:900;margin:16px 0 4px;color:var(--b)}
.rp p{margin:0 0 12px}.rp .nm{font-size:22px;font-weight:900;text-align:center;margin:6px 0}
.rp img{display:block;width:210px;height:262px;object-fit:cover;border-radius:16px;margin:0 auto 12px}
.rp b{font-weight:700}.rp .ln{display:block}.rp .mut{color:var(--mut);font-size:14px}
.rp table{width:100%;border-collapse:collapse;margin:6px 0 12px;font-size:15px}.rp td,.rp th{border:1px solid var(--line);padding:7px;vertical-align:top;text-align:right}.rp th{background:var(--soft)}
.ft{border-top:2px solid var(--line);margin-top:14px;padding-top:10px;font-size:15px}
details{margin-top:14px;border:2px solid var(--line);border-radius:14px;padding:9px 12px}summary{font-weight:700;min-height:30px}

.gg{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.gauge{background:var(--soft);border:2px solid var(--line);border-radius:16px;padding:9px 10px 8px;text-align:center;position:relative;min-width:0}
.gl{display:block;font-weight:700;font-size:15px}.gauge svg{display:block;width:100%;max-width:170px;margin:2px auto -34px}
.tr,.ar{fill:none;stroke-width:15;stroke-linecap:round}.tr{stroke:#dcebe3}.ar{stroke:var(--b);stroke-dasharray:0 100}
.gauge b{display:block;position:relative;min-height:30px;font-size:17px;font-weight:900;color:var(--g);line-height:30px}
.gauge input{width:100%;height:44px;margin:0;accent-color:#2c6bb5;touch-action:none}
.rp{border:3px solid var(--g);outline:2px solid #8cb0e8;outline-offset:-9px;border-radius:20px;padding:22px 18px;position:relative}
.rp .hd{text-align:center;font-weight:900;color:var(--g);font-size:19px;margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid #8fb7a2}
.prof{display:grid;gap:10px;margin-bottom:12px}.prof.two{grid-template-columns:1fr 1fr}
.prof>div{text-align:center;min-width:0}.prof .nm{margin:6px 0 2px;font-size:19px}.prof .mt{font-size:14px;color:var(--mut);line-height:1.7}
.prof img{margin:0 auto;border:3px solid #8fb7a2;width:100%;max-width:210px;height:auto;aspect-ratio:4/5}
.sysb{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:9px 11px;margin-bottom:9px}.sysb b{display:block;color:var(--b);font-size:17px}.sysb span{display:block}
.part[hidden]{display:none}

#app{background:#fff}
.hero{display:flex;align-items:center;gap:13px;background:var(--g);color:#fff;border-radius:22px;padding:15px;margin-bottom:6px}
.hero img{width:60px;height:60px;border-radius:15px}.hero h1{font-size:25px;color:#fff}.hero p{margin:2px 0 0;font-size:14px;color:#cfe5da}
.tiles{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:14px}
.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:104px;padding:10px 6px;border-radius:18px;border:2px solid var(--line);background:var(--soft);color:var(--g);font:700 15px V;cursor:pointer;text-align:center}
.tile svg{width:30px;height:30px;fill:none;stroke:var(--b);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tile.main{grid-column:1/-1;background:var(--b);border-color:var(--b);color:#fff;min-height:112px}.tile.main svg{stroke:#fff;width:36px;height:36px}.tile b{font-weight:800}.tile.main b{font-size:19px}.tile small{font:500 13px V;opacity:.9}
.part{background:#fff;border:2px solid var(--line);border-radius:20px;padding:11px;margin-top:12px}
.part h3{align-items:center;margin-bottom:9px;color:var(--g);font-size:18px}.part h3 .ti{display:flex;align-items:center;gap:8px}
.part h3 .pi{display:flex;width:36px;height:36px;border-radius:50%;background:var(--soft);color:var(--b);padding:6px}.part h3 small{background:var(--soft);border-radius:9px;padding:3px 8px}
.part.need{border-color:#d9822b;background:#fffaf4}
.chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.chip{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:100px;padding:8px 4px;border-radius:15px;font:500 14px V;line-height:1.3;background:var(--soft);border:2px solid transparent}
.chip svg{width:46px;height:46px;color:var(--g)}
.chip[aria-pressed=true]{background:var(--g);border-color:var(--g);color:#fff}.chip[aria-pressed=true] svg{color:#fff}
.bar{position:sticky;bottom:0;background:#fff;padding:8px 0 calc(env(safe-area-inset-bottom) + 4px);margin-top:10px;border-top:1px solid var(--line)}
.bar .btn{margin-top:6px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.btn.rs{color:var(--red);border-color:#e5c3bc}.btn.rs.arm{background:var(--red);color:#fff;border-color:var(--red)}
.foot{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}.foot .btn:first-child,.foot #btnAdd,.foot .rs{grid-column:1/-1}

/* ---- قالب سینمایی برنامه‌ی اصلی ---- */
:root{--g:#eafff3;--b:#5ee7df;--soft:rgba(10,20,36,.74);--line:rgba(125,255,190,.3);--mut:#a9bccf;--red:#ff8f7a;--neon:#39ff8a;--vio:#b667ff}
html,body{background:#050914}
#app{background:transparent;position:relative;z-index:1}
#stage{position:fixed;inset:0;z-index:0;overflow:hidden;background:#050914 center/cover no-repeat;transition:background-image 1s}
#stage::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(5,9,20,.62),rgba(5,9,20,.86)),repeating-linear-gradient(0deg,rgba(45,212,191,.07) 0 1px,transparent 1px 44px),repeating-linear-gradient(90deg,rgba(45,212,191,.07) 0 1px,transparent 1px 44px)}
#stage::after{content:"";position:absolute;left:50%;top:18%;width:190vmax;height:190vmax;margin:-95vmax;border-radius:50%;background:conic-gradient(rgba(57,255,138,.2),transparent 62deg 360deg);animation:r 6s linear infinite}
#stage i{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#39ff8a,transparent);box-shadow:0 0 18px 3px rgba(57,255,138,.45);animation:scanY 5s ease-in-out infinite alternate}
@keyframes scanY{from{top:6%}to{top:94%}}
@media (prefers-reduced-motion:reduce){#stage::after,#stage i{animation:none}}
.scr.on{animation:fadeUp .45s ease both}@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
#lock{padding-top:14vh;text-align:center}.lg{width:96px;height:96px;border-radius:24px;box-shadow:0 0 28px rgba(57,255,138,.45);margin-bottom:12px}
.fld{text-align:right}
input[type=text],input[type=password]{background:rgba(5,12,24,.78);color:#fff;border-color:var(--line)}input::placeholder{color:#8ea3b6}
.btn{background:linear-gradient(135deg,#7dffb4,#39ff8a);color:#07251a;font-weight:900;box-shadow:0 8px 22px rgba(57,255,138,.25)}
.btn.alt{background:linear-gradient(135deg,#b667ff,#5ee7df);color:#090d1f}.btn.alt2{background:linear-gradient(135deg,#5ee7df,#39ff8a);color:#07251a}
.btn.ghost{background:rgba(5,12,24,.7);color:#fff;border-color:var(--line);box-shadow:none}.btn.rs{color:#ff9d8a;border-color:rgba(255,143,122,.5)}.btn.rs.arm{background:#c9402c;color:#fff}
.hero{background:var(--soft);border:1px solid var(--line);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.tile{background:var(--soft);border-color:var(--line);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.tile svg{stroke:var(--neon)}
.tile.main{background:linear-gradient(135deg,rgba(182,103,255,.9),rgba(32,180,190,.9));border-color:transparent}
.guide,.gauge,.part{background:var(--soft);border-color:var(--line);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.guide b{color:var(--neon)}
.tr{stroke:rgba(255,255,255,.14)}.ar{stroke:var(--neon)}.gauge input{accent-color:#39ff8a}
.part h3{color:#fff}.part h3 .pi{background:rgba(57,255,138,.14);color:var(--neon)}.part h3 small{background:rgba(255,255,255,.08);color:#cfe}
.part.need{border-color:#ffb066;background:rgba(60,34,8,.72)}
.chip{padding:4px 4px 7px;min-height:0;background:rgba(5,12,24,.7);color:#eaf6ff;overflow:hidden;position:relative;transition:transform .15s}
.chip img{display:block;width:100%;aspect-ratio:520/437;object-fit:cover;border-radius:11px}.chip svg{margin:14px auto}
.chip[aria-pressed=true]{background:rgba(57,255,138,.16);border-color:var(--neon);color:#fff;box-shadow:0 0 16px rgba(57,255,138,.45);transform:scale(1.02)}
.chip[aria-pressed=true]::after{content:"✓";position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:var(--neon);color:#07251a;font:900 15px/24px V;text-align:center}
.warn{background:rgba(60,34,8,.85);color:#ffd9ad;border-color:#ffb066}
.bar{background:rgba(5,9,20,.93);border-top-color:var(--line);margin-inline:-20px;padding-inline:20px}
.sex{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.sx{min-height:50px;border-radius:14px;border:2px solid var(--line);background:var(--soft);color:#fff;font:800 17px V}.sx[aria-pressed=true]{background:var(--neon);color:#07251a;border-color:var(--neon)}
details{background:var(--soft);border-color:var(--line)}.sub{color:var(--mut)}#prev{background:transparent}
#intro{position:fixed;inset:0;z-index:5;background:#000}#slides{position:absolute;inset:0}
#slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s;transform:scale(1.02)}#slides img.on{opacity:1;animation:kb 3.4s ease-out both}@keyframes kb{to{transform:scale(1.1)}}
.ibox{position:absolute;left:20px;right:20px;bottom:calc(env(safe-area-inset-bottom) + 28px);text-align:center;background:rgba(5,9,20,.55);border:1px solid var(--line);border-radius:20px;padding:15px}.ibox h1{font-size:25px;line-height:1.35;margin:2px 0}.ibox p{margin:3px 0 8px;color:#d7e6f3;font-size:15px;line-height:1.75;min-height:52px}.ibox small{color:var(--neon);font-weight:800}.ibox .btn{min-height:44px;margin-top:8px}
.rp{--g:#16392b;--b:#2c6bb5;--line:#b9d3c6;--mut:#4f6359;--soft:#f3f8f5;background:#fff;color:#16392b}

#snd{position:fixed;z-index:9;top:calc(env(safe-area-inset-top) + 8px);left:10px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(5,12,24,.72);padding:9px}#snd svg{fill:none;stroke:var(--neon);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}#snd[aria-pressed=false] svg{stroke:#ff9d8a}#snd[aria-pressed=false] #sndW{display:none}
#lock #snd{display:none}
.dots{display:flex;justify-content:center;gap:6px}.dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.3)}.dots i.on{background:var(--neon)}
#film{position:fixed;inset:0;z-index:6;background:#000;padding:0;max-width:none}#filmV{width:100%;height:100%;object-fit:contain;background:#000}
.wm{position:absolute;left:0;right:0;top:50%;text-align:center;color:rgba(255,255,255,.5);font:700 17px/1 sans-serif;direction:ltr;text-shadow:0 1px 3px rgba(0,0,0,.55);pointer-events:none}
.fbar{position:absolute;left:20px;right:20px;bottom:calc(env(safe-area-inset-bottom) + 18px);display:grid;gap:8px}
.sx{display:flex;align-items:center;justify-content:center;gap:10px;min-height:66px}.sx img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.card{display:block;width:100%;border-radius:16px;margin-top:12px;border:1px solid var(--line)}
.tile b{color:#fff}.tiles{grid-template-columns:repeat(3,1fr)}.tile.main{grid-column:1/-1}
#busy{text-align:center;padding-top:30vh}#busyMsg{color:#fff;font-weight:800;font-size:18px;text-shadow:0 1px 8px #000}
.radar{position:relative;width:132px;height:132px;margin:0 auto 18px;border-radius:50%;border:2px solid var(--neon);background:repeating-radial-gradient(circle,transparent 0 21px,rgba(57,255,138,.28) 21px 22px);overflow:hidden;box-shadow:0 0 24px rgba(57,255,138,.4)}.radar i{position:absolute;inset:0;border-radius:50%;background:conic-gradient(rgba(57,255,138,.75),transparent 80deg 360deg);animation:r 1.6s linear infinite}
.chk{margin:14px 0}.chk h2{text-align:center}.fig{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:330px;margin:0 auto 10px}.fig div{position:relative}.fig img{display:block;width:100%;border:1px solid var(--line);border-radius:10px}.fig i{position:absolute;border-radius:50%;transform:translate(-50%,-50%);opacity:.72;box-shadow:0 0 10px currentColor}
.cl{display:flex;align-items:center;gap:8px;padding:3px 0}.cl s{width:13px;height:13px;border-radius:50%;flex:none}.cl em{font-style:normal;font-weight:800;margin-inline-start:auto}
#stage.pl::before{background:linear-gradient(rgba(5,9,20,.2),rgba(5,9,20,.5))}#stage.pl::after{display:none}
