@charset "UTF-8";:root{--ink: #1a073c;--ink-2: #33215a;--ink-3: #4a3d6b;--muted: #5a4c77;--indigo: #1a073c;--indigo-2: #2a1456;--indigo-line: #3a2668;--indigo-border: rgba(255, 255, 255, .18);--on-indigo: rgba(255, 255, 255, .74);--on-indigo-strong: rgba(255, 255, 255, .9);--violet: #6a2eff;--violet-ink: #5622e0;--magenta: #b615ff;--pink-soft: #c9b8ff;--surface: #ffffff;--surface-soft: #eef2ff;--surface-tint: #e6eeff;--line: #e9e6f1;--line-2: #d6d1e4;--ok: #1d6b3a;--ok-bg: #e9f7ee;--warn: #7a4a00;--warn-bg: #fff1dc;--bad: #8a1c1c;--bad-bg: #fde8e8;--brand-gradient: linear-gradient(90deg, #0260ff 0%, #6a2eff 45%, #b615ff 75%, #f302ff 100%);--brand-gradient-diag: linear-gradient(135deg, #0260ff 0%, #6a2eff 45%, #b615ff 75%, #f302ff 100%);--brand-bar: linear-gradient(90deg, #423dfb 0%, #1a073c 35%, #1a073c 50%, #fc00fe 100%);--text-gradient: var(--brand-gradient-diag);--font-body: "Inter", system-ui, sans-serif;--font-display: "Plus Jakarta Sans", "Inter", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--radius: 14px;--radius-lg: 22px;--shadow-float: 0 24px 60px rgba(26, 7, 60, .35);--shadow-sm: 0 1px 2px rgba(26, 7, 60, .06), 0 2px 8px rgba(26, 7, 60, .05);--shadow-md: 0 30px 60px -24px rgba(26, 7, 60, .25), 0 12px 24px -12px rgba(106, 46, 255, .16);--container: 1280px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased}a{color:var(--violet-ink);text-decoration:none}a:hover{color:var(--indigo)}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid var(--violet);outline-offset:2px}h1,h2,h3{margin:0;text-wrap:balance}p{margin:0;text-wrap:pretty}::selection{background:#6a2eff2e;color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}table.sr-only{display:block}.container{max-width:var(--container);margin:0 auto;padding:0 24px}.section{padding:96px 0}.section--soft{background:radial-gradient(800px 400px at 100% 0%,rgba(106,46,255,.07),transparent 70%),linear-gradient(180deg,#f3f6ff,var(--surface-soft))}.section--indigo{position:relative;background:radial-gradient(700px 420px at 0% 0%,rgba(2,96,255,.22),transparent 70%),radial-gradient(600px 420px at 100% 100%,rgba(182,21,255,.22),transparent 70%),var(--indigo);color:#fff}.section--indigo:after{content:"";position:absolute;left:0;bottom:0;width:min(46%,560px);height:6px;background:var(--brand-bar);clip-path:polygon(0 0,100% 0,calc(100% - 6px) 100%,0 100%);pointer-events:none}.stack{display:flex;flex-direction:column}.row{display:flex;flex-wrap:wrap}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--min, 290px),100%),1fr));gap:var(--gap, 24px)}.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:40px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--violet)}.display{font-family:var(--font-display);font-weight:800;letter-spacing:-.03em;line-height:1.1}.h1{font-size:clamp(40px,5vw,64px);line-height:1.02;letter-spacing:-.035em}.h2{font-size:clamp(30px,3.4vw,44px)}.lead{font-size:18px;line-height:1.6;color:var(--ink-3)}.text-gradient{background:var(--text-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 20px;border-radius:12px;border:1px solid transparent;font-weight:700;font-size:15px;line-height:1.2;cursor:pointer;text-align:center;transition:transform .12s ease,color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease}.btn:active{transform:translateY(1px) scale(.985)}.btn--primary,.btn--cta{position:relative;isolation:isolate;overflow:hidden;background:var(--violet);color:#fff;box-shadow:0 6px 18px -6px #6a2eff8c,inset 0 1px #ffffff2e}.btn--primary:before,.btn--cta:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--brand-gradient-diag);opacity:0;transition:opacity .3s ease}.btn--primary:hover,.btn--cta:hover{color:#fff;box-shadow:0 10px 26px -8px #b615ff99,inset 0 1px #fff3}.btn--primary:hover:before,.btn--cta:hover:before{opacity:1}.btn--primary:disabled:before,.btn--cta:disabled:before{display:none}.btn--dark{background:var(--indigo);color:#fff}.btn--dark:hover{background:var(--indigo-2);color:#fff}.btn--outline{background:#fff9;color:var(--ink);border:1.5px solid rgba(26,7,60,.22)}.btn--outline:hover{border-color:var(--ink);color:var(--ink)}.btn--ghost-light{background:transparent;color:#fff;border-color:var(--indigo-border)}.btn--ghost-light:hover{background:#ffffff14;border-color:#fff;color:#fff}.btn--lg{min-height:54px;padding:15px 24px;font-size:16px;border-radius:14px}.btn--sm{min-height:40px;padding:9px 14px;font-size:14px;border-radius:10px;white-space:nowrap}.btn--block{width:100%}.link-btn{border:0;background:transparent;color:var(--violet-ink);font-weight:700;padding:10px 4px;cursor:pointer}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card--pad{padding:24px}.card--soft{background:var(--surface-soft);border-color:transparent}.card--indigo{background:var(--indigo);color:#fff;border-color:transparent}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;background:var(--surface-tint);color:var(--ink-2);border:0;max-width:100%;line-height:1.35}.chip--dark{background:var(--indigo);color:#fff}.chip--light-on-dark{background:#ffffff14;border:1px solid var(--indigo-border);color:#fff}.tag-mono{font-size:12px;font-weight:600;letter-spacing:.02em;padding:5px 9px;border-radius:8px}.badge-free{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--ok);background:var(--ok-bg);border-radius:999px;padding:7px 11px}.status{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;border-radius:999px;padding:5px 10px;white-space:nowrap}.status--ok{color:var(--ok);background:var(--ok-bg)}.status--warn{color:var(--warn);background:var(--warn-bg)}.status--bad{color:var(--bad);background:var(--bad-bg)}.status--off{color:var(--ink-3);background:var(--line)}.field{display:flex;flex-direction:column;gap:6px}.field label,.field legend{font-size:14px;font-weight:700}.input,.select,.textarea{width:100%;font-size:15px;color:var(--ink);padding:12px 14px;border:1.5px solid var(--line-2);border-radius:12px;background:#fff;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px #6a35d926}.field-error{font-size:13px;color:var(--bad)}.progress{height:8px;border-radius:999px;background:var(--line);overflow:hidden}.progress>span{display:block;height:100%;border-radius:999px;background:var(--violet)}.progress--brand>span{background:var(--brand-gradient)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;padding:12px 10px}.table td{padding:12px 10px;border-top:1px solid #f0eff7;vertical-align:middle}@media(max-width:700px){.table--stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.table--stack,.table--stack tbody,.table--stack tr,.table--stack td{display:block}.table--stack tr{padding:14px 4px;border-top:1px solid #f0eff7}.table--stack td{border-top:0;padding:4px 0}.table--stack td[data-label]{display:grid;grid-template-columns:minmax(96px,34%) minmax(0,1fr);gap:10px;align-items:center}.table--stack td[data-label]>*{justify-self:start}.table--stack td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.table--stack .t-main{padding-bottom:8px}.table--stack .t-actions{text-align:left;padding-top:10px}.table--stack .t-actions:empty{display:none}}.brand-bar{height:3px;background:var(--brand-gradient)}.dots{display:inline-flex;gap:3px}.dots>span{width:8px;height:8px;border-radius:99px}.dots>span:nth-child(1){background:#0260ff}.dots>span:nth-child(2){background:#6a2eff}.dots>span:nth-child(3){background:#f302ff}@media(max-width:1023px){.section{padding:72px 0}}@media(max-width:600px){.container{padding:0 16px}.section{padding:56px 0}}:root{--ease-out: cubic-bezier(.22, .7, .3, 1)}a,button,summary,.input,.select,.textarea{transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease}router-outlet+*{animation:ra-fade .32s ease-out backwards}[role=alert],[role=status],.ra-enter{animation:ra-enter .28s var(--ease-out) backwards}.ra-leave{animation:ra-leave .18s ease-in forwards;pointer-events:none}app-course-card{animation:ra-enter .36s var(--ease-out) backwards}app-course-card:nth-child(2){animation-delay:.04s}app-course-card:nth-child(3){animation-delay:.08s}app-course-card:nth-child(4){animation-delay:.12s}app-course-card:nth-child(n+5){animation-delay:.16s}.reveal{animation:none;transition:opacity .7s ease var(--reveal-delay, 0s),transform .8s var(--ease-out) var(--reveal-delay, 0s)}.reveal:not(.is-visible){opacity:0;transform:translateY(28px)}@media print{.reveal:not(.is-visible){opacity:1;transform:none}}.progress>span{transform-origin:left center;transition:width .5s var(--ease-out);animation:ra-grow .7s var(--ease-out) .1s backwards}details{interpolate-size:allow-keywords}details::details-content{block-size:0;overflow:hidden;transition:block-size .3s var(--ease-out),content-visibility .3s allow-discrete}details[open]::details-content{block-size:auto}@keyframes ra-fade{0%{opacity:0}}@keyframes ra-enter{0%{opacity:0;transform:translateY(6px)}}@keyframes ra-leave{to{opacity:0;transform:translateY(4px)}}@keyframes ra-grow{0%{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}details::details-content{transition:none}}
