:root{--font-fa:"Vazirmatn","Estedad","Dana","IRANSansX",-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,Arial,sans-serif;--bg:#f7f4f6;--surface:#fff;--surface-2:#fbf8fa;--text:#251e22;--muted:#7b6f75;--line:#eadfe4;--primary:#a85b75;--primary-2:#cc8da2;--primary-soft:#f5e8ed;--success:#27835a;--danger:#b34352;--shadow:0 12px 34px rgba(73,48,60,.08);--shadow-sm:0 6px 18px rgba(73,48,60,.06);--radius-xl:26px;--radius-lg:20px;--radius-md:15px;--tap:48px;--content:1080px;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box;min-width:0}html{width:100%;max-width:100%;overflow-x:hidden;scroll-behavior:smooth}body{width:100%;max-width:100%;overflow-x:hidden;margin:0;background:linear-gradient(180deg,#fcfafb 0,#f7f4f6 45%,#f4f1f3 100%);color:var(--text);font-family:var(--font-fa);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.ui-icon{width:22px;height:22px;display:block;flex:0 0 auto}.shell{width:100%;max-width:var(--content);margin:auto;padding:18px 16px calc(104px + env(safe-area-inset-bottom));position:relative}.app-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:20;margin:-18px -16px 14px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:rgba(252,250,251,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(234,223,228,.7)}.brand-mini{display:flex;align-items:center;gap:10px}.brand-mark{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#d69bad,#9f566f);color:#fff;font-weight:900;box-shadow:0 8px 22px rgba(168,91,117,.24)}.brand-mini b{display:block}.brand-mini small{color:var(--muted)}.icon-btn{width:var(--tap);height:var(--tap);border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);display:grid;place-items:center;box-shadow:var(--shadow-sm)}.hero{padding:26px 4px 18px;text-align:center}.logo{width:86px;height:86px;border-radius:28px;background:linear-gradient(145deg,#dfa8ba,#98546d);color:#fff;display:grid;place-items:center;font-size:42px;font-weight:900;margin:auto;box-shadow:0 18px 38px rgba(168,91,117,.28)}.hero h1{font-size:28px;margin:16px 0 6px;letter-spacing:-.4px}.hero p{margin:0;color:var(--muted);line-height:1.9}.card,.notice,.course-card,.lesson-row,.panel{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card{padding:18px}.auth-card{max-width:520px;margin:auto}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--primary-soft);padding:5px;border-radius:17px;margin-bottom:16px}.segmented button{border:0;background:transparent;border-radius:13px;padding:11px;color:var(--muted);font-weight:800}.segmented button.active{background:#fff;color:var(--primary);box-shadow:0 4px 14px rgba(91,55,69,.09)}.auth-panel[hidden]{display:none}.form-grid,form{display:grid;gap:13px}label{font-size:13px;font-weight:700;color:#5f5359;display:grid;gap:7px}input,textarea,select{width:100%;max-width:100%;border:1px solid #dfd2d8;border-radius:var(--radius-md);background:#fff;color:var(--text);padding:14px 15px;min-height:48px;outline:0;transition:border-color .2s,box-shadow .2s,transform .2s}textarea{resize:vertical;line-height:1.9}input:focus,textarea:focus,select:focus{border-color:var(--primary-2);box-shadow:0 0 0 4px rgba(168,91,117,.10)}.btn,button,.admin-link,.download{min-height:var(--tap);border:0;border-radius:var(--radius-md);padding:13px 17px;background:linear-gradient(145deg,var(--primary),#914a63);color:#fff;font-weight:850;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 20px rgba(168,91,117,.22);transition:transform .18s var(--ease),filter .18s}.btn:active,button:active,.admin-link:active{transform:scale(.98)}.btn.secondary{background:#292328;box-shadow:none}.top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:6px 0 18px}.top h2{margin:2px 0;font-size:25px}.top small{color:var(--muted)}.pill,.back{display:inline-flex;align-items:center;gap:7px;color:var(--primary);text-decoration:none;font-weight:800}.admin-link{width:100%;margin-bottom:20px;background:#2b2529}.section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:24px 0 12px}.section-head h3{margin:0;font-size:18px}.section-head p{margin:3px 0 0;color:var(--muted);font-size:13px}.grid{display:grid;gap:14px}.course-card{display:grid;grid-template-columns:112px minmax(0,1fr);overflow:hidden;color:inherit;text-decoration:none;transition:transform .22s var(--ease),box-shadow .22s}.course-card:active{transform:scale(.99)}.cover{background-size:cover;background-position:center;min-height:132px}.course-card .course-body{padding:14px}.course-card h4{font-size:17px;margin:0 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-card p{margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-card p,.course-card span,.lesson-row small{color:var(--muted);font-size:13px}.progress{height:7px;border-radius:999px;background:#f0e8eb;overflow:hidden;margin-top:10px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-2));border-radius:inherit}.notice{padding:16px;margin:10px 0}.notice b{display:flex;align-items:center;gap:8px}.notice p{margin:8px 0 0;color:#5e5358;line-height:1.9}.empty{padding:34px 20px;text-align:center;color:var(--muted);background:var(--surface);border:1px dashed #dbcbd2;border-radius:var(--radius-lg)}.empty .ui-icon{width:36px;height:36px;margin:0 auto 10px;color:var(--primary)}.course-head{padding:6px 0 16px}.course-head h1{margin:10px 0}.course-head p{color:var(--muted);line-height:1.9}.lesson-list{display:grid;gap:10px}.lesson-row{display:grid;grid-template-columns:42px minmax(0,1fr) 28px;align-items:center;gap:11px;padding:13px;color:inherit;text-decoration:none}.lesson-row.done{border-color:#a8d2ba;background:#fbfffc}.num{width:36px;height:36px;border-radius:12px;background:var(--primary-soft);color:var(--primary);font-weight:900;display:grid;place-items:center}.lesson-row b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson .media-wrap{border-radius:18px;overflow:hidden;background:#171417;margin:14px 0}.lesson video{width:100%;display:block;max-height:66vh;background:#000}.lesson audio{width:100%;margin:10px 0}.rich{line-height:2.1;padding:15px 2px;word-wrap:break-word;overflow-wrap:anywhere}.alert,.toast{padding:13px 15px;border-radius:14px;margin-bottom:12px}.ok{background:#e5f6ec;color:#21633e}.bad{background:#fde7e8;color:#8f2e3b}.app-bottom-nav{position:fixed;z-index:50;left:50%;bottom:calc(10px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 24px),620px);height:70px;display:grid;grid-template-columns:repeat(4,1fr);padding:7px;background:rgba(255,255,255,.9);border:1px solid rgba(229,216,222,.9);border-radius:24px;backdrop-filter:blur(22px);box-shadow:0 18px 48px rgba(67,43,54,.18)}.app-bottom-nav a{color:#8b7c83;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:17px;font-size:11px;font-weight:750}.app-bottom-nav a.active{background:var(--primary-soft);color:var(--primary)}.app-bottom-nav .ui-icon{width:21px;height:21px}.drawer{position:fixed;inset:0;z-index:80;pointer-events:none}.drawer.open{pointer-events:auto}.drawer-backdrop{position:absolute;inset:0;background:rgba(32,22,27,.35);opacity:0;transition:.22s}.drawer-panel{position:absolute;top:0;bottom:0;right:0;width:min(88vw,360px);background:#fff;padding:calc(22px + env(safe-area-inset-top)) 18px 24px;transform:translateX(105%);transition:transform .28s var(--ease);box-shadow:-18px 0 55px rgba(40,24,31,.16);overflow:auto}.drawer.open .drawer-backdrop{opacity:1}.drawer.open .drawer-panel{transform:none}.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.drawer-nav{display:grid;gap:7px}.drawer-nav a{display:flex;align-items:center;gap:11px;padding:13px;border-radius:15px;color:var(--text);text-decoration:none;font-weight:800}.drawer-nav a.active{background:var(--primary-soft);color:var(--primary)}.skeleton{position:relative;overflow:hidden;background:#eee7ea;border-radius:12px}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:shimmer 1.2s infinite}@keyframes shimmer{to{transform:translateX(-100%)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media(min-width:720px){.shell{padding-inline:24px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-card{grid-template-columns:140px minmax(0,1fr)}.app-bottom-nav{display:none}.app-topbar{border-radius:0 0 20px 20px}.drawer-panel{width:340px}}@media(prefers-color-scheme:dark){:root{--bg:#171417;--surface:#211c20;--surface-2:#261f24;--text:#f4edf0;--muted:#b4a7ad;--line:#3a3035;--primary-soft:#38252d;--shadow:0 12px 34px rgba(0,0,0,.22);--shadow-sm:0 6px 18px rgba(0,0,0,.18)}body{background:#171417}.app-topbar{background:rgba(23,20,23,.88)}.card,.notice,.course-card,.lesson-row,.panel,.icon-btn,.segmented button.active,input,textarea,select,.empty{background:var(--surface);color:var(--text)}.segmented{background:#30252a}.course-card p,.course-card span,.lesson-row small,.notice p{color:var(--muted)}.app-bottom-nav{background:rgba(32,27,31,.92);border-color:#41353b}.drawer-panel{background:#211c20}}
.core-toast{position:fixed;z-index:9999;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:calc(92px + env(safe-area-inset-bottom));max-width:520px;margin:auto;padding:14px 16px;border-radius:18px;background:rgba(35,28,32,.94);color:#fff;box-shadow:0 18px 50px #0003;transform:translateY(24px);opacity:0;pointer-events:none;transition:transform .2s ease,opacity .2s ease}.core-toast.show{transform:none;opacity:1}
/* v6 authentication foundation */
.login-screen{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);background:radial-gradient(circle at 85% 8%,color-mix(in srgb,var(--login-primary) 18%,transparent),transparent 42%),#f8f5f7;overflow-x:hidden}.login-banner{min-height:34vh;background-size:cover;background-position:center}.login-panel{width:min(100%,520px);margin:-42px auto 0;background:rgba(255,255,255,.94);backdrop-filter:blur(22px);border:1px solid rgba(168,91,117,.14);border-radius:30px 30px 0 0;padding:28px 22px calc(34px + env(safe-area-inset-bottom));box-shadow:0 -18px 45px rgba(52,31,42,.09)}.layout-simple .login-panel{margin:auto;border-radius:30px;box-shadow:0 24px 70px rgba(52,31,42,.10)}.login-brand{text-align:center;margin-bottom:24px}.login-brand h1{margin:7px 0 8px;font-size:clamp(1.7rem,5vw,2.3rem)}.login-brand p{margin:0;color:var(--muted,#756a70);line-height:1.8}.login-brand>span{display:block;color:var(--login-primary);font-weight:800;margin-top:10px}.login-logo,.login-logo-fallback{width:76px;height:76px;border-radius:24px;display:grid;place-items:center;margin:auto;object-fit:cover;box-shadow:0 14px 30px color-mix(in srgb,var(--login-primary) 22%,transparent)}.login-logo-fallback{background:linear-gradient(145deg,var(--login-primary),color-mix(in srgb,var(--login-primary) 62%,#341d28));color:#fff;font-size:2rem;font-weight:900}.login-form{display:grid;gap:15px}.login-form label{display:grid;gap:8px;font-weight:800}.login-form input{width:100%;min-width:0;height:56px;border-radius:18px;border:1px solid #e7dce2;background:#fff;padding:0 16px;font:inherit;outline:none;transition:.18s}.login-form input:focus{border-color:var(--login-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--login-primary) 12%,transparent)}.login-form button{height:56px;border:0;border-radius:18px;background:var(--login-primary);color:white;font:inherit;font-weight:900;padding:0 18px}.login-form button.secondary{background:#f2ebef;color:#5f4d56}.phone-composer{display:grid;grid-template-columns:auto minmax(0,1fr);direction:ltr;border:1px solid #e7dce2;border-radius:20px;background:#fff;overflow:hidden;transition:.18s}.phone-composer:focus-within{border-color:var(--login-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--login-primary) 12%,transparent)}.phone-composer input{border:0!important;border-radius:0!important;box-shadow:none!important;text-align:left;font-size:1.08rem;letter-spacing:.4px}.country-picker-button{border:0;border-right:1px solid #eee3e8;background:#fbf8fa;min-width:108px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:7px;font:inherit;color:#493b42}.field-title{font-weight:900}.form-help{color:#8b7b83;line-height:1.7}.login-continue{display:none}.country-dialog{border:0;padding:0;background:transparent;width:min(94vw,520px);max-height:82dvh}.country-dialog::backdrop{background:rgba(24,13,19,.45);backdrop-filter:blur(5px)}.country-sheet{background:#fff;border-radius:26px;padding:16px;max-height:80dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.country-sheet header{display:flex;align-items:center;justify-content:space-between}.country-sheet header button{border:0;background:#f3edf0;border-radius:14px;width:40px;height:40px;font-size:1.4rem}.country-sheet>input{height:50px;border:1px solid #e7dce2;border-radius:16px;padding:0 14px;font:inherit}.country-list{overflow:auto;display:grid;gap:6px}.country-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:start;border:0;background:#fff;padding:12px;border-radius:15px;font:inherit}.country-row:hover,.country-row:focus{background:#f8f2f5}.country-row small{direction:ltr;color:#8a7a82}.chosen-mobile{display:flex;align-items:center;justify-content:space-between;background:#f7f1f4;border-radius:16px;padding:12px 14px;margin-bottom:15px;direction:ltr}.chosen-mobile a{direction:rtl;color:var(--login-primary);font-weight:800}.new-account-note{background:#fff7df;border:1px solid #f3df9f;border-radius:15px;padding:12px;line-height:1.8;margin:0}.login-legal{text-align:center;color:#93868c;font-size:.82rem;line-height:1.8;margin-top:20px}.login-animate{animation:loginRise .45s cubic-bezier(.2,.8,.2,1) both}@keyframes loginRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(min-width:900px){.login-screen.layout-banner{grid-template-columns:minmax(360px,48%) minmax(420px,52%)}.login-banner{min-height:100dvh}.login-panel{align-self:center;margin:auto;border-radius:32px;padding:34px;max-height:92dvh;overflow:auto}.layout-banner .login-banner{grid-column:1}.layout-banner .login-panel{grid-column:2;grid-row:1}}
/* v7 guest-only login polish */
.guest-shell{padding:0!important;max-width:none!important}.login-screen{min-height:100dvh}.phone-composer{border-width:1px!important;box-shadow:0 8px 24px rgba(70,45,57,.06)!important}.phone-composer input{font-size:18px!important;font-weight:500!important;letter-spacing:.2px!important}.country-picker-button{font-weight:600!important}.login-panel{box-shadow:0 20px 60px rgba(50,30,40,.11)!important}

/* v8.5.2 mobile app stability */
@media(max-width:900px){input,textarea,select{font-size:16px!important}html{-webkit-text-size-adjust:100%}body{touch-action:manipulation}}
