:root{--ink:#321568;--ink-2:#54338f;--text:#2f2450;--muted:#716981;--cream:#e9fac6;--cream-2:#fffef9;--paper:#fff;--coral:#ff4f87;--coral-dark:#e73876;--gold:#ffd54a;--sky:#dceeff;--mint:#dff5a7;--line:#e4e0eb;--shadow-sm:0 8px 24px #32156814;--shadow-lg:0 28px 70px #3215682b;--radius-sm:12px;--radius-md:20px;--radius-lg:30px;color:var(--text);background:var(--cream-2);font-synthesis:none;text-rendering:optimizelegibility;font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{background:var(--cream-2);min-width:320px;color:var(--text);margin:0;line-height:1.6}body,button,a{-webkit-font-smoothing:antialiased}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Nunito,Manrope,DM Sans,system-ui,sans-serif}.logo__text{font-family:Manrope,DM Sans,system-ui,sans-serif}h1,h2,h3{color:var(--ink);letter-spacing:-.035em;line-height:1.13}h2{margin-bottom:18px;font-size:clamp(2rem,4vw,3.35rem);font-weight:800}h3{font-size:1.2rem;font-weight:750}::selection{background:var(--gold);color:var(--ink)}.container{width:min(1160px,100% - 48px);margin:0 auto}.section{padding:112px 0}.kicker{color:var(--coral-dark);letter-spacing:.13em;text-transform:uppercase;margin-bottom:15px;font-size:.76rem;font-weight:800;display:inline-block}.kicker--light{color:#efc67a}.eyebrow{color:var(--ink-2);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:9px;margin-bottom:24px;font-size:.78rem;font-weight:800;display:inline-flex}.eyebrow>span{background:var(--gold);border-radius:50%;place-items:center;width:27px;height:27px;display:grid}.section-heading--split{grid-template-columns:1.15fr .7fr;align-items:end;gap:80px;margin-bottom:56px;display:grid}.section-heading--split h2{margin-bottom:0}.section-heading--split p{max-width:470px;color:var(--muted);margin:0 0 5px;font-size:1.05rem}.section-heading--center{text-align:center;max-width:700px;margin:0 auto 56px}.section-heading--center p{color:var(--muted);margin-bottom:0;font-size:1.05rem}.button{isolation:isolate;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 20px;font-weight:750;line-height:1;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s;display:inline-flex;position:relative;overflow:hidden}.button:hover{transform:translateY(-2px)}.button:focus-visible,.menu-button:focus-visible,.faq-item button:focus-visible,.level-toggle button:focus-visible,.auth-close:focus-visible,.input-wrap button:focus-visible{outline-offset:3px;outline:3px solid #ef765e59}.button--primary{background:linear-gradient(115deg, #df5d46, var(--coral) 52%, #f58b75);color:#fff;box-shadow:0 10px 22px #dd5f483b,inset 0 1px #ffffff40}.button--primary:after{z-index:-1;content:"";background:#ffffff38;width:22%;transition:left .42s;position:absolute;top:-55%;bottom:-55%;left:-42%;transform:rotate(20deg)}.button--primary:hover{background:linear-gradient(115deg, #d95740, var(--coral-dark) 52%, #ed806a);box-shadow:0 14px 29px #dd5f484d}.button--primary:hover:after{left:125%}.button--small{min-height:42px;padding:0 16px;font-size:.89rem}.button--large{min-height:56px;padding:0 24px}.button--quiet{color:var(--ink);background:0 0;border-color:#bdcbc5}.button--quiet:hover,.button--outline:hover{border-color:var(--ink);background:var(--ink);color:#fff}.button--outline{color:var(--ink);background:#fff;border-color:#bdc9c4}.button--cream{background:var(--cream-2);color:var(--ink);box-shadow:0 12px 26px #27104f26}.button--cream:hover{background:#fff;box-shadow:0 15px 30px #27104f38}.button--full{width:100%}.text-link{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-underline-offset:4px;font-weight:700;text-decoration-thickness:2px}.text-link--arrow{align-items:center;gap:7px;display:inline-flex}.button-reset{background:0 0;border:0;padding:0}.account-link{color:var(--ink);background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:.88rem;font-weight:750;display:inline-flex}.account-link>span{background:var(--mint);width:32px;height:32px;color:var(--ink);border-radius:50%;place-items:center;font-family:Manrope,sans-serif;font-size:.76rem;font-weight:800;display:grid}.header-account-menu{padding:8px 0;position:relative}.account-link--trigger{border-radius:10px;gap:9px;min-height:42px;padding:0 7px;transition:background .16s}.account-link--trigger:hover,.header-account-menu:focus-within .account-link--trigger{background:#f2ecff}.account-link--trigger>div{flex-direction:column;align-items:flex-start;min-width:0;line-height:1.2;display:flex}.account-link--trigger small{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.48rem;font-weight:700}.account-link--trigger strong{max-width:100px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.71rem;overflow:hidden}.account-link--trigger>svg{color:#8d82a1;transition:transform .18s}.header-account-menu:hover .account-link--trigger>svg,.header-account-menu:focus-within .account-link--trigger>svg{transform:rotate(180deg)}.header-account-dropdown{z-index:80;opacity:0;pointer-events:none;transform-origin:100% 0;visibility:hidden;background:#fffffffa;border:1px solid #e3dceb;border-radius:16px;width:315px;padding:10px;transition:opacity .18s,transform .18s,visibility .18s;position:absolute;top:calc(100% - 2px);right:0;transform:translateY(-8px)scale(.98);box-shadow:0 24px 60px #28124e33}.header-account-menu:hover .header-account-dropdown,.header-account-menu:focus-within .header-account-dropdown{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)scale(1)}.header-account-dropdown:before{content:"";background:#fff;border-top:1px solid #e3dceb;border-left:1px solid #e3dceb;width:13px;height:13px;position:absolute;top:-7px;right:30px;transform:rotate(45deg)}.header-account-dropdown__identity{background:linear-gradient(120deg,#f4efff,#effbd5);border-radius:11px;align-items:center;gap:10px;margin-bottom:7px;padding:11px;display:flex}.header-account-dropdown__identity>span{background:var(--ink);color:#fff;border-radius:12px;flex:none;place-items:center;width:41px;height:41px;font-size:.82rem;font-weight:850;display:grid}.header-account-dropdown__identity>div,.header-account-dropdown>button>div{flex-direction:column;min-width:0;display:flex}.header-account-dropdown__identity strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.header-account-dropdown__identity small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.55rem;overflow:hidden}.header-account-dropdown>button{text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;min-height:58px;padding:8px 9px;transition:background .15s,transform .15s;display:grid}.header-account-dropdown>button:hover{background:#f6f3fb;transform:translate(2px)}.header-account-dropdown>button>span{width:34px;height:34px;color:var(--ink-2);background:#ece5fb;border-radius:9px;place-items:center;display:grid}.header-account-dropdown>button strong{color:var(--ink);font-size:.68rem}.header-account-dropdown>button small{color:var(--muted);font-size:.52rem}.header-account-dropdown>button>svg{color:#a298b1}.header-account-dropdown>button.header-signout{border-top:1px solid var(--line);border-radius:0 0 10px 10px;grid-template-columns:auto 1fr}.header-account-dropdown>button.header-signout>span{color:#c83e6c;background:#ffe8ef}.header-account-dropdown>button.header-signout strong{color:#ac315b}.mobile-logout-button{color:#aa315b;background:#fff5f8;border:1px solid #f0c9d7;border-radius:9px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:47px;font-weight:750;display:flex}.site-header{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8f5;border-bottom:1px solid #32156817;height:76px;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;width:min(1240px,100% - 40px);height:100%;margin:0 auto;display:flex}.logo{flex-shrink:0;align-items:center;gap:10px;display:inline-flex}.logo__mark{border:2px solid var(--ink);color:#fff;background:#fff;border-radius:12px;place-items:center;width:44px;height:44px;display:grid;overflow:hidden;transform:rotate(-2deg);box-shadow:0 5px 13px #3215681f}.logo__mark img{object-fit:cover;width:100%;height:100%}.logo__text{color:var(--ink);letter-spacing:-.045em;font-size:1.27rem;font-weight:800}.logo__text span{color:var(--coral)}.logo__text small{color:var(--ink-2);letter-spacing:.18em;text-transform:uppercase;margin-top:-2px;font-family:DM Sans,sans-serif;font-size:.48rem;font-weight:800;line-height:1;display:block}.logo--light .logo__text small{color:#dff7a6}.logo--light .logo__mark{color:var(--ink);background:#fff;border-color:#ffffffd1}.logo--light .logo__text{color:#fff}.nav{align-items:center;gap:29px;margin-left:auto;margin-right:38px;display:flex}.nav>a{color:#52635f;font-size:.9rem;font-weight:600;position:relative}.nav>a:after{background:var(--coral);content:"";border-radius:1px;height:2px;transition:transform .16s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.nav>a:hover{color:var(--ink)}.nav>a:hover:after{transform:scaleX(1)}.header-actions{align-items:center;gap:7px;display:flex}.login-link{color:var(--ink);font-size:.9rem;font-weight:700}.header-portal-link{color:#4f615d;white-space:nowrap;background:0 0;border:0;border-radius:8px;min-height:37px;padding:0 9px;font-size:.75rem;font-weight:700;transition:color .16s,background .16s}.header-portal-link:hover{color:var(--ink);background:#edf2ee}.header-portal-link--admin{color:#8a5417}.mobile-portal-button{border:1px solid var(--line);width:100%;min-height:47px;color:var(--ink);background:#fff;border-radius:9px;font-weight:750}.mobile-portal-button--primary{border-color:var(--coral);background:var(--coral);color:#fff}.menu-button,.nav__mobile-actions{display:none}.hero{background:#e2f7a7;position:relative;overflow:hidden}.hero:before{content:"";border:52px solid #7048df17;border-radius:50%;width:330px;height:330px;position:absolute;top:-120px;left:-95px}.hero__dots{opacity:.32;background-image:radial-gradient(var(--ink) 1.5px, transparent 1.5px);background-size:17px 17px;width:188px;height:220px;position:absolute;top:64px;right:-28px}.hero__grid{grid-template-columns:1.04fr .96fr;align-items:center;gap:65px;min-height:670px;padding-top:55px;padding-bottom:70px;display:grid}.hero__content{z-index:2;padding-bottom:14px;position:relative}.hero h1{letter-spacing:-.065em;max-width:670px;margin-bottom:25px;font-size:clamp(3.2rem,5.7vw,5rem);font-weight:800}.hero h1 em{color:var(--coral);white-space:nowrap;font-style:normal;position:relative}.hero h1 em:after{background:var(--gold);content:"";border-radius:50%;height:5px;position:absolute;bottom:-5px;left:1%;right:1%;transform:rotate(-1.2deg)}.hero__lede{color:#536662;max-width:590px;margin-bottom:31px;font-size:1.15rem;line-height:1.75}.hero__actions{flex-wrap:wrap;gap:12px;margin-bottom:26px;display:flex}.hero__proof{color:#53645f;flex-wrap:wrap;gap:19px;font-size:.82rem;font-weight:600;display:flex}.hero__proof span{align-items:center;gap:5px;display:flex}.hero__proof svg{color:var(--coral-dark);stroke-width:3px}.hero__visual{min-height:520px;position:relative}.hero__photo-wrap{z-index:2;width:91%;height:480px;box-shadow:var(--shadow-lg);background:#fff;border-radius:29px 29px 95px;padding:12px;position:absolute;top:5px;right:0;transform:rotate(1.2deg)}.hero__photo{object-fit:cover;object-position:48% center;border-radius:20px 20px 84px;width:100%;height:100%}.hero__shape{z-index:0;background:var(--gold);border-radius:47% 53% 27% 73%/62% 38%;width:85%;height:77%;position:absolute;bottom:-7px;right:-45px;transform:rotate(-7deg)}.class-pill{min-width:205px;box-shadow:var(--shadow-sm);color:var(--muted);background:#fffffff5;border:1px solid #32156812;border-radius:13px;align-items:center;gap:11px;padding:13px 15px;font-size:.72rem;line-height:1.4;display:flex;position:absolute;bottom:43px;right:-19px;transform:rotate(-1.2deg)}.class-pill span:last-child{flex-direction:column;display:flex}.class-pill strong{color:var(--ink);font-size:.84rem}.class-pill__icon{background:var(--mint);width:37px;height:37px;color:var(--ink);border-radius:10px;flex:none;place-items:center;display:grid}.progress-card{z-index:4;width:235px;box-shadow:var(--shadow-lg);background:#fff;border:1px solid #3215680f;border-radius:15px;padding:16px;position:absolute;bottom:4px;left:0}.progress-card__top{align-items:center;gap:10px;display:flex}.progress-card__icon{width:39px;height:39px;color:var(--coral-dark);background:#fce9e4;border-radius:10px;place-items:center;display:grid}.progress-card__top>span:last-child{flex-direction:column;line-height:1.35;display:flex}.progress-card small,.progress-card__foot{color:var(--muted);font-size:.71rem}.progress-card__top strong{color:var(--ink);font-size:.85rem}.progress-card__bar{background:#edf0ed;border-radius:10px;height:7px;margin:15px 0 8px;overflow:hidden}.progress-card__bar span{border-radius:inherit;background:var(--coral);width:82%;height:100%;display:block}.progress-card__foot{justify-content:space-between;display:flex}.progress-card__foot strong{color:var(--coral-dark)}.stats{background:#fff;border-top:1px solid #32156814;border-bottom:1px solid #32156814}.stats__inner{grid-template-columns:220px 1fr;align-items:center;gap:20px;min-height:124px;display:grid}.stats__inner>p{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.stats__items{grid-template-columns:repeat(4,1fr);display:grid}.stat{border-left:1px solid var(--line);flex-direction:column;padding:4px 35px;display:flex}.stat strong{color:var(--ink);letter-spacing:-.04em;font-family:Manrope,sans-serif;font-size:1.65rem}.stat span{color:var(--muted);font-size:.78rem}.curriculum-showcase{background:#fffef9;padding:108px 0 92px;overflow:hidden}.curriculum-showcase__heading{grid-template-columns:1.1fr .7fr;align-items:end;gap:70px;margin-bottom:38px;display:grid}.curriculum-showcase__heading h2{max-width:690px;margin-bottom:0}.curriculum-showcase__heading>p{color:var(--muted);margin:0 0 6px;font-size:.95rem;line-height:1.7}.curriculum-carousel{--slide-accent:#ff4f87;--slide-bg:#321568;background:var(--slide-bg);color:#fff;border-radius:34px;grid-template-columns:.8fr 1.2fr;min-height:505px;display:grid;position:relative;overflow:hidden;box-shadow:0 28px 65px #32156833}.curriculum-carousel:before,.curriculum-carousel:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.curriculum-carousel:before{border:65px solid #ffffff12;width:420px;height:420px;top:-170px;left:-130px}.curriculum-carousel:after{background:var(--slide-accent);opacity:.18;width:230px;height:230px;bottom:-110px;right:31%}.curriculum-carousel--cyan{--slide-bg:#0ba9bd;--slide-accent:#ffe65c}.curriculum-carousel--orange{--slide-bg:#ee7523;--slide-accent:#ffd952}.curriculum-carousel--violet{--slide-bg:#5a2a91;--slide-accent:#ff7eae}.curriculum-carousel--green{--slide-bg:#32a958;--slide-accent:#ffe45c}.curriculum-carousel--pink{--slide-bg:#e83e7d;--slide-accent:#ffd957}.curriculum-carousel--blue{--slide-bg:#117ec1;--slide-accent:#bce94e}.curriculum-carousel--lime{--slide-bg:#8dbd20;--slide-accent:#5b2c91}.curriculum-carousel--yellow{--slide-bg:#efb516;--slide-accent:#5a2a91}.curriculum-carousel--sky{--slide-bg:#238db1;--slide-accent:#f5ce35}.curriculum-carousel__copy{z-index:3;flex-direction:column;justify-content:center;padding:64px 45px 64px 65px;animation:.52s cubic-bezier(.22,1,.36,1) both curriculum-copy-in;display:flex;position:relative}.curriculum-carousel__count{color:#ffffffa1;letter-spacing:.12em;font-size:.65rem;font-weight:800;position:absolute;top:31px;left:65px}.curriculum-carousel__brand{color:#fff;letter-spacing:.06em;text-transform:uppercase;background:#ffffff21;border-radius:20px;align-items:center;gap:7px;width:fit-content;margin-bottom:17px;padding:7px 10px;font-size:.67rem;font-weight:800;display:inline-flex}.curriculum-carousel__copy h3{color:#fff;letter-spacing:-.065em;margin-bottom:13px;font-size:clamp(2.5rem,5vw,4.4rem)}.curriculum-carousel__copy>p{color:#ffffffc7;max-width:410px;margin-bottom:27px;font-size:.87rem;line-height:1.7}.curriculum-carousel__actions{flex-wrap:wrap;align-items:center;gap:15px;display:flex}.carousel-text-button{color:#fff;background:0 0;border:0;border-bottom:1px solid #ffffff8c;padding:6px 0;font-size:.72rem;font-weight:800}.curriculum-carousel__visual{z-index:2;background:#fff;border-radius:24px;place-items:center;margin:22px 22px 22px 0;animation:.6s cubic-bezier(.22,1,.36,1) both curriculum-image-in;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 40px #110a2738}.curriculum-carousel__visual:after{border-radius:inherit;content:"";pointer-events:none;border:1px solid #fff9;position:absolute;inset:0}.curriculum-book-cover{--cover:#0ba9bd;--cover-accent:#ffe65c;perspective:1000px;background:radial-gradient(circle at 72% 18%,#fffffff2,#f0f8ffcc 27%,#dbeff3 72%);place-items:center;width:100%;height:100%;min-height:430px;display:grid;position:relative;overflow:hidden}.curriculum-cover-photo{z-index:5;object-fit:contain;filter:saturate(1.04)contrast(1.02);border-radius:10px;width:auto;max-width:88%;height:auto;max-height:92%;display:block;position:relative;box-shadow:0 24px 48px #1b233e47}.curriculum-book-cover--photo .curriculum-book-cover__book,.curriculum-book-cover--photo .curriculum-cover-shapes{display:none}.curriculum-book-cover--photo{background:radial-gradient(circle at 50% 42%,#fff 0,#f8fbff 45%,#dcebf1 100%)}.curriculum-book-cover--photo:after{content:"";border:1px solid #30547014;border-radius:24px;position:absolute;inset:7%}.curriculum-book-cover--orange{--cover:#ee7523;--cover-accent:#ffd952}.curriculum-book-cover--violet{--cover:#5a2a91;--cover-accent:#ff7eae}.curriculum-book-cover--green{--cover:#32a958;--cover-accent:#ffe45c}.curriculum-book-cover--pink{--cover:#e83e7d;--cover-accent:#ffd957}.curriculum-book-cover--blue{--cover:#117ec1;--cover-accent:#bce94e}.curriculum-book-cover--lime{--cover:#8dbd20;--cover-accent:#5b2c91}.curriculum-book-cover--yellow{--cover:#efb516;--cover-accent:#5a2a91}.curriculum-book-cover--sky{--cover:#238db1;--cover-accent:#f5ce35}.curriculum-book-cover__book{z-index:3;background:var(--cover);background:linear-gradient(145deg, color-mix(in srgb, var(--cover), white 13%), var(--cover));width:min(300px,58%);min-height:375px;box-shadow:-13px 16px 0 color-mix(in srgb, var(--cover), black 22%), 0 28px 55px #1d2d494d;color:#fff;border:7px solid #ffffffd6;border-radius:14px 25px 25px 14px;flex-direction:column;justify-content:flex-end;padding:32px 27px;display:flex;position:relative;overflow:hidden;transform:rotateY(-8deg)rotate(-3deg)}.curriculum-book-cover__book:before,.curriculum-book-cover__book:after{content:"";border-radius:50%;position:absolute}.curriculum-book-cover__book:before{background:var(--cover-accent);opacity:.9;width:190px;height:190px;top:-65px;right:-55px}.curriculum-book-cover__book:after{border:22px solid #ffffff24;width:125px;height:125px;top:75px;left:-38px}.curriculum-book-cover__book>span{z-index:2;letter-spacing:.08em;text-transform:uppercase;background:#ffffff2e;border-radius:20px;padding:5px 8px;font-size:.58rem;font-weight:900;position:absolute;top:22px;left:25px}.curriculum-book-cover__book>i{z-index:2;background:var(--cover-accent);width:95px;height:95px;color:var(--cover);border:5px solid #ffffffd1;border-radius:29px;place-items:center;font-family:Trebuchet MS,sans-serif;font-size:2.4rem;font-style:normal;font-weight:900;display:grid;position:absolute;top:65px;right:30px;transform:rotate(7deg);box-shadow:0 13px 25px #1c1b3738}.curriculum-book-cover__book>strong{z-index:2;color:#fff;letter-spacing:-.05em;text-shadow:0 5px 14px #0000002e;margin-bottom:8px;font-family:Trebuchet MS,system-ui,sans-serif;font-size:clamp(1.8rem,3vw,2.75rem);font-weight:900;line-height:.95;position:relative}.curriculum-book-cover__book>small{z-index:2;color:#ffffffe0;font-size:.66rem;font-weight:800;position:relative}.curriculum-book-cover__book>em{z-index:2;color:#ffffffb3;border-top:1px solid #ffffff40;margin-top:22px;padding-top:8px;font-size:.48rem;font-style:normal;position:relative}.curriculum-book-cover__book--back{z-index:1;filter:saturate(.75)brightness(.86);opacity:.75;width:230px;min-height:305px;position:absolute;right:7%;transform:rotateY(-8deg)rotate(10deg)}.curriculum-book-cover__book--back strong{font-size:1.5rem}.curriculum-book-cover__book--back>span{display:block}.curriculum-cover-shapes i{z-index:2;background:var(--cover-accent);border-radius:50%;position:absolute;box-shadow:0 12px 25px #1f2c462e}.curriculum-cover-shapes i:first-child{width:62px;height:62px;top:12%;left:9%}.curriculum-cover-shapes i:nth-child(2){opacity:.62;width:92px;height:92px;bottom:8%;right:7%}.curriculum-cover-shapes i:nth-child(3){opacity:.48;width:34px;height:34px;bottom:19%;left:6%}.curriculum-book-cover--compact{background:var(--cover);background:color-mix(in srgb, var(--cover), white 20%);border-radius:6px;width:45px;height:36px;min-height:36px}.curriculum-book-cover--compact .curriculum-cover-photo{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100%;box-shadow:none;border-radius:5px}.curriculum-book-cover--compact .curriculum-book-cover__book{width:30px;min-height:29px;box-shadow:-3px 3px 0 color-mix(in srgb, var(--cover), black 22%);border:2px solid #fffc;border-radius:3px 6px 6px 3px;padding:0;transform:rotate(-5deg)}.curriculum-book-cover--compact .curriculum-book-cover__book>*{display:none}.curriculum-book-cover--compact .curriculum-book-cover__book>i{width:18px;height:18px;box-shadow:none;color:var(--cover);border:0;border-radius:5px;font-size:.55rem;display:grid;position:static;transform:none}.curriculum-arrow{z-index:6;width:46px;height:46px;color:var(--ink);background:#ffffffeb;border:1px solid #fff9;border-radius:50%;place-items:center;transition:transform .16s,background .16s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 8px 22px #1f0f422e}.curriculum-arrow:hover{background:#fff;transform:translateY(-50%)scale(1.08)}.curriculum-arrow--prev{left:16px}.curriculum-arrow--next{right:37px}.curriculum-carousel__progress{z-index:6;background:#fff3;border-radius:3px;height:3px;position:absolute;bottom:9px;left:22px;right:22px;overflow:hidden}.curriculum-carousel:hover .curriculum-carousel__progress span{animation-play-state:paused}.curriculum-carousel__progress span{border-radius:inherit;transform-origin:0;background:#fff;width:100%;height:100%;animation:5.2s linear both curriculum-progress;display:block}.curriculum-thumbnails{scrollbar-width:thin;gap:9px;margin-top:18px;padding:4px 2px 12px;display:flex;overflow-x:auto}.curriculum-thumbnails button{border:1px solid var(--line);color:#6e657d;text-align:left;background:#fff;border-radius:11px;grid-template-columns:45px 1fr;align-items:center;gap:8px;min-width:130px;padding:6px;font-size:.62rem;font-weight:750;transition:border-color .16s,transform .16s,box-shadow .16s;display:grid}.curriculum-thumbnails button:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.curriculum-thumbnails button.active{border-color:var(--coral);color:var(--ink);box-shadow:0 0 0 2px #ff4f871a}.curriculum-thumbnails img{object-fit:cover;background:#f2f2f2;border-radius:6px;width:45px;height:36px}@keyframes curriculum-copy-in{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@keyframes curriculum-image-in{0%{opacity:0;transform:translate(25px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes curriculum-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.why{background:var(--cream-2)}.benefit-grid{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:25px;grid-template-columns:repeat(3,1fr);gap:0;display:grid;overflow:hidden}.benefit{border-right:1px solid var(--line);min-height:315px;padding:42px 42px 35px;position:relative}.benefit:first-child{border-left:0}.benefit:first-child{background:#fff7fb}.benefit:nth-child(2){background:#fffdf3}.benefit:nth-child(3){background:#f5faff}.benefit__number{font-family:Manrope,sans-serif;font-size:.82rem;font-weight:800;position:absolute;top:25px;right:28px}.benefit__number--coral{color:var(--coral)}.benefit__number--gold{color:#c88e19}.benefit__number--blue{color:#46889f}.benefit__icon{width:56px;height:56px;color:var(--ink);border-radius:16px;place-items:center;margin-bottom:41px;display:grid}.benefit__icon--coral{background:#fce7e2}.benefit__icon--gold{background:#f9edcb}.benefit__icon--blue{background:var(--sky)}.benefit h3{margin-bottom:12px;font-size:1.28rem}.benefit p{color:var(--muted);margin-bottom:0;font-size:.95rem;line-height:1.75}.lesson-note{border:1px solid var(--line);min-height:190px;box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;grid-template-columns:245px 1fr auto;align-items:center;gap:34px;margin-top:28px;padding:14px 30px 14px 14px;display:grid}.lesson-note>img{object-fit:cover;border-radius:12px;width:100%;height:162px}.lesson-note__label{color:var(--coral-dark);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;margin-bottom:10px;font-size:.71rem;font-weight:800;display:flex}.lesson-note__copy h3{margin-bottom:7px;font-size:1.25rem}.lesson-note__copy p{max-width:500px;color:var(--muted);margin-bottom:0;font-size:.87rem;line-height:1.65}.lesson-note>.text-link{white-space:nowrap;font-size:.85rem}.programmes{background:var(--ink);overflow:hidden}.programmes__grid{grid-template-columns:.82fr 1.18fr;align-items:center;gap:95px;display:grid}.programmes__intro h2,.programmes__intro p{color:#fff}.programmes__intro p{color:#bdd0cb;max-width:420px;margin-bottom:32px;font-size:1.03rem}.level-toggle{border:1px solid #ffffff2e;border-radius:11px;gap:6px;padding:5px;display:inline-flex}.level-toggle button{color:#c5d5d1;background:0 0;border:0;border-radius:7px;min-width:108px;min-height:42px;font-weight:700}.level-toggle button.active{color:var(--ink);background:#fff;box-shadow:0 5px 15px #27104f2e}.programme-list{gap:13px;display:grid}.programme-card{background:#fff;border:1px solid #ffffff14;border-radius:17px;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;min-height:154px;padding:25px 27px;transition:transform .18s;display:grid;position:relative;box-shadow:0 12px 35px #27104f2e}.programme-card:hover{transform:translate(5px)}.programme-card__mark{width:54px;height:54px;color:var(--ink);border-radius:15px;place-items:center;display:grid}.programme-card__mark--coral{background:#fbe6e0}.programme-card__mark--gold{background:#f8ebc9}.programme-card__body>span{color:var(--coral-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.programme-card h3{margin:4px 0 6px}.programme-card p{max-width:440px;color:var(--muted);margin-bottom:0;font-size:.88rem;line-height:1.55}.programme-card__arrow{color:#84918e}.programme-note{color:#c2d0cd;align-items:flex-start;gap:11px;padding:12px 10px 0;font-size:.82rem;display:flex}.programme-note svg{color:var(--gold);flex:none}.programme-note p{margin-bottom:0}.programme-note strong{color:#fff}.journey{background:#f4efff}.steps{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.step{background:#fffdf8ad;border:1px solid #e4ded0;border-radius:17px;min-height:250px;padding:30px;position:relative}.step__top{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.step__icon{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:47px;height:47px;display:grid}.step:nth-child(2) .step__icon{background:var(--coral)}.step:nth-child(3) .step__icon{background:#d5a336}.step__number{color:#a3ada8;letter-spacing:.09em;font-size:.79rem;font-weight:800}.step h3{margin-bottom:10px;font-size:1.22rem}.step p{color:var(--muted);margin-bottom:0;font-size:.92rem;line-height:1.65}.step__arrow{z-index:2;background:var(--cream);color:var(--coral);box-sizing:content-box;border-radius:50%;padding:4px;position:absolute;top:50%;right:-20px}.journey__action{text-align:center;margin-top:40px}.public-teachers{background:#eef7ff}.public-teacher-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:22px;display:grid}.public-teachers-empty{text-align:left;background:#ffffffa8;border:1px dashed #cbd9e7;border-radius:22px;grid-column:1/-1;justify-content:center;align-items:center;gap:16px;min-height:150px;padding:28px;display:flex}.public-teachers-empty>span{width:58px;height:58px;color:var(--ink);background:#e8f7c7;border-radius:18px;flex:none;place-items:center;display:grid}.public-teachers-empty h3{margin-bottom:4px}.public-teachers-empty p{max-width:560px;color:var(--muted);margin:0;font-size:.86rem}.public-teacher-card{background:#fff;border:1px solid #dbe3ec;border-radius:22px;padding:13px 21px 22px;transition:transform .22s,box-shadow .22s;overflow:hidden;box-shadow:0 15px 40px #122d4e14}.public-teacher-card:hover{transform:translateY(-5px);box-shadow:0 23px 50px #122d4e21}.public-teacher-card__video{margin:0 -8px 18px}.public-teacher-card__video .profile-intro-video,.public-teacher-card__video .profile-video-placeholder{border-radius:14px}.public-teacher-card__profile{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.public-teacher-photo{border:3px solid #fff;border-radius:17px;width:58px;height:58px;font-size:1.2rem;box-shadow:0 5px 16px #122d4e26}.public-teacher-card__profile .available{color:#36835a;margin-bottom:2px;font-size:.55rem}.public-teacher-card__profile h3{margin-bottom:1px;font-size:1.08rem}.public-teacher-card__profile p{color:var(--muted);margin:0;font-size:.68rem}.public-teacher-rating{color:#e1a31d;align-items:center;gap:3px;display:flex}.public-teacher-rating strong{font-size:.76rem}.public-teacher-rating small{color:var(--muted);font-size:.58rem}.public-teacher-card__bio{min-height:67px;color:var(--muted);margin:18px 0;font-size:.78rem;line-height:1.65}.public-teacher-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-bottom:18px;display:grid}.public-teacher-facts span{min-width:0;color:var(--muted);text-align:center;flex-direction:column;padding:11px 6px;font-size:.55rem;display:flex}.public-teacher-facts span+span{border-left:1px solid var(--line)}.public-teacher-facts strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.selected-teacher{color:#276bb5;background:#e8f1fc;border-radius:9px;align-items:center;gap:8px;margin-top:-3px;padding:9px 11px;display:flex}.selected-teacher>span{flex-direction:column;display:flex}.selected-teacher strong{font-size:.69rem}.selected-teacher small{color:#6682a3;font-size:.57rem}.pricing{background:var(--cream-2)}.pricing-grid{grid-template-columns:repeat(2,1fr);gap:20px;max-width:880px;margin:0 auto;display:grid}.price-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:20px;padding:34px;position:relative}.price-card--featured{border:2px solid var(--ink);box-shadow:0 20px 45px #32156821}.best-value{background:var(--gold);color:var(--ink);letter-spacing:.05em;text-transform:uppercase;border-radius:0 0 9px 9px;align-items:center;gap:5px;padding:8px 12px;font-size:.7rem;font-weight:800;display:flex;position:absolute;top:0;right:25px}.price-card__head{align-items:center;gap:13px;margin-bottom:29px;display:flex}.price-card__icon{width:48px;height:48px;color:var(--coral-dark);background:#f6e8e3;border-radius:13px;place-items:center;display:grid}.price-card--featured .price-card__icon{background:var(--mint);color:var(--ink)}.price-card__head h3{margin-bottom:2px;font-size:1.25rem}.price-card__head p{color:var(--muted);margin-bottom:0;font-size:.79rem}.price-options{grid-template-columns:1fr 1px 1fr;align-items:center;gap:16px;display:grid}.price-options>div,.package-price{align-items:baseline;gap:5px;display:flex}.price-options i{background:var(--line);height:35px}.price-options strong,.package-price strong{color:var(--ink);letter-spacing:-.05em;font-family:Manrope,sans-serif;font-size:2rem}.price-options span,.package-price span{color:var(--muted);font-size:.76rem}.price-card__cadence{color:var(--muted);margin:8px 0 25px;font-size:.78rem}.price-card ul{border-top:1px solid var(--line);gap:12px;min-height:139px;margin:0 0 27px;padding:24px 0 0;list-style:none;display:grid}.price-card li{color:#50635e;align-items:center;gap:9px;font-size:.86rem;display:flex}.price-card li svg{background:var(--mint);color:var(--ink);stroke-width:3px;box-sizing:content-box;border-radius:50%;flex:none;padding:2px}.pricing-note{color:var(--muted);justify-content:center;align-items:center;gap:7px;margin:24px 0 0;font-size:.78rem;display:flex}.faq{border-top:1px solid var(--line);background:#fff}.faq__grid{grid-template-columns:.68fr 1.32fr;gap:110px;display:grid}.faq__intro{align-self:start;position:sticky;top:120px}.faq__intro p{color:var(--muted);margin-bottom:23px}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item>button{width:100%;min-height:76px;color:var(--ink);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:20px;font-family:Manrope,sans-serif;font-size:1rem;font-weight:700;display:flex}.faq-item>button svg{color:var(--coral-dark);flex:none;transition:transform .22s}.faq-item--open>button svg{transform:rotate(180deg)}.faq-item__answer{grid-template-rows:0fr;transition:grid-template-rows .24s;display:grid}.faq-item__answer>p{overflow:hidden}.faq-item--open .faq-item__answer{grid-template-rows:1fr}.faq-item__answer p{max-width:680px;color:var(--muted);margin:-3px 40px 0 0;font-size:.93rem;line-height:1.75}.faq-item--open .faq-item__answer p{margin-bottom:25px}.final-cta{background:#fff;padding:0 0 34px}.final-cta__inner{background:var(--ink);border-radius:25px;grid-template-columns:auto 1fr auto;align-items:center;gap:27px;min-height:280px;padding:52px 64px;display:grid;position:relative;overflow:hidden}.final-cta__inner:after{content:"";border:36px solid #f2bf552b;border-radius:50%;width:280px;height:280px;position:absolute;bottom:-115px;right:-65px}.final-cta__icon{background:var(--gold);width:62px;height:62px;color:var(--ink);border-radius:50%;place-items:center;display:grid}.final-cta h2{color:#fff;margin-bottom:9px;font-size:clamp(2rem,3.5vw,3rem)}.final-cta p{color:#b9cdc8;margin-bottom:0}.final-cta .button{z-index:2;min-width:205px;position:relative}.footer{color:#aebfbb;background:#24104e;padding:72px 0 25px}.footer__main{grid-template-columns:1fr auto;gap:100px;padding-bottom:58px;display:grid}.footer__brand>p{max-width:360px;margin:24px 0 13px;font-size:.94rem}.footer__brand>span{color:#efc67a;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:800}.footer__links{grid-template-columns:repeat(2,145px);gap:70px;display:grid}.footer__links>div{flex-direction:column;gap:10px;display:flex}.footer__links h3{color:#fff;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-family:DM Sans,sans-serif;font-size:.75rem}.footer__links a,.footer__links button{color:inherit;text-align:left;background:0 0;border:0;padding:0;font-size:.86rem;transition:color .16s}.footer__links a:hover,.footer__links button:hover{color:#fff}.footer__bottom{color:#849b96;border-top:1px solid #ffffff1a;justify-content:space-between;padding-top:23px;font-size:.72rem;display:flex}.fatal-error{background:radial-gradient(circle at 50% 25%,#e7f8b9,#f6f1ff 64%);place-items:center;min-height:100vh;padding:24px;display:grid}.fatal-error__card{text-align:center;background:#fff;border:1px solid #3215681f;border-radius:25px;width:min(520px,100%);padding:42px;box-shadow:0 28px 70px #32156826}.fatal-error__card>span{color:#d23f70;background:#ffe7ef;border-radius:21px;place-items:center;width:70px;height:70px;margin:0 auto 20px;display:grid}.fatal-error__card small{color:var(--coral-dark);letter-spacing:.1em;text-transform:uppercase;font-size:.6rem;font-weight:850}.fatal-error__card h1{margin:8px 0 12px;font-size:2rem}.fatal-error__card p{color:var(--muted);font-size:.8rem}.fatal-error__card>div{justify-content:center;gap:9px;margin-top:22px;display:flex}.fatal-error__card button{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#fff;border-radius:10px;align-items:center;gap:7px;padding:0 14px;font-weight:750;display:inline-flex}.fatal-error__card button:first-child{border-color:var(--ink);background:var(--ink);color:#fff}.language-control{z-index:95;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#321568f0;border:1px solid #ffffff40;border-radius:14px;align-items:center;gap:7px;min-height:43px;padding:0 9px 0 12px;display:flex;position:fixed;bottom:18px;left:18px;box-shadow:0 13px 32px #27114e3d}.language-control>span{color:#dff7a6;letter-spacing:.06em;white-space:nowrap;text-transform:uppercase;font-size:.55rem;font-weight:800}.language-control select{color:#fff;cursor:pointer;background:#ffffff1f;border:0;border-radius:8px;outline:0;max-width:125px;min-height:29px;padding:0 7px;font-size:.68rem;font-weight:750}.language-control select option{color:#321568;background:#fff}#google_translate_element,.goog-te-banner-frame,.goog-logo-link,.goog-te-gadget{display:none!important}body{top:0!important}.skiptranslate iframe{display:none!important}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0s);transform:translateY(28px)}.reveal.reveal--visible{opacity:1;transform:translateY(0)}.programme-card.reveal--visible:hover{transform:translate(5px)}.hero__content{animation:.8s cubic-bezier(.22,1,.36,1) 80ms both hero-copy-in}.hero__photo-wrap{animation:.9s cubic-bezier(.22,1,.36,1) .18s both hero-photo-in}.hero__shape{animation:7s ease-in-out infinite shape-breathe}.progress-card{animation:4.8s ease-in-out 1.1s infinite card-float}.class-pill{animation:5.2s ease-in-out .7s infinite pill-float}@keyframes hero-copy-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-photo-in{0%{opacity:0;transform:translateY(32px)rotate(4deg)scale(.96)}to{opacity:1;transform:translateY(0)rotate(1.2deg)scale(1)}}@keyframes shape-breathe{0%,to{transform:rotate(-7deg)scale(1)}50%{transform:rotate(-3deg)scale(1.035)}}@keyframes card-float{0%,to{transform:translateY(0)rotate(-.4deg)}50%{transform:translateY(-9px)rotate(.8deg)}}@keyframes pill-float{0%,to{transform:translateY(0)rotate(-1.2deg)}50%{transform:translateY(-7px)rotate(.4deg)}}.auth-backdrop{z-index:100;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#061e1bb8;place-items:center;padding:22px;animation:.18s both auth-fade-in;display:grid;position:fixed;inset:0;overflow-y:auto}.auth-shell{background:#fff;border:1px solid #ffffff4d;border-radius:28px;grid-template-columns:.84fr 1.16fr;width:min(1040px,100%);min-height:665px;max-height:min(820px,100vh - 44px);animation:.42s cubic-bezier(.22,1,.36,1) both auth-shell-in;display:grid;position:relative;overflow:hidden;box-shadow:0 35px 100px #03191661}.auth-close{z-index:5;border:1px solid var(--line);width:39px;height:39px;color:var(--ink);background:#ffffffe6;border-radius:50%;place-items:center;transition:transform .16s,background .16s;display:grid;position:absolute;top:17px;right:17px;box-shadow:0 5px 15px #32156814}.auth-close:hover{background:#fff;transform:rotate(6deg)}.auth-story{background:var(--ink);color:#fff;flex-direction:column;min-width:0;padding:38px 40px;display:flex;position:relative;overflow:hidden}.auth-story:before{content:"";border:52px solid #f2bf5526;border-radius:50%;width:330px;height:330px;position:absolute;bottom:-110px;right:-110px}.auth-story:after{content:"";background:#ef765e38;border-radius:24px;width:90px;height:90px;position:absolute;top:42%;right:-32px;transform:rotate(23deg)}.auth-story__brand{z-index:2;align-items:center;gap:10px;display:flex;position:relative}.auth-story__brand>span{width:40px;height:40px;color:var(--ink);background:#fff;border-radius:11px;place-items:center;display:grid}.auth-story__brand strong{letter-spacing:-.04em;font-family:Manrope,sans-serif;font-size:1.25rem}.auth-story__brand strong span{color:var(--coral)}.auth-story__content{z-index:2;margin:auto 0;position:relative}.auth-story__content h2{color:#fff;max-width:380px;margin-bottom:19px;font-size:clamp(2.2rem,3.2vw,3.2rem)}.auth-story__content>p{color:#bcd0cb;max-width:360px;font-size:.94rem;line-height:1.7}.auth-story__content ul{color:#edf5f3;gap:11px;margin:27px 0 0;padding:0;font-size:.83rem;list-style:none;display:grid}.auth-story__content li{align-items:center;gap:9px;display:flex}.auth-story__content li span{width:23px;height:23px;color:var(--gold);background:#f2bf552b;border-radius:50%;place-items:center;display:grid}.auth-story__quote{z-index:2;color:#c5d6d2;border-top:1px solid #ffffff1f;align-items:flex-start;gap:10px;padding-top:21px;display:flex;position:relative}.auth-story__quote svg{color:var(--gold);flex:none}.auth-story__quote p{margin-bottom:0;font-size:.77rem;font-style:italic;line-height:1.6}.auth-orbit{z-index:1;border:1px solid #ffffff1c;border-radius:50%;animation:6s ease-in-out infinite orbit-pulse;display:block;position:absolute}.auth-orbit--one{width:210px;height:210px;top:90px;right:-80px}.auth-orbit--two{width:125px;height:125px;animation-delay:-2.5s;top:130px;right:-38px}.auth-panel{background:var(--cream-2);min-width:0;padding:44px 54px 30px;position:relative;overflow-y:auto}.auth-heading{align-items:flex-start;gap:15px;padding-right:25px;display:flex}.auth-heading--compact{margin:38px 0 36px}.auth-heading__icon{width:48px;height:48px;color:var(--coral-dark);background:#f8e6e0;border-radius:14px;flex:none;place-items:center;display:grid}.auth-heading>div>span,.account-view__top>div>span,.account-view__student>div>span{color:var(--coral-dark);letter-spacing:.09em;text-transform:uppercase;margin-bottom:3px;font-size:.68rem;font-weight:800;display:block}.auth-heading h2{margin-bottom:4px;font-size:1.7rem}.auth-heading p{color:var(--muted);margin-bottom:0;font-size:.82rem}.auth-progress{grid-template-columns:1fr 1fr;gap:7px;margin:24px 0 25px;display:grid}.auth-progress span{background:#e4e9e5;border-radius:6px;height:4px;overflow:hidden}.auth-progress span:after{border-radius:inherit;background:var(--coral);content:"";width:0;height:100%;transition:width .4s;display:block}.auth-progress span.complete:after{width:100%}.auth-alert{color:#9d3e2b;background:#fff0ec;border:1px solid #efc3b9;border-radius:9px;margin-bottom:17px;padding:10px 12px;font-size:.78rem}.auth-form{gap:16px;display:grid}.provider-picker{border:0;min-width:0;margin:0;padding:0}.provider-picker legend{color:var(--ink);margin-bottom:7px;font-size:.73rem;font-weight:750}.provider-picker>div{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.provider-picker>.china-email-guide{color:#6d4b16;background:linear-gradient(120deg,#fff9df,#fff4f7);border:1px solid #f0c967;border-radius:12px;grid-template-columns:none;align-items:flex-start;gap:9px;margin:0 0 10px;padding:11px 12px;display:flex}.china-email-guide>svg{color:#c68112;flex:none;margin-top:2px}.china-email-guide>div{flex-direction:column;gap:3px;display:flex}.china-email-guide strong{color:#5b3510;font-size:.69rem}.china-email-guide p{color:#6d4b16;margin:0;font-size:.59rem;line-height:1.55}.china-email-guide small{color:#8a7252;font-size:.48rem;line-height:1.4}.provider-method{color:#64736f;text-align:center;background:#fff;border:1px solid #d7e0db;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:90px;padding:9px 5px 7px;transition:border-color .16s,background .16s,transform .16s,box-shadow .16s;display:flex;position:relative}.provider-method:hover{border-color:#9aaca5;transform:translateY(-3px);box-shadow:0 8px 18px #3215681a}.provider-method.active{border-color:var(--coral);background:#fff6f9;box-shadow:0 0 0 2px #ff4f8717,0 8px 18px #32156814}.provider-method__logo{background:#f3f4f6;border-radius:11px;place-items:center;width:36px;height:36px;font-size:1.35rem;transition:transform .16s,background .16s;display:grid}.provider-method:hover .provider-method__logo{transform:scale(1.08)rotate(-3deg)}.provider-method--gmail .provider-method__logo{color:#ea4335;background:#fff0ee}.provider-method--yahoo .provider-method__logo{color:#6001d2;background:#f1eafe}.provider-method--wechat .provider-method__logo{color:#07a84f;background:#e8fbed}.provider-method--whatsapp .provider-method__logo{color:#20ad58;background:#e7faed}.provider-method--email .provider-method__logo{color:#7048df;background:#eee8fb}.provider-method strong{max-width:100%;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;overflow:hidden}.provider-method small{color:var(--muted);font-size:.44rem;line-height:1.15}.provider-method__selected{color:var(--coral);filter:drop-shadow(0 2px 4px #ff4f8733);position:absolute;top:7px;right:7px}.provider-picker>p{color:var(--muted);align-items:center;gap:5px;margin:7px 0 0;font-size:.52rem;line-height:1.45;display:flex}.auth-form--login{gap:19px}.auth-form>label,.auth-form__row>label{gap:6px;min-width:0;display:grid}.auth-form label>span:first-child,.frequency-field legend{color:var(--ink);font-size:.73rem;font-weight:750}.auth-form__row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.input-wrap{color:#8a9793;background:#fff;border:1px solid #d6dfd9;border-radius:10px;align-items:center;gap:9px;min-height:47px;padding:0 13px;transition:border-color .16s,box-shadow .16s;display:flex}.input-wrap:focus-within{border-color:var(--ink-2);box-shadow:0 0 0 3px #214f491a}.input-wrap--error{border-color:var(--coral-dark);box-shadow:0 0 0 3px #ef765e14}.input-wrap input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:.83rem}.input-wrap input::placeholder{color:#a5afac}.input-wrap button{color:#7a8985;background:0 0;border:0;flex:none;place-items:center;padding:4px;display:grid}.auth-form select{appearance:none;width:100%;min-height:47px;color:var(--ink);background-color:#fff;background-image:linear-gradient(45deg,#0000 50%,#697a76 50%),linear-gradient(135deg,#697a76 50%,#0000 50%);background-position:calc(100% - 16px) 20px,calc(100% - 11px) 20px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;border:1px solid #d6dfd9;border-radius:10px;outline:0;padding:0 36px 0 13px;font-size:.8rem}.auth-form select:focus{border-color:var(--ink-2);box-shadow:0 0 0 3px #214f491a}.auth-form select.select-error{border-color:var(--coral-dark)}.field-error{color:#b64a35;font-size:.67rem;line-height:1.25}.check-field{grid-template-columns:auto 1fr;align-items:flex-start;margin-top:1px;gap:9px!important;display:grid!important}.check-field input{width:16px;height:16px;accent-color:var(--coral);margin:3px 0 0}.check-field span{line-height:1.5;color:var(--muted)!important;font-size:.69rem!important;font-weight:500!important}.frequency-field{border:0;min-width:0;margin:0;padding:0}.frequency-field legend{margin-bottom:8px}.frequency-field>div{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.frequency-field label{min-height:42px;color:var(--muted);text-align:center;background:#fff;border:1px solid #d6dfd9;border-radius:9px;place-items:center;font-size:.71rem;font-weight:650;transition:border-color .16s,background .16s,color .16s;display:grid}.frequency-field label.selected{border-color:var(--ink);background:var(--mint);color:var(--ink)}.frequency-field label:has(input:focus-visible){outline-offset:2px;outline:3px solid #ef765e4d}.frequency-field input{opacity:0;pointer-events:none;position:absolute}.selected-plan{color:#7a5b17;background:#f8ebc9;border-radius:8px;align-items:center;gap:7px;margin-top:-3px;padding:8px 10px;font-size:.7rem;font-weight:700;display:flex}.auth-submit{min-height:50px;margin-top:2px}.auth-form__actions{grid-template-columns:auto 1fr;gap:9px;margin-top:2px;display:grid}.auth-form__actions .button{min-height:49px}.auth-form button:disabled{cursor:wait;opacity:.72;transform:none}.auth-switch{color:var(--muted);text-align:center;margin:20px 0 0;font-size:.75rem}.auth-switch button,.auth-result__link,.logout-button{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:800}.auth-security{color:var(--muted);justify-content:center;align-items:center;gap:7px;margin-top:18px;font-size:.7rem;display:flex}.auth-security svg{color:var(--coral-dark)}.auth-panel__foot{border-top:1px solid var(--line);color:#83908d;justify-content:center;align-items:center;gap:6px;margin-top:24px;padding-top:17px;font-size:.66rem;display:flex}.auth-result,.account-view{flex-direction:column;justify-content:center;min-height:545px;display:flex}.auth-result{text-align:center;align-items:center;position:relative}.auth-result__icon{background:var(--mint);width:75px;height:75px;color:var(--ink);border-radius:50%;place-items:center;margin-bottom:25px;animation:.5s cubic-bezier(.34,1.56,.64,1) .1s both success-pop;display:grid;box-shadow:0 0 0 12px #d8e8d566}.auth-result h2{max-width:440px;margin-bottom:13px;font-size:2.15rem}.auth-result>p{max-width:450px;color:var(--muted);margin-bottom:23px;font-size:.89rem}.account-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);width:100%;margin-bottom:24px;display:grid}.account-summary>div{flex-direction:column;min-width:0;padding:15px 8px;display:flex}.account-summary>div+div{border-left:1px solid var(--line)}.account-summary span{color:var(--muted);text-transform:uppercase;font-size:.64rem}.account-summary strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.auth-result__link{margin-top:15px;font-size:.75rem}.auth-confetti i{background:var(--gold);border-radius:3px;width:7px;height:15px;animation:.9s ease-out .2s both confetti-out;position:absolute;top:31%;left:50%}.auth-confetti i:nth-child(2){background:var(--coral);--x:130px;--y:-105px;transform:rotate(32deg)}.auth-confetti i:nth-child(3){--x:-140px;--y:-70px;background:#62a3ba;transform:rotate(70deg)}.auth-confetti i:nth-child(4){--x:105px;--y:55px;background:#72b77e;transform:rotate(15deg)}.auth-confetti i:nth-child(5){background:var(--coral);--x:-115px;--y:65px;transform:rotate(55deg)}.auth-confetti i:first-child{--x:20px;--y:-125px}.account-view__top{align-items:center;gap:15px;margin-bottom:32px;display:flex}.account-avatar{background:var(--ink);color:#fff;border-radius:19px;flex:none;place-items:center;width:66px;height:66px;font-family:Manrope,sans-serif;font-size:1.55rem;font-weight:800;display:grid;transform:rotate(-3deg)}.account-view__top h2{margin-bottom:1px;font-size:1.8rem}.account-view__top p,.account-view__student p{color:var(--muted);margin-bottom:0;font-size:.78rem}.account-view__student{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:13px;padding:17px;display:flex}.account-view__student strong{color:var(--ink);font-size:1rem;display:block}.account-details{margin:24px 0;display:grid}.account-details>div{border-bottom:1px solid var(--line);grid-template-columns:130px 1fr;gap:15px;padding:11px 0;display:grid}.account-details dt{color:var(--muted);font-size:.73rem}.account-details dd{color:var(--ink);margin:0;font-size:.78rem;font-weight:700}.logout-button{color:#8d4a3c;align-self:center;align-items:center;gap:6px;margin-top:17px;font-size:.75rem;text-decoration:none;display:inline-flex}@keyframes auth-fade-in{0%{opacity:0}to{opacity:1}}@keyframes auth-shell-in{0%{opacity:0;transform:translateY(20px)scale(.975)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes orbit-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes success-pop{0%{opacity:0;transform:scale(.4)rotate(-15deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes confetti-out{0%{opacity:0;translate:0}25%{opacity:1}to{opacity:0;translate:var(--x,0) var(--y,-100px)}}@media (width<=860px){.auth-shell{grid-template-columns:1fr;width:min(620px,100%);max-height:calc(100vh - 30px)}.auth-story{display:none}.auth-panel{min-height:650px;padding:43px 48px 28px}}@media (width<=560px){.auth-backdrop{align-items:stretch;padding:0}.auth-shell{border:0;border-radius:0;width:100%;min-height:100dvh;max-height:100dvh}.auth-panel{overscroll-behavior:contain;min-height:0;padding:54px 18px calc(24px + env(safe-area-inset-bottom));overflow-y:auto}.auth-close{top:12px;right:12px}.auth-heading{gap:11px;padding-right:30px}.auth-heading__icon{width:42px;height:42px}.auth-heading h2{font-size:1.4rem}.auth-form__row{grid-template-columns:1fr}.provider-picker>div{grid-template-columns:repeat(3,1fr)}.frequency-field>div{grid-template-columns:1fr 1fr 1fr}.auth-form__actions{grid-template-columns:1fr}.auth-form__actions .button:first-child{order:2}.auth-result,.account-view{min-height:520px}.auth-result h2{font-size:1.75rem}.account-summary{grid-template-columns:1fr}.account-summary>div{text-align:left;grid-template-columns:90px 1fr;padding:10px 6px;display:grid}.account-summary>div+div{border-top:1px solid var(--line);border-left:0}}@media (width<=1080px){.nav{gap:20px;margin-right:24px}.nav>a:nth-child(2){display:none}.header-portal-link{padding-left:6px;padding-right:6px;font-size:.7rem}.header-actions .login-link{display:none}.hero__grid{gap:30px}.hero h1{font-size:clamp(3.1rem,6.5vw,4.2rem)}.hero__photo-wrap{width:94%}.class-pill{right:-5px}.programmes__grid{gap:60px}.final-cta__inner{padding:48px}}@media (width<=860px){.section{padding:88px 0}.nav{background:var(--cream-2);opacity:0;pointer-events:none;visibility:hidden;flex-direction:column;align-items:stretch;gap:0;height:calc(100vh - 76px);margin:0;padding:25px 24px;transition:opacity .18s,transform .18s,visibility .18s;display:flex;position:fixed;top:76px;left:0;right:0;transform:translateY(-12px)}.nav--open{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)}.nav>a,.nav>a:nth-child(2){border-bottom:1px solid var(--line);color:var(--ink);padding:15px 5px;font-family:Manrope,sans-serif;font-size:1.05rem;display:block}.nav>a:after{display:none}.nav__mobile-actions{text-align:center;flex-direction:column;align-items:stretch;gap:18px;margin-top:25px;display:flex}.header-actions{display:none}.menu-button{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);background:#fff;border-radius:9px;place-items:center;display:grid}.hero__grid{grid-template-columns:1fr;gap:35px;padding-top:70px;padding-bottom:80px}.hero__content{max-width:700px}.hero h1{max-width:700px;font-size:clamp(3.2rem,9.2vw,5rem)}.hero__visual{width:min(620px,92%);min-height:520px;margin:0 auto}.stats__inner{grid-template-columns:1fr;gap:0;padding-top:28px;padding-bottom:27px}.stats__inner>p{text-align:center;margin-bottom:22px}.section-heading--split{grid-template-columns:1fr;gap:20px}.benefit-grid{grid-template-columns:1fr}.benefit,.benefit:first-child{border:0;border-bottom:1px solid var(--line);border-left:1px solid var(--line);border-right:1px solid var(--line);min-height:auto;padding:33px 85px 33px 30px}.benefit:last-child{border-bottom:0}.benefit__icon{margin-bottom:25px}.lesson-note{grid-template-columns:200px 1fr;padding-right:22px}.lesson-note>.text-link{grid-column:2;justify-self:start}.curriculum-showcase__heading{grid-template-columns:1fr;gap:13px}.curriculum-carousel{grid-template-columns:1fr}.curriculum-carousel__copy{min-height:330px;padding-right:70px}.curriculum-carousel__visual{height:410px;margin:0 22px 22px}.curriculum-arrow{top:68%}.programmes__grid,.faq__grid{grid-template-columns:1fr}.programmes__grid{gap:45px}.programmes__intro p{max-width:630px}.steps{grid-template-columns:1fr}.step{min-height:auto}.step__arrow{display:none}.faq__grid{gap:45px}.faq__intro{position:static}.final-cta__inner{grid-template-columns:auto 1fr}.final-cta .button{grid-column:2;justify-self:start}}@media (width<=650px){.container,.header-inner{width:min(100% - 32px,1160px)}.language-control{bottom:12px;left:12px}.language-control>span{display:none}.section{padding:74px 0}.curriculum-showcase{padding:74px 0 62px}.curriculum-showcase__heading{margin-bottom:28px}.curriculum-carousel{border-radius:22px}.curriculum-carousel__copy{min-height:315px;padding:63px 24px 35px}.curriculum-carousel__count{top:24px;left:24px}.curriculum-carousel__copy h3{font-size:2.6rem}.curriculum-carousel__visual{border-radius:16px;height:275px;margin:0 12px 12px}.curriculum-book-cover{min-height:275px}.curriculum-book-cover__book{border-width:4px;width:165px;min-height:220px;padding:20px 16px}.curriculum-book-cover__book>span{font-size:.43rem;top:13px;left:14px}.curriculum-book-cover__book>i{border-width:3px;border-radius:17px;width:56px;height:56px;font-size:1.25rem;top:45px;right:17px}.curriculum-book-cover__book>strong{font-size:1.45rem}.curriculum-book-cover__book>small{font-size:.49rem}.curriculum-book-cover__book>em{margin-top:10px;font-size:.38rem}.curriculum-book-cover__book--back{width:135px;min-height:175px;right:5%}.curriculum-arrow{width:40px;height:40px;top:70%}.curriculum-arrow--prev{left:18px}.curriculum-arrow--next{right:18px}.curriculum-thumbnails button{min-width:112px}h2{font-size:2.25rem}.site-header{height:68px}.nav{height:calc(100vh - 68px);top:68px}.logo__mark{width:37px;height:37px}.hero__dots{display:none}.hero__grid{gap:36px;padding-top:53px;padding-bottom:68px}.eyebrow{margin-bottom:17px;font-size:.69rem}.hero h1{letter-spacing:-.06em;margin-bottom:21px;font-size:clamp(2.65rem,13vw,3.55rem)}.hero h1 em{white-space:normal}.hero__lede{font-size:1rem;line-height:1.7}.hero__actions{display:grid}.hero__actions .button{width:100%}.hero__proof{grid-template-columns:1fr 1fr;gap:9px 12px;display:grid}.hero__visual{width:100%;min-height:395px}.hero__photo-wrap{border-radius:23px 23px 65px;width:93%;height:350px;right:3%}.hero__photo{border-radius:15px 15px 55px}.progress-card{width:200px;padding:13px;bottom:-4px;left:0}.class-pill{min-width:0;padding:10px;bottom:24px;right:0}.class-pill span:last-child{display:none}.stats__items{grid-template-columns:repeat(2,1fr);row-gap:25px}.stat{padding:0 20px}.stat:nth-child(odd){border-left:0}.section-heading--split,.section-heading--center{margin-bottom:40px}.benefit{padding-right:65px}.lesson-note{grid-template-columns:1fr;gap:20px;padding:14px 14px 25px}.lesson-note>img{height:205px}.lesson-note__copy,.lesson-note>.text-link{grid-column:1;margin-left:6px;margin-right:6px}.programme-card{grid-template-columns:auto 1fr;gap:15px;padding:22px}.programme-card__arrow{display:none}.programme-card p{font-size:.82rem}.level-toggle{display:flex}.level-toggle button{flex:1}.step{padding:26px}.journey__action .button{width:100%}.pricing-grid{grid-template-columns:1fr}.price-card{padding:28px 23px}.price-options{gap:10px}.price-options strong,.package-price strong{font-size:1.75rem}.faq-item>button{min-height:72px;font-size:.92rem}.final-cta{padding:0 12px 20px}.final-cta__inner{grid-template-columns:1fr;gap:20px;width:100%;padding:40px 27px}.final-cta__icon{width:52px;height:52px}.final-cta h2{font-size:2.25rem}.final-cta .button{grid-column:1;justify-self:stretch}.footer{padding-top:55px}.footer__main{grid-template-columns:1fr;gap:45px}.footer__links{gap:30px}.footer__bottom{flex-direction:column;gap:7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--portal-navy:#321568;--portal-navy-2:#51308b;--portal-orange:#ff4f87;--portal-blue:#7048df;--portal-bg:#f6f8ed;--portal-line:#e5e1ed;--portal-muted:#756d84}.portal{background:var(--portal-bg);color:#1b2b48;min-height:100vh;font-family:DM Sans,system-ui,sans-serif}.portal h1,.portal h2,.portal h3,.portal strong{color:#132647}.portal button,.portal input,.portal select,.portal textarea{font:inherit}.portal-sidebar{z-index:40;background:var(--portal-navy);color:#fff;flex-direction:column;width:262px;padding:26px 18px 20px;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:12px 0 40px #0c1f401f}.portal-brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:11px;min-height:66px;padding:0 8px 20px;display:flex}.portal-brand>img{object-fit:cover;border:3px solid #ffffffe0;border-radius:17px;flex:none;width:57px;height:57px;box-shadow:0 6px 18px #0003}.portal-brand>div{flex-direction:column;min-width:0;display:flex}.portal-brand strong{color:#fff;letter-spacing:-.04em;font-family:Manrope,sans-serif;font-size:1.2rem}.portal-brand strong span{color:var(--portal-orange)}.portal-brand small{color:#91a7c9;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.63rem;font-weight:750;overflow:hidden}.portal-nav{gap:6px;margin-top:25px;display:grid}.portal-nav button,.portal-sidebar__foot>button{color:#aebdd5;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;min-height:46px;padding:0 13px;font-size:.82rem;font-weight:650;transition:color .16s,background .16s,transform .16s;display:flex}.portal-nav button:hover,.portal-sidebar__foot>button:hover{color:#fff;background:#ffffff12;transform:translate(2px)}.portal-nav button.active{background:linear-gradient(105deg, var(--portal-orange), #ff9847);color:#fff;box-shadow:0 9px 20px #f47b2040}.portal-nav button i{min-width:20px;height:20px;color:var(--portal-orange);background:#fff;border-radius:10px;place-items:center;margin-left:auto;font-size:.62rem;font-style:normal;font-weight:800;display:grid}.portal-sidebar__foot{border-top:1px solid #ffffff1a;gap:2px;margin-top:auto;padding-top:18px;display:grid}.portal-mini-user{background:#ffffff0f;border-radius:11px;align-items:center;gap:9px;margin-top:14px;padding:11px 9px;display:flex}.portal-mini-user>span,.portal-user-chip>span{width:35px;height:35px;color:var(--portal-navy);background:#fff;border-radius:10px;flex:none;place-items:center;font-size:.72rem;font-weight:800;display:grid}.portal-mini-user>div,.portal-user-chip>div{flex-direction:column;min-width:0;display:flex}.portal-mini-user strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.portal-mini-user small{color:#8fa4c3;text-overflow:ellipsis;white-space:nowrap;font-size:.59rem;overflow:hidden}.portal-main{min-height:100vh;margin-left:262px}.portal-topbar{z-index:30;border-bottom:1px solid var(--portal-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;justify-content:space-between;align-items:center;min-height:76px;padding:0 34px;display:flex;position:sticky;top:0}.portal-topbar>div:first-of-type{flex-direction:column;display:flex}.portal-topbar>div:first-of-type span{color:var(--portal-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:750}.portal-topbar>div:first-of-type strong{font-size:.95rem}.portal-topbar__actions{align-items:center;gap:12px;display:flex}.portal-topbar__actions>button:first-child{border:1px solid var(--portal-line);color:#607189;background:#fff;border-radius:11px;place-items:center;width:41px;height:41px;display:grid;position:relative}.portal-topbar__actions>button:first-child i{background:var(--portal-orange);box-sizing:content-box;border:2px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:8px;right:8px}.portal-user-chip{text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:0;display:flex}.portal-user-chip>span{color:var(--portal-blue);background:#e8effb}.portal-user-chip strong{text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:.75rem;overflow:hidden}.portal-user-chip small{color:var(--portal-muted);text-transform:capitalize;font-size:.6rem}.portal-menu,.portal-scrim{display:none}.portal-content{width:min(1320px,100%);margin:0 auto;padding:34px}.portal-view{animation:.42s cubic-bezier(.22,1,.36,1) both portal-view-in}.portal-page-heading{justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:27px;display:flex}.portal-page-heading h1{letter-spacing:-.055em;margin-bottom:6px;font-size:clamp(2rem,3.5vw,2.8rem)}.portal-page-heading p{color:var(--portal-muted);margin-bottom:0;font-size:.88rem}.portal-kicker{color:var(--portal-orange);letter-spacing:.11em;text-transform:uppercase;margin-bottom:7px;font-size:.65rem;font-weight:800;display:inline-block}.portal-primary-button,.portal-secondary-button,.portal-text-button{border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;font-weight:750;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.portal-primary-button{isolation:isolate;background:linear-gradient(115deg, #e73876, var(--portal-orange) 48%, #ff79a4);color:#fff;min-height:45px;padding:0 18px;font-size:.78rem;position:relative;overflow:hidden;box-shadow:0 10px 23px #e664163d,inset 0 1px #ffffff40}.portal-primary-button:after{z-index:-1;content:"";background:#fff3;width:25%;transition:left .42s;position:absolute;top:-50%;bottom:-50%;left:-45%;transform:rotate(20deg)}.portal-primary-button:hover:after{left:125%}.portal-primary-button:hover,.portal-secondary-button:hover{transform:translateY(-2px);box-shadow:0 13px 26px #19375d26}.portal button:not(:disabled):active,.portal-dialog button:not(:disabled):active{transform:translateY(0)scale(.98)}.portal button:focus-visible,.portal-dialog button:focus-visible{outline-offset:2px;outline:3px solid #2879d847}.portal-primary-button:disabled{cursor:not-allowed;filter:grayscale(.4);opacity:.55;transform:none}.portal-secondary-button{border:1px solid var(--portal-line);min-height:43px;color:var(--portal-navy);background:#fff;padding:0 17px;font-size:.76rem}.portal-text-button{color:var(--portal-blue);background:0 0;padding:5px;font-size:.72rem}.portal-card{border:1px solid var(--portal-line);background:#fff;border-radius:21px;padding:25px;box-shadow:0 8px 30px #152e580d}.portal-card__heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:23px;display:flex}.portal-card__heading h2{letter-spacing:-.04em;margin-bottom:5px;font-size:1.45rem}.portal-card__heading p{color:var(--portal-muted);margin-bottom:0;font-size:.78rem}.portal-card__heading--small{align-items:center}.portal-card__heading--small h2{margin-bottom:0;font-size:1.13rem}.portal-card__icon{width:47px;height:47px;color:var(--portal-orange);background:#fff0e5;border-radius:13px;flex:none;place-items:center;display:grid}.portal-stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0;display:grid}.portal-stat-grid--three{grid-template-columns:repeat(3,1fr)}.portal-stat-grid article{border:1px solid var(--portal-line);background:#fff;border-radius:15px;align-items:center;gap:13px;min-width:0;min-height:106px;padding:18px;display:flex;box-shadow:0 7px 24px #152e580a}.stat-icon{border-radius:13px;flex:none;place-items:center;width:45px;height:45px;display:grid}.stat-icon--orange{color:var(--portal-orange);background:#fff0e4}.stat-icon--blue{color:var(--portal-blue);background:#e6f0fc}.stat-icon--gold{color:#d49213;background:#fff4d9}.stat-icon--green{color:#36925a;background:#e5f5ea}.portal-stat-grid article>div{flex-direction:column;min-width:0;display:flex}.portal-stat-grid small{color:var(--portal-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;overflow:hidden}.portal-stat-grid strong{letter-spacing:-.04em;font-family:Manrope,sans-serif;font-size:1.35rem}.portal-stat-grid em{color:#91a0b4;font-size:.58rem;font-style:normal}.portal-status{letter-spacing:.04em;text-transform:uppercase;border-radius:20px;align-items:center;width:fit-content;padding:4px 8px;font-size:.58rem;font-weight:800;display:inline-flex}.portal-status--active,.portal-status--approved,.portal-status--confirmed,.portal-status--completed{color:#267547;background:#e1f4e7}.portal-status--pending{color:#9a6710;background:#fff1d5}.portal-status--rejected,.portal-status--declined,.portal-status--cancelled,.portal-status--suspended{color:#a34431;background:#fde6e1}.portal-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:235px;padding:25px;display:flex}.portal-empty>span{width:54px;height:54px;color:var(--portal-blue);background:#edf3fb;border-radius:16px;place-items:center;margin-bottom:15px;display:grid}.portal-empty h3{margin-bottom:6px;font-size:1rem}.portal-empty p{max-width:330px;color:var(--portal-muted);margin-bottom:11px;font-size:.75rem}.portal-success,.portal-error{border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:18px;padding:11px 13px;font-size:.73rem;display:flex}.portal-success{color:#2d7447;background:#eef9f1;border:1px solid #bfe0c8}.portal-success>div{flex-direction:column;display:flex}.portal-success span{opacity:.8}.portal-error{color:#9b4030;background:#fff0ec;border:1px solid #efc4bb}.family-student-switcher{border:1px solid var(--portal-line);background:#ffffffeb;border-radius:15px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:9px 11px;display:flex;box-shadow:0 8px 24px #122a4b0d}.family-student-switcher>div{align-items:center;gap:7px;min-width:0;display:flex}.family-student-switcher>div>span{color:var(--portal-muted);letter-spacing:.07em;text-transform:uppercase;margin:0 5px;font-size:.58rem;font-weight:800}.family-student-switcher>div>button{color:#4e617a;background:0 0;border:1px solid #0000;border-radius:11px;align-items:center;gap:8px;min-height:46px;padding:0 11px 0 7px;font-size:.7rem;font-weight:750;transition:background .16s,border-color .16s,transform .16s;display:flex}.family-student-switcher>div>button:hover{background:#f2f6fb;transform:translateY(-1px)}.family-student-switcher>div>button.active{color:var(--portal-blue);background:#eaf2fc;border-color:#c9d9ec;box-shadow:0 5px 14px #2879d81a}.family-student-switcher>div>button>span:last-child{flex-direction:column;align-items:flex-start;display:flex}.learner-tab-photo{border-radius:9px;flex:none;width:33px;height:33px;font-size:.7rem}.access-mini{text-transform:uppercase;font-size:.48rem;font-weight:850}.access-mini--active{color:#358652}.access-mini--suspended{color:#c63f6c}.add-student-button{background:var(--portal-navy);color:#fff;border:0;border-radius:10px;flex:none;align-items:center;gap:6px;min-height:40px;padding:0 11px;font-size:.65rem;font-weight:800;display:inline-flex;box-shadow:0 7px 16px #0e234829}.add-student-button small{background:#ffffff21;border-radius:8px;padding:2px 5px;font-size:.48rem}.student-suspended-card{background:linear-gradient(120deg,#fff8fa,#ffe8f0);border:1px solid #efbfd0;border-radius:21px;align-items:center;gap:22px;max-width:760px;min-height:250px;padding:35px;display:flex;box-shadow:0 14px 36px #9c274f17}.student-suspended-card>span{color:#c63f6c;background:#fff;border-radius:23px;flex:none;place-items:center;width:76px;height:76px;display:grid;transform:rotate(-3deg);box-shadow:0 8px 20px #9c274f1f}.student-suspended-card small{color:#ad315c;letter-spacing:.07em;text-transform:uppercase;font-size:.6rem;font-weight:850}.student-suspended-card h2{margin:5px 0 8px;font-size:1.65rem}.student-suspended-card p{color:#86606d;max-width:520px;margin:0;font-size:.76rem}.student-suspended-card .portal-primary-button{margin-top:17px}.profile-access-suspended{color:#b83260!important;background:#ffe8f0!important}.student-profile-suspension{color:#b63360;background:#fff0f5;border:1px solid #edbfd0;border-radius:13px;align-items:center;gap:11px;margin-bottom:18px;padding:13px 15px;display:flex}.student-profile-suspension>div{flex-direction:column;display:flex}.student-profile-suspension strong{color:#a92f59;font-size:.72rem}.student-profile-suspension span{color:#966476;font-size:.61rem}.inline-access{text-transform:capitalize;font-weight:800}.inline-access--active{color:#358652}.inline-access--suspended{color:#bd3765}.incomplete-profile-view{place-items:center;min-height:calc(100vh - 150px);display:grid}.incomplete-profile-card{text-align:center;width:min(620px,100%);padding:48px}.incomplete-profile-card>span{width:72px;height:72px;color:var(--portal-blue);background:#ece5fb;border-radius:22px;place-items:center;margin:0 auto 21px;display:grid;transform:rotate(-3deg)}.incomplete-profile-card>small{color:var(--portal-orange);letter-spacing:.09em;text-transform:uppercase;font-size:.59rem;font-weight:850}.incomplete-profile-card h1{margin:7px 0 10px;font-size:2rem}.incomplete-profile-card p{max-width:470px;color:var(--portal-muted);margin:0 auto 22px;font-size:.76rem}.student-welcome{background:linear-gradient(112deg, var(--portal-navy) 0%, #54338f 100%);color:#fff;border-radius:22px;grid-template-columns:1.15fr .85fr;min-height:270px;padding:36px 41px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 40px #0e23482e}.student-welcome:before{content:"";border:45px solid #f47b2026;border-radius:50%;width:350px;height:350px;position:absolute;bottom:-150px;right:11%}.student-welcome>div:first-child{z-index:2;align-self:center;position:relative}.student-welcome h1{color:#fff;letter-spacing:-.055em;max-width:610px;margin-bottom:10px;font-size:clamp(2rem,4vw,3rem)}.student-welcome p{color:#b7c6dd;margin-bottom:22px;font-size:.88rem}.student-welcome__profile{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff21;border-radius:16px;place-self:center end;align-items:center;gap:15px;margin-right:100px;padding:15px;display:flex;position:relative}.progress-ring,.health-donut{background:conic-gradient(var(--portal-orange) var(--progress), #ffffff21 0);border-radius:50%;flex:none;place-items:center;width:78px;height:78px;display:grid;position:relative}.progress-ring:after,.health-donut:after{content:"";background:#44257b;border-radius:50%;position:absolute;inset:7px}.progress-ring>span,.health-donut>span{z-index:2;text-align:center;flex-direction:column;display:flex;position:relative}.progress-ring strong{color:#fff;font-size:1rem}.progress-ring small{color:#9fb2ce;font-size:.52rem}.student-welcome__profile>div:last-child{flex-direction:column;max-width:150px;display:flex}.student-welcome__profile>div:last-child span,.student-welcome__profile>div:last-child small{color:#9fb3d0;font-size:.58rem}.student-welcome__profile>div:last-child strong{color:#fff;font-size:.78rem}.student-welcome>img{z-index:1;border:8px solid #ffffffd9;border-radius:48%;width:205px;position:absolute;bottom:-45px;right:-35px;transform:rotate(4deg);box-shadow:0 15px 35px #0003}.student-overview-grid,.teacher-overview-grid,.admin-overview-grid,.profile-layout{grid-template-columns:1.3fr .7fr;gap:18px;display:grid}.focus-visual{align-items:center;gap:13px;margin-bottom:22px;display:flex}.focus-visual>span{width:48px;height:48px;color:var(--portal-orange);background:#fff0e5;border-radius:14px;place-items:center;display:grid}.focus-visual>div{flex-direction:column;display:flex}.focus-visual small,.focus-progress span{color:var(--portal-muted);font-size:.63rem}.focus-visual strong{font-size:.82rem}.focus-progress>div{justify-content:space-between;display:flex}.focus-progress strong{color:var(--portal-orange);font-size:.72rem}.focus-progress>i{background:#e8edf4;border-radius:5px;height:7px;margin-top:7px;display:block;overflow:hidden}.focus-progress>i>span{border-radius:inherit;background:linear-gradient(90deg, var(--portal-orange), #ffb155);height:100%;display:block}.learning-focus-card>p{color:var(--portal-muted);margin:18px 0 0;font-size:.72rem}.lesson-card{border-bottom:1px solid var(--portal-line);grid-template-columns:auto 1fr auto;align-items:center;gap:15px;min-height:105px;padding:15px 0;display:grid}.lesson-card:last-child{border-bottom:0}.lesson-card__date{background:#edf3fc;border-radius:13px;align-content:center;place-items:center;width:55px;height:61px;line-height:1.05;display:grid}.lesson-card__date strong{font-family:Manrope,sans-serif;font-size:1.2rem}.lesson-card__date span{color:var(--portal-blue);text-transform:uppercase;font-size:.59rem;font-weight:750}.lesson-card__main{min-width:0}.lesson-card__top{align-items:center;gap:8px;margin-bottom:5px;display:flex}.lesson-card__top>span:last-child{color:var(--portal-muted);font-size:.61rem}.lesson-card h3{margin-bottom:3px;font-size:.86rem}.lesson-card p,.lesson-card small{color:var(--portal-muted);margin-bottom:0;font-size:.66rem}.lesson-card__details{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lesson-card__details>span{color:var(--portal-muted)}.lesson-card p .booking-person-name{color:#321568;background:#effbd5;border-radius:7px;align-items:center;padding:3px 7px;font-size:.71rem;font-weight:900;line-height:1.35;display:inline-flex}.lesson-card p .lesson-time{color:#293f5c;font-weight:900}.lesson-card__main>small{color:#657891;margin-top:5px;font-style:italic;display:block}.lesson-card__actions{align-items:center;gap:6px;display:flex}.portal-danger-link{color:#b04c3a;background:0 0;border:0;padding:5px;font-size:.68rem;font-weight:700}.schedule-calendar{-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #dce3ee;border-radius:14px;overflow:hidden}.schedule-toolbar{background:#fff;border-bottom:1px solid #dce3ee;align-items:center;gap:15px;min-height:64px;padding:0 16px;display:flex}.schedule-toolbar>strong{color:var(--portal-navy);font-family:Manrope,sans-serif;font-size:1rem}.schedule-toolbar__arrows{border:1px solid #d6deea;border-radius:9px;display:flex;overflow:hidden}.schedule-toolbar__arrows button{color:#30445f;background:#fff;border:0;place-items:center;width:40px;height:38px;display:grid}.schedule-toolbar__arrows button+button{border-left:1px solid #d6deea}.schedule-toolbar__arrows button:hover{background:#f2f6fb}.schedule-today{color:#53667f;background:#f5f7fb;border:1px solid #ccd5e3;border-radius:8px;min-height:37px;margin-left:auto;padding:0 14px;font-size:.7rem;font-weight:750}.schedule-view-tabs{color:var(--portal-muted);align-self:stretch;align-items:center;gap:18px;margin-left:8px;font-size:.67rem;font-weight:700;display:flex}.schedule-view-tabs span{border-bottom:3px solid #0000;align-items:center;height:100%;display:flex}.schedule-view-tabs span.active{border-color:var(--portal-orange);color:var(--portal-navy)}.schedule-scroll{overscroll-behavior:contain;max-height:650px;position:relative;overflow:auto}.schedule-days,.schedule-row{grid-template-columns:68px repeat(7,minmax(118px,1fr));min-width:940px;display:grid}.schedule-days{z-index:12;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff7;border-bottom:1px solid #ccd6e4;min-height:58px;position:sticky;top:0}.schedule-time-heading{color:#8998aa;border-right:1px solid #dce3ee;justify-content:center;align-items:center;font-size:.52rem;font-weight:700;display:flex}.schedule-day-heading{color:#52657e;border-right:1px solid #dce3ee;justify-content:center;align-items:center;gap:6px;font-size:.67rem;display:flex}.schedule-day-heading strong{font-size:.8rem}.schedule-day-heading.current{color:var(--portal-orange);position:relative}.schedule-day-heading.current:after{background:var(--portal-orange);content:"";border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:18%;right:18%}.schedule-row{min-height:31px}.schedule-time{color:#344a67;font-variant-numeric:tabular-nums;border-right:1px solid #dce3ee;justify-content:flex-end;align-items:flex-start;padding:3px 9px 0 0;font-size:.59rem;font-weight:900;display:flex;position:relative}.schedule-time:after{content:"";border-top:1px solid #dce3ee;position:absolute;top:0;left:0;right:0}.schedule-time.half{color:#536984;font-size:.59rem;font-weight:900}.schedule-time.half:after{border-color:#edf1f6;border-top-style:dashed}.schedule-cell{color:#53657c;text-align:left;background:#fff;border-top:1px solid #dce3ee;border-bottom:0;border-left:0;border-right:1px solid #dce3ee;min-width:0;min-height:31px;padding:0;transition:background .1s,box-shadow .1s;position:relative;overflow:hidden}.schedule-row:nth-child(2n) .schedule-cell{border-top-style:dashed;border-top-color:#edf1f6}.schedule-cell:disabled{cursor:not-allowed;opacity:1}.schedule-cell.unavailable{background:#fafbfc}.schedule-cell.available{background:#e9f7ef;box-shadow:inset 3px 0 #3aa66a}.schedule-body--editable .schedule-cell:not(.booked){cursor:crosshair}.schedule-body--editable .schedule-cell:not(.booked):hover{background:#d9f1e3;box-shadow:inset 0 0 0 2px #3aa66a59}.schedule-cell.selectable{cursor:pointer;box-shadow:inset 3px 0 0 var(--portal-blue);background:#eef5ff}.schedule-cell.selectable:hover{z-index:2;background:#dcecff;box-shadow:inset 0 0 0 2px #2879d88c}.schedule-body--multi .schedule-cell.selectable,.schedule-body--multi .schedule-cell.selected{cursor:crosshair;touch-action:none}.schedule-cell.selected{z-index:3;box-shadow:inset 0 0 0 2px var(--portal-orange);background:#fff0e5}.schedule-cell.booked{z-index:2;cursor:not-allowed;background:#ffe5f0;box-shadow:inset 3px 0 #ec5b98}.schedule-cell.booked:not(.booking-start){border-top-color:#ffe5f0}.schedule-cell.past:not(.booked){background-color:#f7f8fa;background-image:linear-gradient(135deg,#0000 46%,#7080970f 46% 54%,#0000 54%);background-size:8px 8px}.schedule-cell>i{color:#3273bd;opacity:0;font-size:.52rem;font-style:normal;font-weight:700;transition:opacity .1s;position:absolute;top:6px;left:8px}.schedule-cell:hover>i{opacity:1}.schedule-cell>span{z-index:4;color:#8d2854;border-radius:5px;flex-direction:column;min-width:0;padding:2px 5px;line-height:1.05;display:flex;position:absolute;inset:2px 4px}.schedule-cell>span strong,.schedule-cell>span small{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:.5rem;overflow:hidden}.schedule-cell>span small{opacity:.75}.schedule-legend{color:#657790;background:#fbfcfe;border-top:1px solid #dce3ee;flex-wrap:wrap;align-items:center;gap:17px;min-height:45px;padding:0 15px;font-size:.59rem;display:flex}.schedule-legend span{align-items:center;gap:6px;display:flex}.legend-dot{border-radius:3px;width:9px;height:9px}.legend-dot--available{background:#62bd85}.legend-dot--selected{background:var(--portal-orange)}.legend-dot--booked{background:#ec5b98}.legend-dot--unavailable{background:#fafbfc;border:1px solid #cfd8e4}.availability-calendar-card,.booking-calendar-card,.student-schedule-card{padding:18px}.schedule-page-heading{align-items:center}.schedule-save-actions{align-items:center;gap:11px;display:flex}.schedule-save-actions>span:first-child{color:var(--portal-muted);white-space:nowrap;font-size:.67rem}.drag-instruction{color:var(--portal-blue);background:#edf5ff;border-radius:10px;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;display:flex}.drag-instruction>span{background:#fff;border-radius:9px;flex:none;place-items:center;width:36px;height:36px;display:grid}.drag-instruction>div{flex-direction:column;display:flex}.drag-instruction strong{font-size:.68rem}.drag-instruction small{color:#657c9c;font-size:.58rem}.booking-controls{grid-template-columns:1fr 1fr 220px;align-items:end;gap:12px;margin-bottom:16px;display:grid}.booking-controls>label,.compact-duration{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.booking-controls>label>span,.compact-duration legend,.booking-confirm-bar label>span{color:#334866;font-size:.66rem;font-weight:750}.booking-controls select,.booking-confirm-bar input{color:#263c59;background:#fff;border:1px solid #d8e1ed;border-radius:9px;outline:0;width:100%;min-height:43px;padding:0 11px;font-size:.71rem}.booking-controls select:focus,.booking-confirm-bar input:focus{border-color:var(--portal-blue);box-shadow:0 0 0 3px #2879d81a}.compact-duration>div{border:1px solid #d8e1ed;border-radius:9px;grid-template-columns:1fr 1fr;min-height:43px;display:grid;overflow:hidden}.compact-duration label{color:#60738c;background:#fff;place-items:center;font-size:.67rem;font-weight:750;display:grid}.compact-duration label+label{border-left:1px solid #d8e1ed}.compact-duration label.selected{color:var(--portal-orange);background:#fff0e5}.compact-duration input{opacity:0;position:absolute}.multi-book-tip{color:#5e4c78;background:#f6f2ff;border:1px solid #d9cff0;border-radius:10px;align-items:center;gap:9px;margin-bottom:11px;padding:9px 11px;display:flex}.multi-book-tip>svg{color:var(--portal-blue);flex:none}.multi-book-tip span{flex:1;font-size:.59rem;line-height:1.45}.multi-book-tip strong{color:var(--portal-navy)}.multi-book-tip em{color:var(--portal-blue);white-space:nowrap;background:#fff;border-radius:14px;padding:4px 7px;font-size:.52rem;font-style:normal;font-weight:850}.booking-confirm-bar{background:#f3f6fa;border-radius:12px;grid-template-columns:1fr minmax(180px,.55fr) auto;align-items:end;gap:13px;margin-top:16px;padding:13px;display:grid}.booking-confirm-bar>div{align-items:center;gap:10px;display:flex}.booking-confirm-bar>div>div{flex-direction:column;min-width:0;display:flex}.booking-confirm-bar small,.booking-confirm-bar em{color:var(--portal-muted);font-size:.57rem;font-style:normal}.booking-confirm-bar strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:850;overflow:hidden}.booking-confirm-bar label{gap:5px;display:grid}.booking-confirm-bar label i{color:var(--portal-muted);font-size:.57rem;font-style:normal;font-weight:500}.booking-confirm-bar .portal-primary-button:disabled{cursor:not-allowed;filter:grayscale(.4);opacity:.55;transform:none}.schedule-list-below{margin-top:18px}.booking-layout{grid-template-columns:1fr 295px;align-items:start;gap:20px;animation:.42s both portal-view-in;display:grid}.booking-form{gap:17px;display:grid}.booking-form label,.duration-picker{gap:7px;min-width:0;display:grid}.booking-form label>span,.duration-picker legend,.profile-edit-card label>span{color:#334866;font-size:.69rem;font-weight:750}.booking-form label>span i{color:var(--portal-muted);font-size:.62rem;font-style:normal;font-weight:500}.booking-form input,.booking-form select,.booking-form textarea,.profile-edit-card select,.teacher-profile-form input,.teacher-profile-form textarea{color:#213552;background:#fff;border:1px solid #dbe3ee;border-radius:9px;outline:0;width:100%;min-height:46px;padding:0 12px;font-size:.76rem}.booking-form textarea,.teacher-profile-form textarea{resize:vertical;min-height:80px;padding-top:11px}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus,.profile-edit-card select:focus,.teacher-profile-form input:focus,.teacher-profile-form textarea:focus{border-color:var(--portal-blue);box-shadow:0 0 0 3px #2879d81a}.booking-form__row{grid-template-columns:1fr 1fr;gap:13px;display:grid}.duration-picker{border:0;margin:0;padding:0}.duration-picker>div{grid-template-columns:1fr 1fr;gap:9px;display:grid}.duration-picker label{display:block}.duration-picker input{opacity:0;position:absolute}.duration-picker label>span{background:#fff;border:1px solid #dbe3ee;border-radius:10px;flex-direction:column;justify-content:center;min-height:59px;padding:0 14px;transition:border-color .16s,background .16s;display:flex}.duration-picker label.selected>span{border-color:var(--portal-blue);background:#edf5ff}.duration-picker strong{font-size:.76rem}.duration-picker small{color:var(--portal-muted);font-size:.61rem}.booking-help{background:var(--portal-navy);color:#fff;border-radius:18px;padding:0 24px 25px;position:sticky;top:100px;overflow:hidden}.booking-help__mascot{background:#fff9f1;height:185px;margin:0 -24px 21px;overflow:hidden}.booking-help__mascot img{object-fit:cover;object-position:center 37%;width:100%;height:100%}.booking-help h3{color:#fff;margin-bottom:15px;font-size:1.3rem}.booking-help ul{color:#c0cde0;gap:9px;margin:0 0 18px;padding:0;font-size:.72rem;list-style:none;display:grid}.booking-help li{align-items:center;gap:7px;display:flex}.booking-help li svg{color:var(--portal-orange)}.booking-help>p{color:#8599b8;border-top:1px solid #ffffff1c;margin:0;padding-top:16px;font-size:.64rem}.lessons-list-card{padding-top:8px;padding-bottom:8px}.profile-media-photo{background:linear-gradient(135deg, var(--portal-blue), #70b4f3);color:#fff;place-items:center;display:grid;overflow:hidden}.profile-media-photo img{object-fit:cover;width:100%;height:100%}.profile-media-photo>strong{color:inherit;font-family:Manrope,sans-serif;font-weight:800}.portal-avatar-media{border-radius:10px;flex:none;width:35px;height:35px}.portal-avatar-media>strong{font-size:.72rem}.student-profile-photo-wrap,.teacher-profile-photo-wrap{flex:none;width:108px;height:108px;position:relative}.student-profile-photo,.teacher-profile-photo{border:7px solid #fff;border-radius:31px;width:100%;height:100%;font-size:2.2rem;transform:rotate(-3deg);box-shadow:0 12px 30px #2879d838}.teacher-profile-photo{color:var(--portal-navy);background:#fff}.student-profile-photo-wrap>label,.teacher-profile-photo-wrap>label{z-index:4;background:var(--portal-orange);color:#fff;cursor:pointer;border:4px solid #fff;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;bottom:-7px;right:-8px}.student-profile-photo-wrap input,.teacher-profile-photo-wrap input,.media-upload-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.teacher-snapshot-photo{border-radius:inherit;background:var(--portal-navy);width:100%;height:100%;font-size:1.5rem}.profile-intro-video,.profile-video-placeholder{aspect-ratio:16/9;background:var(--portal-navy);border-radius:12px;width:100%}.profile-intro-video{object-fit:cover;display:block}.profile-video-placeholder{color:#c5d4e7;text-align:left;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex}.profile-video-placeholder>span{background:var(--portal-orange);color:#fff;border-radius:50%;flex:none;place-items:center;width:45px;height:45px;display:grid}.profile-video-placeholder>div{flex-direction:column;display:flex}.profile-video-placeholder strong{color:#fff;font-size:.72rem}.profile-video-placeholder small{color:#9db0ca;font-size:.59rem}.teacher-name-editor{grid-template-columns:1fr minmax(230px,.75fr) auto auto;align-items:end;gap:14px;margin-bottom:18px;display:grid}.teacher-name-editor h2{margin-bottom:3px;font-size:1.15rem}.teacher-name-editor p{color:var(--portal-muted);margin:0;font-size:.6rem}.teacher-name-editor label{gap:5px;display:grid}.teacher-name-editor label>span{color:#41556e;font-size:.61rem;font-weight:750}.teacher-name-editor input{color:#283d58;border:1px solid #d9e2ee;border-radius:9px;outline:0;min-height:43px;padding:0 11px;font-size:.74rem;font-weight:750}.teacher-name-editor input:focus{border-color:var(--portal-blue);box-shadow:0 0 0 3px #7048df1a}.teacher-name-editor .portal-error{grid-column:1/-1;margin:0}.teacher-public-profile-grid{grid-template-columns:1.1fr .9fr;gap:18px;display:grid}.teacher-video-manager .portal-card__heading{margin-bottom:15px}.media-upload-button{width:100%;min-height:40px;color:var(--portal-blue);cursor:pointer;background:#fff;border:1px solid #d7e0eb;border-radius:9px;justify-content:center;align-items:center;gap:7px;margin-top:12px;font-size:.68rem;font-weight:750;display:inline-flex;position:relative}.teacher-video-manager>p{color:var(--portal-muted);margin:10px 0 0;font-size:.59rem;line-height:1.55}.student-profile-hero,.teacher-profile-hero{min-height:220px;box-shadow:inset 0 0 0 1px var(--portal-line), 0 12px 35px #152e580f;background:linear-gradient(112deg,#fff 0%,#edf4ff 100%);border-radius:21px;align-items:center;gap:22px;margin-bottom:20px;padding:35px 42px;display:flex;overflow:hidden}.student-profile-hero__avatar,.teacher-profile-hero__avatar{background:linear-gradient(135deg, var(--portal-blue), #69aef2);color:#fff;border:7px solid #fff;border-radius:31px;flex:none;place-items:center;width:104px;height:104px;font-family:Manrope,sans-serif;font-size:2.25rem;font-weight:800;display:grid;position:relative;transform:rotate(-3deg);box-shadow:0 12px 30px #2879d838}.student-profile-hero__avatar>span,.teacher-profile-hero__avatar>span{background:var(--portal-orange);color:#fff;border:4px solid #fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;bottom:-8px;right:-9px}.student-profile-hero h1,.teacher-profile-hero h1{margin:3px 0 4px;font-size:2.3rem}.student-profile-hero p,.teacher-profile-hero p{color:var(--portal-muted);margin-bottom:10px;font-size:.8rem}.profile-tags{flex-wrap:wrap;gap:7px;display:flex}.profile-tags span{color:#526780;background:#fff;border-radius:20px;align-items:center;gap:5px;padding:5px 9px;font-size:.62rem;font-weight:700;display:flex}.profile-tags svg{color:var(--portal-orange)}.profile-score{text-align:center;border-left:1px solid #d9e3ef;flex-direction:column;min-width:115px;margin-left:auto;padding-left:30px;display:flex}.profile-score strong{color:var(--portal-orange);font-family:Manrope,sans-serif;font-size:2rem}.profile-score span{color:var(--portal-muted);font-size:.64rem}.profile-edit-card label{gap:7px;margin-bottom:16px;display:grid}.admin-managed-goal{background:linear-gradient(120deg,#f8f4ff,#f3fbdf);border:1px solid #ddd4f2;border-radius:13px;gap:7px;margin-bottom:16px;padding:14px;display:grid}.admin-managed-goal>span{color:#334866;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px;font-size:.67rem;font-weight:800;display:flex}.admin-managed-goal em{color:#fff;background:#7048df;border-radius:20px;align-items:center;gap:4px;padding:4px 7px;font-size:.52rem;font-style:normal;font-weight:850;display:inline-flex}.admin-managed-goal>strong{color:#321568;font-size:.8rem;line-height:1.45}.admin-managed-goal>small{color:var(--portal-muted);font-size:.57rem;line-height:1.5}.profile-info-row{border:1px solid var(--portal-line);background:var(--portal-line);border-radius:11px;grid-template-columns:1fr 1fr;gap:1px;margin:21px 0;display:grid;overflow:hidden}.profile-info-row--three{grid-template-columns:repeat(3,1fr)}.profile-info-row>div{background:#f9fbfe;flex-direction:column;min-width:0;padding:14px;display:flex}.profile-info-row span{color:var(--portal-muted);font-size:.59rem}.profile-info-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.saved-label{color:#2e7c4b;background:#e5f5ea;border-radius:20px;align-items:center;gap:5px;padding:5px 9px;font-size:.64rem;font-weight:750;display:inline-flex}.achievements-card h2{margin-bottom:20px;font-size:1.2rem}.achievement-list{gap:10px;display:grid}.achievement-list>div{border:1px solid var(--portal-line);border-radius:11px;align-items:center;gap:11px;padding:12px;display:flex}.achievement-list>div>span{background:#fff4dd;border-radius:11px;place-items:center;width:40px;height:40px;font-size:1.15rem;display:grid}.achievement-list>div>div{flex-direction:column;display:flex}.achievement-list strong{font-size:.72rem}.achievement-list small{color:var(--portal-muted);font-size:.59rem}.achievement-list .locked{filter:grayscale();opacity:.5}.classroom-layout{grid-template-columns:1fr 320px;align-items:start;gap:18px;display:grid}.platform-choice{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px;display:grid}.platform-choice>button{border:1px solid var(--portal-line);text-align:left;background:#fff;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;min-height:82px;padding:12px;transition:border-color .16s,background .16s,transform .16s;display:grid}.platform-choice>button:hover{transform:translateY(-2px)}.platform-choice>button.active{border-color:var(--portal-blue);background:#edf5ff;box-shadow:0 8px 20px #2879d81a}.platform-choice>button>div{flex-direction:column;display:flex}.platform-choice strong{font-size:.76rem}.platform-choice small{color:var(--portal-muted);font-size:.59rem}.platform-choice button>i{background:var(--portal-blue);color:#fff;border-radius:50%;place-items:center;width:23px;height:23px;display:grid}.platform-logo{color:#fff;border-radius:12px;place-items:center;width:42px;height:42px;font-family:Manrope,sans-serif;font-size:1rem;font-weight:850;display:grid}.platform-logo--zoom{background:#2d8cff}.platform-logo--voov{background:linear-gradient(135deg,#6b4df6,#2f9ce9)}.classroom-link-fields{gap:14px;margin-bottom:20px;display:grid}.classroom-link-fields label{color:#354b67;gap:6px;font-size:.67rem;font-weight:750;display:grid}.classroom-link-fields label>div{min-height:47px;color:var(--portal-muted);background:#fff;border:1px solid #d9e2ee;border-radius:9px;align-items:center;gap:9px;padding:0 12px;display:flex}.classroom-link-fields input{color:#263c59;border:0;outline:0;width:100%;min-width:0;font-size:.72rem}.classroom-privacy-card{background:var(--portal-navy);color:#fff;border-radius:18px;padding:25px;box-shadow:0 16px 35px #0e234829}.classroom-privacy-card>span{color:#ff9c53;background:#f47b2026;border-radius:16px;place-items:center;width:55px;height:55px;margin-bottom:20px;display:grid}.classroom-privacy-card h2{color:#fff;margin-bottom:9px;font-size:1.35rem}.classroom-privacy-card p{color:#aebed5;font-size:.7rem;line-height:1.65}.classroom-privacy-card ul{color:#ced8e7;border-top:1px solid #ffffff1a;gap:8px;margin:18px 0 0;padding:17px 0 0;font-size:.64rem;list-style:none;display:grid}.classroom-privacy-card li{align-items:center;gap:7px;display:flex}.classroom-privacy-card li svg{color:#ff9c53}.private-class-link,.meeting-link-pending{border-radius:7px;align-items:center;gap:5px;width:fit-content;margin-top:7px;padding:6px 8px;font-size:.58rem;font-weight:800;display:inline-flex}.private-class-link{color:#246cbf;background:#e6f0fd}.meeting-link-pending{color:#75869b;background:#f0f2f6}.approval-banner{color:#8b6417;background:#fff7e4;border:1px solid #efd69d;border-radius:12px;align-items:center;gap:11px;margin-bottom:22px;padding:13px 16px;display:flex}.approval-banner--rejected,.approval-banner--suspended{color:#984331;background:#fff0ec;border-color:#efc6bd}.approval-banner>div{flex-direction:column;display:flex}.approval-banner strong{color:inherit;font-size:.76rem}.approval-banner span{opacity:.8;font-size:.65rem}.teacher-profile-snapshot{text-align:center;flex-direction:column;align-items:center;display:flex}.teacher-profile-snapshot__avatar{background:var(--portal-navy);color:#fff;border-radius:24px;place-items:center;width:79px;height:79px;margin:5px 0 13px;font-family:Manrope,sans-serif;font-size:1.5rem;font-weight:800;display:grid;position:relative;transform:rotate(-3deg)}.teacher-profile-snapshot__avatar .teacher-snapshot-verified{background:var(--portal-orange);border:4px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:absolute;bottom:-7px;right:-7px}.teacher-profile-snapshot h2{margin:12px 0 2px;font-size:1.1rem}.teacher-profile-snapshot>p{color:var(--portal-muted);font-size:.68rem}.teacher-profile-snapshot dl{width:100%;margin:10px 0 17px}.teacher-profile-snapshot dl>div{border-bottom:1px solid var(--portal-line);text-align:left;justify-content:space-between;gap:12px;padding:9px 0;display:flex}.teacher-profile-snapshot dt{color:var(--portal-muted);font-size:.62rem}.teacher-profile-snapshot dd{color:#283e5b;text-align:right;max-width:65%;margin:0;font-size:.65rem;font-weight:700}.teacher-profile-snapshot .portal-secondary-button{width:100%}.lesson-action{border:0;border-radius:9px;place-items:center;min-width:34px;height:34px;font-size:.65rem;font-weight:750;display:grid}.lesson-action--wide{width:auto;padding:0 10px;display:inline-flex}.lesson-action--accept{color:#2e7d4c;background:#e4f5e9}.lesson-action--decline{color:#a84835;background:#fde9e5}.lesson-action--complete{color:#2469b6;background:#e6f0fc}.availability-card{max-width:850px}.availability-head,.availability-row{grid-template-columns:1fr 100px 145px 145px;align-items:center;gap:15px;display:grid}.availability-head{color:var(--portal-muted);text-transform:uppercase;padding:0 12px 10px;font-size:.61rem;font-weight:750}.availability-row{border-top:1px solid var(--portal-line);min-height:67px;padding:10px 12px}.availability-row strong{font-size:.75rem}.availability-row input[type=time]{color:#31445e;background:#fff;border:1px solid #dbe3ee;border-radius:8px;width:100%;min-height:39px;padding:0 8px;font-size:.7rem;font-weight:850}.availability-card>.portal-primary-button{margin-top:22px}.switch{width:41px;height:23px;display:inline-block}.switch input{opacity:0;position:absolute}.switch span{background:#d9e1ea;border-radius:20px;width:100%;height:100%;transition:background .16s;display:block;position:relative}.switch span:after{content:"";background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #00000026}.switch input:checked+span{background:var(--portal-blue)}.switch input:checked+span:after{transform:translate(18px)}.teacher-profile-hero{background:linear-gradient(112deg, var(--portal-navy), #5d3a99);color:#fff}.teacher-profile-hero__avatar{color:var(--portal-navy);background:#fff}.teacher-profile-hero h1{color:#fff}.teacher-profile-hero p{color:#b5c5dc}.teacher-profile-hero__score{min-width:125px;color:var(--gold);flex-direction:column;align-items:center;margin-left:auto;display:flex}.teacher-profile-hero__score strong{color:#fff;font-size:1.6rem}.teacher-profile-hero__score span{color:#9db0cc;font-size:.62rem}.teacher-profile-detail{max-width:900px}.teacher-profile-detail h2{font-size:1.45rem}.teacher-bio{max-width:760px;color:var(--portal-muted);font-size:.84rem;line-height:1.75}.game-loading{border:1px solid var(--portal-line);color:#fff;background:radial-gradient(circle at 50% 35%,#5d369e,#25104f 72%);border-radius:22px;flex-direction:column;justify-content:center;align-items:center;min-height:460px;display:flex;box-shadow:0 18px 45px #3215682e}.game-loading i{border:4px solid #fff3;border-top-color:#dff7a6;border-radius:50%;width:54px;height:54px;margin-bottom:20px;animation:.75s linear infinite game-loading-spin}.game-loading strong{color:#fff;font-size:.95rem}.game-loading span{color:#c9bae1;margin-top:5px;font-size:.65rem}@keyframes game-loading-spin{to{transform:rotate(360deg)}}.games-hub,.game-stage{animation:.42s both portal-view-in}.games-hero{background:linear-gradient(115deg, var(--portal-navy), #6039a2);color:#fff;border-radius:23px;justify-content:space-between;align-items:center;min-height:225px;padding:35px 42px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 40px #3215682e}.games-hero:after{content:"";border:43px solid #dff7a626;border-radius:50%;width:280px;height:280px;position:absolute;bottom:-115px;right:-60px}.games-hero>div:first-child{z-index:2;position:relative}.games-hero h1{color:#fff;margin-bottom:8px;font-size:clamp(2rem,4vw,3.1rem)}.games-hero p{color:#cbbce1;max-width:600px;margin-bottom:0;font-size:.8rem}.games-star-bank{z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff17;border:1px solid #ffffff24;border-radius:15px;align-items:center;gap:11px;margin-right:95px;padding:12px 16px;display:flex;position:relative}.games-star-bank>span{color:#a56c00;background:#ffd84f;border-radius:12px;place-items:center;width:43px;height:43px;display:grid}.games-star-bank>div{flex-direction:column;display:flex}.games-star-bank small,.games-star-bank em{color:#bbaed0;font-size:.55rem;font-style:normal}.games-star-bank strong{color:#fff;font-size:.95rem}.games-hero__icon{z-index:1;color:#ff4f8766;position:absolute;bottom:-8px;right:-12px;transform:rotate(-12deg)}.game-card-grid{grid-template-columns:repeat(4,1fr);gap:17px;margin-top:20px;display:grid}.game-card{border:1px solid var(--portal-line);background:#fff;border-radius:19px;padding:20px;transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden;box-shadow:0 10px 30px #3215680f}.game-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px #3215681f}.game-card__art{border-radius:15px;place-items:center;height:118px;margin-bottom:18px;display:grid;position:relative;overflow:hidden}.game-card--blue .game-card__art{color:#2868ae;background:linear-gradient(145deg,#dff6ff,#d8e8ff)}.game-card--purple .game-card__art{color:#6b45c5;background:#eee7ff}.game-card--pink .game-card__art{color:#e63c79;background:#ffe5ef}.game-card--green .game-card__art{color:#619515;background:#e8f8c5}.game-card__art>span{background:#fff;border-radius:21px;place-items:center;width:68px;height:68px;display:grid;transform:rotate(-4deg);box-shadow:0 10px 24px #3215681a}.game-card__art>i{color:#ffc928;animation:2.2s ease-in-out infinite game-spark;position:absolute;top:16px;right:20px}.game-card__reward{color:#9f6d06;text-transform:uppercase;background:#fff4cc;border-radius:20px;padding:4px 8px;font-size:.55rem;font-weight:850;display:inline-flex}.game-card h2{margin:12px 0 7px;font-size:1.25rem}.game-card p{min-height:42px;color:var(--portal-muted);font-size:.69rem;line-height:1.55}.game-card>button,.game-main-button{background:var(--portal-navy);color:#fff;border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:41px;padding:0 14px;font-size:.67rem;font-weight:800;display:inline-flex;box-shadow:0 7px 16px #32156829}.games-tip{color:#66802a;background:#f4fbdf;border:1px solid #dbe9b8;border-radius:13px;align-items:center;gap:11px;margin-top:17px;padding:13px 16px;display:flex}.games-tip>div{flex-direction:column;display:flex}.games-tip strong{font-size:.7rem}.games-tip span{font-size:.61rem}.game-header{grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:18px;display:grid}.game-header>button{border:1px solid var(--portal-line);width:fit-content;min-height:39px;color:var(--portal-blue);background:#fff;border-radius:9px;align-items:center;gap:6px;padding:0 11px;font-size:.65rem;font-weight:750;display:inline-flex}.game-header>div:nth-child(2){text-align:left;align-items:center;gap:10px;display:flex}.game-header>div:nth-child(2)>span{width:44px;height:44px;color:var(--portal-blue);background:#eee7ff;border-radius:12px;place-items:center;display:grid}.game-header h2{margin:0;font-size:1.3rem}.game-header small{color:var(--portal-muted);font-size:.57rem}.game-score{color:#d69a13;justify-self:end;align-items:center;gap:5px;display:flex}.game-score strong{font-size:1rem}.game-score span{color:var(--portal-muted);font-size:.55rem}.game-progress{background:#e7e3ed;border-radius:10px;height:6px;margin-bottom:20px;overflow:hidden}.game-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--portal-blue), var(--portal-orange));height:100%;transition:width .3s;display:block}.word-game-card,.sentence-game-card,.spelling-game-card{border:1px solid var(--portal-line);text-align:center;background:#fff;border-radius:23px;max-width:870px;min-height:520px;margin:0 auto;padding:45px;box-shadow:0 16px 45px #32156814}.word-game-card__badge{color:#d49308;background:#fff0c7;border-radius:18px;place-items:center;width:58px;height:58px;margin:0 auto 20px;display:grid;transform:rotate(-4deg)}.word-game-card>span,.sentence-game-card>span{color:var(--portal-muted);text-transform:uppercase;font-size:.66rem;font-weight:750}.word-game-card h3{max-width:650px;margin:12px auto 29px;font-size:1.55rem;line-height:1.4}.word-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.word-options button{color:#44365e;background:#fff;border:1px solid #dfd9ea;border-radius:12px;justify-content:space-between;align-items:center;min-height:61px;padding:0 17px;font-size:.78rem;font-weight:800;display:flex}.word-options button:hover:not(.dimmed){border-color:var(--portal-blue);background:#f6f2ff}.word-options button.correct{color:#4b7f27;background:#effadd;border-color:#74ba45}.word-options button.wrong{color:#aa315b;background:#fff0f5;border-color:#ec7c9f}.word-options button.dimmed{opacity:.45}.game-result{text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:15px;margin-top:19px;padding:13px 15px;display:flex}.game-result.correct{color:#4c7e28;background:#effadd}.game-result.wrong{color:#a4385d;background:#fff0f5}.game-result button{min-height:35px;color:inherit;background:#fff;border:0;border-radius:8px;align-items:center;gap:5px;padding:0 10px;font-size:.62rem;font-weight:800;display:inline-flex}.sentence-answer{background:#faf8fd;border:2px dashed #d9d1e6;border-radius:15px;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;min-height:105px;margin:18px 0;padding:17px;display:flex}.sentence-answer.correct{background:#f4fbe8;border-color:#83c34e}.sentence-answer.wrong{background:#fff5f8;border-color:#ec82a3}.sentence-answer p{color:#aaa1b7;margin:0;font-size:.72rem}.sentence-answer button,.sentence-tokens button{color:#47385f;background:#fff;border:1px solid #d8d0e4;border-radius:8px;min-height:37px;padding:0 10px;font-size:.7rem;font-weight:750}.sentence-answer button{background:#f0ebfb;border-color:#aa96d2}.sentence-tokens{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-height:90px;display:flex}.sentence-tokens button:disabled{opacity:.25}.sentence-actions{justify-content:space-between;gap:10px;margin-top:22px;display:flex}.sentence-actions>button:first-child{border:1px solid var(--portal-line);min-height:40px;color:var(--portal-muted);background:#fff;border-radius:9px;align-items:center;gap:5px;padding:0 12px;font-size:.65rem;font-weight:750;display:inline-flex}.game-main-button:disabled{cursor:not-allowed;opacity:.4}.game-result-banner{border-radius:10px;margin-top:16px;padding:10px;font-size:.7rem;font-weight:800}.game-result-banner.correct{color:#4c7e28;background:#effadd}.game-result-banner.wrong{color:#a4385d;background:#fff0f5}.sound-orb{cursor:pointer;place-items:center;width:112px;height:112px;margin:5px auto 22px;display:grid;position:relative}.sound-orb>span{z-index:3;background:linear-gradient(135deg, var(--portal-blue), #9a70ef);color:#fff;border-radius:50%;place-items:center;width:84px;height:84px;display:grid;position:relative;box-shadow:0 14px 30px #7048df4d}.sound-orb i{border:2px solid #7048df33;border-radius:50%;animation:2s ease-out infinite sound-pulse;position:absolute;inset:5px}.sound-orb i:nth-child(2){animation-delay:.6s;inset:-8px}.spelling-game-card h3{margin-bottom:5px;font-size:1.4rem}.spelling-game-card>p{color:var(--portal-muted);font-size:.7rem}.listen-again{min-height:37px;color:var(--portal-blue);background:#fff;border:1px solid #d9d1e6;border-radius:9px;align-items:center;gap:6px;margin-bottom:20px;padding:0 11px;font-size:.65rem;font-weight:800;display:inline-flex}.spelling-game-card form{grid-template-columns:1fr auto;gap:8px;max-width:520px;margin:0 auto;display:grid}.spelling-game-card input{color:#3c3150;text-align:center;border:1px solid #d8d0e4;border-radius:10px;outline:0;min-width:0;min-height:46px;padding:0 13px;font-size:.8rem}.spelling-result{text-align:left;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;max-width:590px;margin:18px auto 0;padding:12px;display:grid}.spelling-result.correct{color:#4c7e28;background:#effadd}.spelling-result.wrong{color:#a4385d;background:#fff0f5}.spelling-result>span{background:#fff;border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.spelling-result>div{flex-direction:column;display:flex}.spelling-result strong{font-size:.7rem}.spelling-result small{opacity:.75;font-size:.58rem}.spelling-result>button{min-height:34px;color:inherit;background:#fff;border:0;border-radius:8px;align-items:center;gap:5px;padding:0 9px;font-size:.62rem;font-weight:800;display:inline-flex}.adaptive-level{color:#fff;letter-spacing:.03em;background:#ffffff1a;border:1px solid #ffffff2b;border-radius:20px;align-items:center;gap:6px;width:fit-content;margin:5px 0 10px;padding:6px 10px;font-size:.6rem;font-weight:850;display:inline-flex}.adaptive-level--beginner{color:#e7ff9f}.adaptive-level--explorer{color:#ffd663}.adaptive-level--master{color:#ff9ec0}.game-card{transform-style:preserve-3d;perspective:900px}.game-card:hover .game-card__art>span{transform:translateZ(28px)rotate(-6deg)scale(1.06)}.game-card__art>span{transition:transform .26s cubic-bezier(.22,1,.36,1)}.word-game-card{background:linear-gradient(#fff,#f7f3ff);max-width:1120px;padding:30px}.word-galaxy-3d{background:#160934;border:1px solid #aa8bec66;border-radius:20px;height:470px;margin:22px 0 0;position:relative;overflow:hidden;box-shadow:inset 0 0 50px #754ad833,0 20px 45px #2a13532e}.word-galaxy-3d canvas{cursor:crosshair;touch-action:manipulation;width:100%;height:100%;display:block}.word-galaxy-3d.disabled canvas{cursor:default;filter:saturate(.75)}.word-galaxy-3d--fallback{color:#d9cbf8;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:25px;padding:30px;display:flex}.word-galaxy-3d--fallback>div:first-child{flex-direction:column;align-items:center;gap:7px;display:flex}.word-galaxy-3d--fallback strong{color:#fff;font-size:.8rem}.word-galaxy-3d--fallback span{font-size:.62rem}.galaxy-answer-dock--fallback{flex-wrap:wrap;position:static}.galaxy-hud{color:#d9cbf8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);pointer-events:none;background:#13072fb8;border:1px solid #ffffff29;border-radius:10px;align-items:center;gap:6px;padding:7px 9px;font-size:.57rem;font-weight:750;display:flex;position:absolute;top:13px;left:13px}.galaxy-hud i{color:#fff;background:#ff4f87;border-radius:5px;margin-left:3px;padding:2px 4px;font-size:.46rem;font-style:normal;font-weight:900}.galaxy-answer-dock{pointer-events:none;justify-content:center;gap:6px;display:flex;position:absolute;bottom:13px;left:13px;right:13px}.galaxy-answer-dock button{color:#fff;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);pointer-events:auto;background:#140831ad;border:1px solid #ffffff2e;border-radius:8px;min-height:31px;padding:0 9px;font-size:.52rem;font-weight:800}.galaxy-answer-dock button:hover:not(:disabled){background:#7048dfcc;border-color:#c6abff}.sentence-game-card{perspective:1000px;background:radial-gradient(circle at 50% 10%,#f5f0ff 0,#fff 52%);position:relative;overflow:hidden}.sentence-game-card:before{content:"";border:38px solid #7048df0f;border-radius:50%;width:260px;height:260px;position:absolute;bottom:-100px;right:-70px}.sentence-answer{transform-style:preserve-3d;background-image:linear-gradient(#7048df09 1px,#0000 1px),linear-gradient(90deg,#7048df09 1px,#0000 1px);background-size:24px 24px;position:relative;box-shadow:inset 0 -12px 25px #4728810a}.sentence-answer button{color:#402663;background:linear-gradient(145deg,#f8f5ff,#dcd0f6);border:0;border-bottom:5px solid #7353b3;transition:transform .14s,box-shadow .14s;transform:translateY(-5px)rotateX(8deg);box-shadow:0 7px #4f337f,0 11px 18px #3215682e}.sentence-answer button:hover{transform:translateY(-8px)rotateX(5deg);box-shadow:0 10px #4f337f,0 15px 22px #32156833}.sentence-tokens button{border-bottom:3px solid #c5b8d8;transform:translateY(-2px);box-shadow:0 4px #a99abb}.spelling-game-card{background:radial-gradient(circle at 50% 28%,#efffc6 0,#fff 48%);position:relative;overflow:hidden}.spelling-game-card:after{content:"";border:27px solid #7db42312;border-radius:50%;width:180px;height:180px;position:absolute;top:-75px;left:-75px}.sound-orb{transform-style:preserve-3d;perspective:700px}.sound-orb>span{background:radial-gradient(circle at 32% 25%,#b59aff 0,#7048df 45%,#38206f 100%);border:2px solid #ffffff73;animation:2.8s ease-in-out infinite sound-orb-float;box-shadow:inset -10px -14px 24px #1c0c3e4d,inset 8px 8px 14px #ffffff40,0 18px 32px #4b2b874d}@keyframes game-spark{0%,to{transform:rotate(-8deg)scale(1)}50%{transform:rotate(8deg)scale(1.2)}}@keyframes sound-pulse{0%{opacity:1;transform:scale(.75)}to{opacity:0;transform:scale(1.2)}}@keyframes sound-orb-float{0%,to{transform:translateY(0)rotateY(-5deg)}50%{transform:translateY(-8px)rotateY(8deg)}}.letter-adventure-stage{--letter-gold:#ffd349;--letter-ink:#221042}.letter-game-progress{margin-bottom:12px}.letter-bubble-world{isolation:isolate;background-color:#0a3152;background-position:50%;background-size:cover;border:1px solid #263f73;border-radius:24px;min-height:610px;position:relative;overflow:hidden;box-shadow:inset 0 0 70px #040e284d,0 20px 45px #16285733}.letter-bubble-world:before{z-index:0;content:"";pointer-events:none;background:linear-gradient(115deg,#0818371a,#0000 45%,#22104233);position:absolute;inset:0}.letter-bubble-world:after{z-index:1;content:"";pointer-events:none;background:linear-gradient(100deg,#0000,#b8f6ff29,#0000);width:35%;height:120%;animation:5s ease-in-out infinite alternate letter-light-ray;position:absolute;top:-30%;left:45%;transform:rotate(10deg)}.letter-mission-card{z-index:8;color:#fff;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#140c30d1;border:1px solid #ffffff4d;border-radius:20px;flex-direction:column;align-items:center;width:190px;padding:13px;display:flex;position:absolute;top:20px;left:20px;box-shadow:0 15px 34px #0000003d}.letter-mission-card>span{color:#d9f59c;letter-spacing:.1em;text-transform:uppercase;font-size:.58rem;font-weight:900}.letter-mission-card>strong{color:#fff;text-shadow:0 5px 16px #0000003d;align-items:flex-end;gap:5px;margin:1px 0 7px;font-family:Nunito,sans-serif;font-size:4rem;font-weight:900;line-height:1;display:flex}.letter-mission-card>strong small{color:#ffd75d;margin-bottom:5px;font-size:1.45rem}.letter-mission-card button{color:#fff;background:linear-gradient(115deg,#ff4f87,#ff7ca5);border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:0 10px;font-size:.55rem;font-weight:850;display:inline-flex;box-shadow:0 7px 16px #ff4f8740}.letter-mission-card button.muted{filter:grayscale(.7)}.letter-sound-toggle{z-index:12;color:#fff;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#140c30b3;border:1px solid #ffffff4d;border-radius:13px;place-items:center;width:43px;height:43px;display:grid;position:absolute;top:20px;right:20px}.letter-mascot-message{z-index:8;color:#3c275c;background:#ffffffed;border:2px solid #fffc;border-radius:18px 18px 18px 5px;flex-direction:column;width:220px;padding:11px 14px;display:flex;position:absolute;bottom:24px;left:19px;box-shadow:0 12px 28px #02163840}.letter-mascot-message:after{content:"";background:#ffffffed;border-bottom:2px solid #ffffffe6;border-right:2px solid #ffffffe6;width:18px;height:18px;position:absolute;bottom:-11px;left:24px;transform:rotate(45deg)}.letter-mascot-message span{color:#321568;font-size:.73rem;font-weight:900}.letter-mascot-message small{color:#716783;font-size:.57rem;font-weight:700}.letter-bubble-field{z-index:5;position:absolute;inset:0 0 0 24%}.letter-bubble{left:var(--bubble-x);top:var(--bubble-y);width:var(--bubble-size);height:var(--bubble-size);color:#fff;cursor:pointer;animation:letter-bubble-float 3.7s ease-in-out var(--bubble-delay) infinite;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 32% 25%,#ffffff6b,#251d39db 38%,#070c1cf0 75%);border:3px solid #ffdd78eb;border-radius:50%;place-items:center;transition:filter .16s,box-shadow .16s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:inset 8px 8px 15px #fff3,inset -12px -14px 18px #00000052,0 12px 26px #0000004d,0 0 20px #ffd24a2e}.letter-bubble:after{content:"";filter:blur(1px);background:#ffffffe6;border-radius:50%;width:20%;height:12%;position:absolute;top:12%;right:16%;transform:rotate(-35deg)}.letter-bubble>i{border:1px solid #ffffff24;border-radius:50%;position:absolute;inset:5px}.letter-bubble strong{color:#fff;text-shadow:0 5px 12px #00000073;font-family:Nunito,sans-serif;font-size:clamp(2.2rem,4.5vw,4.2rem);font-weight:900;line-height:1}.letter-bubble small{color:#ffe684;font-family:Nunito,sans-serif;font-size:.85rem;font-weight:900;position:absolute;bottom:14%;right:20%}.letter-bubble>svg{color:#dff7a6;filter:drop-shadow(0 3px 5px #00000059);position:absolute}.letter-bubble:hover:not(:disabled){filter:brightness(1.18);box-shadow:inset 8px 8px 15px #ffffff40,inset -12px -14px 18px #00000047,0 17px 32px #00000061,0 0 30px #ffd24a66}.letter-bubble:focus-visible{outline-offset:4px;outline:4px solid #dff7a6}.letter-bubble:disabled{cursor:default}.letter-bubble.correct{background:radial-gradient(circle at 30% 25%,#faffd9,#75bb2e 55%,#315b16);border-color:#dff7a6;animation:.65s cubic-bezier(.2,.9,.3,1) forwards letter-bubble-pop}.letter-bubble.wrong{background:radial-gradient(circle at 30% 25%,#ffd9e6,#bd3765 58%,#64213d);border-color:#ff78a5;animation:.42s both letter-bubble-wrong}.letter-round-count{z-index:9;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#140c30b8;border:1px solid #ffffff38;border-radius:20px;align-items:center;gap:5px;padding:7px 10px;font-size:.58rem;font-weight:850;display:flex;position:absolute;bottom:16px;right:18px}.letter-alphabet-track{border:1px solid var(--portal-line);background:#fff;border-radius:15px;grid-template-columns:repeat(13,1fr);gap:5px;margin-top:11px;padding:9px;display:grid}.letter-alphabet-track span{color:#8f849e;background:#f0edf5;border-radius:7px;place-items:center;min-height:29px;font-size:.58rem;font-weight:900;transition:transform .18s,background .18s;display:grid}.letter-alphabet-track span.found{color:#557e1b;background:#e8f7c7}.letter-alphabet-track span.current{color:#fff;background:#7048df;transform:translateY(-2px);box-shadow:0 5px 12px #7048df40}.letter-celebration{z-index:15;pointer-events:none;position:absolute;inset:0;overflow:hidden}.letter-celebration i{top:44%;left:var(--confetti-left);background:hsl(var(--confetti-hue), 90%, 62%);width:9px;height:16px;animation:letter-confetti .9s ease-out var(--confetti-delay) both;border-radius:3px;position:absolute}.letter-game-complete{color:#fff;text-align:center;background-position:50%;background-size:cover;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;min-height:610px;padding:40px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 45px #16285733}.letter-game-complete>span{color:#6e3e00;background:linear-gradient(145deg,#ffd74d,#ff9d35);border:4px solid #ffffffa6;border-radius:29px;place-items:center;width:92px;height:92px;margin-bottom:15px;display:grid;transform:rotate(-4deg);box-shadow:0 17px 34px #00000040}.letter-game-complete>small{color:#dff7a6;letter-spacing:.1em;text-transform:uppercase;font-size:.64rem;font-weight:900}.letter-game-complete h1{color:#fff;max-width:700px;margin:7px 0 9px;font-size:clamp(2.1rem,5vw,4rem)}.letter-game-complete>p{color:#e5dcf0;max-width:620px;font-size:.76rem}.letter-game-complete>div:not(.letter-complete-stars){text-align:left;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border-radius:15px;grid-template-columns:auto auto;gap:2px 10px;margin:10px 0 20px;padding:12px 18px;display:grid}.letter-game-complete>div strong{color:#ffd85b;font-size:1.1rem}.letter-game-complete>div span{color:#d8cde5;font-size:.58rem}.letter-game-complete>button{color:#3f6012;background:linear-gradient(115deg,#dff7a6,#bde957);border:0;border-radius:12px;align-items:center;gap:7px;min-height:47px;padding:0 17px;font-size:.7rem;font-weight:900;display:inline-flex;box-shadow:0 10px 25px #00000038}.letter-complete-stars{color:#ffdc5c;letter-spacing:.2em;font-size:clamp(1.6rem,4vw,3rem);animation:2s ease-in-out infinite letter-stars-dance;position:absolute;top:9%}@keyframes letter-bubble-float{0%,to{transform:translate(-50%,-50%)translateY(0)rotate(-2deg)}50%{transform:translate(-50%,-50%)translateY(-13px)rotate(3deg)}}@keyframes letter-bubble-pop{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}55%{opacity:1;transform:translate(-50%,-50%)scale(1.25)}to{opacity:0;transform:translate(-50%,-50%)scale(1.7)}}@keyframes letter-bubble-wrong{0%,to{transform:translate(-50%,-50%)}25%{transform:translate(calc(-50% - 10px),-50%)rotate(-5deg)}75%{transform:translate(calc(10px - 50%),-50%)rotate(5deg)}}@keyframes letter-light-ray{0%{opacity:.35;transform:translate(-20px)rotate(10deg)}to{opacity:.85;transform:translate(50px)rotate(14deg)}}@keyframes letter-confetti{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translate(var(--confetti-drift), 270px) rotate(540deg)}}@keyframes letter-stars-dance{0%,to{transform:scale(1)rotate(-2deg)}50%{transform:scale(1.08)rotate(2deg)}}.rate-class-button,.rated-class-label{border-radius:8px;align-items:center;gap:5px;min-height:33px;padding:0 9px;font-size:.62rem;font-weight:800;display:inline-flex}.rate-class-button{color:#a46d0e;background:#fff3d8;border:0}.rated-class-label{color:#b47a15;background:#fff3d8}.lesson-feedback-preview{border-left:3px solid var(--portal-blue);color:#526981;background:#f1f6fd;flex-direction:column;gap:2px;max-width:560px;margin-top:8px;padding:6px 9px;display:flex}.lesson-feedback-preview strong{color:#2f5f95;align-items:center;gap:4px;font-size:.59rem;display:flex}.lesson-feedback-preview span,.lesson-feedback-preview small{font-size:.6rem;line-height:1.45}.lesson-rating-preview{color:#d49818;align-items:center;gap:4px;margin-top:5px;font-size:.59rem;font-weight:750;display:flex}.lesson-rating-preview span{color:var(--portal-muted);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.lesson-action--feedback{color:#6d50ad;background:#eee9fb}.rating-dialog{text-align:center;width:min(510px,100%)}.rating-dialog__icon{color:#dc9b11;background:#fff1cf;border-radius:21px;place-items:center;width:68px;height:68px;margin:2px auto 20px;display:grid;transform:rotate(-4deg)}.rating-dialog h2{margin-bottom:9px;font-size:1.55rem}.rating-dialog>p{color:var(--portal-muted);font-size:.72rem}.rating-dialog form,.feedback-form{gap:14px;display:grid}.rating-stars{justify-content:center;gap:6px;margin:8px 0;display:flex}.rating-stars button{color:#d5dce5;background:0 0;border:0;padding:3px;transition:color .12s,transform .12s}.rating-stars button:hover,.rating-stars button.active{color:#e4a41b;transform:translateY(-2px)scale(1.05)}.rating-dialog label,.feedback-form label{color:#344a67;text-align:left;gap:6px;font-size:.66rem;font-weight:750;display:grid}.rating-dialog label span i{color:var(--portal-muted);font-size:.57rem;font-style:normal;font-weight:500}.rating-dialog textarea,.feedback-form textarea,.feedback-form input{color:#263b59;background:#fff;border:1px solid #d9e2ee;border-radius:9px;outline:0;width:100%;min-height:44px;padding:10px 11px;font-size:.72rem}.rating-dialog textarea,.feedback-form textarea{resize:vertical;min-height:90px}.rating-dialog textarea:focus,.feedback-form textarea:focus,.feedback-form input:focus{border-color:var(--portal-blue);box-shadow:0 0 0 3px #2879d81a}.feedback-form>div:not(.portal-dialog__actions){grid-template-columns:1fr 1fr;gap:11px;display:grid}.admin-profile-backbar{justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;display:flex}.admin-profile-backbar button{border:1px solid var(--portal-line);min-height:40px;color:var(--portal-blue);background:#fff;border-radius:9px;align-items:center;gap:6px;padding:0 11px;font-size:.65rem;font-weight:800;display:inline-flex}.admin-profile-backbar>span{color:var(--portal-muted);align-items:center;gap:5px;font-size:.58rem;display:flex}.admin-teacher-profile-hero{background:linear-gradient(115deg, var(--portal-navy), #5b3697);color:#fff;border-radius:22px;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;min-height:230px;margin-bottom:18px;padding:35px 40px;display:grid;overflow:hidden;box-shadow:0 17px 40px #3215682e}.admin-teacher-profile-photo{border:6px solid #ffffffd1;border-radius:30px;width:105px;height:105px;font-size:2rem;transform:rotate(-3deg)}.admin-teacher-profile-hero h1{color:#fff;margin:7px 0 4px;font-size:2.25rem}.admin-teacher-profile-hero p{color:#c4b6d8;margin-bottom:10px;font-size:.75rem}.admin-teacher-profile-hero .profile-tags span{color:#e1d7ed;background:#ffffff1a}.admin-teacher-profile-actions{flex-direction:column;gap:7px;display:flex}.admin-teacher-profile-actions button{border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:39px;padding:0 11px;font-size:.62rem;font-weight:800;display:inline-flex}.admin-teacher-profile-actions .approve{color:#466c12;background:#dff7a6}.admin-teacher-profile-actions .suspend{color:#93620a;background:#fff1c9}.admin-teacher-profile-actions .reject{color:#a62d57;background:#ffe1eb}.admin-teacher-profile-actions .delete{color:#ffd6e4;background:#ffffff14;border:1px solid #fff3}.admin-teacher-profile-actions .delete:hover{color:#fff;background:#bd3563}.admin-teacher-profile-actions button:disabled{cursor:wait;opacity:.5}.admin-student-profile-hero{color:#fff;background:linear-gradient(115deg,#315f90,#7048df);border-radius:22px;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;min-height:220px;margin-bottom:18px;padding:35px 40px;display:grid;overflow:hidden;box-shadow:0 17px 40px #2a48782b}.admin-student-profile-photo{border:6px solid #ffffffd6;border-radius:30px;width:105px;height:105px;font-size:2rem;transform:rotate(-3deg)}.admin-student-profile-hero h1{color:#fff;margin:7px 0 4px;font-size:2.25rem}.admin-student-profile-hero p{color:#d2dcf0;margin-bottom:10px;font-size:.75rem}.admin-student-profile-hero .profile-tags span{color:#edf3ff;background:#ffffff1c}.admin-student-profile-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.admin-student-profile-grid .portal-card h2{font-size:1.16rem}.admin-goal-editor{background:linear-gradient(145deg,#fff,#fbf8ff);border-color:#dcd2f2}.admin-goal-editor__heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-goal-editor__heading h2{margin-bottom:4px}.admin-goal-editor__heading p{color:var(--portal-muted);margin:0;font-size:.61rem;line-height:1.5}.admin-goal-editor textarea{color:#321568;width:100%;min-height:100px;font:inherit;resize:vertical;background:#fff;border:1px solid #d8cee9;border-radius:11px;outline:0;margin-top:14px;padding:11px 12px;font-size:.72rem;font-weight:700;line-height:1.55}.admin-goal-editor textarea:focus{border-color:#7048df;box-shadow:0 0 0 3px #7048df1a}.admin-goal-editor textarea:disabled{cursor:wait;opacity:.6}.admin-goal-editor .portal-error{margin:9px 0 0}.admin-goal-editor__actions{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.admin-goal-editor__actions small{color:var(--portal-muted);font-size:.53rem}.admin-goal-editor__actions .portal-primary-button{flex:none;min-height:38px}.admin-teacher-profile-grid{grid-template-columns:1.2fr .8fr;gap:16px;display:grid}.admin-teacher-profile-grid .portal-card h2{font-size:1.16rem}.admin-teacher-media .profile-video-placeholder,.admin-teacher-media .profile-intro-video{margin-top:15px}.admin-teacher-media>p{color:var(--portal-muted);margin:10px 0 0;font-size:.58rem}.admin-teacher-detail-list{margin:15px 0 0}.admin-teacher-detail-list>div{border-bottom:1px solid var(--portal-line);justify-content:space-between;gap:10px;padding:9px 0;display:flex}.admin-teacher-detail-list dt{color:var(--portal-muted);font-size:.62rem}.admin-teacher-detail-list dd{color:#30445f;text-align:right;margin:0;font-size:.66rem;font-weight:800}.admin-credential-list{gap:8px;margin:15px 0 0;padding:0;list-style:none;display:grid}.admin-credential-list li{color:#556a84;background:#f3f6fb;border-radius:9px;align-items:center;gap:7px;padding:9px;font-size:.62rem;display:flex}.role-error-card{border:1px solid var(--portal-line);text-align:center;background:#fff;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;min-height:480px;padding:35px;display:flex;box-shadow:0 17px 40px #32156814}.role-error-card>span{color:#c53c69;background:#ffe7ef;border-radius:20px;place-items:center;width:66px;height:66px;margin-bottom:18px;display:grid}.role-error-card>small{color:var(--portal-orange);text-transform:uppercase;font-size:.56rem;font-weight:850}.role-error-card h2{margin:6px 0;font-size:1.5rem}.role-error-card p{color:var(--portal-muted);font-size:.7rem}.role-error-card>div{gap:8px;margin-top:17px;display:flex}.role-error-card button{border:1px solid var(--portal-line);min-height:40px;color:var(--portal-navy);background:#fff;border-radius:9px;align-items:center;gap:6px;padding:0 11px;font-size:.63rem;font-weight:800;display:inline-flex}.role-error-card button:first-child{border-color:var(--portal-navy);background:var(--portal-navy);color:#fff}.portal-dialog-backdrop{z-index:120;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#081b39b3;place-items:center;padding:22px;display:grid;position:fixed;inset:0;overflow-y:auto}.portal-dialog{background:#fff;border-radius:20px;width:min(720px,100%);max-height:calc(100vh - 44px);padding:31px;animation:.32s cubic-bezier(.22,1,.36,1) both auth-shell-in;position:relative;overflow-y:auto;box-shadow:0 28px 80px #05152f59}.portal-dialog__close{border:1px solid var(--portal-line);width:37px;height:37px;color:var(--portal-navy);background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;top:16px;right:16px}.portal-dialog__heading{align-items:flex-start;gap:13px;margin-bottom:23px;padding-right:35px;display:flex}.portal-dialog__heading>span{width:49px;height:49px;color:var(--portal-blue);background:#e7f0fc;border-radius:13px;flex:none;place-items:center;display:grid}.portal-dialog__heading small,.portal-dialog__heading p{color:var(--portal-muted);font-size:.61rem}.portal-dialog__heading h2{margin:1px 0 4px;font-size:1.55rem}.portal-dialog__heading p{margin:0;line-height:1.55}.admin-teacher-form{gap:14px;display:grid}.admin-teacher-form__row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.admin-teacher-form__row--three{grid-template-columns:.55fr 1.2fr 1fr}.admin-teacher-form label{color:#344a67;gap:6px;font-size:.66rem;font-weight:750;display:grid}.admin-teacher-form input,.admin-teacher-form select,.admin-teacher-form textarea,.admin-booking-context select{color:#263b59;background:#fff;border:1px solid #d9e2ee;border-radius:9px;outline:0;width:100%;min-height:44px;padding:0 11px;font-size:.72rem}.admin-teacher-form textarea{resize:vertical;min-height:82px;padding-top:10px}.admin-teacher-form input:focus,.admin-teacher-form select:focus,.admin-teacher-form textarea:focus,.admin-booking-context select:focus{border-color:var(--portal-blue);box-shadow:0 0 0 3px #2879d81a}.portal-dialog__actions{justify-content:flex-end;gap:9px;margin-top:5px;display:flex}.remove-student-dialog{width:min(560px,100%)}.remove-student-dialog__icon{color:#bf3765;background:#ffe7ef;border-radius:20px;place-items:center;width:65px;height:65px;margin-bottom:20px;display:grid;transform:rotate(-3deg)}.remove-student-dialog h2{margin:5px 35px 9px 0;font-size:1.65rem}.remove-student-dialog>p{color:var(--portal-muted);font-size:.72rem;line-height:1.6}.remove-student-dialog ul{color:#8d5267;background:#fff4f7;border-radius:12px;gap:7px;margin:17px 0;padding:13px;font-size:.63rem;list-style:none;display:grid}.remove-student-dialog li{align-items:center;gap:7px;display:flex}.remove-student-dialog label{color:#4f3c59;gap:6px;margin:17px 0;font-size:.65rem;display:grid}.remove-student-dialog input{color:#36283d;min-height:45px;font:inherit;border:1px solid #dfccd3;border-radius:9px;outline:0;padding:0 11px}.remove-student-dialog input:focus{border-color:#c94370;box-shadow:0 0 0 3px #c943701a}.danger-confirm-button{color:#fff;background:linear-gradient(115deg,#b72f5c,#df4779);border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:43px;padding:0 14px;font-size:.68rem;font-weight:800;display:inline-flex;box-shadow:0 8px 18px #b72f5c33}.danger-confirm-button:disabled{cursor:not-allowed;filter:grayscale(.5);opacity:.45;box-shadow:none}.admin-booking-view{animation:.42s both portal-view-in}.admin-booking-context{border:1px solid var(--portal-line);background:#fff;border-radius:13px;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px;padding:12px 14px;display:flex}.admin-booking-context>button{min-height:42px;color:var(--portal-blue);background:0 0;border:0;align-items:center;gap:6px;font-size:.7rem;font-weight:750;display:inline-flex}.admin-booking-context label{gap:5px;width:min(330px,100%);display:grid}.admin-booking-context label span{color:var(--portal-muted);text-transform:uppercase;font-size:.59rem;font-weight:750}.admin-welcome{background:linear-gradient(108deg, var(--portal-navy), #51308b);color:#fff;border-radius:20px;justify-content:space-between;align-items:center;min-height:205px;padding:34px 40px;display:flex;overflow:hidden}.admin-live-sync{color:#dff7a6;letter-spacing:.04em;text-transform:uppercase;background:#dff7a61c;border-radius:20px;align-items:center;gap:6px;margin:0 0 9px 10px;padding:5px 8px;font-size:.54rem;font-weight:850;display:inline-flex}.admin-live-sync i{background:#90df61;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #90df611f}.admin-welcome h1{color:#fff;margin-bottom:8px;font-size:clamp(2rem,4vw,3rem)}.admin-welcome p{color:#aebfd8;margin-bottom:0;font-size:.82rem}.admin-welcome__shield{width:92px;height:92px;color:var(--portal-orange);background:#ffffff17;border:1px solid #ffffff26;border-radius:28px;place-items:center;margin-right:30px;display:grid;position:relative;transform:rotate(4deg)}.approval-row{border-bottom:1px solid var(--portal-line);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 0;display:grid}.approval-row:last-child{border-bottom:0}.approval-row>span,.table-person>span{width:40px;height:40px;color:var(--portal-blue);background:#e8effb;border-radius:11px;flex:none;place-items:center;font-size:.67rem;font-weight:800;display:grid}.approval-row>div,.table-person>div,.admin-table__row>div:not(.table-person,.table-actions){flex-direction:column;min-width:0;display:flex}.approval-row strong,.table-person strong,.admin-table__row>div>strong{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.approval-row small,.table-person small,.admin-table__row>div>small{color:var(--portal-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.59rem;overflow:hidden}.approval-row>button{color:#2d7b49;background:#e4f5e9;border:0;border-radius:8px;align-items:center;gap:5px;padding:8px 10px;font-size:.63rem;font-weight:750;display:inline-flex}.admin-health-card{justify-items:center;display:grid}.admin-health-card h2{margin-bottom:17px;font-size:1.15rem}.health-donut{--progress:var(--health);background:conic-gradient(var(--portal-orange) var(--health), #e8edf5 0);width:120px;height:120px}.health-donut:after{background:#fff;inset:10px}.health-donut strong{font-size:1.3rem}.health-donut small{color:var(--portal-muted);font-size:.58rem}.admin-health-card dl{width:100%;margin:18px 0 0}.admin-health-card dl>div{border-bottom:1px solid var(--portal-line);justify-content:space-between;padding:8px 0;display:flex}.admin-health-card dt,.admin-health-card dd{color:var(--portal-muted);align-items:center;gap:7px;margin:0;font-size:.65rem;display:flex}.admin-health-card dd{color:#273c59;font-weight:800}.dot{border-radius:50%;width:7px;height:7px}.dot--orange{background:var(--portal-orange)}.dot--blue{background:var(--portal-blue)}.dot--green{background:#41a967}.admin-table-card{padding:8px 22px;overflow-x:auto}.admin-table{min-width:900px}.admin-table__head,.admin-table__row{align-items:center;gap:18px;display:grid}.admin-table--teachers .admin-table__head,.admin-table--teachers .admin-table__row,.admin-table--students .admin-table__head,.admin-table--students .admin-table__row{grid-template-columns:1.2fr 1fr 1fr .9fr .95fr}.admin-table__head{min-height:46px;color:var(--portal-muted);text-transform:uppercase;font-size:.58rem;font-weight:800}.admin-table__row{border-top:1px solid var(--portal-line);min-height:76px}.table-person{align-items:center;gap:10px;min-width:0;display:flex}.table-actions{gap:5px;display:flex}.table-action{border:0;border-radius:8px;place-items:center;width:33px;height:33px;display:grid}.table-access-button{color:#246bbd;background:#e6f0fc;border:0;border-radius:8px;align-items:center;gap:5px;min-width:58px;height:33px;padding:0 9px;font-size:.6rem;font-weight:800;display:inline-flex}.table-access-button:disabled,.table-action:disabled{cursor:wait;opacity:.48}.table-action--approve{color:#2e7d4b;background:#e4f5e9}.table-action--reject{color:#aa4936;background:#fde9e5}.table-action--suspend{color:#a76f12;background:#fff2db}.table-action--delete{color:#bf3765;background:#ffe8ef}.table-action--delete:hover{color:#fff;background:#d93f73}.admin-preview-pill{z-index:80;background:var(--portal-navy);color:#fff;border:1px solid #ffffff2e;border-radius:15px;align-items:center;gap:10px;max-width:calc(100% - 44px);padding:10px 11px 10px 13px;animation:.42s cubic-bezier(.22,1,.36,1) both admin-pill-in;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 18px 45px #081c3d47}.admin-preview-pill>span{color:#ff994d;background:#f47b2029;border-radius:10px;flex:none;place-items:center;width:35px;height:35px;display:grid}.admin-preview-pill>div{flex-direction:column;min-width:0;display:flex}.admin-preview-pill strong{color:#fff;font-size:.7rem}.admin-preview-pill small{color:#aebed7;text-overflow:ellipsis;white-space:nowrap;max-width:230px;font-size:.58rem;overflow:hidden}.admin-preview-pill button{background:var(--portal-orange);color:#fff;white-space:nowrap;border:0;border-radius:8px;min-height:34px;padding:0 11px;font-size:.63rem;font-weight:750}@keyframes admin-pill-in{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.booking-status-select{border:1px solid var(--portal-line);color:#30455f;background:#fff;border-radius:8px;min-height:36px;padding:0 9px;font-size:.65rem}.admin-profile-card{border:1px solid var(--portal-line);text-align:center;background:#fff;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;max-width:620px;min-height:520px;margin:20px auto;padding:40px;display:flex;box-shadow:0 16px 45px #152e5814}.admin-profile-card__icon{background:var(--portal-navy);width:82px;height:82px;color:var(--portal-orange);border-radius:25px;place-items:center;margin-bottom:25px;display:grid;transform:rotate(-3deg)}.admin-profile-card h1{margin-bottom:4px;font-size:2rem}.admin-profile-card>p{color:var(--portal-muted);font-size:.76rem}.admin-profile-card>div{color:var(--portal-blue);text-align:left;background:#edf3fc;border-radius:12px;align-items:center;gap:10px;margin:22px 0;padding:13px 16px;display:flex}.admin-profile-card>div span{flex-direction:column;display:flex}.admin-profile-card>div strong{font-size:.72rem}.admin-profile-card>div small{color:var(--portal-muted);font-size:.61rem}.role-access{background:#fff;border-radius:27px;grid-template-columns:.82fr 1.18fr;width:min(1020px,100%);min-height:650px;max-height:calc(100vh - 44px);animation:.42s cubic-bezier(.22,1,.36,1) both auth-shell-in;display:grid;position:relative;overflow:hidden;box-shadow:0 35px 100px #03191661}.role-access__story{background:linear-gradient(145deg, var(--portal-navy), #54338f);color:#fff;flex-direction:column;justify-content:center;padding:35px 42px;display:flex;position:relative;overflow:hidden}.role-access__story:after{content:"";border:44px solid #f47b202e;border-radius:50%;width:310px;height:310px;position:absolute;bottom:-120px;right:-100px}.role-access__logo{z-index:2;background:#fff;border:6px solid #ffffffe6;border-radius:35px;width:120px;height:120px;margin-bottom:27px;position:relative;overflow:hidden;transform:rotate(-3deg);box-shadow:0 13px 30px #0003}.role-access__logo img{object-fit:cover;width:100%;height:100%}.role-access__story h2{z-index:2;color:#fff;margin-bottom:16px;font-size:clamp(2.1rem,3.4vw,3.2rem);position:relative}.role-access__story>p{z-index:2;color:#adbed7;font-size:.85rem;position:relative}.role-access__story ul{z-index:2;color:#d9e3f1;gap:10px;margin:22px 0 0;padding:0;font-size:.72rem;list-style:none;display:grid;position:relative}.role-access__story li{align-items:center;gap:8px;display:flex}.role-access__story li span{color:#ff9d52;background:#f47b202e;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.role-access__panel{background:var(--cream-2);padding:45px 52px 35px;overflow-y:auto}.role-login-heading{margin:60px 0 34px}.auth-heading__icon--admin{color:var(--portal-blue);background:#e7eef9}.teacher-profile-form{gap:13px}.credential-upload{background:#fff;border:1px dashed #bdc9d9;border-radius:10px;align-items:center;min-height:68px;padding:11px;gap:11px!important;display:flex!important}.credential-upload input{opacity:0;width:1px;height:1px;position:absolute}.credential-upload>span{width:40px;height:40px;color:var(--portal-blue);background:#edf3fc;border-radius:10px;place-items:center;display:grid}.credential-upload>div{flex-direction:column;display:flex}.credential-upload strong{font-size:.72rem}.credential-upload small{color:var(--portal-muted);font-size:.6rem}.locked-note{color:#7b8a9f;align-items:center;gap:4px;font-size:.59rem;display:flex}.input-wrap--locked{background:#f2f5f9}.admin-security-note{color:var(--portal-blue);background:#edf3fc;border-radius:10px;align-items:center;gap:9px;margin-top:22px;padding:12px;display:flex}.admin-security-note span{flex-direction:column;display:flex}.admin-security-note strong{font-size:.68rem}.admin-security-note small{color:var(--portal-muted);font-size:.58rem}.role-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:550px;display:flex}.role-success>span:first-child{color:#2d7d4a;background:#e4f5e9;border-radius:50%;place-items:center;width:76px;height:76px;margin-bottom:24px;display:grid;box-shadow:0 0 0 11px #e4f5e980}.role-success h2{margin-bottom:12px;font-size:2rem}.role-success>p{max-width:450px;color:var(--portal-muted);font-size:.8rem}.role-success>div{color:#aa7419;text-align:left;background:#fff5e2;border-radius:11px;align-items:center;gap:9px;margin:12px 0 24px;padding:12px 15px;display:flex}.role-success>div span{flex-direction:column;display:flex}.role-success>div strong{font-size:.69rem}.role-success>div small{color:#9f7d43;font-size:.58rem}.auth-role-link{width:100%;color:var(--portal-blue);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;margin-top:13px;padding:4px;font-size:.69rem;font-weight:700;display:flex}@keyframes portal-view-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=1150px){.portal-stat-grid{grid-template-columns:repeat(2,1fr)}.student-welcome__profile{display:none}.student-welcome,.student-overview-grid,.teacher-overview-grid,.admin-overview-grid{grid-template-columns:1fr}.teacher-profile-snapshot,.admin-health-card{max-width:none}}@media (width<=900px){.portal-sidebar{width:255px;transition:transform .22s;transform:translate(-105%)}.portal-sidebar--open{transform:translate(0)}.portal-scrim{z-index:35;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0818358c;border:0;display:block;position:fixed;inset:0}.portal-main{margin-left:0}.portal-menu{border:1px solid var(--portal-line);width:41px;height:41px;color:var(--portal-navy);background:#fff;border-radius:10px;place-items:center;display:grid}.portal-topbar{justify-content:flex-start;gap:14px}.portal-topbar__actions{margin-left:auto}.booking-layout,.profile-layout,.teacher-public-profile-grid,.classroom-layout{grid-template-columns:1fr}.teacher-name-editor{grid-template-columns:1fr 1fr}.teacher-name-editor>div:first-child,.teacher-name-editor .portal-error{grid-column:1/-1}.game-card-grid{grid-template-columns:1fr 1fr}.game-card:last-child{grid-column:auto}.booking-controls{grid-template-columns:1fr 1fr}.compact-duration{grid-column:1/-1}.booking-confirm-bar{grid-template-columns:1fr 1fr}.booking-confirm-bar>.portal-primary-button{grid-column:1/-1}.booking-help{position:static}.role-access{grid-template-columns:1fr;width:min(650px,100%)}.role-access__story{display:none}}@media (width<=650px){.portal-content{padding:22px 15px 95px}.admin-preview-pill{max-width:none;bottom:12px;left:12px;right:12px}.admin-preview-pill>div{flex:1}.portal-topbar{min-height:68px;padding:0 15px}.portal-topbar>div:first-of-type,.portal-user-chip>div,.portal-topbar__actions>button:first-child{display:none}.portal-page-heading{flex-direction:column;align-items:flex-start}.portal-page-heading .portal-primary-button{width:100%}.schedule-page-heading,.schedule-save-actions{flex-direction:column;align-items:flex-start}.schedule-save-actions{width:100%}.schedule-toolbar{gap:9px;min-height:58px;padding:0 10px}.schedule-toolbar>strong{font-size:.78rem}.schedule-view-tabs{display:none}.schedule-today{padding:0 10px}.availability-calendar-card,.booking-calendar-card,.student-schedule-card{border-radius:0;margin-left:-15px;margin-right:-15px;padding:10px}.booking-controls,.booking-confirm-bar{grid-template-columns:1fr}.compact-duration,.booking-confirm-bar>.portal-primary-button{grid-column:auto}.teacher-name-editor{grid-template-columns:1fr}.teacher-name-editor>div:first-child,.teacher-name-editor .portal-error{grid-column:auto}.teacher-name-editor .portal-primary-button{width:100%}.family-student-switcher{flex-direction:column;align-items:stretch}.family-student-switcher>div{padding-bottom:2px;overflow-x:auto}.family-student-switcher>div>span{display:none}.add-student-button{justify-content:center}.student-suspended-card{flex-direction:column;align-items:flex-start;padding:26px}.game-card-grid{grid-template-columns:1fr}.game-card:last-child{grid-column:auto}.games-hero{flex-direction:column;align-items:flex-start;padding:28px 23px}.games-star-bank{margin-right:0}.letter-bubble-world,.letter-game-complete{border-radius:17px;min-height:680px}.letter-bubble-world{background-position:35%}.letter-mission-card{border-radius:15px;width:155px;padding:9px;top:11px;left:11px}.letter-mission-card>strong{font-size:3rem}.letter-mission-card>strong small{font-size:1.05rem}.letter-mission-card button{min-height:34px;padding:0 7px;font-size:.48rem}.letter-sound-toggle{width:39px;height:39px;top:11px;right:11px}.letter-bubble-field{top:155px;bottom:105px;left:0}.letter-bubble{width:min(var(--bubble-size), 86px);height:min(var(--bubble-size), 86px);border-width:2px}.letter-bubble strong{font-size:2.35rem}.letter-bubble small{font-size:.66rem}.letter-mascot-message{width:min(215px,100% - 78px);padding:9px 11px;bottom:20px;left:11px}.letter-round-count{padding:6px 8px;font-size:.5rem;bottom:12px;right:10px}.letter-alphabet-track{grid-template-columns:repeat(7,1fr)}.letter-game-complete{padding:28px 18px}.letter-game-complete>span{width:76px;height:76px}.letter-game-complete h1{font-size:2.25rem}.game-header{grid-template-columns:auto 1fr;gap:10px}.game-header>div:nth-child(2){justify-self:end}.game-score{grid-column:1/-1;justify-self:center}.word-game-card,.sentence-game-card,.spelling-game-card{min-height:0;padding:27px 17px}.word-galaxy-3d{height:365px;margin-left:-7px;margin-right:-7px}.galaxy-hud span{display:none}.galaxy-answer-dock{flex-wrap:wrap}.word-options,.spelling-game-card form,.spelling-result{grid-template-columns:1fr}.spelling-result{text-align:center;justify-items:center}.portal-stat-grid,.portal-stat-grid--three{grid-template-columns:1fr 1fr;gap:10px}.portal-stat-grid article{gap:9px;min-height:92px;padding:12px}.stat-icon{width:37px;height:37px}.portal-stat-grid strong{font-size:1.1rem}.student-welcome{min-height:390px;padding:29px 24px}.student-welcome h1{font-size:2.1rem}.student-welcome>img{width:165px;right:-25px}.portal-card{padding:19px}.lesson-card{grid-template-columns:auto 1fr}.lesson-card__actions{grid-column:2;justify-content:flex-start}.booking-form__row,.profile-info-row,.profile-info-row--three{grid-template-columns:1fr}.booking-help{display:none}.student-profile-hero,.teacher-profile-hero{flex-direction:column;align-items:flex-start;padding:28px 24px}.profile-score,.teacher-profile-hero__score{text-align:left;border-top:1px solid #d9e3ef;border-left:0;align-items:flex-start;margin-left:0;padding-top:15px;padding-left:0}.availability-head{display:none}.availability-row{grid-template-columns:1fr auto;gap:8px}.availability-row input[type=time]{grid-column:span 1}.admin-welcome{padding:29px 24px}.admin-welcome__shield{display:none}.admin-profile-backbar{flex-direction:column;align-items:flex-start}.admin-teacher-profile-hero,.admin-student-profile-hero{text-align:center;grid-template-columns:1fr;padding:27px 22px}.admin-teacher-profile-photo,.admin-student-profile-photo{justify-self:center}.admin-teacher-profile-hero .profile-tags,.admin-student-profile-hero .profile-tags{justify-content:center}.admin-teacher-profile-actions{width:100%}.admin-teacher-profile-grid,.admin-student-profile-grid{grid-template-columns:1fr}.admin-goal-editor__heading,.admin-goal-editor__actions{flex-direction:column;align-items:stretch}.admin-goal-editor__actions .portal-primary-button{width:100%}.role-error-card>div{flex-direction:column;width:100%}.role-error-card button{justify-content:center}.admin-table-card{border-radius:0;margin-left:-15px;margin-right:-15px;padding:10px 14px}.admin-table{min-width:0}.admin-table__head{display:none}.admin-table--teachers .admin-table__row,.admin-table--students .admin-table__row{border:1px solid var(--portal-line);background:#fff;border-radius:14px;gap:0;min-height:0;margin:10px 0;padding:13px;display:grid;overflow:hidden;box-shadow:0 7px 20px #3215680d;grid-template-columns:1fr!important}.admin-table__row>div{border-bottom:1px solid #eef0f4;justify-content:center;min-height:43px;padding:7px 0}.admin-table__row>div:last-child{border-bottom:0;min-height:46px;padding-bottom:0}.table-actions{flex-wrap:wrap;justify-content:flex-start}.portal-dialog-backdrop{align-items:end;padding:0}.portal-dialog{border-radius:22px 22px 0 0;max-height:94vh;padding:27px 18px}.admin-teacher-form__row,.admin-teacher-form__row--three,.feedback-form>div:not(.portal-dialog__actions),.platform-choice{grid-template-columns:1fr}.portal-dialog__actions,.admin-booking-context{flex-direction:column;align-items:stretch}.admin-booking-context label{width:100%}.role-access{border-radius:0;width:100%;min-height:100dvh;max-height:100dvh}.role-access__panel{overscroll-behavior:contain;min-height:0;padding:54px 18px calc(25px + env(safe-area-inset-bottom));overflow-y:auto}.role-login-heading{margin-top:20px}}.classroom-gate,.classroom-prejoin,.online-classroom{--classroom-bg:#110925;--classroom-surface:#20143b;--classroom-line:#ffffff1c;color:#fff;min-height:100vh}.classroom-gate{background:radial-gradient(circle at 50% 20%,#4e2d88,#160a30 65%);place-items:center;padding:24px;display:grid}.classroom-gate>section{text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1f113de6;border:1px solid #ffffff29;border-radius:25px;width:min(550px,100%);padding:43px;box-shadow:0 30px 80px #06020f6b}.classroom-gate>section>span{color:#ff72a0;background:#ff4f8729;border-radius:22px;place-items:center;width:72px;height:72px;margin:0 auto 21px;display:grid}.classroom-gate small,.prejoin-details>small{color:#dff7a6;letter-spacing:.1em;text-transform:uppercase;font-size:.59rem;font-weight:850}.classroom-gate h1{color:#fff;margin:8px 0 10px;font-size:2rem}.classroom-gate p{color:#b9accd;font-size:.78rem}.classroom-gate section>div{background:#ffffff14;border-radius:12px;flex-direction:column;margin:22px 0;padding:13px;display:flex}.classroom-gate section>div strong{color:#fff;font-size:.78rem}.classroom-gate section>div span{color:#ff8ab0;font-size:1rem;font-weight:800}.classroom-gate button,.classroom-main-button{color:#fff;background:linear-gradient(115deg,#e73876,#ff6194);border:0;border-radius:11px;justify-content:center;align-items:center;gap:7px;min-height:47px;padding:0 17px;font-size:.72rem;font-weight:800;display:inline-flex;box-shadow:0 10px 24px #e7387647}.classroom-prejoin{background:radial-gradient(circle at 20% 10%,#3e2470,#130929 62%);padding:24px}.classroom-prejoin__top{justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto 25px;display:flex}.classroom-prejoin__top button{color:#fff;background:#ffffff0f;border:1px solid #ffffff21;border-radius:10px;align-items:center;gap:6px;min-height:40px;padding:0 11px;font-size:.66rem;font-weight:750;display:inline-flex}.classroom-prejoin__top>span{color:#bfaed7;align-items:center;gap:5px;font-size:.62rem;display:flex}.classroom-prejoin__grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:28px;max-width:1100px;min-height:600px;margin:0 auto;display:grid}.prejoin-preview{aspect-ratio:16/10;background:#090512;border:1px solid #ffffff29;border-radius:24px;position:relative;overflow:hidden;box-shadow:0 28px 65px #0000005c}.prejoin-preview video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.prejoin-preview>div:not(.prejoin-preview__controls){color:#8d7da5;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex;position:absolute;inset:0}.prejoin-preview>div strong{color:#d9cce9;font-size:.8rem}.prejoin-preview>div span{font-size:.62rem}.prejoin-preview__controls{gap:8px;display:flex;position:absolute;bottom:17px;left:50%;transform:translate(-50%)}.prejoin-preview__controls button{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#100822bf;border:1px solid #fff3;border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.prejoin-preview__controls button:not(.active){background:#c43668}.prejoin-preview__controls button:disabled{cursor:not-allowed;opacity:.35}.prejoin-details{padding:15px}.classroom-brand{color:#fff;align-items:center;gap:7px;margin-bottom:28px;font-family:Manrope,sans-serif;font-size:.83rem;font-weight:800;display:inline-flex}.prejoin-details h1{color:#fff;letter-spacing:-.055em;max-width:480px;margin:8px 0 11px;font-size:clamp(2.3rem,5vw,3.7rem)}.prejoin-details>p{color:#b9accb;font-size:.76rem;line-height:1.7}.prejoin-room-id{background:#ffffff12;border:1px solid #ffffff1f;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin:25px 0;padding:12px;display:grid}.prejoin-room-id>span{color:#dff7a6;background:#dff7a621;border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.prejoin-room-id>div{flex-direction:column;min-width:0;display:flex}.prejoin-room-id small{color:#998aaa;font-size:.53rem}.prejoin-room-id strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.prejoin-room-id>button{color:#fff;background:#ffffff14;border:0;border-radius:9px;place-items:center;width:37px;height:37px;display:grid}.classroom-error{color:#ff9abb;background:#ff4f871a;border:1px solid #ff65914d;border-radius:9px;align-items:flex-start;gap:7px;margin-bottom:13px;padding:10px;font-size:.63rem;display:flex}.classroom-main-button{width:100%}.prejoin-privacy{justify-content:center;align-items:center;gap:5px;display:flex;color:#857696!important;margin-top:13px!important;font-size:.55rem!important}.online-classroom{background:var(--classroom-bg);grid-template-rows:68px 1fr 84px;height:100vh;min-height:620px;display:grid;overflow:hidden}.classroom-topbar{z-index:30;border-bottom:1px solid var(--classroom-line);background:#170c2c;justify-content:space-between;align-items:center;gap:20px;padding:0 18px;display:flex;position:relative}.classroom-topbar__brand,.classroom-topbar__brand>div,.classroom-session-state,.classroom-topbar__actions{align-items:center;display:flex}.classroom-topbar__brand{gap:10px}.classroom-topbar__brand>span{color:#fff;background:#ff4f87;border-radius:11px;place-items:center;width:39px;height:39px;display:grid}.classroom-topbar__brand>div{flex-direction:column;align-items:flex-start}.classroom-topbar__brand strong{color:#fff;font-size:.72rem}.classroom-topbar__brand small{color:#8f7ea7;font-size:.5rem}.classroom-session-state{color:#9e8eb4;gap:7px;font-size:.59rem}.classroom-session-state i{background:#e6a531;border-radius:50%;width:8px;height:8px}.classroom-session-state i.live{background:#60c77b;box-shadow:0 0 0 5px #60c77b1a}.classroom-session-state strong{color:#fff;font-variant-numeric:tabular-nums;margin-left:7px}.classroom-topbar__actions{gap:7px}.classroom-topbar__actions button{border:1px solid var(--classroom-line);color:#cbbfda;background:#ffffff0d;border-radius:9px;align-items:center;gap:6px;min-height:37px;padding:0 10px;font-size:.58rem;font-weight:750;display:inline-flex}.classroom-workspace{grid-template-columns:1fr;min-height:0;display:grid;overflow:hidden}.online-classroom.sidebar-open .classroom-workspace{grid-template-columns:1fr 290px}.classroom-stage{background:#0b0615;grid-template-columns:220px 1fr;gap:10px;min-width:0;min-height:0;padding:10px;display:grid;overflow:hidden}.classroom-video-rail{flex-direction:column;gap:9px;min-width:0;display:flex}.classroom-camera-tile{aspect-ratio:16/10;background:#170c2c;border:1px solid #ffffff2e;border-radius:13px;width:100%;position:relative;overflow:hidden;box-shadow:0 9px 22px #0000003d}.classroom-camera-tile video{object-fit:cover;width:100%;height:100%}.classroom-camera-tile--local video{transform:scaleX(-1)}.classroom-camera-tile>span{z-index:3;color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#0b0517b8;border-radius:5px;padding:4px 5px;font-size:.46rem;position:absolute;bottom:5px;left:5px;right:5px;overflow:hidden}.classroom-camera-tile>svg{color:#8c7d9e;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.camera-tile-waiting{color:#8d7ca1;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px;display:flex;position:absolute;inset:0}.camera-tile-waiting span{font-size:.5rem;line-height:1.4}.video-rail-status{color:#80718f;background:#ffffff0a;border:1px solid #ffffff14;border-radius:9px;align-items:center;gap:6px;padding:8px;font-size:.48rem;display:flex}.video-rail-status i{background:#b48a31;border-radius:50%;flex:none;width:7px;height:7px}.video-rail-status i.online{background:#62c87b;box-shadow:0 0 0 4px #62c87b1a}.classroom-lesson-board{background:#fdfcff;border:1px solid #ffffff21;border-radius:15px;min-width:0;min-height:0;position:relative;overflow:hidden;box-shadow:0 13px 35px #00000040}.classroom-presentation-video{object-fit:contain;background:#08040f;width:100%;height:100%;position:absolute;inset:0}.classroom-presentation-video--fill{object-fit:cover}.screen-share-controls{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#130925eb;border:1px solid #ffffff29;border-radius:13px;align-items:center;gap:5px;max-width:calc(100% - 24px);padding:6px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #00000057}.screen-share-controls>span{color:#e7f8c1;white-space:nowrap;align-items:center;gap:6px;padding:0 7px;font-size:.54rem;font-weight:850;display:flex}.screen-share-controls>span i{background:#8dda5f;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #8dda5f24}.screen-share-controls button{color:#fff;background:#ffffff14;border:0;border-radius:9px;justify-content:center;align-items:center;gap:4px;min-width:55px;min-height:38px;padding:0 8px;font-size:.5rem;display:flex}.screen-share-controls button:hover{background:#7048df}.screen-share-controls button.stop{background:#a92e58}.screen-share-controls button b{font:inherit;font-weight:800}.screen-share-paused{z-index:6;color:#fff;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0c0618b8;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex;position:absolute;inset:0}.screen-share-paused strong{font-size:.82rem}.screen-share-paused span{color:#b9accb;font-size:.58rem}.classroom-lesson-time{color:#fff;font-weight:900}.classroom-lesson-placeholder{color:#5f5470;text-align:center;background-color:#fff;background-image:linear-gradient(#7048df0b 1px,#0000 1px),linear-gradient(90deg,#7048df0b 1px,#0000 1px);background-size:28px 28px;flex-direction:column;justify-content:center;align-items:center;padding:35px;display:flex;position:absolute;inset:0}.classroom-lesson-placeholder>span{color:#7048df;background:#eee7ff;border-radius:25px;place-items:center;width:84px;height:84px;margin-bottom:17px;display:grid;transform:rotate(-3deg)}.classroom-lesson-placeholder>small{color:#ff4f87;letter-spacing:.08em;text-transform:uppercase;font-size:.55rem;font-weight:850}.classroom-lesson-placeholder h2{color:#321568;margin:7px 0;font-size:clamp(1.5rem,3vw,2.5rem)}.classroom-lesson-placeholder p{color:#81758e;max-width:520px;font-size:.68rem;line-height:1.6}.classroom-lesson-placeholder>div{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px;display:flex}.classroom-lesson-placeholder i{color:#655578;background:#f3effa;border-radius:18px;padding:6px 9px;font-size:.52rem;font-style:normal;font-weight:750}.classroom-file-presentation{background:#f4f1f8;place-items:center;display:grid;position:absolute;inset:0}.classroom-file-presentation>img,.classroom-file-presentation>iframe,.classroom-file-presentation>object{object-fit:contain;background:#fff;border:0;width:100%;height:100%}.pdf-fallback{color:#655879;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:100%;height:100%;display:flex}.pdf-fallback strong{color:#332447}.pdf-fallback span{font-size:.62rem}.pdf-fallback a{color:#fff;background:#7048df;border-radius:8px;padding:7px 10px;font-size:.6rem;font-weight:800}.classroom-file-presentation>div{color:#6f6380;flex-direction:column;align-items:center;gap:8px;display:flex}.classroom-file-presentation>div strong{color:#35264b}.classroom-file-presentation>div span{font-size:.62rem}.classroom-file-presentation>small{color:#fff;background:#1f1233cc;border-radius:7px;align-items:center;gap:5px;padding:6px 8px;font-size:.49rem;display:flex;position:absolute;bottom:9px;right:9px}.annotation-canvas{z-index:8;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.annotation-canvas.active{cursor:crosshair;pointer-events:auto;touch-action:none}.annotation-toolbar{z-index:15;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#140a27e6;border:1px solid #ffffff29;border-radius:13px;align-items:center;gap:5px;padding:6px;display:flex;position:absolute;top:17px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0000004d}.annotation-toolbar button,.annotation-toolbar label{color:#c4b6d6;cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.annotation-toolbar button:hover,.annotation-toolbar button.active{color:#fff;background:#5a378f}.annotation-toolbar input{background:0 0;border:0;width:24px;height:24px;padding:0}.annotation-text-editor{z-index:18;background:#fff;border:1px solid #7048df59;border-radius:10px;grid-template-columns:1fr auto auto;gap:4px;width:min(310px,70%);padding:5px;display:grid;position:absolute;transform:translateY(-50%);box-shadow:0 12px 30px #2512443d}.annotation-text-editor input{color:#35254c;border:0;outline:0;min-width:0;padding:0 7px;font-size:.7rem;font-weight:650}.annotation-text-editor button{color:#fff;background:#7048df;border:0;border-radius:7px;place-items:center;width:31px;height:31px;display:grid}.annotation-text-editor button:last-child{color:#7d6e8e;background:#f2edf8}.classroom-stage__badge{z-index:7;color:#a999bc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0e071ba6;border-radius:8px;align-items:center;gap:5px;padding:6px 8px;font-size:.5rem;display:flex;position:absolute;top:13px;left:13px}.classroom-sidebar{border-left:1px solid var(--classroom-line);background:#170c2c;min-width:0;padding:14px;overflow-y:auto}.classroom-sidebar__heading{justify-content:space-between;align-items:center;gap:9px;margin-bottom:13px;display:flex}.classroom-sidebar__heading>div{color:#a995bf;align-items:center;gap:8px;display:flex}.classroom-sidebar__heading>div span{flex-direction:column;display:flex}.classroom-sidebar__heading strong{color:#fff;font-size:.66rem}.classroom-sidebar__heading small{color:#786a89;font-size:.49rem}.classroom-sidebar__heading>button{color:#a995bf;background:#ffffff0d;border:0;border-radius:8px;place-items:center;width:31px;height:31px;display:grid}.classroom-sidebar-tabs{background:#ffffff0a;border-radius:10px;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:10px;padding:4px;display:grid}.classroom-sidebar-tabs button{color:#8f80a2;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-height:34px;font-size:.56rem;font-weight:800;display:flex}.classroom-sidebar-tabs button.active{color:#fff;background:#7048df}.classroom-sidebar-tabs i{background:#ffffff1f;border-radius:8px;place-items:center;min-width:16px;height:16px;font-size:.44rem;font-style:normal;display:grid}.classroom-chat{grid-template-rows:auto 1fr auto auto;min-height:355px;display:grid}.chat-translation-bar{color:#9b8dab;border-bottom:1px solid #ffffff12;align-items:center;gap:6px;min-height:35px;margin-bottom:8px;padding:0 3px 7px;font-size:.53rem;display:flex}.chat-translation-bar select{color:#d8cae5;background:#251641;border:1px solid #ffffff1a;border-radius:7px;outline:0;margin-left:auto;padding:4px 6px;font-size:.52rem}.classroom-chat-messages{min-height:220px;max-height:360px;padding:3px;overflow-y:auto}.chat-message{color:#d9cce5;background:#281843;border-radius:4px 11px 11px;width:88%;margin:7px 0;padding:8px 9px}.chat-message.own{background:#573699;border-radius:11px 4px 11px 11px;margin-left:auto}.chat-message>div{justify-content:space-between;gap:7px;margin-bottom:4px;display:flex}.chat-message strong{color:#fff;font-size:.53rem}.chat-message small{color:#8e7da2;font-size:.43rem}.chat-message p{overflow-wrap:anywhere;margin:0;font-size:.59rem;line-height:1.48}.chat-message>button{color:#dff7a6;background:#ffffff17;border:0;border-radius:5px;margin-top:5px;padding:4px 6px;font-size:.47rem;font-weight:750}.chat-message>button:disabled{opacity:.5}.chat-translation{color:#dff7a6;border-top:1px solid #ffffff14;align-items:flex-start;gap:4px;padding-top:6px;font-style:italic;display:flex;margin-top:6px!important}.chat-empty{color:#756685;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:210px;display:flex}.chat-empty strong{color:#a99bb9;font-size:.62rem}.chat-empty span{max-width:180px;font-size:.49rem}.classroom-chat-form{grid-template-columns:1fr auto;gap:5px;margin-top:8px;display:grid}.classroom-chat-form input{color:#fff;background:#211339;border:1px solid #ffffff1c;border-radius:9px;outline:0;min-width:0;min-height:39px;padding:0 9px;font-size:.6rem}.classroom-chat-form input:focus{border-color:#7f59ce}.classroom-chat-form button{color:#fff;background:#ff4f87;border:0;border-radius:9px;place-items:center;width:39px;height:39px;display:grid}.classroom-chat-form button:disabled{cursor:not-allowed;opacity:.35}.classroom-files-panel{min-height:355px}.classroom-file-upload{color:#bcd783;cursor:pointer;text-align:center;background:#dff7a60a;border:1px dashed #dff7a645;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:112px;display:flex}.classroom-file-upload input,.control-file-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.classroom-file-upload strong{color:#e1f3bc;margin-top:6px;font-size:.62rem}.classroom-file-upload span{color:#756887;margin-top:3px;font-size:.47rem}.classroom-file-error{color:#ff8eb3;background:#ff4f871a;border-radius:7px;margin:8px 0;padding:7px;font-size:.54rem}.classroom-file-list{margin-top:11px;display:grid}.classroom-file-list>div:not(.classroom-file-empty){border-bottom:1px solid #ffffff12;grid-template-columns:auto 1fr auto auto;align-items:center;gap:6px;min-height:57px;display:grid}.classroom-file-list>div>span{color:#b79cf0;background:#7048df2e;border-radius:8px;place-items:center;width:31px;height:31px;display:grid}.classroom-file-list>div>div{flex-direction:column;min-width:0;display:flex}.classroom-file-list strong{color:#ddd2e9;text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;overflow:hidden}.classroom-file-list small{color:#776989;font-size:.45rem}.classroom-file-list a,.classroom-file-list button{color:#dff7a6;background:0 0;border:0;border-radius:7px;place-items:center;width:29px;height:29px;display:grid}.classroom-file-list button{color:#c6aff5;background:#7048df2e}.classroom-file-empty{color:#695c7a;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:120px;font-size:.55rem;display:flex}.classroom-people{border-top:1px solid var(--classroom-line);margin-top:17px;padding-top:14px}.classroom-people>span{color:#9c8caf;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:8px;font-size:.56rem;font-weight:800;display:flex}.classroom-people>div{grid-template-columns:auto 1fr auto;align-items:center;gap:7px;min-height:39px;display:grid}.classroom-people i{background:#877896;border-radius:50%;width:7px;height:7px}.classroom-people i.online{background:#66c97e}.classroom-people strong{color:#d6cade;font-size:.57rem}.classroom-people small{color:#746681;text-transform:capitalize;font-size:.46rem}.classroom-people>button{color:#c8b9d8;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;min-height:34px;margin-top:8px;font-size:.53rem;font-weight:800;display:flex}.classroom-people>button.allowed{color:#dff7a6;background:#90df611a;border-color:#90df613d}.student-annotation-state{color:#9e8caf;background:#ffffff0a;border-radius:8px;margin-top:8px;grid-template-columns:auto 1fr!important;gap:6px!important;min-height:34px!important;padding:7px!important;display:flex!important}.student-annotation-state span{font-size:.49rem;line-height:1.4}.classroom-controls{z-index:30;border-top:1px solid var(--classroom-line);background:#170c2c;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:8px 16px;display:grid;position:relative}.classroom-controls>div{gap:6px;display:flex}.classroom-controls>div:nth-child(2){justify-self:center}.classroom-controls>button{justify-self:end}.classroom-controls button,.control-file-button{color:#c1b4d1;cursor:pointer;background:#ffffff0d;border:0;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:62px;min-height:55px;padding:4px 9px;font-size:.48rem;font-weight:750;display:flex}.classroom-controls button:hover,.classroom-controls button.active,.control-file-button:hover{color:#fff;background:#7048df40}.classroom-controls button.off{color:#fff;background:#ad315d}.classroom-controls button.sharing{background:#4e8f3a}.classroom-controls button.annotation{background:#714ac0}.classroom-controls button.permission{background:#3f8b4f}.classroom-controls button:disabled{cursor:not-allowed;opacity:.42}.classroom-controls .leave-class-button{color:#fff;background:#d83e72;min-width:92px}.lesson-classroom-actions{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.tutorpro-classroom-link{color:#fff;background:linear-gradient(110deg,#5f39aa,#ff4f87);border:0;border-radius:7px;align-items:center;gap:5px;min-height:30px;padding:0 9px;font-size:.56rem;font-weight:800;display:inline-flex;box-shadow:0 5px 12px #5634982e}.classroom-launch-list{margin-top:18px}@keyframes classroom-pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@media (width<=900px){.classroom-prejoin__grid{grid-template-columns:1fr;gap:15px}.classroom-stage{grid-template-columns:180px 1fr}.prejoin-preview{max-height:480px}.online-classroom.sidebar-open .classroom-workspace{grid-template-columns:1fr}.classroom-sidebar{z-index:40;border-left:1px solid var(--classroom-line);width:min(310px,90vw);position:absolute;top:68px;bottom:84px;right:0;box-shadow:-15px 0 40px #00000059}.classroom-controls{grid-template-columns:1fr auto}.classroom-controls>div:nth-child(2){grid-area:1/1;justify-self:start}.classroom-controls>div:first-child{display:none}}@media (width<=650px){.classroom-prejoin{padding:15px}.classroom-prejoin__top>span{display:none}.prejoin-details{padding:10px 2px}.prejoin-details h1{font-size:2.35rem}.online-classroom{grid-template-rows:59px 1fr 74px;min-height:560px}.classroom-topbar{padding:0 9px}.classroom-topbar__brand>div strong{text-overflow:ellipsis;white-space:nowrap;max-width:145px;overflow:hidden}.classroom-session-state span,.classroom-topbar__actions button:first-child{display:none}.classroom-topbar__actions button{padding:0 8px}.classroom-stage{grid-template-rows:108px 1fr;grid-template-columns:1fr;gap:7px;padding:7px}.classroom-video-rail{flex-direction:row;overflow-x:auto}.classroom-camera-tile{flex:none;width:145px;height:102px}.video-rail-status{flex:none;min-width:115px}.classroom-lesson-board{border-radius:11px}.screen-share-controls{max-width:calc(100% - 14px);padding:4px;bottom:7px}.screen-share-controls>span{display:none}.screen-share-controls button{min-width:42px;min-height:34px;padding:0 5px}.screen-share-controls button b{display:none}.classroom-lesson-placeholder{padding:18px}.classroom-lesson-placeholder>span{width:56px;height:56px;margin-bottom:10px}.classroom-lesson-placeholder p,.classroom-stage__badge{display:none}.annotation-toolbar{max-width:calc(100% - 16px);top:8px}.classroom-sidebar{top:59px;bottom:74px}.classroom-controls{grid-template-columns:1fr auto;padding:7px}.classroom-controls>div:nth-child(2){max-width:calc(100vw - 90px);overflow-x:auto}.classroom-controls button,.control-file-button{min-width:54px;min-height:50px;padding:3px 6px}.classroom-controls button span,.control-file-button span{font-size:.42rem}.classroom-controls .leave-class-button{min-width:70px}}
