*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Vazirmatn,system-ui,Segoe UI,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--grid:rgba(103,16,220,.06);--ring:rgba(131,64,255,.16)}html.dark{--grid:rgba(190,167,255,.06)}html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}body{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(26 29 39/var(--tw-text-opacity,1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:is(.dark *){--tw-bg-opacity:1;background-color:rgb(13 15 22/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(238 240 244/var(--tw-text-opacity,1))}::-moz-selection{background:#8340ff;color:#fff}::selection{background:#8340ff;color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c9ccd6;border-radius:99px;border:3px solid transparent;background-clip:content-box}html.dark ::-webkit-scrollbar-thumb{background:#363c4d;background-clip:content-box}:focus-visible{outline:2px solid #8340ff;outline-offset:3px;border-radius:6px}button,input,select,textarea{font-family:inherit}img,svg{max-width:100%;height:auto}.shell{margin-left:auto;margin-right:auto;width:100%;max-width:1240px;padding-left:1rem;padding-right:1rem}@media (min-width:640px){.shell{padding-left:1.5rem;padding-right:1.5rem}}.btn,.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:1rem;font-weight:700;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(.22,1,.36,1)}.btn-primary{--tw-bg-opacity:1;background-color:rgb(118 28 247/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 2px 6px rgba(13,15,22,.05),0 24px 48px -20px rgba(103,16,220,.28);--tw-shadow-colored:0 2px 6px var(--tw-shadow-color),0 24px 48px -20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.btn-primary:hover{--tw-translate-y:-0.125rem;--tw-bg-opacity:1;background-color:rgb(103 16 220/var(--tw-bg-opacity,1))}.btn-primary:active,.btn-primary:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-primary:active{--tw-translate-y:0px}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:1rem;font-weight:700;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(.22,1,.36,1);border-width:1px;--tw-border-opacity:1;border-color:rgb(217 221 230/var(--tw-border-opacity,1))}.btn-ghost:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-border-opacity:1;border-color:rgb(159 117 255/var(--tw-border-opacity,1))}.btn-ghost:is(.dark *){border-color:hsla(0,0%,100%,.1)}.btn-ghost:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(159 117 255/var(--tw-border-opacity,1))}.btn-light{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:1rem;font-weight:700;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(.22,1,.36,1);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(13 15 22/var(--tw-text-opacity,1))}.btn-light:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-bg-opacity:1;background-color:rgb(238 240 244/var(--tw-bg-opacity,1))}.btn-lg{height:3.5rem;padding-left:1.75rem;padding-right:1.75rem;font-size:15px}.btn-md{height:3rem;padding-left:1.5rem;padding-right:1.5rem;font-size:14px}.btn-sm{height:2.75rem;padding-left:1.25rem;padding-right:1.25rem;font-size:13px}.card{border-radius:1.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(238 240 244/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;transition-timing-function:cubic-bezier(.22,1,.36,1)}.card:is(.dark *){border-color:hsla(0,0%,100%,.1);--tw-bg-opacity:1;background-color:rgb(26 29 39/var(--tw-bg-opacity,1))}.card-hover:hover{--tw-translate-y:-0.375rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-border-opacity:1;border-color:rgb(217 206 255/var(--tw-border-opacity,1));--tw-shadow:0 2px 6px rgba(13,15,22,.05),0 24px 48px -20px rgba(103,16,220,.28);--tw-shadow-colored:0 2px 6px var(--tw-shadow-color),0 24px 48px -20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.card-hover:hover:is(.dark *){border-color:rgba(131,64,255,.4)}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(244 241 255/var(--tw-bg-opacity,1));padding:.375rem .875rem;font-size:12.5px;font-weight:700;--tw-text-opacity:1;color:rgb(103 16 220/var(--tw-text-opacity,1))}.eyebrow:is(.dark *){background-color:rgba(131,64,255,.1);--tw-text-opacity:1;color:rgb(190 167 255/var(--tw-text-opacity,1))}.h2{font-size:27px;font-weight:900;line-height:1.35;letter-spacing:-.025em}@media (min-width:640px){.h2{font-size:34px}}@media (min-width:1024px){.h2{font-size:38px}}.lead{font-size:15px;line-height:2.1;--tw-text-opacity:1;color:rgb(82 90 112/var(--tw-text-opacity,1))}.lead:is(.dark *){--tw-text-opacity:1;color:rgb(182 189 204/var(--tw-text-opacity,1))}@media (min-width:640px){.lead{font-size:16px}}.field{height:3.5rem;width:100%;border-radius:1rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(217 221 230/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(247 248 250/var(--tw-bg-opacity,1));padding-left:1.25rem;padding-right:1.25rem;font-size:14.5px;outline:2px solid transparent;outline-offset:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(.22,1,.36,1)}.field:focus{--tw-border-opacity:1;border-color:rgb(131 64 255/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.field:is(.dark *){border-color:hsla(0,0%,100%,.1);background-color:hsla(0,0%,100%,.05)}.field:focus:is(.dark *){background-color:hsla(0,0%,100%,.1)}.field{box-shadow:0 0 0 0 var(--ring)}.field:focus{box-shadow:0 0 0 4px var(--ring)}.field-error{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.field-error:is(.dark *){--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.field-error{box-shadow:0 0 0 4px rgba(239,68,68,.12)}.chip{display:inline-flex;height:2.75rem;align-items:center;gap:.5rem;border-radius:1rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(217 221 230/var(--tw-border-opacity,1));padding-left:1rem;padding-right:1rem;font-size:13px;font-weight:700;--tw-text-opacity:1;color:rgb(82 90 112/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(.22,1,.36,1)}.chip:is(.dark *){border-color:hsla(0,0%,100%,.1);--tw-text-opacity:1;color:rgb(182 189 204/var(--tw-text-opacity,1))}.chip:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-border-opacity:1;border-color:rgb(159 117 255/var(--tw-border-opacity,1));--tw-text-opacity:1;color:rgb(103 16 220/var(--tw-text-opacity,1))}.chip:hover:is(.dark *){--tw-text-opacity:1;color:rgb(217 206 255/var(--tw-text-opacity,1))}.chip.is-active{--tw-border-opacity:1;border-color:rgb(118 28 247/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(118 28 247/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 2px 6px rgba(13,15,22,.05),0 24px 48px -20px rgba(103,16,220,.28);--tw-shadow-colored:0 2px 6px var(--tw-shadow-color),0 24px 48px -20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.social-link{display:grid;height:2rem;width:2rem;place-items:center;border-radius:.5rem;--tw-text-opacity:1;color:rgb(182 189 204/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(.22,1,.36,1)}.social-link:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));background-color:hsla(0,0%,100%,.1);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.nav-link{white-space:nowrap;border-radius:.75rem;padding:.5rem .625rem;font-size:13px;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.nav-link:hover{--tw-bg-opacity:1;background-color:rgb(238 240 244/var(--tw-bg-opacity,1))}.nav-link:hover:is(.dark *){background-color:hsla(0,0%,100%,.05)}@media (min-width:1280px){.nav-link{padding-left:.875rem;padding-right:.875rem;font-size:14px}}.rail{display:flex;scroll-snap-type:x var(--tw-scroll-snap-strictness);--tw-scroll-snap-strictness:mandatory;gap:1.25rem;overflow-x:auto;scroll-behavior:smooth;padding-bottom:1rem;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.rail>*{flex-shrink:0;scroll-snap-align:start}.rail-btn{display:grid;height:2.75rem;width:2.75rem;place-items:center;border-radius:1rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(217 221 230/var(--tw-border-opacity,1));background-color:hsla(0,0%,100%,.9);--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(.22,1,.36,1)}.rail-btn:hover{--tw-border-opacity:1;border-color:rgb(159 117 255/var(--tw-border-opacity,1));--tw-text-opacity:1;color:rgb(103 16 220/var(--tw-text-opacity,1))}.rail-btn:disabled{pointer-events:none;opacity:.35}.rail-btn:is(.dark *){border-color:hsla(0,0%,100%,.1);background-color:rgba(26,29,39,.9)}.rail-btn:hover:is(.dark *){--tw-text-opacity:1;color:rgb(217 206 255/var(--tw-text-opacity,1))}.bubble-bot{border-width:1px;--tw-border-opacity:1;border-color:rgb(238 240 244/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.75rem 1rem;font-size:13.5px;line-height:2}.bubble-bot:is(.dark *){border-color:hsla(0,0%,100%,.1);--tw-bg-opacity:1;background-color:rgb(51 57 73/var(--tw-bg-opacity,1))}.bubble-bot{border-radius:1.15rem;border-top-right-radius:.35rem}.bubble-bot,.bubble-user{max-width:88%}.bubble-user{--tw-bg-opacity:1;background-color:rgb(118 28 247/var(--tw-bg-opacity,1));padding:.75rem 1rem;font-size:13.5px;line-height:2;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));border-radius:1.15rem;border-top-left-radius:.35rem;margin-inline-start:auto}.quick-chip{border-radius:.75rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(217 221 230/var(--tw-border-opacity,1));padding:.5rem .875rem;font-size:12.5px;font-weight:700;--tw-text-opacity:1;color:rgb(66 73 92/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(.22,1,.36,1)}.quick-chip:hover{--tw-border-opacity:1;border-color:rgb(190 167 255/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(244 241 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(87 16 180/var(--tw-text-opacity,1))}.quick-chip:is(.dark *){border-color:hsla(0,0%,100%,.1);--tw-text-opacity:1;color:rgb(182 189 204/var(--tw-text-opacity,1))}.quick-chip:hover:is(.dark *){background-color:rgba(131,64,255,.2);--tw-text-opacity:1;color:rgb(217 206 255/var(--tw-text-opacity,1))}.section-y{padding-top:4.5rem;padding-bottom:4.5rem}@media (min-width:1024px){.section-y{padding-top:6rem;padding-bottom:6rem}}.search-tag{border-radius:.75rem;border-width:1px;border-color:rgba(217,221,230,.7);--tw-bg-opacity:1;background-color:rgb(238 240 244/var(--tw-bg-opacity,1));padding:.375rem .75rem;font-weight:600;--tw-text-opacity:1;color:rgb(82 90 112/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(.22,1,.36,1)}.search-tag:hover{--tw-border-opacity:1;border-color:rgb(190 167 255/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(244 241 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(87 16 180/var(--tw-text-opacity,1))}.search-tag:is(.dark *){border-color:hsla(0,0%,100%,.1);background-color:hsla(0,0%,100%,.05);--tw-text-opacity:1;color:rgb(182 189 204/var(--tw-text-opacity,1))}.search-tag:hover:is(.dark *){background-color:rgba(131,64,255,.2);--tw-text-opacity:1;color:rgb(217 206 255/var(--tw-text-opacity,1))}.search-item{display:flex;width:100%;align-items:center;gap:.75rem;border-radius:1rem;padding:.625rem;text-align:right;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.search-item.is-active,.search-item:hover{--tw-bg-opacity:1;background-color:rgb(244 241 255/var(--tw-bg-opacity,1))}.search-item.is-active:is(.dark *),.search-item:hover:is(.dark *){background-color:rgba(131,64,255,.15)}.search-item .s-thumb{height:2.5rem;width:3.5rem;flex-shrink:0;border-radius:.75rem;--tw-bg-opacity:1;background-color:rgb(238 240 244/var(--tw-bg-opacity,1));-o-object-fit:cover;object-fit:cover}.search-item .s-thumb:is(.dark *){background-color:hsla(0,0%,100%,.05)}.search-group{padding:.75rem .75rem .375rem;font-size:11.5px;font-weight:700;--tw-text-opacity:1;color:rgb(139 147 167/var(--tw-text-opacity,1))}.search-group:is(.dark *){--tw-text-opacity:1;color:rgb(105 113 138/var(--tw-text-opacity,1))}.article-card{border-radius:1.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(238 240 244/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;transition-timing-function:cubic-bezier(.22,1,.36,1)}.article-card:is(.dark *){border-color:hsla(0,0%,100%,.1);--tw-bg-opacity:1;background-color:rgb(26 29 39/var(--tw-bg-opacity,1))}.article-card:hover{--tw-translate-y:-0.375rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-border-opacity:1;border-color:rgb(217 206 255/var(--tw-border-opacity,1));--tw-shadow:0 2px 6px rgba(13,15,22,.05),0 24px 48px -20px rgba(103,16,220,.28);--tw-shadow-colored:0 2px 6px var(--tw-shadow-color),0 24px 48px -20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.article-card:hover:is(.dark *){border-color:rgba(131,64,255,.4)}.article-card{display:flex;flex-direction:column;overflow:hidden}.article-cat{position:absolute;top:.875rem;right:.875rem;border-radius:.75rem;background-color:hsla(0,0%,100%,.95);padding:.375rem .75rem;font-size:11.5px;font-weight:900}.article-cat:is(.dark *){background-color:rgba(13,15,22,.9)}.article-img{width:100%;-o-object-fit:cover;object-fit:cover;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.7s;transition-timing-function:cubic-bezier(.22,1,.36,1)}.group:hover .article-img{--tw-scale-x:1.06;--tw-scale-y:1.06;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.article-meta{display:flex;align-items:center;gap:.5rem;font-size:12px;--tw-text-opacity:1;color:rgb(105 113 138/var(--tw-text-opacity,1))}.article-meta:is(.dark *){--tw-text-opacity:1;color:rgb(139 147 167/var(--tw-text-opacity,1))}.nav-corp{margin-right:.375rem;display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;border-radius:.75rem;border-width:1px;border-color:rgba(252,211,77,.7);--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1));padding:.5rem .75rem;font-size:13px;font-weight:800;--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(.22,1,.36,1)}.nav-corp:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.nav-corp:is(.dark *){border-color:rgba(245,158,11,.3);background-color:rgba(245,158,11,.1);--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.nav-corp:hover:is(.dark *){background-color:rgba(245,158,11,.2)}@media (min-width:1280px){.nav-corp{padding-left:.875rem;padding-right:.875rem;font-size:14px}}.m-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-radius:1rem;border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(238 240 244/var(--tw-border-opacity,1));padding:.875rem;font-size:15px;font-weight:700;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.m-item:hover{--tw-bg-opacity:1;background-color:rgb(238 240 244/var(--tw-bg-opacity,1))}.m-item:is(.dark *){border-color:hsla(0,0%,100%,.05)}.m-item:hover:is(.dark *){background-color:hsla(0,0%,100%,.05)}.m-chev{height:1rem;width:1rem;flex-shrink:0;--tw-text-opacity:1;color:rgb(139 147 167/var(--tw-text-opacity,1))}.m-corp{display:flex;align-items:center;gap:.875rem;border-radius:1.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1));background-image:linear-gradient(to left,var(--tw-gradient-stops));--tw-gradient-from:#fffbeb var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,251,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#fff var(--tw-gradient-to-position);padding:.875rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(.22,1,.36,1)}.m-corp:hover{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1));--tw-shadow:0 1px 2px rgba(13,15,22,.04),0 10px 30px -12px rgba(13,15,22,.12);--tw-shadow-colored:0 1px 2px var(--tw-shadow-color),0 10px 30px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.m-corp:is(.dark *){border-color:rgba(245,158,11,.3);--tw-gradient-from:rgba(245,158,11,.15) var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:transparent var(--tw-gradient-to-position)}.path-card{display:flex;align-items:center;gap:.75rem;border-radius:1.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(238 240 244/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:1rem;text-align:right;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(.22,1,.36,1)}.path-card:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-border-opacity:1;border-color:rgb(190 167 255/var(--tw-border-opacity,1));--tw-shadow:0 2px 6px rgba(13,15,22,.05),0 24px 48px -20px rgba(103,16,220,.28);--tw-shadow-colored:0 2px 6px var(--tw-shadow-color),0 24px 48px -20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.path-card:is(.dark *){border-color:hsla(0,0%,100%,.1);--tw-bg-opacity:1;background-color:rgb(26 29 39/var(--tw-bg-opacity,1))}.path-card:hover:is(.dark *){border-color:rgba(131,64,255,.4)}.path-card.is-active{--tw-border-opacity:1;border-color:rgb(131 64 255/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(244 241 255/var(--tw-bg-opacity,1));--tw-shadow:0 2px 6px rgba(13,15,22,.05),0 24px 48px -20px rgba(103,16,220,.28);--tw-shadow-colored:0 2px 6px var(--tw-shadow-color),0 24px 48px -20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.path-card.is-active:is(.dark *){--tw-border-opacity:1;border-color:rgb(131 64 255/var(--tw-border-opacity,1));background-color:rgba(131,64,255,.1)}.path-ico{display:grid;height:2.75rem;width:2.75rem;flex-shrink:0;place-items:center;border-radius:1rem}.filter-row{margin-left:-.5rem;margin-right:-.5rem;display:flex;cursor:pointer;align-items:center;gap:.625rem;border-radius:.75rem;padding:.5rem;font-size:13px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.filter-row:hover{--tw-bg-opacity:1;background-color:rgb(247 248 250/var(--tw-bg-opacity,1))}.filter-row:hover:is(.dark *){background-color:hsla(0,0%,100%,.05)}.filter-row span:first-of-type{flex:1 1 0%}.filter-check,.filter-radio{height:1rem;width:1rem;flex-shrink:0;accent-color:#761cf7}.filter-check{border-radius:.25rem}.f-count{font-size:11.5px;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);--tw-text-opacity:1;color:rgb(139 147 167/var(--tw-text-opacity,1))}.view-btn{display:grid;height:2.25rem;width:2.25rem;place-items:center;border-radius:.75rem;--tw-text-opacity:1;color:rgb(105 113 138/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.view-btn:hover{--tw-text-opacity:1;color:rgb(103 16 220/var(--tw-text-opacity,1))}.view-btn:is(.dark *){--tw-text-opacity:1;color:rgb(139 147 167/var(--tw-text-opacity,1))}.view-btn:hover:is(.dark *){--tw-text-opacity:1;color:rgb(217 206 255/var(--tw-text-opacity,1))}.view-btn.is-active{--tw-bg-opacity:1;background-color:rgb(118 28 247/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.active-chip{display:inline-flex;align-items:center;gap:.5rem;border-radius:.75rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(217 206 255/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(244 241 255/var(--tw-bg-opacity,1));padding:.375rem .75rem;font-size:12.5px;font-weight:700;--tw-text-opacity:1;color:rgb(87 16 180/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.active-chip:hover{--tw-bg-opacity:1;background-color:rgb(235 229 255/var(--tw-bg-opacity,1))}.active-chip:is(.dark *){border-color:rgba(131,64,255,.25);background-color:rgba(131,64,255,.15);--tw-text-opacity:1;color:rgb(217 206 255/var(--tw-text-opacity,1))}.active-chip:hover:is(.dark *){background-color:rgba(131,64,255,.25)}.syl-item{overflow:hidden;border-radius:1rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(238 240 244/var(--tw-border-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.syl-item:is(.dark *){border-color:hsla(0,0%,100%,.1)}.syl-head{display:flex;width:100%;align-items:center;gap:.875rem;padding:1rem;text-align:right;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.syl-head:hover{--tw-bg-opacity:1;background-color:rgb(247 248 250/var(--tw-bg-opacity,1))}.syl-head:hover:is(.dark *){background-color:hsla(0,0%,100%,.05)}.syl-num{display:grid;height:2.25rem;width:2.25rem;flex-shrink:0;place-items:center;border-radius:.75rem;--tw-bg-opacity:1;background-color:rgb(235 229 255/var(--tw-bg-opacity,1));font-size:13px;font-weight:900;--tw-text-opacity:1;color:rgb(103 16 220/var(--tw-text-opacity,1))}.syl-num:is(.dark *){background-color:rgba(131,64,255,.15);--tw-text-opacity:1;color:rgb(190 167 255/var(--tw-text-opacity,1))}.syl-body{border-top-width:1px;--tw-border-opacity:1;border-color:rgb(238 240 244/var(--tw-border-opacity,1));padding:.75rem 4.4rem 1rem 1rem}.syl-body:is(.dark *){border-color:hsla(0,0%,100%,.05)}.pass-toggle{position:absolute;left:1rem;top:50%;--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-text-opacity:1;color:rgb(139 147 167/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.pass-toggle:hover{--tw-text-opacity:1;color:rgb(118 28 247/var(--tw-text-opacity,1))}.pass-toggle:hover:is(.dark *){--tw-text-opacity:1;color:rgb(190 167 255/var(--tw-text-opacity,1))}.pw-bar{height:.375rem;flex:1 1 0%;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(217 221 230/var(--tw-bg-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.pw-bar:is(.dark *){background-color:hsla(0,0%,100%,.1)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-48{bottom:-12rem}.-bottom-52{bottom:-13rem}.-bottom-7{bottom:-1.75rem}.-left-2{left:-.5rem}.-left-24{left:-6rem}.-left-28{left:-7rem}.-left-32{left:-8rem}.-left-48{left:-12rem}.-right-1{right:-.25rem}.-right-24{right:-6rem}.-right-28{right:-7rem}.-right-3{right:-.75rem}.-right-32{right:-8rem}.-right-40{right:-10rem}.-top-1{top:-.25rem}.-top-3{top:-.75rem}.-top-3\.5{top:-.875rem}.-top-32{top:-8rem}.-top-40{top:-10rem}.-top-44{top:-11rem}.-top-52{top:-13rem}.-top-6{top:-1.5rem}.bottom-0{bottom:0}.bottom-3\.5{bottom:.875rem}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-1\/4{left:25%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3\.5{left:.875rem}.left-6{left:1.5rem}.right-0{right:0}.right-3\.5{right:.875rem}.right-4{right:1rem}.right-5{right:1.25rem}.right-6{right:1.5rem}.right-7{right:1.75rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3\.5{top:.875rem}.top-32{top:8rem}.top-7{top:1.75rem}.top-\[calc\(100\%\+\.6rem\)\]{top:calc(100% + .6rem)}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.order-first{order:-9999}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-3\.5{margin-top:.875rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!grid{display:grid!important}.grid{display:grid}.hidden{display:none}.aspect-\[16\/10\]{aspect-ratio:16/10}.aspect-\[16\/11\]{aspect-ratio:16/11}.aspect-\[16\/9\]{aspect-ratio:16/9}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-13{height:3.25rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[28rem\]{height:28rem}.h-\[30rem\]{height:30rem}.h-\[32rem\]{height:32rem}.h-\[34rem\]{height:34rem}.h-\[36rem\]{height:36rem}.h-\[38rem\]{height:38rem}.h-\[42px\]{height:42px}.h-\[42rem\]{height:42rem}.h-\[46px\]{height:46px}.h-\[72px\]{height:72px}.h-\[86vh\]{height:86vh}.h-full{height:100%}.h-px{height:1px}.max-h-\[380px\]{max-height:380px}.max-h-\[calc\(100dvh-8rem\)\]{max-height:calc(100dvh - 8rem)}.min-h-\[180px\]{min-height:180px}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[18px\]{width:18px}.w-\[250px\]{width:250px}.w-\[28rem\]{width:28rem}.w-\[300px\]{width:300px}.w-\[30rem\]{width:30rem}.w-\[32rem\]{width:32rem}.w-\[34rem\]{width:34rem}.w-\[36rem\]{width:36rem}.w-\[38rem\]{width:38rem}.w-\[42px\]{width:42px}.w-\[42rem\]{width:42rem}.w-\[46px\]{width:46px}.w-\[62\%\]{width:62%}.w-\[86\%\]{width:86%}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-\[560px\]{max-width:560px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.animate-floaty{animation:floaty 7s ease-in-out infinite}@keyframes pulseRing{0%{transform:scale(.85);opacity:.75}80%,to{transform:scale(1.8);opacity:0}}.animate-pulseRing{animation:pulseRing 2.4s cubic-bezier(.2,.6,.3,1) infinite}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.animate-slideUp{animation:slideUp .38s cubic-bezier(.22,1,.36,1) both}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-9{gap:2.25rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.gap-y-6{row-gap:1.5rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.875rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-4xl{border-radius:2rem}.rounded-\[calc\(2rem-1px\)\]{border-radius:calc(2rem - 1px)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-t-4xl{border-top-left-radius:2rem;border-top-right-radius:2rem}.border{border-width:1px}.border-2{border-width:2px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-brand-200{--tw-border-opacity:1;border-color:rgb(217 206 255/var(--tw-border-opacity,1))}.border-brand-300{--tw-border-opacity:1;border-color:rgb(190 167 255/var(--tw-border-opacity,1))}.border-brand-500{--tw-border-opacity:1;border-color:rgb(131 64 255/var(--tw-border-opacity,1))}.border-brand-600{--tw-border-opacity:1;border-color:rgb(118 28 247/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-gold-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-gold-400\/70{border-color:rgba(251,191,36,.7)}.border-ink-100{--tw-border-opacity:1;border-color:rgb(238 240 244/var(--tw-border-opacity,1))}.border-ink-200{--tw-border-opacity:1;border-color:rgb(217 221 230/var(--tw-border-opacity,1))}.border-ink-200\/60{border-color:rgba(217,221,230,.6)}.border-ink-300{--tw-border-opacity:1;border-color:rgb(182 189 204/var(--tw-border-opacity,1))}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/12{border-color:hsla(0,0%,100%,.12)}.border-white\/15{border-color:hsla(0,0%,100%,.15)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.border-white\/30{border-color:hsla(0,0%,100%,.3)}.border-white\/40{border-color:hsla(0,0%,100%,.4)}.border-white\/5{border-color:hsla(0,0%,100%,.05)}.border-white\/8{border-color:hsla(0,0%,100%,.08)}.\!bg-white\/10{background-color:hsla(0,0%,100%,.1)!important}.bg-\[\#0c0f1c\]{--tw-bg-opacity:1;background-color:rgb(12 15 28/var(--tw-bg-opacity,1))}.bg-\[\#28c840\]{--tw-bg-opacity:1;background-color:rgb(40 200 64/var(--tw-bg-opacity,1))}.bg-\[\#febc2e\]{--tw-bg-opacity:1;background-color:rgb(254 188 46/var(--tw-bg-opacity,1))}.bg-\[\#ff5f57\]{--tw-bg-opacity:1;background-color:rgb(255 95 87/var(--tw-bg-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-brand-100{--tw-bg-opacity:1;background-color:rgb(235 229 255/var(--tw-bg-opacity,1))}.bg-brand-400\/12{background-color:rgba(159,117,255,.12)}.bg-brand-400\/18{background-color:rgba(159,117,255,.18)}.bg-brand-400\/20{background-color:rgba(159,117,255,.2)}.bg-brand-50{--tw-bg-opacity:1;background-color:rgb(244 241 255/var(--tw-bg-opacity,1))}.bg-brand-500{--tw-bg-opacity:1;background-color:rgb(131 64 255/var(--tw-bg-opacity,1))}.bg-brand-600{--tw-bg-opacity:1;background-color:rgb(118 28 247/var(--tw-bg-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-300{--tw-bg-opacity:1;background-color:rgb(110 231 183/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-gold-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-gold-300{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity,1))}.bg-gold-300\/18{background-color:rgba(252,211,77,.18)}.bg-gold-300\/20{background-color:rgba(252,211,77,.2)}.bg-gold-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-gold-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-ink-100{--tw-bg-opacity:1;background-color:rgb(238 240 244/var(--tw-bg-opacity,1))}.bg-ink-300{--tw-bg-opacity:1;background-color:rgb(182 189 204/var(--tw-bg-opacity,1))}.bg-ink-50{--tw-bg-opacity:1;background-color:rgb(247 248 250/var(--tw-bg-opacity,1))}.bg-ink-950{--tw-bg-opacity:1;background-color:rgb(13 15 22/var(--tw-bg-opacity,1))}.bg-ink-950\/50{background-color:rgba(13,15,22,.5)}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/12{background-color:hsla(0,0%,100%,.12)}.bg-white\/15{background-color:hsla(0,0%,100%,.15)}.bg-white\/25{background-color:hsla(0,0%,100%,.25)}.bg-white\/5{background-color:hsla(0,0%,100%,.05)}.bg-white\/8{background-color:hsla(0,0%,100%,.08)}.bg-white\/85{background-color:hsla(0,0%,100%,.85)}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.from-brand-600{--tw-gradient-from:#761cf7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(118,28,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-brand-700{--tw-gradient-from:#6710dc var(--tw-gradient-from-position);--tw-gradient-to:rgba(103,16,220,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-brand-800{--tw-gradient-from:#5710b4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(87,16,180,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gold-400{--tw-gradient-from:#fbbf24 var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,191,36,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-brand-400\/50{--tw-gradient-to:rgba(159,117,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(159,117,255,.5) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-brand-500{--tw-gradient-to:rgba(131,64,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#8340ff var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-brand-600{--tw-gradient-to:rgba(118,28,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#761cf7 var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-brand-400{--tw-gradient-to:#9f75ff var(--tw-gradient-to-position)}.to-brand-500{--tw-gradient-to:#8340ff var(--tw-gradient-to-position)}.to-gold-400{--tw-gradient-to:#fbbf24 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.p-9{padding:2.25rem}.p-px{padding:1px}.\!px-0{padding-left:0!important;padding-right:0!important}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-18{padding-top:4.5rem;padding-bottom:4.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.pb-12{padding-bottom:3rem}.pb-14{padding-bottom:3.5rem}.pb-16{padding-bottom:4rem}.pb-18{padding-bottom:4.5rem}.pb-28{padding-bottom:7rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-\[max\(\.625rem\2c env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(.625rem,env(safe-area-inset-bottom))}.pl-10{padding-left:2.5rem}.pl-12{padding-left:3rem}.pl-28{padding-left:7rem}.pl-3\.5{padding-left:.875rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pr-11{padding-right:2.75rem}.pr-14{padding-right:3.5rem}.pr-2\.5{padding-right:.625rem}.pr-4{padding-right:1rem}.pr-5{padding-right:1.25rem}.pt-1\.5{padding-top:.375rem}.pt-10{padding-top:2.5rem}.pt-12{padding-top:3rem}.pt-16{padding-top:4rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14\.5px\]{font-size:14.5px}.text-\[14px\]{font-size:14px}.text-\[15\.5px\]{font-size:15.5px}.text-\[15px\]{font-size:15px}.text-\[16\.5px\]{font-size:16.5px}.text-\[16px\]{font-size:16px}.text-\[17\.5px\]{font-size:17.5px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[19px\]{font-size:19px}.text-\[20px\]{font-size:20px}.text-\[21px\]{font-size:21px}.text-\[22px\]{font-size:22px}.text-\[23px\]{font-size:23px}.text-\[24px\]{font-size:24px}.text-\[26px\]{font-size:26px}.text-\[27px\]{font-size:27px}.text-\[28px\]{font-size:28px}.text-\[30px\]{font-size:30px}.text-\[32px\]{font-size:32px}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-semibold{font-weight:600}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-9{line-height:2.25rem}.leading-\[1\.35\]{line-height:1.35}.leading-\[1\.42\]{line-height:1.42}.leading-\[1\.4\]{line-height:1.4}.leading-\[2\.1\]{line-height:2.1}.leading-\[2\.2\]{line-height:2.2}.leading-\[2\]{line-height:2}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[\.18em\]{letter-spacing:.18em}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.\!text-brand-200{--tw-text-opacity:1!important;color:rgb(217 206 255/var(--tw-text-opacity,1))!important}.\!text-brand-800{--tw-text-opacity:1!important;color:rgb(87 16 180/var(--tw-text-opacity,1))!important}.text-\[\#82aaff\]{--tw-text-opacity:1;color:rgb(130 170 255/var(--tw-text-opacity,1))}.text-\[\#c3e88d\]{--tw-text-opacity:1;color:rgb(195 232 141/var(--tw-text-opacity,1))}.text-\[\#c792ea\]{--tw-text-opacity:1;color:rgb(199 146 234/var(--tw-text-opacity,1))}.text-\[\#f78c6c\]{--tw-text-opacity:1;color:rgb(247 140 108/var(--tw-text-opacity,1))}.text-\[\#ffcb6b\]{--tw-text-opacity:1;color:rgb(255 203 107/var(--tw-text-opacity,1))}.text-brand-200{--tw-text-opacity:1;color:rgb(217 206 255/var(--tw-text-opacity,1))}.text-brand-300{--tw-text-opacity:1;color:rgb(190 167 255/var(--tw-text-opacity,1))}.text-brand-500{--tw-text-opacity:1;color:rgb(131 64 255/var(--tw-text-opacity,1))}.text-brand-600{--tw-text-opacity:1;color:rgb(118 28 247/var(--tw-text-opacity,1))}.text-brand-700{--tw-text-opacity:1;color:rgb(103 16 220/var(--tw-text-opacity,1))}.text-brand-800{--tw-text-opacity:1;color:rgb(87 16 180/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-gold-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-gold-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-gold-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-gold-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-gold-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-gold-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-ink-200{--tw-text-opacity:1;color:rgb(217 221 230/var(--tw-text-opacity,1))}.text-ink-300{--tw-text-opacity:1;color:rgb(182 189 204/var(--tw-text-opacity,1))}.text-ink-400{--tw-text-opacity:1;color:rgb(139 147 167/var(--tw-text-opacity,1))}.text-ink-500{--tw-text-opacity:1;color:rgb(105 113 138/var(--tw-text-opacity,1))}.text-ink-600{--tw-text-opacity:1;color:rgb(82 90 112/var(--tw-text-opacity,1))}.text-ink-700{--tw-text-opacity:1;color:rgb(66 73 92/var(--tw-text-opacity,1))}.text-ink-800{--tw-text-opacity:1;color:rgb(51 57 73/var(--tw-text-opacity,1))}.text-ink-900{--tw-text-opacity:1;color:rgb(26 29 39/var(--tw-text-opacity,1))}.text-ink-950{--tw-text-opacity:1;color:rgb(13 15 22/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/80{color:hsla(0,0%,100%,.8)}.text-white\/85{color:hsla(0,0%,100%,.85)}.text-white\/90{color:hsla(0,0%,100%,.9)}.line-through{text-decoration-line:line-through}.accent-brand-600{accent-color:#761cf7}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-\[\.55\]{opacity:.55}.shadow-glow{--tw-shadow:0 0 0 1px rgba(131,64,255,.14),0 22px 60px -18px rgba(131,64,255,.5);--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color),0 22px 60px -18px var(--tw-shadow-color)}.shadow-glow,.shadow-lift{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lift{--tw-shadow:0 2px 6px rgba(13,15,22,.05),0 24px 48px -20px rgba(103,16,220,.28);--tw-shadow-colored:0 2px 6px var(--tw-shadow-color),0 24px 48px -20px var(--tw-shadow-color)}.shadow-soft{--tw-shadow:0 1px 2px rgba(13,15,22,.04),0 10px 30px -12px rgba(13,15,22,.12);--tw-shadow-colored:0 1px 2px var(--tw-shadow-color),0 10px 30px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-ink-200{--tw-ring-opacity:1;--tw-ring-color:rgb(217 221 230/var(--tw-ring-opacity,1))}.ring-white\/15{--tw-ring-color:hsla(0,0%,100%,.15)}.ring-white\/25{--tw-ring-color:hsla(0,0%,100%,.25)}.blur{--tw-blur:blur(8px)}.blur,.blur-3xl{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-3xl{--tw-blur:blur(64px)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-\[2px\]{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-smooth{transition-timing-function:cubic-bezier(.22,1,.36,1)}.bg-grid{background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:52px 52px;-webkit-mask-image:radial-gradient(ellipse 75% 55% at 50% 0,#000 30%,transparent 100%);mask-image:radial-gradient(ellipse 75% 55% at 50% 0,#000 30%,transparent 100%)}.glass{backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px)}.text-gradient{background:linear-gradient(95deg,#6710dc,#9f75ff 42%,#f59e0b);-webkit-background-clip:text;background-clip:text;color:transparent}.text-gold-gradient{background:linear-gradient(120deg,#fcd34d,#fffbeb 30%,#d97706 60%,#fbbf24);-webkit-background-clip:text;background-clip:text;color:transparent}.offer-grid{background-image:linear-gradient(hsla(0,0%,100%,.055) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.055) 1px,transparent 0);background-size:46px 46px;-webkit-mask-image:radial-gradient(ellipse 70% 90% at 80% 10%,#000 20%,transparent 85%);mask-image:radial-gradient(ellipse 70% 90% at 80% 10%,#000 20%,transparent 85%)}.map-placeholder{background-image:linear-gradient(rgba(103,16,220,.07) 1px,transparent 0),linear-gradient(90deg,rgba(103,16,220,.07) 1px,transparent 0);background-size:34px 34px}html.dark .map-placeholder{background-image:linear-gradient(rgba(190,167,255,.06) 1px,transparent 0),linear-gradient(90deg,rgba(190,167,255,.06) 1px,transparent 0)}@font-face{font-family:Vazirmatn;src:url(../fonts/vazirmatn-var.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1)}.reveal.in{opacity:1;transform:none}.typing span{display:inline-block;width:6px;height:6px;border-radius:99px;background:currentColor;opacity:.45;animation:dot 1.3s infinite}.typing span:nth-child(2){animation-delay:.18s}.typing span:nth-child(3){animation-delay:.36s}@keyframes dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}.typed-caret{display:inline-block;width:3px;height:1em;margin-inline-start:4px;vertical-align:-.12em;border-radius:2px;background:#8340ff;animation:caret 1.05s steps(1) infinite}@keyframes caret{0%,49%{opacity:1}50%,to{opacity:0}}.stagger>*{opacity:0;transform:translateY(16px);animation:rise .7s cubic-bezier(.22,1,.36,1) forwards}.stagger>:first-child{animation-delay:.04s}.stagger>:nth-child(2){animation-delay:.12s}.stagger>:nth-child(3){animation-delay:.2s}.stagger>:nth-child(4){animation-delay:.28s}.stagger>:nth-child(5){animation-delay:.36s}@keyframes rise{to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.stagger>*,.typed-caret{animation:none;opacity:1}.stagger>*{transform:none}}.course-card.is-found{outline:2px solid #8340ff;outline-offset:3px;box-shadow:0 0 0 6px rgba(131,64,255,.16),0 24px 48px -20px rgba(103,16,220,.4)}.placeholder\:text-ink-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(139 147 167/var(--tw-text-opacity,1))}.placeholder\:text-ink-400::placeholder{--tw-text-opacity:1;color:rgb(139 147 167/var(--tw-text-opacity,1))}.placeholder\:text-ink-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(105 113 138/var(--tw-text-opacity,1))}.placeholder\:text-ink-500::placeholder{--tw-text-opacity:1;color:rgb(105 113 138/var(--tw-text-opacity,1))}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-brand-400:hover{--tw-border-opacity:1;border-color:rgb(159 117 255/var(--tw-border-opacity,1))}.hover\:bg-\[\#25D366\]:hover{--tw-bg-opacity:1;background-color:rgb(37 211 102/var(--tw-bg-opacity,1))}.hover\:bg-\[\#29A9EB\]:hover{--tw-bg-opacity:1;background-color:rgb(41 169 235/var(--tw-bg-opacity,1))}.hover\:bg-\[\#3FBF7F\]:hover{--tw-bg-opacity:1;background-color:rgb(63 191 127/var(--tw-bg-opacity,1))}.hover\:bg-\[\#E1306C\]:hover{--tw-bg-opacity:1;background-color:rgb(225 48 108/var(--tw-bg-opacity,1))}.hover\:bg-brand-500:hover{--tw-bg-opacity:1;background-color:rgb(131 64 255/var(--tw-bg-opacity,1))}.hover\:bg-brand-700:hover{--tw-bg-opacity:1;background-color:rgb(103 16 220/var(--tw-bg-opacity,1))}.hover\:bg-gold-100:hover{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.hover\:bg-white\/10:hover{background-color:hsla(0,0%,100%,.1)}.hover\:bg-white\/15:hover{background-color:hsla(0,0%,100%,.15)}.hover\:bg-white\/70:hover{background-color:hsla(0,0%,100%,.7)}.hover\:\!text-\[\#25D366\]:hover{--tw-text-opacity:1!important;color:rgb(37 211 102/var(--tw-text-opacity,1))!important}.hover\:\!text-\[\#29A9EB\]:hover{--tw-text-opacity:1!important;color:rgb(41 169 235/var(--tw-text-opacity,1))!important}.hover\:\!text-\[\#3FBF7F\]:hover{--tw-text-opacity:1!important;color:rgb(63 191 127/var(--tw-text-opacity,1))!important}.hover\:\!text-\[\#E1306C\]:hover{--tw-text-opacity:1!important;color:rgb(225 48 108/var(--tw-text-opacity,1))!important}.hover\:text-brand-200:hover{--tw-text-opacity:1;color:rgb(217 206 255/var(--tw-text-opacity,1))}.hover\:text-brand-700:hover{--tw-text-opacity:1;color:rgb(103 16 220/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:fixed:focus{position:fixed}.focus\:right-3:focus{right:.75rem}.focus\:top-3:focus{top:.75rem}.focus\:z-\[100\]:focus{z-index:100}.focus\:rounded-xl:focus{border-radius:.75rem}.focus\:border-brand-400:focus{--tw-border-opacity:1;border-color:rgb(159 117 255/var(--tw-border-opacity,1))}.focus\:border-brand-500:focus{--tw-border-opacity:1;border-color:rgb(131 64 255/var(--tw-border-opacity,1))}.focus\:bg-brand-600:focus{--tw-bg-opacity:1;background-color:rgb(118 28 247/var(--tw-bg-opacity,1))}.focus\:px-4:focus{padding-left:1rem;padding-right:1rem}.focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}.focus\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\:shadow-glow:focus{--tw-shadow:0 0 0 1px rgba(131,64,255,.14),0 22px 60px -18px rgba(131,64,255,.5);--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color),0 22px 60px -18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95}.active\:scale-95:active,.group:hover .group-hover\:-translate-x-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-x-1{--tw-translate-x:-0.25rem}.group:hover .group-hover\:scale-\[1\.07\]{--tw-scale-x:1.07;--tw-scale-y:1.07;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-brand-700{--tw-text-opacity:1;color:rgb(103 16 220/var(--tw-text-opacity,1))}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}.dark\:border-brand-500\/25:is(.dark *){border-color:rgba(131,64,255,.25)}.dark\:border-brand-500\/40:is(.dark *){border-color:rgba(131,64,255,.4)}.dark\:border-emerald-500\/25:is(.dark *){border-color:rgba(16,185,129,.25)}.dark\:border-gold-500\/30:is(.dark *){border-color:rgba(245,158,11,.3)}.dark\:border-white\/10:is(.dark *){border-color:hsla(0,0%,100%,.1)}.dark\:border-white\/12:is(.dark *){border-color:hsla(0,0%,100%,.12)}.dark\:border-white\/15:is(.dark *){border-color:hsla(0,0%,100%,.15)}.dark\:border-white\/8:is(.dark *){border-color:hsla(0,0%,100%,.08)}.dark\:bg-black\/20:is(.dark *){background-color:rgba(0,0,0,.2)}.dark\:bg-brand-500\/10:is(.dark *){background-color:rgba(131,64,255,.1)}.dark\:bg-brand-500\/15:is(.dark *){background-color:rgba(131,64,255,.15)}.dark\:bg-brand-500\/20:is(.dark *){background-color:rgba(131,64,255,.2)}.dark\:bg-brand-600\/18:is(.dark *){background-color:rgba(118,28,247,.18)}.dark\:bg-emerald-500\/10:is(.dark *){background-color:rgba(16,185,129,.1)}.dark\:bg-emerald-500\/15:is(.dark *){background-color:rgba(16,185,129,.15)}.dark\:bg-emerald-500\/20:is(.dark *){background-color:rgba(16,185,129,.2)}.dark\:bg-gold-500\/10:is(.dark *){background-color:rgba(245,158,11,.1)}.dark\:bg-gold-500\/15:is(.dark *){background-color:rgba(245,158,11,.15)}.dark\:bg-gold-500\/20:is(.dark *){background-color:rgba(245,158,11,.2)}.dark\:bg-ink-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 57 73/var(--tw-bg-opacity,1))}.dark\:bg-ink-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(26 29 39/var(--tw-bg-opacity,1))}.dark\:bg-ink-950:is(.dark *){--tw-bg-opacity:1;background-color:rgb(13 15 22/var(--tw-bg-opacity,1))}.dark\:bg-ink-950\/85:is(.dark *){background-color:rgba(13,15,22,.85)}.dark\:bg-ink-950\/90:is(.dark *){background-color:rgba(13,15,22,.9)}.dark\:bg-ink-950\/95:is(.dark *){background-color:rgba(13,15,22,.95)}.dark\:bg-red-500\/15:is(.dark *){background-color:rgba(239,68,68,.15)}.dark\:bg-sky-500\/15:is(.dark *){background-color:rgba(14,165,233,.15)}.dark\:bg-sky-500\/20:is(.dark *){background-color:rgba(14,165,233,.2)}.dark\:bg-white\/10:is(.dark *){background-color:hsla(0,0%,100%,.1)}.dark\:bg-white\/5:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:bg-white\/8:is(.dark *){background-color:hsla(0,0%,100%,.08)}.dark\:bg-white\/\[\.02\]:is(.dark *){background-color:hsla(0,0%,100%,.02)}.dark\:text-brand-200:is(.dark *){--tw-text-opacity:1;color:rgb(217 206 255/var(--tw-text-opacity,1))}.dark\:text-brand-300:is(.dark *){--tw-text-opacity:1;color:rgb(190 167 255/var(--tw-text-opacity,1))}.dark\:text-emerald-200:is(.dark *){--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.dark\:text-emerald-300:is(.dark *){--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.dark\:text-gold-200:is(.dark *){--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.dark\:text-gold-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.dark\:text-gold-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.dark\:text-ink-200:is(.dark *){--tw-text-opacity:1;color:rgb(217 221 230/var(--tw-text-opacity,1))}.dark\:text-ink-300:is(.dark *){--tw-text-opacity:1;color:rgb(182 189 204/var(--tw-text-opacity,1))}.dark\:text-ink-400:is(.dark *){--tw-text-opacity:1;color:rgb(139 147 167/var(--tw-text-opacity,1))}.dark\:text-ink-600:is(.dark *){--tw-text-opacity:1;color:rgb(82 90 112/var(--tw-text-opacity,1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-sky-200:is(.dark *){--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity,1))}.dark\:text-sky-300:is(.dark *){--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:ring-white\/15:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.15)}.dark\:hover\:bg-white\/10:hover:is(.dark *){background-color:hsla(0,0%,100%,.1)}.dark\:hover\:text-brand-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(190 167 255/var(--tw-text-opacity,1))}.group:hover .dark\:group-hover\:text-brand-300:is(.dark *){--tw-text-opacity:1;color:rgb(190 167 255/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:-left-8{left:-2rem}.sm\:-right-8{right:-2rem}.sm\:top-1\/2{top:50%}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:h-\[46px\]{height:46px}.sm\:w-\[280px\]{width:280px}.sm\:w-\[336px\]{width:336px}.sm\:w-\[46px\]{width:46px}.sm\:w-\[47\%\]{width:47%}.sm\:w-auto{width:auto}.sm\:-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:p-10{padding:2.5rem}.sm\:p-11{padding:2.75rem}.sm\:p-12{padding:3rem}.sm\:p-14{padding:3.5rem}.sm\:p-6{padding:1.5rem}.sm\:p-9{padding:2.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-9{padding-left:2.25rem;padding-right:2.25rem}.sm\:text-\[13\.5px\]{font-size:13.5px}.sm\:text-\[16px\]{font-size:16px}.sm\:text-\[22px\]{font-size:22px}.sm\:text-\[28px\]{font-size:28px}.sm\:text-\[30px\]{font-size:30px}.sm\:text-\[32px\]{font-size:32px}.sm\:text-\[34px\]{font-size:34px}.sm\:text-\[36px\]{font-size:36px}.sm\:text-\[38px\]{font-size:38px}.sm\:text-\[42px\]{font-size:42px}.sm\:leading-\[1\.34\]{line-height:1.34}.sm\:leading-\[1\.35\]{line-height:1.35}}@media (min-width:768px){.md\:block{display:block}.md\:w-auto{width:auto}.md\:flex-row{flex-direction:row}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:inset-auto{inset:auto}.lg\:bottom-6{bottom:1.5rem}.lg\:left-6{left:1.5rem}.lg\:top-24{top:6rem}.lg\:order-last{order:9999}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:block{display:block}.lg\:inline{display:inline}.lg\:flex{display:flex}.lg\:inline-flex{display:inline-flex}.lg\:hidden{display:none}.lg\:h-\[600px\]{height:600px}.lg\:w-\[32\%\]{width:32%}.lg\:w-\[392px\]{width:392px}.lg\:max-w-none{max-width:none}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-end{align-items:flex-end}.lg\:gap-10{gap:2.5rem}.lg\:gap-16{gap:4rem}.lg\:gap-4{gap:1rem}.lg\:justify-self-end{justify-self:end}.lg\:rounded-4xl{border-radius:2rem}.lg\:p-12{padding:3rem}.lg\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:py-24{padding-top:6rem;padding-bottom:6rem}.lg\:pb-10{padding-bottom:2.5rem}.lg\:pb-16{padding-bottom:4rem}.lg\:pb-18{padding-bottom:4.5rem}.lg\:pb-20{padding-bottom:5rem}.lg\:pb-24{padding-bottom:6rem}.lg\:pb-8{padding-bottom:2rem}.lg\:pt-10{padding-top:2.5rem}.lg\:pt-14{padding-top:3.5rem}.lg\:pt-16{padding-top:4rem}.lg\:text-\[38px\]{font-size:38px}.lg\:text-\[40px\]{font-size:40px}.lg\:text-\[44px\]{font-size:44px}.lg\:text-\[50px\]{font-size:50px}.lg\:leading-\[1\.3\]{line-height:1.3}}@media (min-width:1280px){.xl\:inline{display:inline}.xl\:inline-flex{display:inline-flex}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* BADIEE-PATCH-START */
/* ==========================================================================
   وصله ۱ — یوتیلیتی‌هایی که در بیلد قبلی تِیل‌ویند تولید نشده بودند
   --------------------------------------------------------------------------
   این کلاس‌ها در HTML و JS استفاده شده‌اند اما در styles.min.css نبودند؛
   نتیجه‌اش این بود که پنجره‌ها z-index و پس‌زمینه نمی‌گرفتند و زیر منوها
   می‌رفتند. با هر بیلد دوباره تِیل‌ویند، همین‌ها خودکار ساخته می‌شوند.
   ========================================================================== */
.z-\[80\]{z-index:80}
.z-\[85\]{z-index:85}
.z-\[90\]{z-index:90}
.z-\[100\]{z-index:100}

.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(13,15,22,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}
.backdrop-blur-sm{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}

.bg-ink-950\/70{background-color:rgba(13,15,22,.7)}
.bg-white\/90{background-color:hsla(0,0%,100%,.9)}
.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}
.bg-brand-400\/16{background-color:rgba(159,117,255,.16)}
.bg-gold-300\/16{background-color:rgba(252,211,77,.16)}
.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}
.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}
.hover\:bg-ink-50:hover{--tw-bg-opacity:1;background-color:rgb(247 248 250/var(--tw-bg-opacity,1))}

.dark\:bg-ink-900\/90:is(.dark *){background-color:rgba(26,29,39,.9)}
.dark\:bg-ink-900\/95:is(.dark *){background-color:rgba(26,29,39,.95)}
.dark\:bg-amber-400\/10:is(.dark *){background-color:rgba(251,191,36,.1)}
.dark\:bg-brand-600\/14:is(.dark *){background-color:rgba(118,28,247,.14)}
.dark\:bg-brand-600\/16:is(.dark *){background-color:rgba(118,28,247,.16)}
.dark\:text-ink-100:is(.dark *){--tw-text-opacity:1;color:rgb(238 240 244/var(--tw-text-opacity,1))}
.dark\:text-amber-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}
.dark\:text-emerald-400:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}
.dark\:hover\:bg-white\/5:hover:is(.dark *){background-color:hsla(0,0%,100%,.05)}

.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}
.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}
.dark\:ring-ink-950:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(13 15 22/var(--tw-ring-opacity,1))}

.max-w-5xl{max-width:64rem}
.max-w-sm{max-width:24rem}
.max-w-\[80\%\]{max-width:80%}
.max-w-\[220px\]{max-width:220px}
.max-w-\[240px\]{max-width:240px}
.min-w-\[16px\]{min-width:16px}
.min-w-\[200px\]{min-width:200px}
.w-\[34px\]{width:34px}
.w-\[320px\]{width:320px}
.h-\[34px\]{height:34px}
.h-\[60px\]{height:60px}
.max-h-\[90vh\]{max-height:90vh}
.max-h-\[320px\]{max-height:320px}
.max-h-\[420px\]{max-height:420px}

.left-1\/2{left:50%}
.bottom-5{bottom:1.25rem}
.-left-1{left:-.25rem}
.-left-0\.5{left:-.125rem}
.-top-0\.5{top:-.125rem}
.top-\[calc\(100\%\+\.5rem\)\]{top:calc(100% + .5rem)}
.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}

.-mx-1{margin-left:-.25rem;margin-right:-.25rem}
.-mt-2{margin-top:-.5rem}
.mb-0\.5{margin-bottom:.125rem}
.mb-4{margin-bottom:1rem}
.mr-3{margin-right:.75rem}
.px-1{padding-left:.25rem;padding-right:.25rem}
.pl-1{padding-left:.25rem}
.pt-2{padding-top:.5rem}
.pt-2\.5{padding-top:.625rem}
.pb-3{padding-bottom:.75rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.pb-\[max\(\.625rem\2c env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(.625rem,env(safe-area-inset-bottom))}

.justify-end{justify-content:flex-end}
.justify-start{justify-content:flex-start}
.bg-transparent{background-color:transparent}
.p-3\.5{padding:.875rem}
.max-h-\[300px\]{max-height:300px}
.list-none{list-style-type:none}
.opacity-80{opacity:.8}
.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}
.text-\[9\.5px\]{font-size:9.5px}
.text-\[10\.5px\]{font-size:10.5px}
.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
/* کلاس‌های به‌کاررفته در صفحه مقاله (article.html) */
.bg-ink-200{--tw-bg-opacity:1;background-color:rgb(217 221 230/var(--tw-bg-opacity,1))}
.dark\:bg-ink-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(82 90 112/var(--tw-bg-opacity,1))}
.dark\:bg-white\/12:is(.dark *){background-color:hsla(0,0%,100%,.12)}
.border-brand-100{--tw-border-opacity:1;border-color:rgb(235 229 255/var(--tw-border-opacity,1))}
.dark\:border-brand-500\/20:is(.dark *){border-color:rgba(131,64,255,.2)}
.leading-\[1\.45\]{line-height:1.45}
.max-w-\[16rem\]{max-width:16rem}
.mb-9{margin-bottom:2.25rem}
.pb-11{padding-bottom:2.75rem}

@media (min-width:640px){.sm\:inline{display:inline}.sm\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}
  .sm\:text-\[35px\]{font-size:35px}.sm\:leading-\[1\.38\]{line-height:1.38}}
@media (min-width:1024px){.lg\:pb-14{padding-bottom:3.5rem}}

/* ==========================================================================
   وصله ۱.۵ — تور ایمنی برای انیمیشن ظاهرشدن محتوا
   --------------------------------------------------------------------------
   کلاس reveal محتوا را با opacity:0 پنهان می‌کرد و فقط وقتی app.js اجرا
   می‌شد آن را نشان می‌داد. اما app.js پس از پاسخ API اجرا می‌شود؛ یعنی تا
   لحظه پاسخ سرور بیشتر صفحه اصلی سفید می‌ماند و اگر یک اسکریپت هم خطا
   می‌داد، متن برای همیشه نامرئی بود (برای خزنده گوگل هم متن مخفی است).
   حالا: بدون جاوااسکریپت همه‌چیز دیده می‌شود، و با جاوااسکریپت اگر تا
   ۲ ثانیه ناظر اسکرول فعال نشد، محتوا خودش ظاهر می‌شود.
   ========================================================================== */
.reveal { opacity: 1; transform: none; }

@media (prefers-reduced-motion: no-preference) {
  .js .reveal:not(.in) { opacity: 0; transform: translateY(22px); }
}

/* کلاس reveal-fallback را همان اسکریپت درون <head> پس از دو ثانیه اضافه
   می‌کند؛ چون آن اسکریپت به هیچ فایل بیرونی وابسته نیست، حتی اگر همه
   اسکریپت‌ها هم لود نشوند باز محتوا ظاهر می‌شود. */
.reveal-fallback .reveal:not(.in) { opacity: 1; transform: none; }

/* ==========================================================================
   وصله ۲ — پنجره‌های سایت (پنجره جلسات دوره و پنجره پشتیبانی)
   --------------------------------------------------------------------------
   پنجره روی همه لایه‌ها می‌نشیند (بالاتر از هدر چسبان، منوی موبایل و پنل چت)،
   وسط صفحه قرار می‌گیرد، سربرگ و پاورقی ثابت می‌مانند و فقط بدنه اسکرول
   می‌شود. روی موبایل تمام‌صفحه باز می‌شود.
   ========================================================================== */
.ba-modal{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem}
.ba-modal.hidden{display:none}
.ba-modal__backdrop{position:absolute;inset:0;background:rgba(9,10,16,.72);-webkit-backdrop-filter:blur(6px) saturate(140%);backdrop-filter:blur(6px) saturate(140%);animation:baFadeIn .2s ease-out}
.ba-modal__panel{position:relative;display:flex;flex-direction:column;width:100%;max-width:54rem;max-height:min(88vh,880px);
  background:#fff;border:1px solid rgb(238 240 244);border-radius:1.5rem;overflow:hidden;
  box-shadow:0 30px 80px -28px rgba(13,15,22,.5),0 2px 8px rgba(13,15,22,.06);
  animation:baModalIn .3s cubic-bezier(.22,1,.36,1)}
.dark .ba-modal__panel{background:rgb(26 29 39);border-color:hsla(0,0%,100%,.1)}

.ba-modal__head{flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
  padding:1.15rem 1.4rem;border-bottom:1px solid rgb(238 240 244)}
.dark .ba-modal__head{border-color:hsla(0,0%,100%,.08)}
.ba-modal__title{font-size:17px;font-weight:800;line-height:1.6;margin:0}
.ba-modal__sub{font-size:12.5px;line-height:1.9;color:rgb(105 113 138);margin:.15rem 0 0}
.dark .ba-modal__sub{color:rgb(139 147 167)}
.ba-modal__x{flex:none;width:2.35rem;height:2.35rem;display:grid;place-items:center;border-radius:.85rem;
  border:1px solid rgb(217 221 230);color:rgb(105 113 138);transition:all .2s ease}
.dark .ba-modal__x{border-color:hsla(0,0%,100%,.12);color:rgb(160 168 187)}
.ba-modal__x:hover{border-color:rgb(159 117 255);color:rgb(103 16 220)}

.ba-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;padding:1.25rem 1.4rem 1.5rem}
.ba-modal__foot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.85rem 1.4rem;border-top:1px solid rgb(238 240 244);background:rgb(247 248 250)}
.dark .ba-modal__foot{border-color:hsla(0,0%,100%,.08);background:rgba(255,255,255,.03)}

@media (max-width:640px){
  .ba-modal{padding:0}
  .ba-modal__panel{max-width:none;height:100dvh;max-height:100dvh;border:0;border-radius:0}
  .ba-modal__head,.ba-modal__body,.ba-modal__foot{padding-left:1rem;padding-right:1rem}
  .ba-modal__foot{padding-bottom:max(.85rem,env(safe-area-inset-bottom))}
}
@keyframes baModalIn{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:none}}
@keyframes baFadeIn{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .ba-modal__panel,.ba-modal__backdrop{animation:none}
}

/* بدنه صفحه وقتی پنجره باز است — با حفظ محل اسکرول */
body.ba-locked{overflow:hidden;width:100%}

/* ==========================================================================
   وصله ۳ — پنل دانشجویان
   ========================================================================== */

/* ─── سربرگ پروفایل ─── */
.pnl-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;
  gap:1.25rem;flex-wrap:wrap;padding:1.4rem 1.5rem;border-radius:1.5rem;
  border:1px solid rgb(238 240 244);background:#fff}
.dark .pnl-hero{border-color:hsla(0,0%,100%,.1);background:rgb(26 29 39)}
.pnl-hero:before{content:"";position:absolute;inset-inline-start:-6rem;top:-7rem;width:19rem;height:19rem;
  border-radius:99px;background:rgba(159,117,255,.14);filter:blur(10px);pointer-events:none}
.dark .pnl-hero:before{background:rgba(118,28,247,.18)}
.pnl-hero__main{position:relative;display:flex;align-items:center;gap:1rem;min-width:0}
.pnl-hero__txt{min-width:0}
.pnl-hero__eyebrow{font-size:11.5px;font-weight:800;letter-spacing:.02em;color:rgb(103 16 220);margin:0 0 .2rem}
.dark .pnl-hero__eyebrow{color:rgb(190 167 255)}
.pnl-hero__name{font-size:21px;font-weight:900;line-height:1.5;margin:0;letter-spacing:-.01em}
.pnl-hero__meta{font-size:12.5px;color:rgb(105 113 138);margin:.25rem 0 0;line-height:1.9}
.dark .pnl-hero__meta{color:rgb(139 147 167)}
.pnl-hero__actions{position:relative;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
@media (min-width:640px){.pnl-hero{padding:1.6rem 1.9rem}.pnl-hero__name{font-size:24px}}

.pnl-avatar{flex:none;width:3.5rem;height:3.5rem;border-radius:1.15rem;display:grid;place-items:center;
  font-size:16px;font-weight:900;color:#fff;letter-spacing:.02em;
  background:linear-gradient(135deg,#6710dc,#9f75ff);box-shadow:0 10px 24px -12px rgba(103,16,220,.7)}
@media (min-width:640px){.pnl-avatar{width:4rem;height:4rem;font-size:18px}}

.pnl-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;position:relative;
  height:2.6rem;padding:0 1rem;border-radius:.9rem;font-size:12.5px;font-weight:800;white-space:nowrap;
  border:1px solid rgb(217 221 230);color:inherit;transition:all .22s ease}
.dark .pnl-btn{border-color:hsla(0,0%,100%,.12)}
.pnl-btn:hover{border-color:rgb(159 117 255);color:rgb(103 16 220);transform:translateY(-1px)}
.dark .pnl-btn:hover{color:rgb(190 167 255)}
.pnl-btn svg{width:1rem;height:1rem;flex:none}

/* ─── نوار آمار ─── */
.pnl-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
@media (min-width:900px){.pnl-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pnl-stat{padding:.95rem 1.05rem;border-radius:1.15rem;border:1px solid rgb(238 240 244);background:#fff}
.dark .pnl-stat{border-color:hsla(0,0%,100%,.1);background:rgb(26 29 39)}
.pnl-stat__top{display:flex;align-items:center;gap:.5rem;color:rgb(105 113 138);font-size:11.5px;font-weight:700}
.dark .pnl-stat__top{color:rgb(139 147 167)}
.pnl-stat__top svg{width:.95rem;height:.95rem;flex:none}
.pnl-stat__num{font-size:22px;font-weight:900;line-height:1.5;margin-top:.3rem;letter-spacing:-.01em}
.pnl-stat__num small{font-size:12px;font-weight:700;color:rgb(105 113 138);margin-inline-start:.2rem}

/* ─── تب فیلتر ─── */
.pnl-tabs{display:flex;align-items:center;gap:.4rem;padding:.3rem;border-radius:1rem;
  border:1px solid rgb(238 240 244);background:rgb(247 248 250);width:fit-content;max-width:100%;overflow-x:auto;
  scrollbar-width:none}
.pnl-tabs::-webkit-scrollbar{display:none}
.dark .pnl-tabs{border-color:hsla(0,0%,100%,.1);background:rgba(255,255,255,.04)}
.pnl-tab{display:inline-flex;align-items:center;gap:.4rem;height:2.3rem;padding:0 .95rem;border-radius:.8rem;
  font-size:12.5px;font-weight:800;white-space:nowrap;color:rgb(105 113 138);transition:all .22s ease}
.dark .pnl-tab{color:rgb(160 168 187)}
.pnl-tab:hover{color:rgb(103 16 220)}
.dark .pnl-tab:hover{color:rgb(190 167 255)}
.pnl-tab.is-active{background:#fff;color:rgb(26 29 39);box-shadow:0 1px 3px rgba(13,15,22,.1)}
.dark .pnl-tab.is-active{background:rgb(51 57 73);color:#fff}
.pnl-tab__count{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .3rem;
  border-radius:.5rem;font-size:11px;background:rgb(238 240 244);color:rgb(105 113 138)}
.dark .pnl-tab__count{background:hsla(0,0%,100%,.08);color:rgb(160 168 187)}
.pnl-tab.is-active .pnl-tab__count{background:rgba(118,28,247,.12);color:rgb(103 16 220)}
.dark .pnl-tab.is-active .pnl-tab__count{background:rgba(159,117,255,.2);color:rgb(217 206 255)}

/* ─── کارت دوره ─── */
.pnl-grid{display:grid;gap:1rem}
.crs-card{display:flex;gap:1.15rem;padding:1.15rem;border-radius:1.35rem;border:1px solid rgb(238 240 244);
  background:#fff;transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}
.dark .crs-card{border-color:hsla(0,0%,100%,.1);background:rgb(26 29 39)}
.crs-card:hover{border-color:rgba(159,117,255,.6);box-shadow:0 18px 40px -28px rgba(103,16,220,.55);transform:translateY(-2px)}
.crs-card.is-locked{background:rgb(247 248 250)}
.dark .crs-card.is-locked{background:rgba(255,255,255,.02)}
@media (min-width:640px){.crs-card{padding:1.35rem 1.5rem}}

.crs-card__thumb{flex:none;width:4.5rem;height:4.5rem;border-radius:1.1rem;overflow:hidden;display:grid;
  place-items:center;background:linear-gradient(135deg,rgba(118,28,247,.12),rgba(159,117,255,.2));
  color:rgb(103 16 220);font-weight:900;font-size:19px}
.dark .crs-card__thumb{color:rgb(190 167 255)}
.crs-card__thumb img{width:100%;height:100%;object-fit:cover}
@media (max-width:520px){.crs-card__thumb{width:3.25rem;height:3.25rem;border-radius:.9rem;font-size:15px}}

.crs-card__body{min-width:0;flex:1 1 auto}
.crs-card__title{font-size:16px;font-weight:800;line-height:1.7;margin:.35rem 0 0;letter-spacing:-.01em}
@media (min-width:640px){.crs-card__title{font-size:17.5px}}
.crs-card__by{font-size:12.5px;color:rgb(105 113 138);margin:.2rem 0 0}
.dark .crs-card__by{color:rgb(139 147 167)}
.crs-card__meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-top:.7rem}
.crs-card__note{font-size:12.5px;line-height:1.9;color:rgb(180 83 9);margin:.6rem 0 0}
.dark .crs-card__note{color:rgb(251 191 36)}
.crs-card__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.9rem}

.crs-badge{display:inline-flex;align-items:center;gap:.35rem;height:1.7rem;padding:0 .6rem;border-radius:.6rem;
  font-size:11.5px;font-weight:800;line-height:1}
.crs-badge svg{width:.85rem;height:.85rem;flex:none}
.crs-badge--ok{background:rgba(16,185,129,.12);color:rgb(5 150 105)}
.dark .crs-badge--ok{color:rgb(52 211 153)}
.crs-badge--wait{background:rgba(245,158,11,.14);color:rgb(180 83 9)}
.dark .crs-badge--wait{color:rgb(251 191 36)}
.crs-badge--done{background:rgba(118,28,247,.12);color:rgb(103 16 220)}
.dark .crs-badge--done{color:rgb(190 167 255)}

.crs-chip{display:inline-flex;align-items:center;gap:.3rem;height:1.65rem;padding:0 .55rem;border-radius:.55rem;
  font-size:11.5px;font-weight:700;background:rgb(247 248 250);color:rgb(105 113 138)}
.dark .crs-chip{background:hsla(0,0%,100%,.05);color:rgb(160 168 187)}
.crs-chip svg{width:.8rem;height:.8rem;flex:none;opacity:.75}

.crs-progress{flex:1 1 12rem;min-width:9rem}
.crs-progress__top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  font-size:11.5px;font-weight:700;color:rgb(105 113 138);margin-bottom:.35rem}
.dark .crs-progress__top{color:rgb(160 168 187)}
.crs-progress__track{height:.4rem;border-radius:99px;background:rgb(238 240 244);overflow:hidden}
.dark .crs-progress__track{background:hsla(0,0%,100%,.09)}
.crs-progress__bar{height:100%;border-radius:99px;background:rgb(118 28 247);transition:width .5s cubic-bezier(.22,1,.36,1)}
.crs-progress__bar.is-done{background:rgb(16 185 129)}

.crs-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}

/* ─── حالت خالی و اسکلت بارگذاری ─── */
.pnl-empty{padding:2.5rem 1.5rem;text-align:center;border-radius:1.5rem;
  border:1px dashed rgb(217 221 230);background:#fff}
.dark .pnl-empty{border-color:hsla(0,0%,100%,.12);background:rgb(26 29 39)}
.pnl-empty__icon{width:3.5rem;height:3.5rem;margin:0 auto 1rem;border-radius:1.15rem;display:grid;
  place-items:center;background:rgb(244 241 255);color:rgb(118 28 247)}
.dark .pnl-empty__icon{background:rgba(118,28,247,.16);color:rgb(190 167 255)}
.pnl-empty__title{font-size:18px;font-weight:900;margin:0 0 .5rem}
.pnl-empty__text{font-size:13.5px;line-height:2;color:rgb(105 113 138);margin:0 0 1.35rem}
.dark .pnl-empty__text{color:rgb(139 147 167)}
@media (min-width:640px){.pnl-empty{padding:3rem 2rem}}

.pnl-skel{border-radius:1.35rem;border:1px solid rgb(238 240 244);background:#fff;padding:1.35rem;
  display:flex;gap:1.15rem}
.dark .pnl-skel{border-color:hsla(0,0%,100%,.1);background:rgb(26 29 39)}
.pnl-skel span{display:block;height:.75rem;border-radius:.6rem;background:rgb(238 240 244);
  animation:baPulse 1.4s ease-in-out infinite}
.dark .pnl-skel span{background:hsla(0,0%,100%,.07)}
.pnl-skel span.pnl-skel__thumb{flex:none;width:4.5rem;height:4.5rem;border-radius:1.1rem}
.pnl-skel__lines{flex:1 1 auto;display:grid;gap:.65rem;align-content:center}
.pnl-skel__lines span:nth-child(1){width:55%}
.pnl-skel__lines span:nth-child(2){width:32%}
.pnl-skel__lines span:nth-child(3){width:100%;height:.5rem}
@keyframes baPulse{0%,100%{opacity:1}50%{opacity:.45}}
@media (prefers-reduced-motion:reduce){.pnl-skel span{animation:none}}

/* ==========================================================================
   وصله ۴ — محتوای دوره داخل پنجره (فصل‌ها، جلسات و فایل‌ها)
   ========================================================================== */
.crs-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-bottom:1.15rem}
@media (min-width:560px){.crs-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}
.crs-summary__item{padding:.7rem .8rem;border-radius:.9rem;background:rgb(247 248 250);text-align:center}
.dark .crs-summary__item{background:hsla(0,0%,100%,.04)}
.crs-summary__num{display:block;font-size:17px;font-weight:900;line-height:1.5}
.crs-summary__lbl{display:block;font-size:11px;font-weight:700;color:rgb(105 113 138);margin-top:.1rem}
.dark .crs-summary__lbl{color:rgb(160 168 187)}

.crs-license{padding:.9rem 1rem;border-radius:1rem;margin-bottom:1.15rem;
  border:1px solid rgba(118,28,247,.2);background:rgb(244 241 255)}
.dark .crs-license{border-color:rgba(159,117,255,.28);background:rgba(118,28,247,.12)}
.crs-license__lbl{display:flex;align-items:center;gap:.4rem;font-size:12px;font-weight:800;margin:0 0 .45rem}
.crs-license__lbl svg{width:.95rem;height:.95rem}
.crs-license code{display:block;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  word-break:break-all;-webkit-user-select:all;user-select:all;direction:ltr;text-align:left}

.crs-chapter{border:1px solid rgb(238 240 244);border-radius:1.1rem;overflow:hidden;margin-bottom:.7rem}
.dark .crs-chapter{border-color:hsla(0,0%,100%,.1)}
.crs-chapter[open]{border-color:rgba(159,117,255,.45)}
.crs-chapter__head{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;cursor:pointer;
  list-style:none;transition:background-color .2s ease}
.crs-chapter__head::-webkit-details-marker{display:none}
.crs-chapter__head:hover{background:rgb(247 248 250)}
.dark .crs-chapter__head:hover{background:hsla(0,0%,100%,.04)}
.crs-chapter__num{flex:none;width:2.1rem;height:2.1rem;border-radius:.7rem;display:grid;place-items:center;
  font-size:12.5px;font-weight:900;background:rgb(244 241 255);color:rgb(103 16 220)}
.dark .crs-chapter__num{background:rgba(118,28,247,.18);color:rgb(190 167 255)}
.crs-chapter__title{flex:1 1 auto;min-width:0;font-size:13.5px;font-weight:800;line-height:1.7}
.crs-chapter__count{flex:none;font-size:11.5px;font-weight:700;color:rgb(105 113 138)}
.dark .crs-chapter__count{color:rgb(160 168 187)}
.crs-chapter__caret{flex:none;width:1.05rem;height:1.05rem;color:rgb(139 147 167);transition:transform .25s ease}
.crs-chapter[open] .crs-chapter__caret{transform:rotate(180deg)}
.crs-chapter__body{padding:0 1rem 1rem;border-top:1px solid rgb(238 240 244)}
.dark .crs-chapter__body{border-color:hsla(0,0%,100%,.07)}

.crs-session{padding-top:.9rem;margin-top:.9rem;border-top:1px solid rgb(238 240 244)}
.dark .crs-session{border-color:hsla(0,0%,100%,.06)}
.crs-session:first-child{padding-top:.9rem;margin-top:0;border-top:0}
.crs-session__head{display:flex;align-items:flex-start;gap:.6rem}
.crs-session__num{flex:none;width:1.6rem;height:1.6rem;border-radius:.5rem;display:grid;place-items:center;
  font-size:11px;font-weight:900;background:rgb(247 248 250);color:rgb(105 113 138);margin-top:.1rem}
.dark .crs-session__num{background:hsla(0,0%,100%,.06);color:rgb(160 168 187)}
.crs-session__title{font-size:13.5px;font-weight:700;line-height:1.8;margin:0}
.crs-session__meta{font-size:11.5px;color:rgb(105 113 138);margin:.15rem 0 0;line-height:1.8}
.dark .crs-session__meta{color:rgb(139 147 167)}
.crs-session__files{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.35rem}
@media (min-width:560px){.crs-session__files{margin-inline-start:2.2rem}}

.crs-file{display:flex;align-items:center;gap:.7rem;padding:.5rem .65rem;border-radius:.8rem;
  transition:background-color .2s ease}
.crs-file:hover{background:rgb(247 248 250)}
.dark .crs-file:hover{background:hsla(0,0%,100%,.04)}
.crs-file__icon{flex:none;width:2rem;height:2rem;border-radius:.6rem;display:grid;place-items:center;
  background:rgb(247 248 250);color:rgb(105 113 138)}
.dark .crs-file__icon{background:hsla(0,0%,100%,.06);color:rgb(160 168 187)}
.crs-file__icon svg{width:1rem;height:1rem}
.crs-file.is-viewed .crs-file__icon{background:rgba(16,185,129,.12);color:rgb(5 150 105)}
.dark .crs-file.is-viewed .crs-file__icon{color:rgb(52 211 153)}
.crs-file__txt{min-width:0;flex:1 1 auto}
.crs-file__name{display:block;font-size:13px;font-weight:700;line-height:1.7;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.crs-file__kind{display:block;font-size:11px;color:rgb(105 113 138)}
.dark .crs-file__kind{color:rgb(139 147 167)}
.crs-file__actions{flex:none;display:flex;align-items:center;gap:.4rem}
.crs-file__mark{height:1.85rem;padding:0 .6rem;border-radius:.55rem;font-size:11px;font-weight:800;
  border:1px solid rgb(217 221 230);color:rgb(105 113 138);white-space:nowrap;transition:all .2s ease}
.dark .crs-file__mark{border-color:hsla(0,0%,100%,.12);color:rgb(160 168 187)}
.crs-file__mark:hover{border-color:rgb(159 117 255);color:rgb(103 16 220)}
.crs-file__mark:disabled{opacity:.55;pointer-events:none}
.crs-file__seen{display:inline-flex;align-items:center;gap:.25rem;font-size:11px;font-weight:800;
  color:rgb(5 150 105);white-space:nowrap}
.dark .crs-file__seen{color:rgb(52 211 153)}
.crs-file__seen svg{width:.85rem;height:.85rem}
.crs-file__open{display:inline-flex;align-items:center;gap:.25rem;height:1.85rem;padding:0 .7rem;
  border-radius:.55rem;font-size:11.5px;font-weight:800;white-space:nowrap;
  background:rgba(118,28,247,.1);color:rgb(103 16 220);transition:all .2s ease}
.dark .crs-file__open{background:rgba(159,117,255,.16);color:rgb(217 206 255)}
.crs-file__open:hover{background:rgb(118 28 247);color:#fff}
.crs-file__open svg{width:.8rem;height:.8rem}
.crs-file__none{font-size:11px;color:rgb(160 168 187);white-space:nowrap}
@media (max-width:520px){
  .crs-file{flex-wrap:wrap}
  .crs-file__actions{width:100%;justify-content:flex-end}
}

.crs-note{padding:1rem 1.1rem;border-radius:1rem;font-size:13.5px;line-height:2;
  background:rgba(245,158,11,.1);color:rgb(180 83 9)}
.dark .crs-note{color:rgb(251 191 36)}

/* ==========================================================================
   وصله ۴.۵ — پخش‌کننده اختصاصی جلسه
   --------------------------------------------------------------------------
   قاب و کنترل‌ها مال سایت است؛ سطح ویدئو از گوگل درایو می‌آید و مستقیم به
   دستگاه دانشجو استریم می‌شود، پس هیچ ترافیکی از سرور آکادمی رد نمی‌شود.
   نوار بالای پخش‌کننده گوگل (دکمه «باز کردن در درایو») پوشانده می‌شود تا
   دانشجو از داخل پخش‌کننده به صفحه فایل نرسد.
   ========================================================================== */
.ba-player{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;
  justify-content:center;padding:1.5rem 1rem}
.ba-player.hidden{display:none}
.ba-player__backdrop{position:absolute;inset:0;background:rgba(6,7,11,.88);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ba-player__panel{position:relative;display:flex;flex-direction:column;width:100%;
  max-width:64rem;max-height:94vh;background:rgb(13 15 22);border:1px solid hsla(0,0%,100%,.1);
  border-radius:1.5rem;overflow:hidden;box-shadow:0 30px 90px -30px rgba(0,0,0,.8);color:#fff}

.ba-player__head{flex:none;display:flex;align-items:flex-start;justify-content:space-between;
  gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid hsla(0,0%,100%,.08)}
.ba-player__title{font-size:16px;font-weight:800;line-height:1.6;margin:0;color:#fff}
.ba-player__sub{font-size:12px;line-height:1.8;color:rgb(160 168 187);margin:.15rem 0 0}
.ba-player__head .ba-modal__x{border-color:hsla(0,0%,100%,.15);color:rgb(199 205 219)}
.ba-player__head .ba-modal__x:hover{border-color:rgb(159 117 255);color:#fff}

/* flex:none تا نسبت ۱۶:۹ برنده شود؛ وگرنه سطح پخش کشیده می‌شد و ویدئو
   وسط یک کادر سیاه بلند می‌افتاد. max-height برای نمایشگرهای کوتاه است. */
.ba-player__stage{position:relative;flex:none;background:#000;width:100%;
  aspect-ratio:16/9;max-height:calc(100dvh - 11rem)}
.ba-player__mount{position:absolute;inset:0}
.ba-player__mount iframe,.ba-player__mount video{position:absolute;inset:0;width:100%;height:100%;
  border:0;background:#000}
/* گوشه بالا-راست پخش‌کننده درایو دکمه «باز کردن در پنجره جدید» دارد */
.ba-player__cover{position:absolute;top:0;right:0;width:4.5rem;height:3.2rem;
  background:transparent;z-index:3}

.ba-player__mark{position:absolute;z-index:4;pointer-events:none;
  font-size:12px;font-weight:700;letter-spacing:.06em;color:hsla(0,0%,100%,.34);
  text-shadow:0 1px 3px rgba(0,0,0,.65);transition:top .8s ease,left .8s ease;
  padding:.2rem .5rem;border-radius:.4rem;background:rgba(0,0,0,.18);direction:ltr}

.ba-player__foot{flex:none;display:flex;align-items:center;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;padding:.85rem 1.25rem;border-top:1px solid hsla(0,0%,100%,.08);
  background:rgba(255,255,255,.03)}
.ba-player__pos{font-size:12px;font-weight:700;color:rgb(160 168 187)}
.ba-player__foot .pnl-btn{border-color:hsla(0,0%,100%,.15);color:rgb(224 228 238)}
.ba-player__foot .pnl-btn:hover{border-color:rgb(159 117 255);color:#fff}
.ba-player__foot .pnl-btn:disabled{opacity:.35;pointer-events:none}
.ba-player__foot .pnl-btn.is-done{border-color:rgba(16,185,129,.5);color:rgb(52 211 153)}

.ba-player__msg{position:absolute;inset:0;display:grid;place-items:center;text-align:center;
  padding:2rem;font-size:13.5px;line-height:2;color:rgb(160 168 187)}

@media (max-width:640px){
  .ba-player{padding:0}
  .ba-player__panel{max-width:none;height:100dvh;max-height:100dvh;border:0;border-radius:0;
    justify-content:center}
  .ba-player__foot{padding-bottom:max(.85rem,env(safe-area-inset-bottom))}
  .ba-player__foot .pnl-btn{height:2.4rem;padding:0 .75rem;font-size:12px}
}

/* دکمه پخش داخل فهرست فایل‌ها */
.crs-file__play{display:inline-flex;align-items:center;gap:.3rem;height:1.85rem;padding:0 .75rem;
  border-radius:.55rem;font-size:11.5px;font-weight:800;white-space:nowrap;
  background:rgb(118 28 247);color:#fff;transition:all .2s ease}
.crs-file__play:hover{background:rgb(103 16 220);transform:translateY(-1px)}
.crs-file__play svg{width:.8rem;height:.8rem}

/* ==========================================================================
   وصله ۴.۶ — بخش «درباره این دوره» در صفحه جزئیات
   --------------------------------------------------------------------------
   متن معرفی دوره‌های حضوری بلند است، پس باید تیتر و فهرست داشته باشد وگرنه
   دیوار متن می‌شود. اندازه و فاصله خطوط هم نسبت به قبل بزرگ‌تر شده تا
   خواندن چند هزار کلمه فارسی روی موبایل خسته‌کننده نباشد.
   ========================================================================== */
.crs-about{font-size:15px;line-height:2.25;color:rgb(82 90 112)}
.dark .crs-about{color:rgb(199 205 219)}
.crs-about > :first-child{margin-top:0}
.crs-about p{margin:0 0 1.15rem}
.crs-about h3{font-size:18px;font-weight:800;line-height:1.85;margin:2.1rem 0 .8rem;
  color:rgb(26 29 39);letter-spacing:-.01em;scroll-margin-top:6rem}
.dark .crs-about h3{color:rgb(238 240 244)}
.crs-about h3:before{content:"";display:block;width:2.2rem;height:.18rem;border-radius:99px;
  background:rgb(118 28 247);margin-bottom:.75rem}
.crs-about__list{margin:0 0 1.25rem;padding:0;list-style:none;display:grid;gap:.6rem}
.crs-about__list li{position:relative;padding-inline-start:1.6rem}
.crs-about__list li:before{content:"";position:absolute;inset-inline-start:.3rem;top:.95em;
  width:.42rem;height:.42rem;border-radius:99px;background:rgb(159 117 255)}
.crs-about strong{font-weight:800;color:rgb(26 29 39)}
.dark .crs-about strong{color:#fff}
@media (min-width:640px){ .crs-about{font-size:15.5px} .crs-about h3{font-size:19px} }

/* ==========================================================================
   وصله ۴.۷ — خانه‌های کد یک‌بارمصرف (بازیابی رمز در صفحه ورود)
   ========================================================================== */
.otp-box{width:3.4rem;height:3.9rem;text-align:center;font-size:24px;font-weight:800;
  font-variant-numeric:tabular-nums;border-radius:1rem;outline:none;
  background:rgb(247 248 250);border:1px solid rgb(217 221 230);color:rgb(26 29 39);
  transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
.dark .otp-box{background:hsla(0,0%,100%,.05);border-color:hsla(0,0%,100%,.12);color:#fff}
.otp-box:focus{border-color:rgb(131 64 255);background:#fff;box-shadow:0 0 0 4px var(--ring)}
.dark .otp-box:focus{background:hsla(0,0%,100%,.1)}
.otp-box.is-filled{border-color:rgb(159 117 255)}
.otp-box.field-error{border-color:rgb(239 68 68);box-shadow:0 0 0 4px rgba(239,68,68,.12)}

/* کلاس‌های به‌کاررفته در پنل بازیابی رمز */
.hover\:text-brand-600:hover{--tw-text-opacity:1;color:rgb(118 28 247/var(--tw-text-opacity,1))}
.disabled\:opacity-40:disabled{opacity:.4}
.disabled\:no-underline:disabled{text-decoration-line:none}
.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}
@media (max-width:380px){ .otp-box{width:3rem;height:3.5rem;font-size:21px} }

/* ==========================================================================
   وصله ۴.۷۵ — اقساط باز در پنل دانشجو
   ========================================================================== */
.pnl-dues{border-radius:1.35rem;border:1px solid rgba(245,158,11,.35);
  background:rgba(245,158,11,.07);padding:1.15rem 1.25rem}
.dark .pnl-dues{border-color:rgba(251,191,36,.28);background:rgba(251,191,36,.06)}
.pnl-dues__head{display:flex;align-items:center;gap:.85rem;margin-bottom:1rem}
.pnl-dues__icon{flex:none;width:2.6rem;height:2.6rem;border-radius:.9rem;display:grid;
  place-items:center;background:rgba(245,158,11,.16);color:rgb(180 83 9)}
.dark .pnl-dues__icon{color:rgb(251 191 36)}
.pnl-dues__icon svg{width:1.25rem;height:1.25rem}
.pnl-dues__title{font-size:14.5px;font-weight:800;margin:0}
.pnl-dues__sub{font-size:12px;color:rgb(105 113 138);margin:.15rem 0 0}
.dark .pnl-dues__sub{color:rgb(160 168 187)}
.pnl-dues__list{display:grid;gap:.6rem}

.due-row{display:flex;align-items:center;justify-content:space-between;gap:.9rem;
  flex-wrap:wrap;padding:.8rem .95rem;border-radius:1rem;background:#fff;
  border:1px solid rgb(238 240 244)}
.dark .due-row{background:rgb(26 29 39);border-color:hsla(0,0%,100%,.1)}
.due-row__info{min-width:0;flex:1 1 12rem}
.due-row__title{font-size:13px;font-weight:800;line-height:1.7;margin:0}
.due-row__meta{font-size:11.5px;color:rgb(105 113 138);margin:.15rem 0 0}
.dark .due-row__meta{color:rgb(160 168 187)}
.due-row__amount{font-size:14px;font-weight:900;white-space:nowrap}
.due-row.is-overdue{border-color:rgba(239,68,68,.45)}
.due-badge{display:inline-flex;align-items:center;height:1.5rem;padding:0 .5rem;
  border-radius:.5rem;font-size:11px;font-weight:800;margin-inline-start:.4rem}
.due-badge--overdue{background:rgba(239,68,68,.12);color:rgb(185 28 28)}
.dark .due-badge--overdue{color:rgb(252 165 165)}

/* ==========================================================================
   وصله ۴.۸ — صفحه نتیجه پرداخت
   ========================================================================== */
.pay-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.75rem .95rem;border-radius:.85rem;background:rgb(247 248 250);font-size:13.5px}
.dark .pay-row{background:hsla(0,0%,100%,.04)}
.pay-row dt{color:rgb(105 113 138);font-weight:700}
.dark .pay-row dt{color:rgb(160 168 187)}
.pay-row dd{margin:0;font-weight:800}
.select-all{-webkit-user-select:all;user-select:all}
@media (min-width:640px){.sm\:text-\[26px\]{font-size:26px}}

/* ==========================================================================
   وصله ۵ — متن مقاله (صفحه article.html)
   --------------------------------------------------------------------------
   متن مقاله‌ها از ویرایشگر قدیمی می‌آید و همه استایل‌های درون‌خطی‌اش هنگام
   پاک‌سازی حذف می‌شود؛ تایپوگرافی از اینجا می‌آید تا هم با بقیه سایت یکی
   باشد و هم در حالت تاریک خوانا بماند.
   ========================================================================== */
.prose-fa{font-size:15px;line-height:2.15;color:rgb(51 57 73)}
.dark .prose-fa{color:rgb(199 205 219)}
.prose-fa > :first-child{margin-top:0}
.prose-fa p{margin:0 0 1.35rem}
.prose-fa h2{font-size:22px;font-weight:900;line-height:1.7;margin:2.6rem 0 1rem;
  letter-spacing:-.01em;color:rgb(26 29 39);scroll-margin-top:6rem}
.prose-fa h3{font-size:18px;font-weight:800;line-height:1.75;margin:2.1rem 0 .85rem;
  color:rgb(26 29 39);scroll-margin-top:6rem}
.prose-fa h4{font-size:16px;font-weight:800;line-height:1.8;margin:1.7rem 0 .7rem;
  color:rgb(26 29 39)}
.dark .prose-fa h2,.dark .prose-fa h3,.dark .prose-fa h4{color:rgb(238 240 244)}
.prose-fa h2:before{content:"";display:block;width:2.6rem;height:.2rem;border-radius:99px;
  background:rgb(118 28 247);margin-bottom:.9rem}

.prose-fa ul,.prose-fa ol{margin:0 0 1.35rem;padding-inline-start:1.5rem}
.prose-fa ul{list-style:disc}
.prose-fa ol{list-style:decimal}
.prose-fa li{margin:.45rem 0;padding-inline-start:.25rem}
.prose-fa li::marker{color:rgb(118 28 247)}
.dark .prose-fa li::marker{color:rgb(159 117 255)}

.prose-fa a{color:rgb(103 16 220);font-weight:700;text-decoration:underline;
  text-underline-offset:.28em;text-decoration-thickness:1px}
.dark .prose-fa a{color:rgb(190 167 255)}
.prose-fa a:hover{color:rgb(118 28 247)}
.prose-fa strong,.prose-fa b{font-weight:800;color:rgb(26 29 39)}
.dark .prose-fa strong,.dark .prose-fa b{color:#fff}
.prose-fa u{text-underline-offset:.25em}

.prose-fa blockquote{margin:1.7rem 0;padding:1rem 1.2rem;border-radius:1rem;
  border-inline-start:.25rem solid rgb(118 28 247);background:rgb(247 248 250);
  font-size:14.5px}
.dark .prose-fa blockquote{background:hsla(0,0%,100%,.04)}

.prose-fa code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:13px;padding:.15rem .4rem;border-radius:.4rem;direction:ltr;display:inline-block;
  background:rgb(244 241 255);color:rgb(103 16 220)}
.dark .prose-fa code{background:rgba(118,28,247,.2);color:rgb(217 206 255)}
.prose-fa pre{margin:1.6rem 0;padding:1.1rem 1.2rem;border-radius:1rem;overflow-x:auto;
  direction:ltr;text-align:left;background:rgb(26 29 39);color:rgb(238 240 244);font-size:13px;
  line-height:1.9}
.prose-fa pre code{background:none;color:inherit;padding:0;display:block}

.prose-fa img{display:block;margin:1.7rem auto;border-radius:1rem;max-width:100%;height:auto}
.prose-fa figcaption{text-align:center;font-size:12.5px;color:rgb(105 113 138);margin-top:-.9rem}
.prose-fa hr{margin:2.2rem 0;border:0;border-top:1px solid rgb(238 240 244)}
.dark .prose-fa hr{border-color:hsla(0,0%,100%,.1)}

/* جدول‌های عریضِ متن باید خودشان اسکرول شوند، نه اینکه صفحه را بکشند */
.prose-table{overflow-x:auto;margin:1.7rem 0;border-radius:1rem;
  border:1px solid rgb(238 240 244)}
.dark .prose-table{border-color:hsla(0,0%,100%,.1)}
.prose-fa table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:34rem}
.prose-fa th,.prose-fa td{padding:.7rem .85rem;text-align:start;
  border-bottom:1px solid rgb(238 240 244)}
.dark .prose-fa th,.dark .prose-fa td{border-color:hsla(0,0%,100%,.08)}
.prose-fa th{font-weight:800;background:rgb(247 248 250)}
.dark .prose-fa th{background:hsla(0,0%,100%,.04)}
.prose-fa tr:last-child td{border-bottom:0}

@media (min-width:640px){ .prose-fa{font-size:15.5px} .prose-fa h2{font-size:24px} }

/* فهرست مطالب کنار متن */
.toc-link{display:block;color:rgb(105 113 138);line-height:1.9;
  border-inline-start:2px solid rgb(238 240 244);padding-inline-start:.7rem;
  transition:color .2s ease,border-color .2s ease}
.dark .toc-link{color:rgb(160 168 187);border-color:hsla(0,0%,100%,.12)}
.toc-link:hover{color:rgb(103 16 220);border-color:rgb(118 28 247)}
.dark .toc-link:hover{color:rgb(190 167 255);border-color:rgb(159 117 255)}
.toc-link.is-sub{padding-inline-start:1.5rem;font-size:12.5px;opacity:.85}

/* دکمه‌های هم‌رسانی */
.share-btn{display:inline-flex;align-items:center;gap:.45rem;height:2.4rem;padding:0 .9rem;
  border-radius:.85rem;font-size:12.5px;font-weight:800;white-space:nowrap;
  border:1px solid rgb(217 221 230);color:inherit;transition:all .22s ease}
.dark .share-btn{border-color:hsla(0,0%,100%,.12)}
.share-btn:hover{border-color:rgb(159 117 255);color:rgb(103 16 220);transform:translateY(-1px)}
.dark .share-btn:hover{color:rgb(190 167 255)}
.share-btn svg{width:1rem;height:1rem;flex:none}

/* ==========================================================================
   وصله ۵ — صفحه فهرست دوره‌ها (courses.html)
   --------------------------------------------------------------------------
   سربرگ صفحه و کارت دوره‌ها اینجا به‌صورت کامپوننت نوشته شده‌اند، نه با
   چیدن ده‌ها یوتیلیتی داخل HTML. دلیلش این است که تِیل‌ویند این پروژه از
   پیش بیلد شده و بیلد تازه‌ای اجرا نمی‌شود؛ پس هر یوتیلیتی تازه باید دستی
   به همین فایل اضافه شود. یک کامپوننت با نام روشن، هم کم‌خطرتر است و هم
   طرح را در یک جا نگه می‌دارد.
   ========================================================================== */

/* ── سربرگ صفحه ───────────────────────────────────────────────────────── */
.ch-wrap{position:relative;overflow:hidden;border-bottom:1px solid rgb(238 240 244)}
.dark .ch-wrap{border-bottom-color:hsla(0,0%,100%,.08)}

.ch-glow{position:absolute;border-radius:9999px;filter:blur(64px);pointer-events:none}
.ch-glow--a{top:-13rem;left:-9rem;width:34rem;height:34rem;background:rgba(159,117,255,.20)}
.ch-glow--b{bottom:-15rem;right:-6rem;width:26rem;height:26rem;background:rgba(252,211,77,.18)}
.dark .ch-glow--a{background:rgba(118,28,247,.18)}
.dark .ch-glow--b{background:rgba(245,158,11,.10)}

.ch-eyebrow{display:inline-flex;align-items:center;gap:.5rem;border-radius:9999px;
  background:rgb(244 241 255);color:rgb(103 16 220);
  padding:.4rem .9rem;font-size:12.5px;font-weight:800;line-height:1}
.dark .ch-eyebrow{background:rgba(118,28,247,.16);color:rgb(190 167 255)}
.ch-eyebrow::before{content:"";width:.45rem;height:.45rem;border-radius:9999px;
  background:rgb(103 16 220);flex:none}
.dark .ch-eyebrow::before{background:rgb(190 167 255)}

.ch-title{margin-top:1.25rem;font-size:31px;line-height:1.38;font-weight:900;letter-spacing:-.02em}
.ch-lead{margin-top:1.1rem;max-width:44rem;font-size:14.5px;line-height:2.1;
  color:rgb(82 90 112)}
.dark .ch-lead{color:rgb(190 196 210)}

/* نوار آمار — به‌جای سه جعبه جدا، یک نوار یکپارچه با جداکننده */
.ch-stats{margin-top:2rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  border-radius:1.5rem;border:1px solid rgb(238 240 244);background:#fff;
  overflow:hidden;box-shadow:0 18px 40px -32px rgba(13,15,22,.45)}
.dark .ch-stats{border-color:hsla(0,0%,100%,.10);background:rgba(26,29,39,.72)}

.ch-stat{padding:1.15rem .75rem;text-align:center;position:relative}
.ch-stat + .ch-stat::after{content:"";position:absolute;top:22%;bottom:22%;right:0;
  width:1px;background:rgb(238 240 244)}
.dark .ch-stat + .ch-stat::after{background:hsla(0,0%,100%,.10)}
.ch-stat__num{font-size:24px;font-weight:900;letter-spacing:-.02em;
  color:rgb(103 16 220);line-height:1.2;display:block}
.dark .ch-stat__num{color:rgb(190 167 255)}
.ch-stat__label{margin-top:.35rem;display:block;font-size:11.5px;font-weight:700;
  color:rgb(115 123 145)}
.dark .ch-stat__label{color:rgb(157 165 184)}

@media (min-width:640px){
  .ch-title{font-size:39px;line-height:1.34}
  .ch-stat{padding:1.35rem 1rem}
  .ch-stat__num{font-size:27px}
}
@media (min-width:1024px){
  .ch-title{font-size:45px;line-height:1.3}
  .ch-stats{margin-top:0}
}

/* ── کارت دوره ────────────────────────────────────────────────────────── */
.cc{position:relative;display:flex;flex-direction:column;overflow:hidden;
  border-radius:1.5rem;border:1px solid rgb(238 240 244);background:#fff;
  transition:transform .45s cubic-bezier(.22,1,.36,1),
             box-shadow .45s cubic-bezier(.22,1,.36,1),
             border-color .45s ease}
.dark .cc{border-color:hsla(0,0%,100%,.10);background:rgb(26 29 39)}
.cc:hover{transform:translateY(-6px);border-color:rgba(131,64,255,.42);
  box-shadow:0 26px 50px -26px rgba(13,15,22,.32)}
.dark .cc:hover{box-shadow:0 26px 50px -26px rgba(0,0,0,.7)}

.cc__media{position:relative;display:block;overflow:hidden;flex:none;
  background:rgb(238 240 244)}
.dark .cc__media{background:hsla(0,0%,100%,.05)}
.cc__img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;
  transition:transform .7s cubic-bezier(.22,1,.36,1)}
.cc:hover .cc__img{transform:scale(1.06)}

/* سایه‌روشن پایین تصویر تا برچسب‌های روی آن همیشه خوانا بمانند */
.cc__scrim{position:absolute;inset-inline:0;bottom:0;height:58%;pointer-events:none;
  background:linear-gradient(to top,rgba(9,10,16,.72),rgba(9,10,16,.18) 46%,transparent)}

.cc__badge{position:absolute;top:.85rem;inset-inline-end:.85rem;
  padding:.35rem .7rem;border-radius:.75rem;font-size:11px;font-weight:900;
  background:hsla(0,0%,100%,.94);color:rgb(26 29 39);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.dark .cc__badge{background:rgba(13,15,22,.86);color:rgb(238 240 244)}

.cc__off{position:absolute;top:.85rem;inset-inline-start:.85rem;
  padding:.35rem .65rem;border-radius:.75rem;font-size:11px;font-weight:900;
  color:#fff;background:linear-gradient(135deg,#e11d48,#f43f5e);
  box-shadow:0 8px 18px -8px rgba(225,29,72,.9)}

.cc__modes{position:absolute;bottom:.85rem;inset-inline-end:.85rem;
  display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}
.cc__mode{padding:.25rem .55rem;border-radius:.55rem;font-size:10.5px;font-weight:800;
  color:#fff;background:hsla(0,0%,100%,.18);border:1px solid hsla(0,0%,100%,.28);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);line-height:1.5}

.cc__body{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;
  padding:1.15rem 1.15rem 1.25rem}

.cc__title{font-size:15.5px;font-weight:800;line-height:1.85;letter-spacing:-.01em}
.cc__title a{transition:color .3s ease}
.cc:hover .cc__title a{color:rgb(103 16 220)}
.dark .cc:hover .cc__title a{color:rgb(190 167 255)}

/* دو خط ثابت تا کارت‌های کنار هم قدشان یکی بماند */
.cc__title span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden;min-height:3.7em}

.cc__meta{margin-top:.7rem;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.cc__chip{display:inline-flex;align-items:center;gap:.3rem;
  padding:.28rem .55rem;border-radius:.6rem;font-size:11px;font-weight:700;
  background:rgb(247 248 250);color:rgb(82 90 112);line-height:1.6}
.dark .cc__chip{background:hsla(0,0%,100%,.06);color:rgb(190 196 210)}
.cc__chip svg{width:.85rem;height:.85rem;flex:none;opacity:.75}

.cc__rate{display:inline-flex;align-items:center;gap:.28rem;font-weight:800;
  color:rgb(217 119 6)}
.dark .cc__rate{color:rgb(251 191 36)}
.cc__rate svg{width:.85rem;height:.85rem;flex:none;opacity:1}

.cc__spacer{flex:1 1 auto;min-height:.9rem}

.cc__foot{margin-top:.9rem;padding-top:.9rem;border-top:1px solid rgb(238 240 244);
  display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem}
.dark .cc__foot{border-top-color:hsla(0,0%,100%,.10)}

.cc__price{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.cc__old{font-size:11.5px;color:rgb(157 165 184);text-decoration:line-through}
.cc__now{display:flex;align-items:baseline;gap:.3rem;font-weight:900;
  font-size:17.5px;letter-spacing:-.02em;color:rgb(103 16 220)}
.dark .cc__now{color:rgb(190 167 255)}
.cc__unit{font-size:11px;font-weight:700;color:rgb(115 123 145)}
.dark .cc__unit{color:rgb(157 165 184)}
.cc__ask{font-size:14px;font-weight:900;color:rgb(103 16 220)}
.dark .cc__ask{color:rgb(190 167 255)}

.cc__seat{padding:.28rem .55rem;border-radius:.6rem;font-size:10.5px;font-weight:800;
  white-space:nowrap;background:rgb(247 248 250);color:rgb(115 123 145)}
.dark .cc__seat{background:hsla(0,0%,100%,.06);color:rgb(157 165 184)}
.cc__seat--low{background:rgb(254 242 242);color:rgb(190 18 60)}
.dark .cc__seat--low{background:rgba(225,29,72,.16);color:rgb(253 164 175)}

.cc__cta{margin-top:.9rem;display:flex;align-items:center;justify-content:center;gap:.4rem;
  height:2.6rem;border-radius:1rem;font-size:13px;font-weight:800;
  color:#fff;background:rgb(103 16 220);
  transition:background-color .3s ease,transform .3s ease}
.cc__cta:hover{background:rgb(85 11 184);transform:translateY(-1px)}
.cc__cta svg{width:1rem;height:1rem;transition:transform .3s ease}
.cc:hover .cc__cta svg{transform:translateX(-.2rem)}

/* حالت فهرستی — تصویر کنار متن */
@media (min-width:640px){
  .cc--row{flex-direction:row}
  .cc--row .cc__media{width:17.5rem}
  .cc--row .cc__img{height:100%;aspect-ratio:auto;min-height:12rem}
  .cc--row .cc__body{padding:1.35rem 1.35rem 1.45rem}
  .cc--row .cc__title span{min-height:0;-webkit-line-clamp:1}
}

/* ── اسکلت بارگذاری ───────────────────────────────────────────────────────
   تا وقتی داده نرسیده، جای کارت‌ها خالی نمی‌ماند. بدون این، کاربر چند لحظه
   یک صفحه بی‌محتوا می‌بیند و خیال می‌کند چیزی بارگذاری نشده. */
.cskel{border-radius:1.5rem;border:1px solid rgb(238 240 244);background:#fff;
  overflow:hidden}
.dark .cskel{border-color:hsla(0,0%,100%,.10);background:rgb(26 29 39)}
.cskel__media{width:100%;aspect-ratio:16/9}
.cskel__body{padding:1.15rem}
.cskel__line{height:.75rem;border-radius:9999px;margin-bottom:.6rem}
.cskel__line--sm{width:45%}
.cskel__line--lg{width:85%}
.cskel__foot{margin-top:1.1rem;height:2.6rem;border-radius:1rem}
.cskel__media,.cskel__line,.cskel__foot{
  background:linear-gradient(90deg,rgb(238 240 244) 25%,rgb(247 248 250) 37%,rgb(238 240 244) 63%);
  background-size:400% 100%;animation:ccShimmer 1.4s ease-in-out infinite}
.dark .cskel__media,.dark .cskel__line,.dark .cskel__foot{
  background:linear-gradient(90deg,hsla(0,0%,100%,.05) 25%,hsla(0,0%,100%,.10) 37%,hsla(0,0%,100%,.05) 63%);
  background-size:400% 100%}
@keyframes ccShimmer{0%{background-position:100% 0}100%{background-position:0 0}}
@media (prefers-reduced-motion:reduce){
  .cskel__media,.cskel__line,.cskel__foot{animation:none}
}

/* ==========================================================================
   وصله ۶ — کارت دوره در ریل صفحه اصلی
   --------------------------------------------------------------------------
   کارت به سه چیز خلاصه شده: تصویر، عنوان، و پاورقی قیمت و دکمه. تعداد
   جلسه و شمار دانشجو برداشته شده‌اند چون در یک ریل که کاربر سریع از کنارش
   رد می‌شود، تصمیم را عوض نمی‌کردند و فقط کارت را شلوغ می‌کردند.

   تفاوتش با کارت صفحه دوره‌ها: آنجا زیر تصویر یک ردیف چیپ مشخصات و چیپ
   ظرفیت هست؛ اینجا هیچ‌کدام نیست و به‌جایش یک نوار نازک رنگی زیر تصویر
   می‌نشیند که رنگش را از شیوه برگزاری می‌گیرد — حضوری بنفش، آنلاین سبز،
   ویدئویی طلایی. پس رنگ کارت اطلاعات می‌دهد، نه تزئین.
   ========================================================================== */

.hc{position:relative;display:flex;flex-direction:column;flex:none;
  width:19.5rem;scroll-snap-align:start;
  border-radius:1.5rem;border:1px solid rgb(238 240 244);background:#fff;overflow:hidden;
  transition:transform .45s cubic-bezier(.22,1,.36,1),
             box-shadow .45s cubic-bezier(.22,1,.36,1),
             border-color .45s ease}
.dark .hc{border-color:hsla(0,0%,100%,.10);background:rgb(26 29 39)}
.hc:hover{transform:translateY(-7px);border-color:rgba(131,64,255,.42);
  box-shadow:0 30px 56px -30px rgba(13,15,22,.36)}
.dark .hc:hover{box-shadow:0 30px 56px -30px rgba(0,0,0,.8)}

/* ── تصویر ── */
.hc__media{position:relative;display:block;overflow:hidden;flex:none;
  background:rgb(238 240 244)}
.dark .hc__media{background:hsla(0,0%,100%,.05)}
.hc__img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;
  transition:transform .8s cubic-bezier(.22,1,.36,1)}
.hc:hover .hc__img{transform:scale(1.07)}

.hc__scrim{position:absolute;inset-inline:0;bottom:0;height:62%;pointer-events:none;
  background:linear-gradient(to top,rgba(9,10,16,.78),rgba(9,10,16,.16) 52%,transparent)}

.hc__badge{position:absolute;top:.85rem;inset-inline-start:.85rem;
  padding:.3rem .7rem;border-radius:.7rem;font-size:10.5px;font-weight:900;
  background:hsla(0,0%,100%,.95);color:rgb(26 29 39);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.dark .hc__badge{background:rgba(13,15,22,.88);color:rgb(238 240 244)}

.hc__modes{position:absolute;bottom:.8rem;inset-inline-end:.85rem;
  display:flex;flex-wrap:wrap;gap:.3rem;justify-content:flex-end}
.hc__mode{padding:.22rem .55rem;border-radius:.5rem;font-size:10px;font-weight:800;
  color:#fff;background:hsla(0,0%,100%,.20);border:1px solid hsla(0,0%,100%,.30);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);line-height:1.6}

/* نوار رنگی شیوه برگزاری — تنها نشانه رنگی کارت */
.hc__accent{display:block;height:3px;flex:none}
.hc--onsite .hc__accent{background:linear-gradient(90deg,rgb(103 16 220),rgba(103,16,220,.25))}
.hc--online .hc__accent{background:linear-gradient(90deg,rgb(5 150 105),rgba(5,150,105,.25))}
.hc--video  .hc__accent{background:linear-gradient(90deg,rgb(217 119 6),rgba(217,119,6,.25))}
.hc--plain  .hc__accent{background:rgb(238 240 244)}
.dark .hc--plain .hc__accent{background:hsla(0,0%,100%,.12)}

/* ── بدنه ── */
.hc__body{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;
  padding:1.2rem 1.25rem 1.3rem}

.hc__title{font-size:16px;font-weight:900;line-height:1.8;letter-spacing:-.015em}
.hc__title a{color:rgb(13 15 22);transition:color .3s ease}
.dark .hc__title a{color:rgb(238 240 244)}
.hc:hover .hc__title a{color:rgb(103 16 220)}
.dark .hc:hover .hc__title a{color:rgb(190 167 255)}
.hc__title span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden;min-height:3.6em}

/* ── پاورقی ── */
.hc__foot{margin-top:auto;padding-top:1rem}
.hc__foot::before{content:"";display:block;height:1px;margin-bottom:1rem;
  background:linear-gradient(90deg,transparent,rgb(238 240 244) 15%,rgb(238 240 244) 85%,transparent)}
.dark .hc__foot::before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.12) 15%,hsla(0,0%,100%,.12) 85%,transparent)}

.hc__pay{display:flex;align-items:flex-end;justify-content:space-between;gap:.6rem;
  min-height:2.5rem}
.hc__old{display:block;font-size:11px;color:rgb(157 165 184);text-decoration:line-through;
  line-height:1.5}
.hc__now{display:flex;align-items:baseline;gap:.3rem;font-weight:900;font-size:19px;
  letter-spacing:-.025em;color:rgb(103 16 220);line-height:1.4}
.dark .hc__now{color:rgb(190 167 255)}
.hc__cur{font-size:10.5px;font-weight:700;color:rgb(115 123 145)}
.dark .hc__cur{color:rgb(157 165 184)}
.hc__ask{font-size:14.5px;font-weight:900;color:rgb(103 16 220)}
.dark .hc__ask{color:rgb(190 167 255)}

.hc__inst{padding:.25rem .55rem;border-radius:.55rem;font-size:10px;font-weight:800;
  white-space:nowrap;background:rgba(5,150,105,.12);color:rgb(4 108 78)}
.dark .hc__inst{background:rgba(16,185,129,.18);color:rgb(167 243 208)}

.hc__cta{margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:.4rem;
  height:2.75rem;border-radius:1rem;font-size:13px;font-weight:800;
  color:rgb(26 29 39);background:rgb(247 248 250);
  border:1px solid rgb(238 240 244);
  transition:background-color .3s ease,color .3s ease,border-color .3s ease}
.dark .hc__cta{color:rgb(238 240 244);background:hsla(0,0%,100%,.05);
  border-color:hsla(0,0%,100%,.10)}
.hc:hover .hc__cta{background:rgb(103 16 220);border-color:rgb(103 16 220);color:#fff}
.hc__cta svg{width:.95rem;height:.95rem;transition:transform .3s ease}
.hc:hover .hc__cta svg{transform:translateX(-.22rem)}

@media (min-width:640px){.hc{width:21rem}}

/* ==========================================================================
   وصله ۷ — قاب بخش دوره‌ها در صفحه اصلی
   --------------------------------------------------------------------------
   ریل دوره‌ها تا حالا روی پس‌زمینه ساده صفحه شناور بود و کارت‌ها لبه صفحه
   را بی‌مقدمه قطع می‌کردند. حالا بخش یک نوار رنگی ملایم می‌گیرد و دو طرف
   ریل محو می‌شود، تا معلوم باشد فهرست ادامه دارد.
   ========================================================================== */

.crl-band{position:relative;
  background:linear-gradient(180deg,rgb(247 248 250),rgba(247,248,250,0));
  border-top:1px solid rgb(238 240 244)}
.dark .crl-band{background:linear-gradient(180deg,hsla(0,0%,100%,.035),transparent);
  border-top-color:hsla(0,0%,100%,.08)}

/* ── نوار عنوان با شمار زنده ── */
.crl-count{display:inline-flex;align-items:center;gap:.35rem;margin-inline-start:.6rem;
  padding:.2rem .6rem;border-radius:999px;font-size:11.5px;font-weight:800;
  background:rgba(103,16,220,.10);color:rgb(74 11 163);vertical-align:middle}
.dark .crl-count{background:rgba(159,117,255,.18);color:rgb(214 199 255)}

/* ── کنترل بخش‌بندی‌شده فیلترها ──
   به‌جای چهار دکمه جدا، یک قاب یکپارچه که دکمه فعال داخلش برجسته می‌شود. */
.crl-seg{display:inline-flex;align-items:center;gap:.25rem;padding:.28rem;
  border-radius:1.1rem;background:rgb(238 240 244);border:1px solid rgb(232 235 241)}
.dark .crl-seg{background:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.08)}

.crl-seg .chip{height:2.25rem;border:0;border-radius:.85rem;background:transparent;
  padding-inline:.95rem;font-size:12.5px;font-weight:800;color:rgb(82 90 112);
  box-shadow:none}
.dark .crl-seg .chip{color:rgb(190 196 210)}
.crl-seg .chip:hover{color:rgb(103 16 220)}
.dark .crl-seg .chip:hover{color:rgb(214 199 255)}
.crl-seg .chip.is-active{background:#fff;color:rgb(74 11 163);
  box-shadow:0 2px 8px -3px rgba(13,15,22,.24)}
.dark .crl-seg .chip.is-active{background:rgb(37 41 55);color:rgb(214 199 255);
  box-shadow:0 2px 8px -3px rgba(0,0,0,.6)}

/* ── محو شدن دو لبه ریل ──
   ماسک روی خود ریل نمی‌نشیند (اسکرول را خراب می‌کند)، پس دو لایه روی
   قاب بیرونی گذاشته می‌شود. */
.crl-wrap{position:relative}
.crl-wrap::before,.crl-wrap::after{content:"";position:absolute;top:0;bottom:1rem;
  width:3.5rem;pointer-events:none;z-index:1}
.crl-wrap::before{right:0;background:linear-gradient(to left,rgb(250 250 252),rgba(250,250,252,0))}
.crl-wrap::after{left:0;background:linear-gradient(to right,rgb(250 250 252),rgba(250,250,252,0))}
.dark .crl-wrap::before{background:linear-gradient(to left,rgb(13 15 22),rgba(13,15,22,0))}
.dark .crl-wrap::after{background:linear-gradient(to right,rgb(13 15 22),rgba(13,15,22,0))}
@media (max-width:640px){.crl-wrap::before,.crl-wrap::after{width:1.5rem}}

/* ── پاورقی بخش ── */
.crl-foot{display:flex;flex-direction:column;align-items:center;gap:1rem;
  margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgb(238 240 244)}
.dark .crl-foot{border-top-color:hsla(0,0%,100%,.08)}
.crl-foot__note{font-size:13px;color:rgb(115 123 145);text-align:center}
.dark .crl-foot__note{color:rgb(157 165 184)}
.crl-all{display:inline-flex;align-items:center;gap:.45rem;height:2.85rem;
  padding-inline:1.4rem;border-radius:1rem;font-size:13.5px;font-weight:800;
  color:rgb(103 16 220);background:rgba(103,16,220,.08);
  transition:background-color .3s ease,transform .3s ease}
.dark .crl-all{color:rgb(214 199 255);background:rgba(159,117,255,.14)}
.crl-all:hover{background:rgb(103 16 220);color:#fff;transform:translateY(-1px)}
.dark .crl-all:hover{background:rgb(118 28 247);color:#fff}
.crl-all svg{width:1rem;height:1rem;transition:transform .3s ease}
.crl-all:hover svg{transform:translateX(-.2rem)}

@media (min-width:640px){
  .crl-foot{flex-direction:row;justify-content:space-between;align-items:center}
  .crl-foot__note{text-align:start}
}


/* فاصله حروف کد تخفیف در نوار بالای صفحه */
.tracking-\[\.14em\]{letter-spacing:.14em}

/* ==========================================================================
   وصله ۸ — کادر کد تخفیف در صفحه دوره
   --------------------------------------------------------------------------
   تخفیف کمپین خودکار اعمال می‌شود، اما دانشجو راهی نداشت کد دیگری وارد
   کند یا ببیند چه کدی روی سفارشش نشسته است. این کادر همان جای تصمیم — کنار
   دکمه پرداخت — می‌نشیند.
   ========================================================================== */

.promo{margin-top:1.25rem;padding:.9rem;border-radius:1.1rem;
  border:1px dashed rgb(217 221 230);background:rgb(250 250 252)}
.dark .promo{border-color:hsla(0,0%,100%,.16);background:hsla(0,0%,100%,.03)}

.promo__label{display:block;font-size:11.5px;font-weight:800;
  color:rgb(115 123 145);margin-bottom:.5rem}
.dark .promo__label{color:rgb(157 165 184)}

.promo__row{display:flex;gap:.5rem}
.promo__input{flex:1;min-width:0;height:2.7rem;padding-inline:.85rem;
  border-radius:.85rem;border:1px solid rgb(217 221 230);background:#fff;
  font-size:13px;font-weight:800;letter-spacing:.08em;
  font-family:ui-monospace,Menlo,Consolas,monospace;
  color:rgb(26 29 39);outline:none;transition:border-color .25s ease}
.dark .promo__input{border-color:hsla(0,0%,100%,.16);background:rgb(26 29 39);
  color:rgb(238 240 244)}
.promo__input::placeholder{letter-spacing:0;font-weight:600;color:rgb(168 174 192);
  font-family:Vazirmatn,system-ui,sans-serif}
.promo__input:focus{border-color:rgb(103 16 220)}
.dark .promo__input:focus{border-color:rgb(159 117 255)}

.promo__btn{flex:none;height:2.7rem;padding-inline:1.05rem;border-radius:.85rem;
  font-size:12.5px;font-weight:800;color:#fff;background:rgb(103 16 220);
  transition:background-color .25s ease}
.promo__btn:hover{background:rgb(85 11 184)}
.promo__btn:disabled{opacity:.55;cursor:default}

.promo__msg{display:block;margin-top:.55rem;font-size:11.5px;font-weight:700;
  line-height:1.9}
.promo__msg--ok{color:rgb(4 108 78)}
.dark .promo__msg--ok{color:rgb(110 231 183)}
.promo__msg--bad{color:rgb(190 18 60)}
.dark .promo__msg--bad{color:rgb(253 164 175)}

/* حالت اعمال‌شده: کادر سبز می‌شود و دکمه به «حذف» تبدیل */
.promo.is-applied{border-style:solid;border-color:rgba(5,150,105,.45);
  background:rgba(5,150,105,.06)}
.dark .promo.is-applied{border-color:rgba(16,185,129,.4);background:rgba(16,185,129,.08)}
.promo.is-applied .promo__btn{background:transparent;color:rgb(115 123 145);
  border:1px solid rgb(217 221 230)}
.dark .promo.is-applied .promo__btn{color:rgb(157 165 184);border-color:hsla(0,0%,100%,.16)}
.promo.is-applied .promo__btn:hover{background:rgba(13,15,22,.05);color:rgb(190 18 60)}
.dark .promo.is-applied .promo__btn:hover{background:hsla(0,0%,100%,.06);color:rgb(253 164 175)}

/* ==========================================================================
   وصله ۹ — بخش «دعوت از دوستان» در پنل دانشجو
   --------------------------------------------------------------------------
   این بخش باید در نگاه اول دیده شود، پس تنها کارت پنل است که پس‌زمینه پررنگ
   دارد. بقیه پنل روشن و آرام است تا این یکی بیرون بزند.
   ========================================================================== */

.inv{position:relative;overflow:hidden;border-radius:1.75rem;
  background:linear-gradient(135deg,#3b0f8f 0%,#6710dc 46%,#8340ff 100%);
  color:#fff;box-shadow:0 28px 60px -34px rgba(74,11,163,.75)}
.dark .inv{background:linear-gradient(135deg,#2a0a68 0%,#4a0ba3 48%,#6710dc 100%)}

.inv::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(42% 78% at 88% 8%,rgba(251,191,36,.34),transparent 66%),
             radial-gradient(38% 70% at 6% 96%,rgba(255,255,255,.16),transparent 68%)}

.inv__in{position:relative;padding:1.6rem 1.5rem 1.7rem}

.inv__tag{display:inline-flex;align-items:center;gap:.45rem;
  padding:.32rem .8rem;border-radius:999px;font-size:11.5px;font-weight:900;
  background:#fbbf24;color:#1a1206}
.inv__tag i{width:.42rem;height:.42rem;border-radius:999px;background:#1a1206;flex:none}

.inv__title{margin-top:.9rem;font-size:20px;font-weight:900;line-height:1.7;
  letter-spacing:-.02em}
.inv__title b{color:#fcd34d}
.inv__lead{margin-top:.6rem;font-size:13px;line-height:2;color:rgba(255,255,255,.86);
  max-width:46ch}

/* ── نوار آمار ── */
.inv__stats{margin-top:1.25rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem}
.inv__stat{padding:.7rem .8rem;border-radius:1rem;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16)}
.inv__stat b{display:block;font-size:17px;font-weight:900;letter-spacing:-.02em;
  line-height:1.5}
.inv__stat span{display:block;margin-top:.1rem;font-size:10.5px;font-weight:700;
  color:rgba(255,255,255,.72)}
.inv__stat--gold b{color:#fcd34d}

/* ── فرم دعوت ── */
.inv__form{margin-top:1.25rem;display:flex;gap:.5rem;flex-wrap:wrap}
.inv__input{flex:1 1 11rem;min-width:0;height:3rem;padding-inline:.95rem;
  border-radius:1rem;border:1px solid rgba(255,255,255,.26);
  background:rgba(255,255,255,.12);color:#fff;
  font-size:14px;font-weight:800;letter-spacing:.05em;
  font-family:ui-monospace,Menlo,Consolas,monospace;
  outline:none;transition:border-color .25s ease,background-color .25s ease}
.inv__input::placeholder{color:rgba(255,255,255,.55);letter-spacing:0;font-weight:600;
  font-family:Vazirmatn,system-ui,sans-serif}
.inv__input:focus{border-color:#fcd34d;background:rgba(255,255,255,.18)}

.inv__send{flex:none;height:3rem;padding-inline:1.35rem;border-radius:1rem;
  font-size:13.5px;font-weight:900;background:#fcd34d;color:#1a1206;
  display:inline-flex;align-items:center;gap:.4rem;
  transition:background-color .25s ease,transform .25s ease}
.inv__send:hover{background:#fbbf24;transform:translateY(-1px)}
.inv__send:disabled{opacity:.6;transform:none;cursor:default}
.inv__send svg{width:1rem;height:1rem}

.inv__msg{display:block;margin-top:.7rem;font-size:12px;font-weight:800;line-height:1.9}
.inv__msg--ok{color:#86efac}
.inv__msg--bad{color:#fda4af}

/* ── لینک اشتراک ── */
.inv__share{margin-top:1rem;display:flex;align-items:center;gap:.5rem;
  padding:.6rem .75rem;border-radius:1rem;
  background:rgba(0,0,0,.22);border:1px dashed rgba(255,255,255,.28)}
.inv__link{flex:1;min-width:0;font-size:11.5px;font-family:ui-monospace,Menlo,Consolas,monospace;
  color:rgba(255,255,255,.9);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  direction:ltr;text-align:left}
.inv__copy{flex:none;height:2rem;padding-inline:.75rem;border-radius:.65rem;
  font-size:11.5px;font-weight:800;background:rgba(255,255,255,.16);color:#fff;
  transition:background-color .25s ease}
.inv__copy:hover{background:rgba(255,255,255,.28)}

/* ── فهرست دعوت‌ها ── */
.inv__list{margin-top:1.1rem;display:flex;flex-direction:column;gap:.4rem;
  max-height:15rem;overflow-y:auto}
.inv__row{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;
  border-radius:.85rem;background:rgba(255,255,255,.09);font-size:12px}
.inv__row b{font-weight:800;direction:ltr}
.inv__row span{margin-inline-start:auto;font-size:10.5px;font-weight:800;
  padding:.2rem .5rem;border-radius:.5rem;white-space:nowrap}
.inv__row .is-sent{background:rgba(255,255,255,.16);color:rgba(255,255,255,.85)}
.inv__row .is-joined{background:rgba(251,191,36,.24);color:#fde68a}
.inv__row .is-paid{background:rgba(34,197,94,.26);color:#bbf7d0}

/* ── حالت قفل ── */
.inv--locked .inv__in{opacity:.96}
.inv__locked{margin-top:1.1rem;padding:.85rem 1rem;border-radius:1rem;
  background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.16);
  font-size:12.5px;font-weight:700;line-height:1.95;color:rgba(255,255,255,.9)}

@media (min-width:640px){
  .inv__in{padding:2rem 2rem 2.1rem}
  .inv__title{font-size:24px}
  .inv__stats{grid-template-columns:repeat(4,minmax(0,1fr))}
  .inv__stat b{font-size:19px}
}


/* کادر خوش‌آمد لینک دعوت در صفحه ثبت‌نام */
.border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}
.dark\:border-emerald-500\/30:is(.dark *){border-color:rgba(16,185,129,.3)}

/* ==========================================================================
   وصله ۱۰ — دوره‌های پیشنهادی کنار مقاله
   --------------------------------------------------------------------------
   خواننده مقاله هنوز مشتری نیست؛ آمده چیزی یاد بگیرد. پس این کادر باید
   پیشنهاد بدهد نه داد بزند: قیمت دیده می‌شود چون همان چیزی است که تصمیم را
   جلو می‌اندازد، ولی رنگ‌های تند و دکمه بزرگ ندارد تا وسط خواندن مزاحم نشود.
   ========================================================================== */

.arc{border-radius:1.5rem;border:1px solid rgb(238 240 244);background:#fff;
  overflow:hidden}
.dark .arc{border-color:hsla(0,0%,100%,.10);background:rgb(26 29 39)}

.arc__head{padding:1.1rem 1.15rem .9rem;border-bottom:1px solid rgb(238 240 244)}
.dark .arc__head{border-bottom-color:hsla(0,0%,100%,.08)}
.arc__kicker{display:inline-flex;align-items:center;gap:.4rem;font-size:11px;
  font-weight:800;color:rgb(103 16 220);background:rgba(103,16,220,.09);
  padding:.25rem .6rem;border-radius:999px}
.dark .arc__kicker{color:rgb(214 199 255);background:rgba(159,117,255,.16)}
.arc__title{margin-top:.6rem;font-size:14.5px;font-weight:900;line-height:1.8;
  letter-spacing:-.01em}
.arc__sub{margin-top:.25rem;font-size:11.5px;line-height:1.85;color:rgb(115 123 145)}
.dark .arc__sub{color:rgb(157 165 184)}

.arc__list{display:flex;flex-direction:column}

.arc__item{display:flex;gap:.75rem;padding:.85rem 1.15rem;
  border-bottom:1px solid rgb(244 245 248);transition:background-color .25s ease}
.dark .arc__item{border-bottom-color:hsla(0,0%,100%,.06)}
.arc__item:last-child{border-bottom:0}
.arc__item:hover{background:rgb(250 250 252)}
.dark .arc__item:hover{background:hsla(0,0%,100%,.04)}

.arc__thumb{width:4rem;height:4rem;flex:none;border-radius:.85rem;object-fit:cover;
  background:rgb(238 240 244)}
.dark .arc__thumb{background:hsla(0,0%,100%,.06)}

.arc__body{min-width:0;display:flex;flex-direction:column;justify-content:center}
.arc__name{font-size:12.5px;font-weight:800;line-height:1.75;color:rgb(13 15 22);
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.dark .arc__name{color:rgb(238 240 244)}
.arc__item:hover .arc__name{color:rgb(103 16 220)}
.dark .arc__item:hover .arc__name{color:rgb(190 167 255)}

.arc__meta{margin-top:.3rem;display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}
.arc__price{font-size:12.5px;font-weight:900;color:rgb(103 16 220);letter-spacing:-.01em}
.dark .arc__price{color:rgb(190 167 255)}
.arc__unit{font-size:10px;font-weight:700;color:rgb(115 123 145)}
.dark .arc__unit{color:rgb(157 165 184)}
.arc__old{font-size:10.5px;color:rgb(168 174 192);text-decoration:line-through}
.arc__mode{font-size:10px;font-weight:800;padding:.14rem .4rem;border-radius:.4rem;
  background:rgb(247 248 250);color:rgb(82 90 112)}
.dark .arc__mode{background:hsla(0,0%,100%,.07);color:rgb(190 196 210)}

.arc__all{display:flex;align-items:center;justify-content:center;gap:.35rem;
  padding:.8rem;font-size:12px;font-weight:800;color:rgb(103 16 220);
  border-top:1px solid rgb(238 240 244);transition:background-color .25s ease}
.dark .arc__all{color:rgb(214 199 255);border-top-color:hsla(0,0%,100%,.08)}
.arc__all:hover{background:rgba(103,16,220,.06)}
.dark .arc__all:hover{background:rgba(159,117,255,.10)}
.arc__all svg{width:.85rem;height:.85rem;transition:transform .25s ease}
.arc__all:hover svg{transform:translateX(-.15rem)}

/* ==========================================================================
   وصله ۱۱ — پنل «کد کپی شد» در کادر پیشنهاد
   --------------------------------------------------------------------------
   لحظه‌ای که کاربر کد را کپی می‌کند، آماده‌ترین لحظه‌اش برای رفتن به صفحه
   دوره‌هاست. پیام قبلی بعد از سه ثانیه محو می‌شد و همان فرصت را می‌سوزاند؛
   این پنل می‌ماند تا کاربر روی دکمه‌اش کلیک کند.

   کادر پیشنهاد پس‌زمینه تیره دارد، پس رنگ‌های اینجا برای زمینه تیره
   انتخاب شده‌اند، نه برای تم روشن و تاریک سایت.
   ========================================================================== */

.cpd{margin-top:1rem;display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;
  padding:.85rem 1rem;border-radius:1.15rem;
  background:rgba(16,185,129,.14);border:1px solid rgba(52,211,153,.34)}

.cpd__tick{flex:none;width:2rem;height:2rem;border-radius:999px;
  background:#34d399;color:#052e22;display:grid;place-items:center}
.cpd__tick svg{width:1.05rem;height:1.05rem}

.cpd__text{flex:1 1 12rem;min-width:0;font-size:12.5px;font-weight:800;
  line-height:1.85;color:#d1fae5}
.cpd__text b{font-family:ui-monospace,Menlo,Consolas,monospace;
  letter-spacing:.1em;color:#6ee7b7}
.cpd__hint{display:block;margin-top:.15rem;font-size:11.5px;font-weight:600;
  color:rgba(209,250,229,.72)}

.cpd__cta{flex:none;display:inline-flex;align-items:center;gap:.4rem;
  height:2.75rem;padding-inline:1.15rem;border-radius:1rem;
  font-size:13px;font-weight:900;background:#fcd34d;color:#1a1206;
  transition:background-color .25s ease,transform .25s ease}
.cpd__cta:hover{background:#fbbf24;transform:translateY(-1px)}
.cpd__cta svg{width:1rem;height:1rem;transition:transform .25s ease}
.cpd__cta:hover svg{transform:translateX(-.2rem)}

@media (max-width:520px){
  .cpd__cta{width:100%;justify-content:center}
}

/* ==========================================================================
   وصله ۱۲ — کارت شناور بالای صفحه اصلی
   --------------------------------------------------------------------------
   قبلاً یک div ثابت بود؛ حالا لینک است و محتوایش از پنل مدیریت می‌آید. چون
   کلیک‌پذیر شد، باید حالت هاور و فوکوس داشته باشد و فلش کوچکی نشان بدهد که
   جایی می‌برد — وگرنه کاربر نمی‌فهمد قابل کلیک است.
   ========================================================================== */

.hcard{position:absolute;bottom:-1.75rem;inset-inline-end:-.75rem;width:15.5rem;
  display:block;padding:1rem;border-radius:1.5rem;
  border:1px solid rgb(238 240 244);background:#fff;
  box-shadow:0 18px 40px -20px rgba(13,15,22,.32);
  transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,
             border-color .35s ease}
.dark .hcard{border-color:hsla(0,0%,100%,.12);background:rgb(26 29 39);
  box-shadow:0 18px 40px -20px rgba(0,0,0,.7)}
.hcard:hover{transform:translateY(-4px);border-color:rgba(131,64,255,.45);
  box-shadow:0 26px 50px -22px rgba(13,15,22,.4)}
.hcard:focus-visible{outline:2px solid rgb(103 16 220);outline-offset:3px}

.hcard__top{display:flex;align-items:center;gap:.75rem}
.hcard__icon{flex:none;width:2.75rem;height:2.75rem;border-radius:.85rem;
  display:grid;place-items:center;
  background:rgb(209 250 229);color:rgb(4 108 78)}
.dark .hcard__icon{background:rgba(16,185,129,.16);color:rgb(110 231 183)}
.hcard__icon svg{width:1.25rem;height:1.25rem}

.hcard__lines{min-width:0;flex:1;line-height:1.35}
.hcard__l1{display:block;font-size:12px;color:rgb(115 123 145)}
.dark .hcard__l1{color:rgb(157 165 184)}
.hcard__l2{display:block;margin-top:.15rem;font-size:14px;font-weight:800;
  color:rgb(13 15 22);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dark .hcard__l2{color:rgb(238 240 244)}

.hcard__go{flex:none;width:1rem;height:1rem;color:rgb(168 174 192);
  transition:transform .3s ease,color .3s ease}
.hcard:hover .hcard__go{color:rgb(103 16 220);transform:translateX(-.2rem)}
.dark .hcard:hover .hcard__go{color:rgb(190 167 255)}

.hcard__foot{display:block;margin-top:.9rem}
.hcard__foot-row{display:flex;align-items:center;justify-content:space-between;
  font-size:11.5px;margin-bottom:.375rem;color:rgb(115 123 145)}
.dark .hcard__foot-row{color:rgb(157 165 184)}
.hcard__foot-row b{font-weight:800;color:rgb(217 119 6)}
.dark .hcard__foot-row b{color:rgb(251 191 36)}

.hcard__bar{display:block;height:.375rem;border-radius:999px;overflow:hidden;
  background:rgb(238 240 244)}
.dark .hcard__bar{background:hsla(0,0%,100%,.10)}
.hcard__bar i{display:block;height:100%;border-radius:999px;
  background:linear-gradient(to left,rgb(251 191 36),rgb(131 64 255))}

/* کارت بدون دوره کلیک‌پذیر نیست، پس نباید مثل لینک رفتار کند */
.hcard--static{cursor:default}
.hcard--static:hover{transform:none;border-color:rgb(238 240 244);
  box-shadow:0 18px 40px -20px rgba(13,15,22,.32)}
.dark .hcard--static:hover{border-color:hsla(0,0%,100%,.12)}
.hcard--static .hcard__go{display:none}

@media (min-width:640px){.hcard{inset-inline-end:-2rem}}

/* ==========================================================================
   وصله ۱۳ — ثبت‌نام دوره حضوری در صفحه دوره
   --------------------------------------------------------------------------
   دوره حضوری آنلاین خریداری نمی‌شود؛ آکادمی باید تماس بگیرد و جا را قطعی
   کند. پس این فرم فقط نام و شماره می‌گیرد و درخواست را در همان صف مشاوره‌های
   پنل مدیریت می‌نشاند، با منبع «ثبت‌نام حضوری» تا از مشاوره عادی جدا باشد.
   ========================================================================== */

.ons{margin-top:1.25rem;padding:1.15rem;border-radius:1.35rem;
  border:1px solid rgba(103,16,220,.22);background:rgba(103,16,220,.05)}
.dark .ons{border-color:rgba(159,117,255,.26);background:rgba(159,117,255,.08)}

.ons__tag{display:inline-flex;align-items:center;gap:.4rem;font-size:11px;
  font-weight:900;padding:.25rem .6rem;border-radius:999px;
  background:rgb(103 16 220);color:#fff}
.ons__title{margin-top:.65rem;font-size:14.5px;font-weight:900;line-height:1.75}
.ons__lead{margin-top:.35rem;font-size:12px;line-height:1.95;color:rgb(115 123 145)}
.dark .ons__lead{color:rgb(157 165 184)}

.ons__form{margin-top:.9rem;display:grid;gap:.5rem}
.ons__input{width:100%;height:2.85rem;padding-inline:.9rem;border-radius:.95rem;
  border:1px solid rgb(217 221 230);background:#fff;
  font-size:13px;font-weight:700;color:rgb(26 29 39);
  outline:none;transition:border-color .25s ease}
.dark .ons__input{border-color:hsla(0,0%,100%,.16);background:rgb(26 29 39);
  color:rgb(238 240 244)}
.ons__input::placeholder{font-weight:600;color:rgb(168 174 192)}
.ons__input:focus{border-color:rgb(103 16 220)}
.ons__input[dir="ltr"]{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em}

.ons__btn{height:2.95rem;border-radius:.95rem;font-size:13.5px;font-weight:900;
  color:#fff;background:rgb(103 16 220);
  display:flex;align-items:center;justify-content:center;gap:.4rem;
  transition:background-color .25s ease,transform .25s ease}
.ons__btn:hover{background:rgb(85 11 184);transform:translateY(-1px)}
.ons__btn:disabled{opacity:.6;transform:none;cursor:default}
.ons__btn svg{width:1rem;height:1rem}

.ons__msg{display:block;font-size:12px;font-weight:800;line-height:1.9}
.ons__msg--ok{color:rgb(4 108 78)}
.dark .ons__msg--ok{color:rgb(110 231 183)}
.ons__msg--bad{color:rgb(190 18 60)}
.dark .ons__msg--bad{color:rgb(253 164 175)}

/* پس از ثبت موفق، فرم جای خود را به تأیید می‌دهد */
.ons__done{display:flex;align-items:flex-start;gap:.65rem;margin-top:.9rem;
  padding:.85rem .9rem;border-radius:1rem;
  background:rgba(5,150,105,.10);border:1px solid rgba(5,150,105,.3)}
.dark .ons__done{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.32)}
.ons__done svg{flex:none;width:1.15rem;height:1.15rem;margin-top:.15rem;
  color:rgb(4 108 78)}
.dark .ons__done svg{color:rgb(110 231 183)}
.ons__done p{margin:0;font-size:12.5px;font-weight:700;line-height:1.95;
  color:rgb(4 108 78)}
.dark .ons__done p{color:rgb(167 243 208)}

/* ==========================================================================
   وصله ۱۴ — ورودی پنل مدیریت داخل پنل دانشجو
   --------------------------------------------------------------------------
   لینک «پنل مدیریت» فقط در هدر بود و آن هم با کلاس‌های hidden lg:inline-flex،
   یعنی زیر عرض lg اصلاً دیده نمی‌شد. مدیری که با موبایل یا پنجره باریک
   می‌آمد هیچ راهی به پنل نداشت.

   این کارت داخل خود پنل دانشجو می‌نشیند و در همه اندازه‌ها هست. رنگش تیره
   و خنثی است تا با کارت بنفش «دعوت از دوستان» اشتباه نشود و معلوم باشد
   بخش دیگری از سایت است.
   ========================================================================== */

.admx{position:relative;overflow:hidden;border-radius:1.5rem;
  background:linear-gradient(135deg,#12141f 0%,#1d2130 55%,#2a2f45 100%);
  color:#fff;border:1px solid rgba(255,255,255,.10)}
.admx::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(40% 80% at 92% 10%,rgba(159,117,255,.28),transparent 68%)}

.admx__in{position:relative;padding:1.3rem 1.35rem;
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap}

.admx__icon{flex:none;width:3rem;height:3rem;border-radius:1rem;display:grid;
  place-items:center;background:rgba(159,117,255,.20);color:#c4aeff;
  border:1px solid rgba(159,117,255,.32)}
.admx__icon svg{width:1.35rem;height:1.35rem}

.admx__body{flex:1 1 12rem;min-width:0}
.admx__title{font-size:15px;font-weight:900;line-height:1.7}
.admx__sub{margin-top:.15rem;font-size:12px;line-height:1.9;color:rgba(255,255,255,.62)}

.admx__cta{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  height:2.85rem;padding-inline:1.35rem;border-radius:1rem;
  font-size:13px;font-weight:900;background:#fff;color:#12141f;
  transition:background-color .25s ease,transform .25s ease}
.admx__cta:hover{background:#e9e6f2;transform:translateY(-1px)}
.admx__cta svg{width:1rem;height:1rem;transition:transform .25s ease}
.admx__cta:hover svg{transform:translateX(-.2rem)}

/* میان‌برهای پرکاربرد پنل */
.admx__links{position:relative;display:flex;flex-wrap:wrap;gap:.4rem;
  padding:0 1.35rem 1.25rem}
.admx__link{display:inline-flex;align-items:center;gap:.3rem;
  padding:.34rem .7rem;border-radius:.7rem;font-size:11.5px;font-weight:800;
  background:rgba(255,255,255,.09);color:rgba(255,255,255,.86);
  border:1px solid rgba(255,255,255,.12);
  transition:background-color .25s ease,color .25s ease}
.admx__link:hover{background:rgba(255,255,255,.18);color:#fff}

@media (max-width:520px){
  .admx__cta{width:100%}
}

/* ==========================================================================
   وصله ۱۵ — عناصر متن معرفی دوره که از محتوای قدیمی می‌آیند
   --------------------------------------------------------------------------
   متن‌های قدیمی فهرست، نقل‌قول، خط زیرین و ویدئوی معرفی دارند. استایل
   درون‌خطی‌شان هنگام پاک‌سازی دور ریخته می‌شود، پس ظاهرشان باید اینجا
   تعریف شود تا با بقیه متن یکدست بمانند.
   ========================================================================== */

.crs-about ul,
.crs-about ol{margin:0 0 1.25rem;padding-inline-start:1.35rem;display:grid;gap:.5rem}
.crs-about ul{list-style:disc}
.crs-about ol{list-style:decimal}
.crs-about li{padding-inline-start:.25rem}
.crs-about li::marker{color:rgb(159 117 255)}

.crs-about u{text-decoration-color:rgba(103,16,220,.45);text-underline-offset:3px}
.crs-about em{font-style:normal;font-weight:700;color:rgb(74 11 163)}
.dark .crs-about em{color:rgb(214 199 255)}

.crs-about a{color:rgb(103 16 220);font-weight:700;
  text-decoration:underline;text-decoration-color:rgba(103,16,220,.35);
  text-underline-offset:3px}
.dark .crs-about a{color:rgb(190 167 255);text-decoration-color:rgba(190,167,255,.4)}
.crs-about a:hover{text-decoration-color:currentColor}

.crs-about blockquote{margin:0 0 1.25rem;padding:.85rem 1rem;border-radius:1rem;
  background:rgb(247 248 250);border-inline-start:3px solid rgb(159 117 255);
  font-size:14px}
.dark .crs-about blockquote{background:hsla(0,0%,100%,.05)}

/* ویدئوی معرفی — نسبت ۱۶:۹ و بدون سرریز افقی */
.crs-about__video{position:relative;margin:0 0 1.35rem;border-radius:1.25rem;
  overflow:hidden;background:rgb(238 240 244);aspect-ratio:16/9}
.dark .crs-about__video{background:hsla(0,0%,100%,.06)}
.crs-about__video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ==========================================================================
   وصله ۱۶ — کارت نظر دانشجو
   --------------------------------------------------------------------------
   محتوا از پنل مدیریت می‌آید، پس کارت باید با متن کوتاه و بلند هر دو
   درست بماند. لینک گیت‌هاب و سایت پایین کارت می‌نشیند، نه کنار نام: آنجا
   جای ثابتی دارد و با نام‌های بلند بالا نمی‌ریزد.
   ========================================================================== */

.tst{flex:none;width:86%;display:flex;flex-direction:column;
  scroll-snap-align:start;
  padding:1.75rem;border-radius:1.5rem;
  border:1px solid rgb(238 240 244);background:#fff;
  box-shadow:0 14px 32px -26px rgba(13,15,22,.4);
  transition:border-color .35s ease,box-shadow .35s ease}
.dark .tst{border-color:hsla(0,0%,100%,.10);background:rgb(26 29 39)}
.tst:hover{border-color:rgba(131,64,255,.32);
  box-shadow:0 20px 40px -26px rgba(13,15,22,.45)}

.tst__stars{color:rgb(251 191 36);font-size:15px;letter-spacing:.1em;line-height:1}

.tst__quote{margin:1rem 0 0;font-size:14px;line-height:2.1;
  color:rgb(58 63 82);flex:1 1 auto}
.dark .tst__quote{color:rgb(214 218 228)}

.tst__foot{margin-top:1.5rem;padding-top:1.25rem;display:flex;align-items:center;gap:.75rem;
  border-top:1px solid rgb(238 240 244)}
.dark .tst__foot{border-top-color:hsla(0,0%,100%,.10)}

.tst__avatar{flex:none;width:2.75rem;height:2.75rem;border-radius:999px;
  display:grid;place-items:center;font-weight:800;font-size:12.5px}
.tst__avatar--img{object-fit:cover}
.tst__avatar--brand{background:rgb(235 229 255);color:rgb(74 11 163)}
.tst__avatar--emerald{background:rgb(209 250 229);color:rgb(4 108 78)}
.tst__avatar--gold{background:rgb(254 243 199);color:rgb(146 64 14)}
.tst__avatar--sky{background:rgb(224 242 254);color:rgb(3 105 161)}
.dark .tst__avatar--brand{background:rgba(159,117,255,.20);color:rgb(214 199 255)}
.dark .tst__avatar--emerald{background:rgba(16,185,129,.20);color:rgb(167 243 208)}
.dark .tst__avatar--gold{background:rgba(251,191,36,.20);color:rgb(253 230 138)}
.dark .tst__avatar--sky{background:rgba(56,189,248,.20);color:rgb(186 230 253)}

.tst__who{min-width:0}
.tst__name{display:block;font-weight:800;font-size:13.5px;color:rgb(13 15 22);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dark .tst__name{color:rgb(238 240 244)}
.tst__title{display:block;margin-top:.1rem;font-size:12px;color:rgb(115 123 145)}
.dark .tst__title{color:rgb(157 165 184)}

/* ── لینک نمونه‌کار ── */
.tst__links{margin-top:.9rem;display:flex;gap:.4rem;flex-wrap:wrap}
.tst__link{display:inline-flex;align-items:center;gap:.35rem;
  padding:.3rem .65rem;border-radius:.65rem;font-size:11.5px;font-weight:800;
  background:rgb(247 248 250);color:rgb(58 63 82);
  border:1px solid rgb(238 240 244);
  transition:background-color .25s ease,color .25s ease,border-color .25s ease}
.dark .tst__link{background:hsla(0,0%,100%,.06);color:rgb(199 205 219);
  border-color:hsla(0,0%,100%,.10)}
.tst__link:hover{background:rgb(103 16 220);color:#fff;border-color:rgb(103 16 220)}
.tst__link svg{width:.9rem;height:.9rem;flex:none}

@media (min-width:640px){.tst{width:47%}}
@media (min-width:1024px){.tst{width:32%}}

/* ──────────────────────────────────────────────────────────────────────────
   کلاس hidden باید بر کامپوننت‌های بالا هم غلبه کند؛ چون این بخش بعد از
   یوتیلیتی‌های تِیل‌ویند می‌آید، بدون این قاعده display کامپوننت برنده می‌شد.
   ────────────────────────────────────────────────────────────────────────── */
.ba-modal.hidden,
.ba-modal__foot.hidden,
.pnl-hero.hidden,
.pnl-stats.hidden,
.pnl-tabs.hidden,
.pnl-grid.hidden,
.pnl-btn.hidden,
.pnl-skel.hidden,
.crs-progress.hidden,
.crs-file__seen.hidden,
.crs-file__open.hidden,
/* کامپوننت‌هایی که خودشان display دارند و در ابتدا پنهانند */
.cpd.hidden,
.inv__share.hidden,
.inv__msg.hidden,
.promo__msg.hidden,
.crl-count.hidden,
.hcard.hidden,
.ons__form.hidden,
.ons__msg.hidden,
.ons__done.hidden,
.admx.hidden,
.tst.hidden{display:none}
/* BADIEE-PATCH-END */

/* ==========================================================================
   وصله ۱۷ — پنجره گواهی دوره در پنل دانشجو
   --------------------------------------------------------------------------
   گواهی یک تصویر است و باید بزرگ دیده شود، پس روی کل صفحه می‌آید نه داخل
   کارت دوره. نسبت ابعاد روی خودِ قاب نشسته تا پیش از آماده شدن تصویر هم
   جای درستش را بگیرد و پنجره موقع رسیدن گواهی نپرد.
   ========================================================================== */

.cert-modal{
  position:fixed;inset:0;z-index:80;
  display:grid;place-items:center;padding:1.25rem;
  background:rgba(13,15,22,.72);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  overflow-y:auto}

.cert-modal__box{
  position:relative;width:100%;max-width:52rem;
  background:#fff;border-radius:1.5rem;padding:1.25rem;
  box-shadow:0 40px 80px -40px rgba(13,15,22,.7)}
.dark .cert-modal__box{background:rgb(26 29 39)}

.cert-modal__x{
  position:absolute;top:.6rem;inset-inline-end:.8rem;
  width:2.2rem;height:2.2rem;border:0;border-radius:999px;
  background:transparent;color:rgb(115 123 145);
  font-size:24px;line-height:1;cursor:pointer;
  transition:background-color .2s ease,color .2s ease}
.cert-modal__x:hover{background:rgb(238 240 244);color:rgb(13 15 22)}
.dark .cert-modal__x:hover{background:hsla(0,0%,100%,.08);color:#fff}

.cert-modal__frame{
  margin:0;aspect-ratio:1171/828;
  display:grid;place-items:center;overflow:hidden;
  border-radius:1rem;background:rgb(247 248 250)}
.dark .cert-modal__frame{background:rgb(13 15 22)}

.cert-modal__img{width:100%;height:100%;object-fit:contain;display:block}

.cert-modal__wait{
  margin:0;padding:2rem;text-align:center;
  font-size:13.5px;line-height:2.1;color:rgb(115 123 145)}

.cert-modal__actions{
  display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;
  margin-top:1.1rem}

/* ==========================================================================
   وصله ۱۸ — کارت «اطلاعات روی گواهی» و انتخاب زبان گواهی
   --------------------------------------------------------------------------
   کارت پروفایل وقتی چیزی کم دارد یک نوار کهربایی می‌گیرد، چون دانشجو
   معمولاً تازه سرِ گرفتن گواهی می‌فهمد کد ملی‌اش را وارد نکرده.
   ========================================================================== */

.prof{
  border:1px solid rgb(238 240 244);border-radius:1.25rem;background:#fff;
  overflow:hidden}
.dark .prof{background:rgb(26 29 39);border-color:hsla(0,0%,100%,.08)}
.prof--todo{border-color:rgb(245 200 120)}
.dark .prof--todo{border-color:rgba(245,200,120,.42)}

.prof__head{
  display:flex;align-items:center;gap:.75rem;
  padding:1rem 1.1rem;cursor:pointer;list-style:none}
.prof__head::-webkit-details-marker{display:none}

.prof__icon{
  flex:none;width:2.4rem;height:2.4rem;border-radius:.9rem;
  display:grid;place-items:center;
  background:rgb(243 245 249);color:rgb(75 85 110)}
.dark .prof__icon{background:hsla(0,0%,100%,.06);color:rgb(178 186 204)}
.prof--todo .prof__icon{background:rgb(254 243 220);color:rgb(163 110 20)}
.dark .prof--todo .prof__icon{background:rgba(245,200,120,.14);color:rgb(232 178 58)}
.prof__icon svg{width:1.15rem;height:1.15rem}

.prof__title{display:block;font-size:14px;font-weight:800;line-height:1.7}
.prof__sub{
  display:block;font-size:12px;line-height:1.9;color:rgb(115 123 145);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prof--todo .prof__sub{color:rgb(163 110 20)}
.dark .prof--todo .prof__sub{color:rgb(232 178 58)}

.prof__chev{
  margin-inline-start:auto;flex:none;color:rgb(148 156 176);
  transition:transform .2s ease}
.prof__chev svg{width:1.1rem;height:1.1rem}
.prof[open] .prof__chev{transform:rotate(180deg)}

.prof__body{padding:0 1.1rem 1.1rem}
.prof__grid{display:grid;gap:.85rem;grid-template-columns:1fr}
@media (min-width:640px){.prof__grid{grid-template-columns:1fr 1fr}}

.prof__field{display:block}
.prof__label{
  display:block;font-size:12.5px;font-weight:700;margin-bottom:.35rem}
.prof__input{
  width:100%;padding:.6rem .8rem;font:inherit;font-size:13.5px;
  border:1px solid rgb(226 229 237);border-radius:.8rem;
  background:rgb(250 251 253);color:inherit;
  transition:border-color .2s ease,background-color .2s ease}
.dark .prof__input{background:rgb(19 22 31);border-color:hsla(0,0%,100%,.1)}
.prof__input:focus{
  outline:none;border-color:rgb(124 108 255);background:#fff}
.dark .prof__input:focus{background:rgb(13 15 22)}
.prof__hint{
  display:block;margin-top:.3rem;font-size:11.5px;line-height:1.9;
  color:rgb(148 156 176)}

.prof__msg{margin:.9rem 0 0;font-size:12.5px;line-height:1.9}
.prof__msg--ok{color:rgb(21 128 61)}
.prof__msg--bad{color:rgb(190 40 40)}
.dark .prof__msg--ok{color:rgb(110 210 150)}
.dark .prof__msg--bad{color:rgb(248 130 130)}

.prof__actions{display:flex;justify-content:flex-end;margin-top:.9rem}

/* ─── انتخاب زبان گواهی ─── */
.cert-modal__langs{
  display:flex;gap:.35rem;justify-content:center;
  margin:0 0 .9rem;padding-inline-end:2.4rem}

.cert-modal__lang{
  padding:.35rem .95rem;border:1px solid rgb(226 229 237);
  border-radius:999px;background:transparent;color:rgb(115 123 145);
  font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.dark .cert-modal__lang{border-color:hsla(0,0%,100%,.12)}
.cert-modal__lang:hover:not(:disabled){color:rgb(13 15 22)}
.dark .cert-modal__lang:hover:not(:disabled){color:#fff}
.cert-modal__lang.is-active{
  background:rgb(124 108 255);border-color:rgb(124 108 255);color:#fff}
.cert-modal__lang:disabled{opacity:.45;cursor:not-allowed}

.cert-modal__gap{
  margin:-.4rem 0 .9rem;text-align:center;
  font-size:11.5px;line-height:1.9;color:rgb(163 110 20)}
.dark .cert-modal__gap{color:rgb(232 178 58)}

/* ==========================================================================
   وصله ۱۹ — اسلایدر بنر صفحه اصلی
   --------------------------------------------------------------------------
   ریل با درصد جابه‌جا می‌شود نه پیکسل: عرض خودِ ریل دقیقاً یک اسلاید است و
   اسلایدها از آن بیرون می‌زنند، پس ۱۰۰٪ یعنی «یک اسلاید» و ریاضیِ جابه‌جایی
   با تغییر اندازه پنجره به‌هم نمی‌ریزد.

   جهت ریل راست‌به‌چپ می‌ماند: اسلاید بعدی از سمت چپ می‌آید، مثل ریل
   دوره‌ها و مثل بقیه سایت.

   نسبت ابعاد روی خودِ اسلاید نشسته تا پیش از رسیدن تصویر هم جای درستش را
   بگیرد و صفحه هنگام لود شدن بنر نپرد.
   ========================================================================== */

.sld{
  position:relative;border-radius:1.75rem;overflow:hidden;
  background:rgb(238 240 244);
  box-shadow:0 24px 60px -34px rgba(13,15,22,.5)}
.dark .sld{background:hsla(0,0%,100%,.04)}

.sld__viewport{overflow:hidden;touch-action:pan-y}

.sld__track{
  display:flex;
  will-change:transform;backface-visibility:hidden;
  transition:transform .62s cubic-bezier(.4,0,.2,1)}
.sld--instant .sld__track{transition:none}
.sld--drag{cursor:grabbing}

.sld__slide{
  flex:0 0 100%;display:block;position:relative;
  aspect-ratio:3/2;background:inherit;
  -webkit-user-select:none;user-select:none}
@media (min-width:640px){.sld__slide{aspect-ratio:5/2}}

.sld__img{
  width:100%;height:100%;display:block;object-fit:cover;
  -webkit-user-drag:none}

/* ─── دکمه‌های چپ و راست ───
   روی موبایل نمایش داده نمی‌شوند: انگشت جایش را می‌گیرد و دکمه فقط
   روی تصویر می‌نشیند. */
.sld__nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:2.75rem;height:2.75rem;border-radius:999px;border:0;
  display:none;place-items:center;cursor:pointer;
  background:rgba(255,255,255,.86);color:rgb(13 15 22);
  box-shadow:0 8px 24px -10px rgba(13,15,22,.55);
  opacity:0;transition:opacity .25s ease,background-color .2s ease,transform .2s ease}
.sld__nav svg{width:1.25rem;height:1.25rem}
.sld__nav--prev{inset-inline-end:.9rem}
.sld__nav--next{inset-inline-start:.9rem}
.sld__nav:hover{background:#fff}
.sld:hover .sld__nav,.sld:focus-within .sld__nav{opacity:1}

@media (min-width:768px){
  .sld--many .sld__nav{display:grid}
}

/* ─── نقطه‌ها ─── */
.sld__dots{
  position:absolute;inset-inline:0;bottom:.85rem;
  display:none;justify-content:center;gap:.4rem;
  pointer-events:none}
.sld--many .sld__dots{display:flex}

.sld__dot{
  pointer-events:auto;
  width:.5rem;height:.5rem;padding:0;border:0;border-radius:999px;
  background:rgba(255,255,255,.55);cursor:pointer;
  box-shadow:0 1px 4px rgba(13,15,22,.35);
  transition:width .3s cubic-bezier(.4,0,.2,1),background-color .3s ease}
.sld__dot[aria-selected="true"]{width:1.6rem;background:#fff}

/* حرکت را کسی که نخواسته نمی‌بیند: نه پرش خودکار، نه انیمیشن */
@media (prefers-reduced-motion:reduce){
  .sld__track{transition:none}
  .sld__dot{transition:none}
}
