@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-ui);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.block{display:block}.hidden{display:none}.lowercase{text-transform:lowercase}}:root{--background:#f8f7fb;--surface:#fff;--foreground:#282235;--muted:#746d80;--purple:#7047d2;--purple-dark:#5635ad;--purple-pale:#f0ebfa;--line:#ebe7f1;--font-ui:Inter, "Segoe UI Variable", "Segoe UI", Arial, sans-serif}*{box-sizing:border-box}html{background:var(--background);min-height:100%}body{background:radial-gradient(ellipse at 82% 4%, #f0ebfa 0, transparent 34rem), var(--background);min-height:100vh;color:var(--foreground);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}.site-header,.site-footer{justify-content:space-between;align-items:center;width:min(1160px,100% - 48px);margin:0 auto;display:flex}.site-header{height:88px}.wordmark{color:#282031;letter-spacing:.1em;font-size:15px;font-weight:800}.wordmark span{color:var(--purple)}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:0 23px;font-size:14px;font-weight:700;transition:background .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--purple);color:#fff}.button-primary:hover{background:var(--purple-dark)}.button-outline{color:var(--purple-dark);background:#ffffffad;border-color:#dfd6f1}.button-outline:hover{border-color:var(--purple);background:#fff}.button-danger:disabled{cursor:not-allowed;opacity:.6}.hero-section{grid-template-columns:1.05fr .95fr;align-items:center;gap:36px;width:min(1160px,100% - 48px);min-height:570px;margin:32px auto 0;display:grid}.hero-copy{padding:30px 0 58px}.eyebrow{color:var(--purple);letter-spacing:.18em;margin:0 0 17px;font-size:11px;font-weight:800}.hero-copy h1{letter-spacing:-.065em;margin:0;font-size:clamp(42px,5.2vw,66px);font-weight:750;line-height:1.04}.hero-copy h1 span{color:var(--purple)}.hero-description{max-width:500px;color:var(--muted);margin:23px 0 28px;font-size:16px;line-height:1.8}.access-note{color:#817a8b;margin:14px 0 0;font-size:12px}.hero-art{background:linear-gradient(145deg,#f3effc 0%,#e8defa 52%,#d7c6f4 100%);border:1px solid #ffffffc7;border-radius:38px;place-items:center;min-height:440px;display:grid;position:relative;overflow:hidden;box-shadow:0 28px 80px #5431ae17}.art-glow{filter:blur(44px);background:#ffffff9e;border-radius:50%;width:280px;height:280px;position:absolute}.art-orbit{border:1px solid #7047d240;border-radius:50%;position:absolute;transform:rotate(-24deg)}.orbit-outer{width:410px;height:230px}.orbit-inner{width:350px;height:180px;transform:rotate(35deg)}.art-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffb8;border:1px solid #ffffffb8;border-radius:26px;flex-direction:column;justify-content:space-between;align-items:flex-start;width:min(280px,72%);height:205px;padding:25px;display:flex;position:relative;transform:rotate(-7deg);box-shadow:0 24px 70px #42258c26}.art-mark{color:var(--purple);font-family:Georgia,serif;font-size:56px;line-height:1}.art-caption{color:#544966;letter-spacing:.15em;font-size:10px;font-weight:800}.art-arrow{color:var(--purple);font-size:22px;position:absolute;top:24px;right:24px}.art-dot{background:#8f68e0;border-radius:50%;width:12px;height:12px;position:absolute;box-shadow:0 0 0 8px #8f68e01a}.dot-one{top:27%;left:19%}.dot-two{width:8px;height:8px;bottom:24%;right:20%}.highlights-section{width:min(1160px,100% - 48px);margin:55px auto 0;padding-bottom:90px}.section-heading{margin-bottom:24px}.section-heading .eyebrow{margin-bottom:10px}.section-heading h2{letter-spacing:-.045em;margin:0;font-size:clamp(28px,3.3vw,38px)}.highlight-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.highlight-card{border:1px solid var(--line);background:#ffffffc7;border-radius:20px;min-height:170px;padding:23px}.highlight-number{color:var(--purple);letter-spacing:.1em;font-size:11px;font-weight:800}.highlight-card h3{margin:20px 0 8px;font-size:17px}.highlight-card p,.muted{color:var(--muted);font-size:14px;line-height:1.7}.highlight-card p{margin:0}.site-footer{border-top:1px solid var(--line);color:#817a8b;min-height:82px;font-size:12px}.auth-page,.portal-page{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card,.portal-card{border:1px solid var(--line);background:var(--surface);border-radius:28px;width:min(100%,460px);padding:38px;box-shadow:0 24px 80px #33224d10}.auth-card .wordmark{margin-bottom:40px;display:inline-block}.auth-card h1,.portal-card h1{letter-spacing:-.05em;margin:0;font-size:32px}.auth-card>.muted,.portal-card>.muted{margin:12px 0 24px}.login-form{gap:10px;display:grid}.login-form label{color:#50495b;margin-top:6px;font-size:13px;font-weight:700}.login-form input{min-height:48px;color:var(--foreground);background:#fff;border:1px solid #ddd7e6;border-radius:12px;outline:none;padding:0 14px}.login-form input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #7047d21c}.login-submit{cursor:pointer;width:100%;margin-top:12px}.login-submit:disabled{cursor:wait;opacity:.7}.auth-page{isolation:isolate;background:radial-gradient(at 12% 18%,#e8defa 0,#0000 34rem),radial-gradient(at 92% 84%,#f2eafb 0,#0000 32rem),#f8f6fb;position:relative;overflow:hidden}.auth-page:before,.auth-page:after{z-index:-1;content:"";pointer-events:none;border:1px solid #7047d212;border-radius:50%;width:380px;height:380px;position:absolute}.auth-page:before{animation:18s ease-in-out infinite alternate auth-page-drift;top:-190px;left:-150px}.auth-page:after{width:500px;height:500px;animation:22s ease-in-out -5s infinite alternate-reverse auth-page-drift;bottom:-240px;right:-210px}.auth-shell{background:#fff;border:1px solid #ffffffd9;border-radius:32px;grid-template-columns:.94fr 1.06fr;width:min(1120px,100%);min-height:min(720px,100vh - 48px);animation:.85s cubic-bezier(.2,.75,.25,1) both auth-shell-enter;display:grid;overflow:hidden;box-shadow:0 42px 110px #30204c1c,0 8px 26px #30204c0b}.auth-showcase{color:#fff;isolation:isolate;background:radial-gradient(at 78% 28%,#a786e45c 0,#0000 34%),linear-gradient(145deg,#211735 0%,#33224d 48%,#4b3473 100%);min-height:680px;padding:40px;position:relative;overflow:hidden}.auth-showcase:before,.auth-showcase:after{z-index:-1;content:"";pointer-events:none;border:1px solid #ffffff0d;border-radius:50%;position:absolute}.auth-showcase:before{width:570px;height:570px;top:-215px;right:-215px}.auth-showcase:after{width:430px;height:430px;top:-145px;right:-145px}.auth-showcase .wordmark{z-index:2;color:#fff;position:relative}.auth-showcase .wordmark span{color:#d7bdff}.auth-art{pointer-events:none;width:440px;height:440px;position:absolute;top:76px;right:-58px}.auth-art-glow{filter:blur(60px);background:#c7a6ff63;border-radius:50%;width:190px;height:190px;animation:6s ease-in-out infinite alternate auth-glow-breathe;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.auth-art-orbit{border:1px solid #e6d9ff40;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.auth-art-orbit-outer{width:400px;height:190px;animation:26s linear infinite auth-orbit-spin}.auth-art-orbit-middle{border-color:#e6d9ff30;width:330px;height:250px;animation:32s linear infinite auth-orbit-spin-reverse;transform:translate(-50%,-50%)rotate(54deg)}.auth-art-orbit-inner{border-color:#e6d9ff24;width:260px;height:310px;animation:38s linear infinite auth-orbit-spin;transform:translate(-50%,-50%)rotate(-48deg)}.auth-art-core{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(145deg,#ffffff35,#ffffff0b);border:1px solid #ffffff8c;border-radius:32px;place-items:center;width:112px;height:112px;animation:5.5s ease-in-out infinite auth-core-float;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-8deg);box-shadow:inset 0 1px #fff6,0 22px 65px #120d1d73,0 0 55px #b99bff36}.auth-art-core span{color:#fff;letter-spacing:-.1em;text-shadow:0 4px 24px #d7bdff9c;font-size:55px;font-weight:800;transform:translate(-3px)}.auth-art-spark{background:#e4d3ff;border-radius:50%;width:7px;height:7px;position:absolute;box-shadow:0 0 18px 4px #c5a5ff75}.auth-art-spark-one{animation:3s ease-in-out infinite auth-sparkle;top:22%;left:23%}.auth-art-spark-two{width:5px;height:5px;animation:3.8s ease-in-out -1s infinite auth-sparkle;top:69%;right:17%}.auth-art-spark-three{width:4px;height:4px;animation:4.2s ease-in-out -2s infinite auth-sparkle;bottom:14%;right:31%}.auth-showcase-copy{max-width:390px;animation:.9s .18s both auth-content-enter;position:absolute;bottom:112px;left:42px;right:38px}.auth-showcase-kicker{color:#c9b8e9;letter-spacing:.22em;margin:0 0 16px;font-size:10px;font-weight:800}.auth-showcase-copy h2{letter-spacing:-.075em;margin:0;font-size:clamp(52px,6vw,74px);font-weight:750;line-height:.94}.auth-showcase-copy h2 span{color:#c7a9ff}.auth-showcase-copy>p:last-child{color:#e5dcf2b8;max-width:330px;margin:20px 0 0;font-size:13px;line-height:1.75}.auth-showcase-footer{color:#cfc2e488;letter-spacing:.12em;justify-content:space-between;font-size:9px;font-weight:700;display:flex;position:absolute;bottom:30px;left:42px;right:40px}.auth-card{width:100%;max-width:560px;box-shadow:none;background:#fff;border:0;border-radius:0;flex-direction:column;justify-content:center;align-self:stretch;margin:0 auto;padding:clamp(40px,6vw,78px);animation:.8s cubic-bezier(.2,.75,.25,1) .1s both auth-card-enter;display:flex}.auth-card-topline{color:#827a8e;letter-spacing:.13em;align-items:center;gap:9px;margin-bottom:42px;font-size:9px;font-weight:800;display:flex}.auth-status-dot{background:#7dca9a;border-radius:50%;flex:none;width:7px;height:7px;animation:2.4s ease-in-out infinite auth-status-pulse;box-shadow:0 0 0 4px #7dca9a1f}.auth-card>.eyebrow{margin-bottom:12px;animation:.7s .24s both auth-content-enter}.auth-card h1{font-size:clamp(34px,4vw,44px);animation:.7s .3s both auth-content-enter}.auth-card>.muted{max-width:360px;margin:14px 0 30px;font-size:14px;line-height:1.7;animation:.7s .36s both auth-content-enter}.auth-card .login-form{gap:10px;animation:.7s .42s both auth-content-enter}.auth-card .login-form label{color:#514a5c;margin-top:9px}.auth-card .login-form input{background:#fdfcff;border-color:#e6e1ec;border-radius:13px;min-height:54px;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}.auth-card .login-form input:hover{background:#fff;border-color:#cfc2e4}.auth-card .login-form input:focus{background:#fff;border-color:#9c7ade;transform:translateY(-1px);box-shadow:0 0 0 4px #7047d21a}.auth-card .login-submit{border-radius:14px;min-height:54px;margin-top:15px;transition:background .18s,box-shadow .18s,transform .18s;box-shadow:0 10px 24px #7047d22b}.auth-card .login-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 30px #7047d23d}.auth-card .login-submit:active:not(:disabled){transform:translateY(0)scale(.99)}.auth-card .signup-prompt{border-top:1px solid #f0edf4;justify-items:stretch;gap:12px;margin-top:24px;padding-top:23px;animation:.7s .5s both auth-content-enter}.auth-card .signup-prompt>span{color:#817a8b;text-align:center;font-size:12px}.auth-card .signup-prompt .button{border-radius:13px;min-height:48px}.auth-card-note{color:#9b95a4;text-align:center;margin:22px 0 0;font-size:11px;animation:.7s .58s both auth-content-enter}@keyframes auth-shell-enter{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes auth-card-enter{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:translate(0)}}@keyframes auth-content-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-page-drift{to{transform:translate(35px,25px)rotate(12deg)}}@keyframes auth-orbit-spin{to{rotate:360deg}}@keyframes auth-orbit-spin-reverse{to{rotate:-360deg}}@keyframes auth-core-float{50%{translate:0 -9px;rotate:1deg}}@keyframes auth-glow-breathe{to{opacity:.55;scale:1.25}}@keyframes auth-sparkle{50%{opacity:.3;scale:.65}}@keyframes auth-status-pulse{50%{box-shadow:0 0 0 7px #7dca9a0d,0 0 15px #7dca9a69}}@media (max-width:760px){.auth-page{min-height:100svh;padding:12px}.auth-shell{border-radius:24px;grid-template-columns:1fr;width:min(100%,520px);min-height:0}.auth-showcase{min-height:330px;padding:25px 24px}.auth-art{opacity:.78;width:340px;height:340px;top:-72px;right:-128px}.auth-art-orbit-outer{width:310px;height:150px}.auth-art-orbit-middle{width:260px;height:200px}.auth-art-orbit-inner{width:210px;height:250px}.auth-art-core{border-radius:24px;width:82px;height:82px}.auth-art-core span{font-size:42px}.auth-showcase-copy{bottom:32px;left:26px;right:22px}.auth-showcase-kicker{margin-bottom:10px;font-size:9px}.auth-showcase-copy h2{font-size:clamp(42px,12vw,58px)}.auth-showcase-copy>p:last-child{max-width:280px;margin-top:12px;font-size:11px}.auth-showcase-footer{display:none}.auth-card{min-height:470px;padding:34px 26px 28px}.auth-card-topline{margin-bottom:30px}}.form-error{color:#b42345;margin:5px 0 0;font-size:13px}.invite-note{color:#817a8b;text-align:center;margin:22px 0 0;font-size:12px;line-height:1.6}.signup-prompt{color:var(--muted);justify-items:center;gap:12px;margin-top:20px;font-size:13px;display:grid}.signup-prompt .button{width:100%}.invite-note a{color:var(--purple-dark);font-weight:700}.portal-card{width:min(100%,680px)}.admin-page{min-height:100vh}.admin-header{border-bottom:1px solid var(--line);background:#ffffffc7;justify-content:space-between;align-items:center;min-height:76px;padding:0 max(50vw - 560px,24px);display:flex}.admin-greeting{color:var(--muted);font-size:13px}.admin-nav{border-bottom:1px solid var(--line);width:min(900px,100% - 48px);color:var(--muted);gap:24px;margin:0 auto;padding:15px 0;font-size:13px;font-weight:700;display:flex}.admin-nav a[aria-current=page],.admin-nav a:hover{color:var(--purple)}.admin-nav a{flex:none;align-items:center;gap:7px;display:inline-flex}.admin-nav-badge{color:#fff;background:#b42345;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.admin-header-actions,.portal-header{align-items:center;gap:16px;display:flex}.admin-header-actions .button,.portal-header .button{cursor:pointer;min-height:40px;padding:0 16px}.admin-content{width:min(900px,100% - 48px);margin:52px auto 80px}.admin-content>h1{letter-spacing:-.055em;margin:0;font-size:clamp(32px,5vw,44px)}.admin-content>.muted{max-width:620px;margin:10px 0 28px}.admin-panel{border:1px solid var(--line);background:var(--surface);border-radius:20px;margin-top:20px;padding:24px}.admin-panel h2{letter-spacing:-.025em;margin:0 0 20px;font-size:19px}.admin-form{gap:10px;display:grid}.admin-form label,.invite-result label{color:#50495b;font-size:13px;font-weight:700}.admin-form select,.admin-form input,.admin-form textarea,.invite-result input{width:100%;min-height:46px;color:var(--foreground);background:#fff;border:1px solid #ddd7e6;border-radius:11px;padding:0 12px}.admin-form select:focus,.admin-form input:focus,.admin-form textarea:focus,.invite-result input:focus{border-color:var(--purple);outline:3px solid #7047d21c}.admin-form-row{grid-template-columns:1fr 1fr;gap:14px;margin-top:8px;display:grid}.admin-form-row>div{align-content:start;gap:10px;display:grid}.admin-form>.button,.invite-result>.button{cursor:pointer;justify-self:start;margin-top:8px}.admin-form>.button:disabled{cursor:not-allowed;opacity:.6}.invite-result{border-top:1px solid var(--line);gap:10px;margin-top:10px;padding-top:18px;display:grid}.invite-result .muted{margin:0}.invitation-list{display:grid}.invitation-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:17px 0;display:flex}.invitation-row:first-child{border-top:0;padding-top:0}.invitation-row strong{font-size:14px}.invitation-row .muted{margin:3px 0;font-size:12px}.invitation-row small{color:#817a8b;font-size:11px}.status-pill{color:#665c72;white-space:nowrap;background:#f0edf4;border-radius:999px;align-items:center;padding:6px 10px;font-size:11px;font-weight:700;display:inline-flex}.status-pill.is-active,.form-success{color:#237b58}.status-pill.is-active{background:#e8f6ef}.form-success{margin:4px 0;font-size:13px}.invitation-row .button{cursor:pointer;min-height:40px;padding:0 16px}.student-dashboard{background:#fff;border-color:#eee9f3;width:min(100%,1100px);padding:clamp(24px,4vw,48px);animation:.65s cubic-bezier(.2,.75,.25,1) both student-page-enter;box-shadow:0 28px 90px #4d3b6b0d,0 4px 18px #4d3b6b08}.student-dashboard .portal-header{justify-content:space-between;margin-bottom:34px}.student-home-page{isolation:isolate;background-color:#0000;background-image:radial-gradient(at 10% 12%,#f0eafa 0,#0000 34rem),radial-gradient(at 95% 58%,#f1ecfa 0,#0000 32rem),linear-gradient(155deg,#fcfbfe,#f8f7fb 52%,#fcfbfe);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:140% 140%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-items:start center;padding:clamp(14px,3vw,36px) 20px 56px;animation:24s ease-in-out infinite alternate student-background-drift;position:relative;overflow-x:clip}.student-module-page{overflow-x:clip}.student-home-page:before,.student-home-page:after{z-index:-1;content:"";pointer-events:none;border:1px solid #e8def363;border-radius:50%;width:310px;height:310px;position:absolute}.student-home-page:before{animation:18s ease-in-out infinite alternate student-ambient-float;top:16%;left:-190px;box-shadow:0 0 0 24px #eee8f52b,0 0 0 48px #eee8f51c}.student-home-page:after{border-color:#e8def363;width:390px;height:390px;animation:22s ease-in-out -7s infinite alternate-reverse student-ambient-float;bottom:8%;right:-210px;box-shadow:0 0 0 28px #eee8f52b,0 0 0 56px #eee8f51c}.student-topbar .wordmark{font-size:17px}.student-account{background:#fff;border:1px solid #ebe6f2;border-radius:16px;align-items:center;gap:11px;min-height:52px;padding:6px 7px 6px 9px;transition:border-color .18s,background .18s,box-shadow .18s;animation:.48s .12s both student-account-enter;display:flex;box-shadow:0 2px 8px #39255d08}.student-account:hover{border-color:#ddd3ed;box-shadow:0 5px 14px #39255d0d}.student-account-name{color:#342d40;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;max-width:170px;font-size:13px;font-weight:650;overflow:hidden}.student-avatar{color:#61449e;background:#f1ecf8;border:1px solid #e6ddf3;border-radius:12px;flex:none;place-items:center;width:36px;height:36px;font-size:14px;font-weight:800;transition:background .18s,border-color .18s,transform .18s;display:grid}.student-account:hover .student-avatar{background:#ece5f6;border-color:#d7c9ea;transform:translateY(-1px)}.student-account form{margin:0}.student-account form .button{color:#655b73;background:#faf9fc;border-color:#ebe6f2;border-radius:11px;min-height:36px;padding:0 13px;font-size:12px;transition:border-color .18s,background .18s,box-shadow .18s,color .18s,transform .18s}.student-account form .button:hover{color:var(--purple-dark);background:#f4effa;border-color:#d9cdec}.student-account form .button:active{transform:scale(.97)}@keyframes student-account-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.student-welcome{background-color:#0000;background-image:radial-gradient(at 87% 14%,#ffffffc9 0,#0000 27%),linear-gradient(115deg,#f7f3fc 0%,#f1ecfa 48%,#eee8f8 100%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:140% 140%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #e7def6;border-radius:26px;grid-template-columns:minmax(0,1fr) 250px;align-items:center;min-height:300px;padding:clamp(26px,4.5vw,48px);animation:12s ease-in-out infinite alternate student-welcome-breathe;display:grid;position:relative;overflow:hidden}.student-welcome:after{content:"";pointer-events:none;border:1px solid #fff9;border-radius:50%;width:390px;height:390px;animation:28s linear infinite student-orbit-drift;position:absolute;bottom:-180px;right:-100px}.student-welcome-copy{z-index:1;align-self:start;padding-top:8px;animation:.7s 80ms both student-content-enter;position:relative}.student-welcome-copy .eyebrow{margin:0 0 16px}.student-welcome-copy h1{letter-spacing:-.065em;margin:0;font-size:clamp(34px,5vw,54px);font-weight:600;line-height:1.07}.student-welcome-copy h1 span{color:var(--purple)}.student-welcome-description{color:#716981;max-width:430px;margin:16px 0 0;font-size:15px;line-height:1.65}.student-welcome-art{transform-origin:50% 56%;justify-self:center;place-items:center;width:240px;height:210px;animation:6.5s cubic-bezier(.45,0,.55,1) infinite student-art-float;display:grid;position:relative}.welcome-orbit{border:1px solid #8e6bd04d;border-radius:50%;width:178px;height:178px;position:absolute}.welcome-orbit-one{animation:24s linear infinite student-orbit-one;transform:scaleX(1.35)rotate(-30deg)}.welcome-orbit-two{border-color:#b7a0e266;width:138px;height:138px;animation:32s linear infinite student-orbit-two;transform:scaleX(1.35)rotate(34deg)}.welcome-book{color:#fff;background:linear-gradient(145deg,#835be0,#5732af 78%);border:1px solid #ffffffb8;border-radius:12px 18px 18px 12px;place-items:center;width:104px;height:124px;transition:box-shadow .45s,filter .45s;display:grid;position:relative;transform:rotate(-9deg);box-shadow:12px 12px #493087,18px 22px 34px #5636a147,inset 8px 0 #ffffff20}.student-welcome-art:hover .welcome-book{filter:brightness(1.06);box-shadow:15px 15px #493087,22px 28px 40px #5636a14a,inset 8px 0 #ffffff28}.welcome-book:before{content:"";background:#ffffff60;width:1px;position:absolute;top:10px;bottom:10px;left:10px}.welcome-book span{letter-spacing:-.08em;font-family:Georgia,Times New Roman,serif;font-size:32px}.welcome-spark{color:#815bd2;animation:3.8s ease-in-out infinite student-sparkle;position:absolute}.welcome-spark-one{font-size:22px;top:22px;right:32px}.welcome-spark-two{color:#b08dde;font-size:28px;animation-delay:.8s;bottom:34px;left:28px}.student-overview-stats{z-index:1;grid-column:1/-1;gap:12px;margin-top:6px;animation:.7s .18s both student-content-enter;display:flex;position:relative}.student-overview-stat{background:#ffffffa6;border:1px solid #ffffffa6;border-radius:13px;align-items:center;gap:9px;min-width:170px;padding:10px 13px;transition:transform .24s cubic-bezier(.2,.75,.25,1),box-shadow .24s,background .24s;display:flex;box-shadow:0 5px 16px #5636a108}.student-overview-stat:hover{background:#fff;transform:translateY(-3px);box-shadow:0 12px 24px #5636a114}.student-stat-icon{width:30px;height:30px;color:var(--purple);background:#eee8fb;border-radius:10px;flex:none;place-items:center;font-size:17px;font-weight:800;display:grid}.student-stat-value{color:#2e2739;font-size:17px;font-weight:800}.student-stat-label{color:#766e82;font-size:11px}.module-landing{isolation:isolate;background-image:linear-gradient(112deg, #ffffff8c 0%, #ffffff61 58%, #ffffff47 100%), var(--module-background-image,url(/module-background.jpg));background-position:50%,50% 48%;background-repeat:no-repeat;background-size:100% 100%,cover;border:1px solid #e8e0f0;border-radius:26px;align-items:start;min-height:520px;margin:24px auto 0;padding:clamp(24px,4.5vw,44px);animation:15s ease-in-out infinite alternate student-welcome-breathe;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 65px #49326b12,0 3px 12px #49326b08}.module-theme-2{--module-background-image:url(/module-two-background.jpg)}.module-theme-3{--module-background-image:url(/module-three-background.jpg)}.module-theme-4{--module-background-image:url(/module-four-background.jpg)}.module-theme-5{--module-background-image:url(/module-five-background.jpg)}.module-theme-6{--module-background-image:url(/module-six-background.jpg)}.module-theme-7{--module-background-image:url(/module-seven-background.jpg)}.module-landing:before,.module-landing:after{z-index:-1;content:"";opacity:.8;pointer-events:none;border:1px solid #9674d52b;border-radius:50%;width:290px;height:290px;animation:34s linear infinite student-orbit-one;position:absolute;top:50%;right:-90px;transform:translateY(-50%)scaleX(1.25)}.module-landing:after{border-color:#b7a0e266;width:205px;height:205px;animation:29s linear infinite student-orbit-two;top:50%;right:-47px}.module-landing-content{z-index:1;align-content:start;gap:12px;width:min(100%,590px);animation:.7s 80ms both student-content-enter;display:grid;position:relative}.module-landing-course,.module-landing-description{color:#756b83;margin:0}.module-landing-course{color:#6a4ca1;letter-spacing:.02em;background:#ffffffa6;border:1px solid #e9e0f4;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:7px 11px;font-size:13px;font-weight:700;display:inline-flex}.module-landing-course:before{content:"✦";background:#eee8fb;border-radius:7px;place-items:center;width:21px;height:21px;font-size:12px;display:grid}.module-landing h1{color:#172033;letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,4.3vw,44px);line-height:1.13}.module-landing-description{max-width:520px;font-size:14px;line-height:1.6}.module-lesson-list{gap:8px;margin-top:8px;display:grid}.module-lesson-link{color:#51465f;opacity:0;background:#ffffffd9;border:1px solid #eeeaf2;border-radius:13px;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:9px;min-height:52px;padding:8px 13px;font-size:14px;font-weight:600;text-decoration:none;transition:background .22s,border-color .22s,box-shadow .22s,transform .22s cubic-bezier(.2,.75,.25,1);animation:.48s cubic-bezier(.2,.75,.25,1) both student-module-enter;display:grid;box-shadow:0 3px 10px #49326b06}.module-lesson-link:nth-child(2){animation-delay:50ms}.module-lesson-link:nth-child(3){animation-delay:.1s}.module-lesson-link:nth-child(4){animation-delay:.15s}.module-lesson-link:nth-child(5){animation-delay:.2s}.module-lesson-link:nth-child(n+6){animation-delay:.25s}.module-lesson-link:hover{background:#fff;border-color:#ded2ef;transform:translate(4px);box-shadow:0 8px 20px #49326b12}.module-lesson-play{color:#7654bb;background:#f5f1fb;border:1px solid #e3d9f1;border-radius:50%;place-items:center;width:29px;height:29px;padding-left:2px;font-size:9px;transition:transform .22s,background .22s,color .22s;display:grid}.module-lesson-link:hover .module-lesson-play{color:#fff;background:#7047d2;transform:scale(1.08)}.module-lesson-title{text-overflow:ellipsis;overflow:hidden}.module-lesson-chevron{color:#a397b3;font-size:24px;line-height:1;transition:color .18s,transform .18s}.module-lesson-link:hover .module-lesson-chevron{color:var(--purple);transform:translate(3px)}.module-lesson-empty{color:#756b83;margin:8px 0 0;font-size:13px}.module-back-link{background:#fff;border-radius:999px;align-items:center;gap:5px;width:fit-content;padding:8px 12px;transition:background .18s,box-shadow .18s,transform .18s;display:inline-flex;box-shadow:0 4px 14px #49326b09}.module-back-link:hover{background:#f8f5fc;transform:translate(-2px);box-shadow:0 7px 18px #49326b10}.student-course-list{gap:22px;margin-top:18px;display:grid}.student-course{animation:student-content-enter .65s calc(.12s + .1s * var(--course-index,0)) both;background:#fff;border:1px solid #ece8ef;border-radius:24px;grid-template-columns:minmax(190px,.72fr) minmax(0,1.6fr);transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;overflow:hidden;box-shadow:0 10px 30px #44345d09,0 2px 6px #44345d05}.student-course:hover{border-color:#e0d5ed;transform:translateY(-4px)scale(1.003);box-shadow:0 20px 44px #44345d12,0 4px 10px #44345d08}.student-course-cover{color:#fff;background:radial-gradient(at 78% 12%,#ffffff3b 0,#0000 34%),linear-gradient(145deg,#7955c4 0%,#59428e 60%,#403451 100%);flex-direction:column;justify-content:space-between;min-height:246px;padding:23px;display:flex;position:relative;overflow:hidden}.student-course:nth-child(3n+2) .student-course-cover{background:radial-gradient(at 80% 6%,#ffffff30 0,#0000 34%),linear-gradient(145deg,#7454bd 0%,#524079 57%,#353044 100%)}.student-course:nth-child(3n) .student-course-cover{background:radial-gradient(at 78% 10%,#ffffff2a 0,#0000 34%),linear-gradient(145deg,#8953ae 0%,#614078 57%,#332b42 100%)}.student-course-cover:before,.student-course-cover:after{content:"";border:1px solid #ffffff38;border-radius:50%;width:225px;height:225px;transition:transform .45s cubic-bezier(.2,.7,.3,1);position:absolute;bottom:-86px;right:-54px}.student-course-cover:before{animation:16s ease-in-out infinite alternate student-cover-orbit}.student-course-cover:after{border-color:#ffffff24;width:185px;height:185px;bottom:-116px;right:-21px}.student-course:hover .student-course-cover:before{transform:translate(-8px,-8px)}.student-course-cover-label,.student-course-cover-number,.student-course-cover-bottom{z-index:1;position:relative}.student-course-cover-label{color:#ffffffc4;letter-spacing:.15em;font-size:10px;font-weight:800}.student-course-cover-number{color:#ffffff1f;letter-spacing:-.09em;font-size:74px;font-weight:800;line-height:1;position:absolute;top:42px;right:20px}.student-course-cover-bottom p{color:#ffffffbc;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}.student-course-cover-bottom h3{letter-spacing:-.035em;max-width:260px;margin:0;font-size:20px;line-height:1.25}.student-course-body{min-width:0;padding:22px 24px 18px}.student-course-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.access-expiry{color:var(--muted);text-align:right;margin:0;font-size:11px}.access-expiry strong{color:#514a5e;font-weight:700}.student-access-indicator{color:#756d7c;background:#f3f1f5;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:700;display:inline-flex}.student-access-indicator>span{background:#9c94a3;border-radius:50%;width:7px;height:7px}.student-access-indicator.is-active{color:#267653;background:#f0f8f3}.student-access-indicator.is-active>span{background:#37a673;box-shadow:0 0 0 3px #37a67321}.student-module-section-heading{border-bottom:1px solid #f0edf3;justify-content:space-between;align-items:baseline;gap:12px;margin-top:22px;padding-bottom:10px;display:flex}.student-module-section-heading h3{color:#423a4e;margin:0;font-size:13px}.student-module-section-heading>span{color:#8a8292;font-size:10px}.student-module-list{margin:0;padding:0;list-style:none}.student-module-list li{border-bottom:1px solid #f0edf3;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 0;font-size:12px;transition:background .22s,padding .22s;animation:.48s both student-module-enter;display:grid}.student-module-list li:nth-child(2){animation-delay:50ms}.student-module-list li:nth-child(3){animation-delay:.1s}.student-module-list li:nth-child(4){animation-delay:.15s}.student-module-list li:nth-child(n+5){animation-delay:.2s}.student-module-list li:hover{background:#fbf9fd;padding-left:5px;padding-right:5px}.student-module-list li:last-child{border-bottom:0}.module-lock{color:#918a98;background:#f3f1f5;border-radius:8px;place-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:grid}.module-lock.is-open{color:var(--purple);background:#eee8fb}.module-state{color:#8b8491;white-space:nowrap;font-size:10px}.student-module-list li.is-open .module-state{color:#5a3c9f}.student-module-link,.student-module-locked-title{align-items:center;gap:9px;min-width:0;display:flex}.student-module-link{color:#4a3b62;font-weight:700;transition:color .18s,gap .18s}.student-module-link:hover{color:var(--purple);gap:12px}.student-module-locked-title{color:#8a8490}.student-module-number{color:#a197ad;font-variant-numeric:tabular-nums;flex:none;font-size:10px}.student-module-link:hover .student-module-number{color:var(--purple)}.student-module-chevron{color:#a495bf;margin-left:auto;font-size:15px;transition:transform .14s}.student-module-link:hover .student-module-chevron{transform:translate(3px)}.student-no-modules{color:var(--muted);margin:14px 0 2px;font-size:12px}.student-learning-section{margin-top:40px}.student-section-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:8px;display:flex}.student-section-heading .eyebrow{margin:0 0 7px}.student-section-heading h2{letter-spacing:-.045em;margin:0;font-size:25px}.student-course-total{color:#716981;border:1px solid #ece7f1;border-radius:999px;padding:7px 11px;font-size:11px}.student-empty-state{background:radial-gradient(at 100% 0,#eee8fb 0,#0000 44%),#fcfbfe;border-color:#ded4f0}.student-course:nth-child(2){animation-delay:.22s}.student-course:nth-child(3){animation-delay:.32s}.student-course:nth-child(4){animation-delay:.42s}@keyframes student-page-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes student-background-drift{0%{background-position:0 0,100% 100%,0 0}to{background-position:16% 12%,86% 76%,0 0}}@keyframes student-ambient-float{0%{transform:translate(0)scale(.96)}to{transform:translate(24px,30px)scale(1.04)}}@keyframes student-welcome-breathe{0%{background-position:0 35%,0%}to{background-position:100% 55%,100%}}@keyframes student-orbit-drift{0%{transform:rotate(0)scale(1)}to{transform:rotate(360deg)scale(1.06)}}@keyframes student-orbit-one{0%{transform:scaleX(1.35)rotate(-30deg)}to{transform:scaleX(1.35)rotate(330deg)}}@keyframes student-orbit-two{0%{transform:scaleX(1.35)rotate(34deg)}to{transform:scaleX(1.35)rotate(-326deg)}}@keyframes student-cover-orbit{0%{transform:translate(0)}to{transform:translate(-12px,-10px)}}@keyframes student-module-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes lesson-video-enter{0%{opacity:0;transform:translateY(12px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes student-content-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes student-art-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)rotate(1deg)}}@keyframes student-sparkle{0%,to{opacity:.62;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}.empty-state{background:#fcfbfe;border:1px dashed #d9d1e6;border-radius:16px;margin-top:25px;padding:24px}.empty-state h2{margin:0;font-size:17px}.empty-state .muted{margin-bottom:0}.application-list{gap:16px;display:grid}.application-card{margin:0}.application-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.application-heading .eyebrow{margin-bottom:8px}.application-heading h2{margin:0 0 4px}.application-heading .muted{margin:7px 0 0;font-size:12px}.application-email{color:var(--purple-dark);font-size:14px;font-weight:700}.suggested-course{color:#5d4b80;background:#f7f4fc;border-radius:10px;margin:0 0 16px;padding:10px 12px;font-size:13px}.application-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.module-course+.module-course{margin-top:28px}.module-course h3{margin:0 0 12px;font-size:16px}.module-details{justify-items:start;gap:8px;display:grid}.module-details .muted{margin:0;font-size:12px}.module-actions,.lesson-actions{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.module-actions{flex-direction:column}.delete-content-form{justify-items:start;gap:8px;display:grid}.delete-content-form .form-error{max-width:320px;margin:0}.lesson-card{gap:20px;display:grid}.lesson-card h3,.lesson-materials h4{margin:0}.lesson-edit-form{border-top:1px solid var(--line);padding-top:18px}.lesson-materials{border-top:1px solid var(--line);gap:12px;padding-top:18px;display:grid}.lesson-materials ul{color:var(--muted);gap:8px;margin:0;padding-left:20px;font-size:13px;display:grid}.lesson-materials .muted{margin:0}.student-lesson-list{gap:18px;margin-top:24px;display:grid}.student-lesson{border:1px solid var(--line);background:#fff;border-radius:18px;padding:22px}.student-lesson .eyebrow{margin-bottom:8px}.student-lesson h2{margin:0 0 18px;font-size:21px}.student-lesson-page{background-image:linear-gradient(112deg, #ffffff8c 0%, #ffffff61 58%, #ffffff47 100%), var(--module-background-image,url(/module-background.jpg));background-position:50%,50% 48%;background-repeat:no-repeat;background-size:100% 100%,cover;border-color:#ece6f1;border-radius:24px;gap:24px;margin-top:24px;padding:clamp(20px,4vw,36px);animation:.65s cubic-bezier(.2,.75,.25,1) both student-content-enter;display:grid;box-shadow:0 16px 46px #49326b0b}.lesson-page-heading{justify-items:start;gap:12px;animation:.65s 70ms both student-content-enter;display:grid}.lesson-module-label,.lesson-number-label{margin:0}.lesson-module-label{color:#68518c;background:#f9f6fc;border:1px solid #e9e1f2;border-radius:999px;align-items:center;gap:8px;max-width:100%;padding:8px 12px;font-size:11px;font-weight:700;line-height:1.4;display:inline-flex}.lesson-module-label>span{color:#8766c2;flex:none}.lesson-number-label{color:#6747a6;letter-spacing:.12em;background:#eee8fb;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800}.lesson-page-heading h1{color:#30283b;letter-spacing:-.055em;text-wrap:balance;max-width:760px;margin:0;font-size:clamp(27px,4.5vw,42px);font-weight:600;line-height:1.13}.student-lesson-page .lesson-content{background:#fcfaff;border:1px solid #eee8f4;border-radius:16px;margin-top:0;padding:18px 20px;animation:.65s .15s both student-content-enter}.student-lesson-page .lesson-comments{background:radial-gradient(at 100% 0,#f7f2fc 0,#0000 38%),#fff;border:1px solid #eee8f3;border-radius:18px;margin-top:0;padding:clamp(18px,3vw,26px);animation:.65s .24s both student-content-enter}.student-lesson-page .lesson-comments h2{color:#393044;letter-spacing:-.025em;margin:0;font-size:19px}.student-lesson-page .lesson-video{border:1px solid #e8e1ef;border-radius:20px;animation:.7s .12s both lesson-video-enter;box-shadow:0 18px 40px #31233f18}.student-lesson-page .lesson-materials{background:#fff;border-color:#ebe5f0;border-radius:17px;padding:20px}.student-lesson-page .lesson-materials h2{color:#393044;margin:0;font-size:17px}.student-lesson-page .lesson-materials ul{padding-left:18px}.student-lesson-page .lesson-materials a{text-underline-offset:3px;-webkit-text-decoration:underline #d7c9ed;text-decoration:underline #d7c9ed;transition:color .16s,text-decoration-color .16s}.student-lesson-page .lesson-materials a:hover{color:var(--purple);text-decoration-color:currentColor}.student-lesson-page .comment-message{animation:.42s both student-module-enter}.student-lesson-page .comment-message:nth-child(2){animation-delay:50ms}.student-lesson-page .comment-message:nth-child(3){animation-delay:.1s}.student-lesson-page .lesson-comment-form{border-top:1px solid #eee8f3;padding-top:18px}.student-lesson-page .lesson-comment-form textarea{background:#fdfcff;border-color:#e7e0ec;border-radius:13px;transition:border-color .18s,box-shadow .18s,background .18s}.student-lesson-page .lesson-comment-form textarea:focus{background:#fff;border-color:#b7a0e2;box-shadow:0 0 0 4px #7047d214}.lesson-pagination{border-top:1px solid #eee8f2;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:22px;animation:.65s .3s both student-content-enter;display:flex}.lesson-pagination .button{min-height:44px;transition:transform .18s,box-shadow .18s,background .18s}.lesson-pagination .button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #49326b17}.lesson-back-link{margin-top:2px;animation:.52s both student-content-enter}.lesson-content{color:#50495b;overflow-wrap:anywhere;white-space:pre-wrap;margin-top:18px;font-size:14px;line-height:1.8}.lesson-content a{color:var(--purple);text-underline-offset:3px;text-decoration:underline}.lesson-content a:hover{color:#4c288b}.lesson-video{aspect-ratio:16/9;background:#17131d;border-radius:14px;width:100%;position:relative;overflow:hidden}.lesson-video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.lesson-materials h3{font-size:15px}.lesson-comments{border-top:1px solid var(--line);gap:14px;margin-top:24px;padding-top:20px;display:grid}.lesson-comments>h3{margin:0;font-size:16px}.lesson-comment-form{margin-top:8px}.comment-message-list{gap:12px;display:grid}.comment-message{border:1px solid var(--line);background:#fcfbfe;border-radius:14px;padding:14px 16px}.comment-message.is-admin{background:#f7f3ff;border-color:#e3d8fb}.comment-message>div{align-items:baseline;gap:9px;display:flex}.comment-message>div strong{font-size:13px}.comment-message>div span,.comment-message time{color:var(--muted);font-size:11px}.comment-message p{color:#50495b;overflow-wrap:anywhere;white-space:pre-wrap;margin:8px 0;font-size:14px;line-height:1.65}.comment-message time{display:block}.delete-comment-form{justify-content:flex-end;margin-top:10px;display:flex}.delete-comment-form .button{min-height:36px;padding:0 14px;font-size:12px}.comment-thread-card{color:inherit;margin:0;text-decoration:none;transition:border-color .14s,transform .14s;display:block}.comment-thread-card:hover{border-color:#c9b8ec;transform:translateY(-1px)}.comment-thread-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.comment-thread-heading h2{margin:0}.comment-thread-heading .muted,.comment-thread-course,.comment-thread-preview{color:var(--muted);margin:4px 0 10px;font-size:12px}.comment-thread-course{margin-top:14px}.comment-thread-preview{overflow-wrap:anywhere;margin:8px 0}.comment-thread-preview span{color:var(--foreground);font-weight:700}.comment-thread-card small{color:var(--muted);font-size:11px}.comment-conversation{gap:18px;display:grid}.text-link{color:var(--purple-dark);font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline}.invitation-row form .button{cursor:pointer;min-height:40px;padding:0 16px}.button-danger{color:#a52e43;background:#fff;border-color:#f1d3d8}.button-danger:hover{background:#fff6f7;border-color:#e7aeb8}::selection{color:#3e286f;background:#e7ddf8}.admin-page{background:radial-gradient(at 92% 0,#f1ecfa 0,#0000 32rem),linear-gradient(#fcfbfe 0,#f8f7fb 420px 100%)}.admin-header{z-index:1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffdf;border-bottom-color:#ece8f2;position:relative;box-shadow:0 4px 18px #39255d05}.admin-header .wordmark{font-size:16px}.admin-greeting{color:#655d70;font-size:12px;font-weight:600}.admin-nav{color:#746d80;border-bottom-color:#eae6f0;gap:5px;width:min(1120px,100% - 48px);padding:12px 0}.admin-nav a{border:1px solid #0000;border-radius:11px;min-height:38px;padding:0 12px;transition:background .16s,border-color .16s,color .16s,transform .16s}.admin-nav a[aria-current=page]{color:#5635ad;background:#f3effa;border-color:#e7def5}.admin-nav a:hover:not([aria-current=page]){color:#5635ad;background:#f5f2f9}.admin-nav a:active{transform:scale(.98)}.admin-nav-badge{background:#7047d2;box-shadow:0 2px 6px #7047d226}.admin-content{width:min(1020px,100% - 48px);margin-top:44px}.admin-content>h1{color:#292236;font-size:clamp(32px,4vw,42px)}.admin-content>.eyebrow{margin-bottom:10px}.admin-content>.muted{margin-top:12px;line-height:1.75}.admin-content>section>h2{letter-spacing:-.035em;margin:30px 0 14px;font-size:21px}.admin-panel{background:#fff;border-color:#ece8f2;border-radius:19px;padding:25px;box-shadow:0 8px 26px #33224d07,0 1px 3px #33224d04}.admin-panel h2{color:#302940;font-size:18px}.application-card,.lesson-card,.comment-thread-card{transition:border-color .18s,box-shadow .18s,transform .18s}.admin-panel.application-card:hover,.admin-panel.lesson-card:hover{border-color:#e2d9ef;transform:translateY(-2px);box-shadow:0 12px 30px #33224d0c,0 2px 5px #33224d05}.invitation-row{border-top-color:#efecf3}.invitation-row>div{min-width:0}.invitation-row>div>strong{color:#322b40}.invitation-row small{color:#827b8d}.status-pill{color:#655d70;background:#f7f5fa;border:1px solid #ebe7f1}.status-pill.is-active{color:#237b58;background:#eff8f2;border-color:#d7eddf}.admin-form label,.invite-result label{color:#4f485b;letter-spacing:.005em;font-size:12px}.admin-form select,.admin-form input,.admin-form textarea,.invite-result input,.login-form input{background:#fdfcff;border-color:#e5e0eb;border-radius:12px;transition:background .16s,border-color .16s,box-shadow .16s}.admin-form select:hover,.admin-form input:hover,.admin-form textarea:hover,.invite-result input:hover,.login-form input:hover{background:#fff;border-color:#d4cae4}.admin-form select:focus,.admin-form input:focus,.admin-form textarea:focus,.invite-result input:focus,.login-form input:focus{border-color:#9c7ade;outline:3px solid #7047d218;box-shadow:0 0 0 3px #7047d218}.button{border-radius:13px;min-height:46px;font-size:13px;transition:background .16s,border-color .16s,box-shadow .16s,color .16s,transform .16s}.button-primary{box-shadow:0 5px 14px #7047d21c}.button-primary:hover{box-shadow:0 8px 20px #7047d229}.button-outline{background:#fff}.button-danger{box-shadow:none}.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #7047d24d}.button:disabled{cursor:not-allowed;opacity:.62;transform:none}.highlight-card{background:#fff;border-color:#ebe7f1;transition:border-color .18s,box-shadow .18s,transform .18s;box-shadow:0 5px 18px #33224d06}.highlight-card:hover{border-color:#ded4ef;transform:translateY(-3px);box-shadow:0 14px 30px #33224d0d}.hero-art{box-shadow:0 28px 80px #5431ae17,inset 0 1px #ffffffc7}.art-card{transition:box-shadow .22s;animation:7s ease-in-out infinite landing-card-float}.hero-art:hover .art-card{box-shadow:0 30px 80px #42258c33}.empty-state{background:#fff;border-color:#ded7e9}.text-link{text-underline-offset:3px}.text-link:hover{text-decoration-thickness:2px}.button:active:not(:disabled),.admin-nav a:active,.student-module-link:active,.module-lesson-link:active{transform:scale(.98)}.button:disabled:active{transform:none}.invitation-row .button,.module-actions .button,.application-actions .button{transition:background-color .16s,border-color .16s,box-shadow .16s,color .16s,transform .16s}.admin-content>.admin-panel,.admin-content>.application-list>*,.admin-content>section>.application-list>*,.invitation-list>.invitation-row{animation:.48s cubic-bezier(.2,.75,.25,1) both ui-content-enter}.admin-content>.admin-panel:nth-of-type(2),.admin-content>section>.application-list>:nth-child(2),.invitation-list>.invitation-row:nth-child(2){animation-delay:60ms}.admin-content>.admin-panel:nth-of-type(3),.admin-content>section>.application-list>:nth-child(3),.invitation-list>.invitation-row:nth-child(3){animation-delay:.12s}.admin-content>section>.application-list>:nth-child(4),.invitation-list>.invitation-row:nth-child(4){animation-delay:.18s}.admin-content>section>.application-list>:nth-child(n+5),.invitation-list>.invitation-row:nth-child(n+5){animation-delay:.22s}.status-pill,.student-access-indicator{transition:background-color .18s,border-color .18s,color .18s,transform .18s;animation:.32s ease-out both ui-state-enter}.admin-nav-badge{animation:.36s cubic-bezier(.2,.75,.25,1) both ui-badge-enter}.form-error,.form-success{animation:.28s ease-out both ui-feedback-enter}.comment-message{transition:border-color .18s,background-color .18s,box-shadow .18s,transform .18s}.comment-message:hover{border-color:#e0d8eb;box-shadow:0 5px 16px #39255d0a}@keyframes ui-content-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ui-state-enter{0%{opacity:.55;transform:translateY(3px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ui-badge-enter{0%{opacity:0;transform:scale(.72)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes ui-feedback-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-card-float{0%,to{translate:0}50%{translate:0 -7px}}@media (max-width:760px){.admin-header{min-height:68px;padding:0 16px}.admin-nav{gap:4px;width:calc(100% - 32px);padding:10px 0}.admin-nav a{min-height:36px;padding:0 10px;font-size:12px}.admin-panel{border-radius:16px;padding:19px 16px}.invitation-row{flex-wrap:wrap;gap:12px}.invitation-row>form,.invitation-row>form .button{width:100%}.student-dashboard{background:#fff}.site-header,.site-footer,.hero-section,.highlights-section{width:min(100% - 32px,560px)}.site-header{height:72px}.hero-section{grid-template-columns:1fr;gap:6px;margin-top:12px}.hero-copy{padding:28px 0 18px}.hero-copy h1{font-size:clamp(39px,10vw,56px)}.hero-description{font-size:15px}.hero-art{border-radius:28px;min-height:300px}.orbit-outer{width:min(410px,90%)}.orbit-inner{width:min(350px,80%)}.highlights-section{margin-top:58px;padding-bottom:50px}.highlight-grid{grid-template-columns:1fr}.highlight-card{min-height:140px}.site-footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;min-height:78px}.auth-card,.portal-card{padding:28px 22px}.admin-header{padding:0 16px}.admin-greeting{text-align:right;max-width:50%}.admin-header-actions{gap:8px}.admin-content{width:calc(100% - 32px);margin-top:36px}.admin-nav{gap:18px;width:calc(100% - 32px);overflow-x:auto}.admin-panel{padding:20px 16px}.admin-form-row{grid-template-columns:1fr}.invitation-row{align-items:flex-start}.student-course-heading{flex-direction:column;align-items:flex-start}.student-home-page{padding:14px 12px 32px}.student-dashboard{border-radius:25px;padding:22px 18px}.student-module-dashboard,.student-lesson-dashboard{padding:22px 18px}.student-lesson-page{border-radius:20px;gap:18px;margin-top:18px;padding:18px 14px}.lesson-page-heading{gap:10px}.lesson-page-heading h1{font-size:clamp(25px,7vw,34px)}.lesson-module-label{border-radius:13px;font-size:10px}.student-lesson-page .lesson-video{border-radius:14px}.student-lesson-page .lesson-content{border-radius:13px;padding:14px}.student-lesson-page .lesson-comments{border-radius:15px;padding:16px 13px}.student-lesson-page .lesson-materials{border-radius:14px;padding:15px}.lesson-pagination .button{min-height:42px;padding:0 15px;font-size:12px}.module-landing{border-radius:21px;min-height:0;margin-top:18px;padding:24px 18px}.module-landing:before{top:14%;right:-185px}.module-landing:after{top:15%;right:-142px}.module-landing-content{gap:10px}.module-landing h1{font-size:clamp(27px,7vw,36px)}.module-lesson-list{border-radius:16px;gap:7px;padding:8px}.module-lesson-link{border-radius:11px;grid-template-columns:30px minmax(0,1fr) 16px;gap:8px;min-height:48px;padding:7px 9px;font-size:12px}.module-lesson-play{width:25px;height:25px}.student-dashboard .portal-header{margin-bottom:24px}.student-account{gap:8px}.student-account-name{display:none}.student-welcome{border-radius:20px;grid-template-columns:minmax(0,1fr) 100px;gap:10px;min-height:0;padding:24px 20px 20px}.student-welcome-copy{padding-top:0}.student-welcome-copy h1{font-size:clamp(32px,8vw,44px)}.student-welcome-description{max-width:300px;font-size:13px}.student-welcome-art{align-self:start;width:110px;height:140px;margin-top:12px}.welcome-orbit{width:96px;height:96px}.welcome-orbit-two{width:76px;height:76px}.welcome-book{border-radius:8px 11px 11px 8px;width:61px;height:76px;box-shadow:7px 7px #493087,12px 15px 25px #5636a147,inset 5px 0 #ffffff20}.welcome-book span{font-size:23px}.welcome-spark-one{top:8px;right:2px}.welcome-spark-two{bottom:10px;left:0}.student-overview-stats{flex-wrap:wrap;gap:8px;margin-top:0}.student-overview-stat{flex:130px;gap:7px;min-width:0;padding:8px}.student-stat-icon{width:26px;height:26px}.student-stat-label{font-size:10px}.student-learning-section{margin-top:30px}.student-section-heading h2{font-size:22px}.student-course{border-radius:21px;grid-template-columns:1fr}.student-course-cover{min-height:158px;padding:18px}.student-course-cover-number{font-size:58px;top:28px}.student-course-cover-bottom h3{font-size:18px}.student-course-body{padding:17px 18px 12px}.student-course-heading{align-items:flex-start;gap:9px}.access-expiry{text-align:left}.student-module-section-heading{margin-top:17px}.student-module-list li{grid-template-columns:22px minmax(0,1fr) auto;gap:7px;font-size:11px}.lesson-card,.student-lesson{padding:18px}.application-heading{flex-direction:column}.invitation-row .button{padding:0 12px;font-size:12px}}@media (hover:hover) and (pointer:fine){.button:hover:not(:disabled){transform:translateY(-1px)}.button:hover:active:not(:disabled){transform:scale(.98)}.student-course:hover,.highlight-card:hover{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.student-home-page{animation:none}.module-lesson-link{opacity:1}.admin-content>.admin-panel,.admin-content>.application-list>*,.admin-content>section>.application-list>*,.invitation-list>.invitation-row,.status-pill,.student-access-indicator,.admin-nav-badge,.form-error,.form-success{animation:none}.button:active:not(:disabled),.admin-nav a:active,.student-module-link:active,.module-lesson-link:active{transform:none}}
