.app-shell,.auth-shell,.practice-workspace{--paper:#fbf7f4;--paper-2:#f4efeb;--sheet:#fffdfb;--ink:#17110f;--ink-soft:rgba(23,17,15,0.7);--ink-faint:rgba(23,17,15,0.5);--rule:rgba(23,17,15,0.13);--rule-strong:rgba(23,17,15,0.22);--cta:#d92d16;--cta-deep:#b8240e;--brand-ink:#b8240e;--brand-soft:rgba(217,45,22,0.1);--blue:#b8240e;--grid:rgba(23,17,15,0.035);--grid-major:rgba(23,17,15,0.07);--lift:5px 5px 0 rgba(23,17,15,0.045);--lift-lg:9px 9px 0 rgba(23,17,15,0.05);--room:#473630;--room-deep:#3a2c27;--ease-slow:cubic-bezier(0.16,1,0.3,1);--exam:var(--font-exam),"Newsreader","Iowan Old Style",Georgia,serif;--brand:#d92d16;--surface:#fffdfb;--surface-2:#f9ece8;--surface-3:#f6f2ef;--bg:#f2ece8;--line:rgba(23,17,15,0.16);--muted:rgba(23,17,15,0.62);--navy:#17110f;--teal:rgba(23,17,15,0.7);--indigo:#b8240e;--green:#17110f;--orange:#8f3a1c;--red:#c9260f;--shadow-sm:3px 3px 0 rgba(23,17,15,0.05);--shadow-md:8px 8px 0 rgba(23,17,15,0.05);--tone-ok:#17110f;--tone-ok-soft:#f2ece8;--tone-ok-line:rgba(23,17,15,0.24);--tone-warn:#8f3a1c;--tone-warn-soft:#f8ebe5;--tone-warn-line:rgba(143,58,28,0.3);--tone-bad:#c9260f;--tone-bad-soft:#fbe9e5;--tone-bad-line:rgba(201,38,15,0.3)}body:has(.app-shell),body:has(.auth-shell),body:has(.practice-workspace){background:#f2ece8}.app-shell *,.app-shell :after,.app-shell :before,.auth-shell *,.auth-shell :after,.auth-shell :before,.practice-workspace *,.practice-workspace :after,.practice-workspace :before{border-radius:0!important}.auth-shell .auth-card{box-shadow:var(--lift-lg)}.app-shell .mobile-bottom-nav,.app-shell .mobile-shell-bar,.app-shell .sidebar{box-shadow:none}.app-shell .btn,.app-shell a.btn,.app-shell button.btn,.practice-workspace .btn,:is(.auth-form,.password-auth-form) .btn{position:relative;isolation:isolate;border:0;background:none;color:#fffaf8;font-weight:700;letter-spacing:.01em;box-shadow:none;transition:transform .12s var(--ease),color .15s var(--ease)}.app-shell .btn:before,.app-shell a.btn:before,.app-shell button.btn:before,.practice-workspace .btn:before,:is(.auth-form,.password-auth-form) .btn:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--cta);-webkit-clip-path:polygon(.8% 8%,99.2% 0,100% 91%,0 100%);clip-path:polygon(.8% 8%,99.2% 0,100% 91%,0 100%);transition:background .15s var(--ease),transform .18s var(--ease);transform-origin:0 50%}.app-shell .btn:hover:not(:disabled),.practice-workspace .btn:hover:not(:disabled),:is(.auth-form,.password-auth-form) .btn:hover:not(:disabled){box-shadow:none;transform:none}.app-shell .btn:hover:not(:disabled):before,.practice-workspace .btn:hover:not(:disabled):before,:is(.auth-form,.password-auth-form) .btn:hover:not(:disabled):before{background:var(--cta-deep);transform:scaleX(1.012)}.app-shell .btn:active:not(:disabled),.app-shell a.btn:active:not(:disabled),.app-shell button.btn:active:not(:disabled),.practice-workspace .btn:active:not(:disabled),:is(.auth-form,.password-auth-form) .btn:active:not(:disabled){transform:translateY(1px);box-shadow:none}.app-shell .btn.secondary,.app-shell a.btn.secondary,.app-shell button.btn.secondary,.practice-workspace .btn.secondary,:is(.auth-form,.password-auth-form) .btn.secondary{color:var(--ink);border:0;background:none;box-shadow:none}.app-shell .btn.secondary:before,.app-shell a.btn.secondary:before,.app-shell button.btn.secondary:before,.practice-workspace .btn.secondary:before,:is(.auth-form,.password-auth-form) .btn.secondary:before{background:var(--rule-strong);-webkit-clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);z-index:-2}.app-shell .btn.secondary:after,.app-shell a.btn.secondary:after,.app-shell button.btn.secondary:after,.practice-workspace .btn.secondary:after,:is(.auth-form,.password-auth-form) .btn.secondary:after{content:"";position:absolute;inset:1px;z-index:-1;background:var(--sheet);-webkit-clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);transition:background .15s var(--ease)}.app-shell .btn.secondary:hover:not(:disabled):before,.practice-workspace .btn.secondary:hover:not(:disabled):before,:is(.auth-form,.password-auth-form) .btn.secondary:hover:not(:disabled):before{background:var(--rule-strong);transform:none}.app-shell .btn.secondary:hover:not(:disabled):after,.practice-workspace .btn.secondary:hover:not(:disabled):after,:is(.auth-form,.password-auth-form) .btn.secondary:hover:not(:disabled):after{background:var(--paper-2)}.app-shell .btn.danger:before{background:#a01c08}.app-shell .btn:disabled,.practice-workspace .btn:disabled,:is(.auth-form,.password-auth-form) .btn:disabled{color:var(--ink-faint)}.app-shell .btn:disabled:before,.practice-workspace .btn:disabled:before,:is(.auth-form,.password-auth-form) .btn:disabled:before{background:var(--paper-2)}.app-shell .btn:disabled.secondary:after,.practice-workspace .btn:disabled.secondary:after{background:var(--paper-2)}.app-shell .learning-band,.app-shell .learning-overall strong,.app-shell .learning-profile-tabs button,.app-shell .learning-result-skills b,.app-shell .learning-skill-item b,.app-shell .learning-skill-item strong,.app-shell .learning-skill-tag,.app-shell .result-overall-band strong,.app-shell .result-score-row .band,.auth-shell .auth-proof-band,.auth-shell .auth-proof-skills span,.auth-shell .auth-proof-skills strong,.practice-workspace .practice-band{font-family:var(--exam);font-feature-settings:tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums}.auth-shell .auth-proof-skills span{letter-spacing:0;text-transform:none}.app-shell .learning-skill-item b{font-size:22px;font-weight:500;letter-spacing:-.015em;color:var(--cta)}.app-shell .learning-skill-item strong{font-weight:500;letter-spacing:0;text-transform:none}.app-shell .learning-overall strong,.app-shell .result-overall-band strong{font-weight:500;font-size:42px;letter-spacing:-.02em;color:var(--cta)}.app-shell .learning-skill-tag{font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}.app-shell .main{padding:30px 34px 56px 58px}.app-shell .main-crumb{position:relative;margin-left:-24px;padding-left:30px}.app-shell .main-crumb:before{content:"";position:absolute;left:0;top:50%;width:18px;height:2px;margin-top:-1px;background:var(--cta)}.app-shell .learning-dashboard .portal-panel>*>.learning-index,.app-shell .learning-dashboard .portal-panel>.learning-panel-head>.learning-index{margin-left:-28px;background:var(--cta);border-color:var(--cta);color:#fffaf8}@media (min-width:1101px){.app-shell .learning-bottom-grid>:last-child,.app-shell .learning-middle-grid>:last-child{margin-top:22px}}.app-shell .mobile-section-pill,.app-shell .practice-resume-chip,.app-shell [class~=portal-eyebrow],.practice-workspace .practice-resume-chip{box-shadow:inset 2px 0 0 var(--cta),inset 0 0 0 1px var(--rule)}.app-shell :focus-visible,.auth-shell :focus-visible,.practice-workspace :focus-visible{outline:2px solid var(--cta);outline-offset:2px}.app-shell .btn,.app-shell .learning-skill-item,.app-shell .learning-text-link,.app-shell .nav a,.app-shell a.btn,.app-shell a.card,.app-shell button.btn,.app-shell button.card,.practice-workspace .btn,:is(.auth-form,.password-auth-form) .btn{transition-duration:.5s;transition-timing-function:var(--ease-slow)}.app-shell .btn:after,.app-shell .btn:before,.app-shell a.btn:after,.app-shell a.btn:before,.app-shell button.btn:after,.app-shell button.btn:before,.practice-workspace .btn:before,:is(.auth-form,.password-auth-form) .btn:before{transition-duration:.5s;transition-timing-function:var(--ease-slow)}.app-shell .btn:active:not(:disabled),.practice-workspace .btn:active:not(:disabled),:is(.auth-form,.password-auth-form) .btn:active:not(:disabled){transform:scale(.985)}.app-shell .nav a{isolation:isolate;transition:color .5s var(--ease-slow)}.app-shell .nav a:before{content:"";position:absolute;z-index:-1;inset:0;background:var(--brand-soft);-webkit-clip-path:polygon(1% 6%,99% 0,100% 92%,0 100%);clip-path:polygon(1% 6%,99% 0,100% 92%,0 100%);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s var(--ease-slow)}.app-shell .nav a:focus-visible,.app-shell .nav a:hover{background:none;color:var(--ink)}.app-shell .nav a.active:before,.app-shell .nav a:focus-visible:before,.app-shell .nav a:hover:before{transform:scaleX(1)}.app-shell .nav a.active{background:none}.app-shell .card .card,.app-shell [class~=portal-panel] .card,.app-shell [class~=portal-panel] [class~=portal-card]{border:0;border-top:1px solid var(--rule);padding-left:0;padding-right:0}@media (prefers-reduced-motion:reduce){.app-shell *,.app-shell :after,.app-shell :before,.auth-shell *,.auth-shell :after,.auth-shell :before,.practice-workspace *,.practice-workspace :after,.practice-workspace :before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.app-shell{position:relative;isolation:isolate;background:var(--room-deep)}.app-shell:before{content:"";display:block;position:fixed;inset:-15%;z-index:0;pointer-events:none;background:radial-gradient(120% 96% at 46% 34%,transparent 38%,rgba(12,6,5,.5) 100%),linear-gradient(116deg,transparent 14%,rgba(255,164,122,.1) 34%,rgba(255,120,84,.17) 44%,rgba(255,120,84,.05) 54%,transparent 70%),radial-gradient(40% 46% at 14% 4%,rgba(255,150,104,.4),transparent 68%),radial-gradient(56% 62% at 4% 16%,rgba(222,56,28,.46),transparent 72%),radial-gradient(50% 58% at 94% 90%,rgba(214,92,58,.3),transparent 74%),radial-gradient(64% 56% at 60% 54%,rgba(24,13,11,.55),transparent 76%);animation:kite-drift 52s ease-in-out infinite alternate}@keyframes kite-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(1.4%,-1.2%,0) scale(1.04)}}.app-shell>*{z-index:1}.app-shell .card,.app-shell [class~=portal-card],.app-shell [class~=portal-list-card],.app-shell [class~=portal-panel],.app-shell [class~=practice-card],.app-shell [class~=practice-section],.app-shell [class~=progress-card],.app-shell [class~=study-plan-card]{border:0;background:var(--sheet);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),26px 30px 56px -30px rgba(0,0,0,.72)}.app-shell .mobile-bottom-nav,.app-shell .mobile-shell-bar,.app-shell .sidebar{border:0;background:linear-gradient(152deg,rgba(255,255,255,.075),rgba(255,255,255,.022) 40%,rgba(255,255,255,.008) 74%),rgba(58,44,39,.76);backdrop-filter:blur(26px) saturate(1.7) brightness(1.05);-webkit-backdrop-filter:blur(26px) saturate(1.7) brightness(1.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 1px 0 0 rgba(255,255,255,.05),inset -1px 0 0 rgba(0,0,0,.4)}.app-shell .card .card,.app-shell [class~=portal-panel] .card,.app-shell [class~=portal-panel] [class~=portal-card]{backdrop-filter:none;-webkit-backdrop-filter:none;background:none;box-shadow:none}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.app-shell .mobile-bottom-nav,.app-shell .mobile-shell-bar,.app-shell .sidebar{background:var(--room)}}@media (prefers-reduced-transparency:reduce){.app-shell:before{opacity:.5;animation:none}.app-shell .mobile-bottom-nav,.app-shell .mobile-shell-bar,.app-shell .sidebar{background:var(--room);backdrop-filter:none;-webkit-backdrop-filter:none}}@media (prefers-reduced-motion:reduce){.app-shell:before{animation:none}}.app-shell .learning-next-card{background:linear-gradient(90deg,rgba(217,45,22,.06),transparent 52%),linear-gradient(180deg,var(--sheet),var(--sheet))}.app-shell .learning-onboarding{background:repeating-linear-gradient(0deg,transparent 0 23px,var(--grid) 23px 24px),repeating-linear-gradient(90deg,transparent 0 23px,var(--grid) 23px 24px),linear-gradient(180deg,var(--sheet),var(--sheet))}.app-shell .main,.app-shell .mobile-bottom-nav,.app-shell .mobile-shell-bar,.app-shell .sidebar{--ink:#fdfaf8;--ink-soft:rgba(253,250,248,0.8);--ink-faint:rgba(253,250,248,0.62);--rule:rgba(253,250,248,0.16);--rule-strong:rgba(253,250,248,0.28);--paper:transparent;--paper-2:rgba(248,243,240,0.07);--sheet:rgba(248,243,240,0.07);--cta:#ff6a4f;--cta-deep:#ff8f78;--brand-soft:rgba(255,106,79,0.18);--brand-ink:#ff8f78;--brand:#ff6a4f;--blue:#ff8f78;--tone-ok:#f8f3f0;--tone-bad:#ff8f78;--tone-warn:#e0a58a;color:var(--ink)}.app-shell .card,.app-shell [class~=portal-alert],.app-shell [class~=portal-card],.app-shell [class~=portal-list-card],.app-shell [class~=portal-panel],.app-shell [class~=practice-card],.app-shell [class~=practice-section],.app-shell [class~=progress-card],.app-shell [class~=study-plan-card],.app-shell table{--ink:#17110f;--ink-soft:rgba(23,17,15,0.7);--ink-faint:rgba(23,17,15,0.5);--rule:rgba(23,17,15,0.13);--rule-strong:rgba(23,17,15,0.22);--paper:#fbf7f4;--paper-2:#f4efeb;--sheet:#fffdfb;--cta:#d92d16;--cta-deep:#b8240e;--brand-soft:rgba(217,45,22,0.1);--brand-ink:#b8240e;--brand:#d92d16;--blue:#b8240e;--tone-ok:#17110f;--tone-bad:#c9260f;--tone-warn:#8f3a1c;color:var(--ink)}.app-shell .learning-dashboard-intro h1,.app-shell .portal-page>h1{font-size:clamp(32px,3.6vw,52px);line-height:1.04;letter-spacing:-.035em;font-weight:800;text-wrap:balance}.app-shell .learning-dashboard-intro p{font-size:15px;max-width:58ch}.app-shell .main:after,.app-shell .main:before{content:none}.app-shell .mobile-bottom-nav{background:linear-gradient(152deg,rgba(255,255,255,.07),rgba(255,255,255,.02) 40%,rgba(255,255,255,.006) 74%),rgba(58,44,39,.9);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 -18px 34px -22px rgba(0,0,0,.8)}.app-shell .main{padding:44px 44px 72px 68px}.app-shell .learning-bottom-grid,.app-shell .learning-dashboard,.app-shell .learning-middle-grid,.app-shell .learning-top-grid{gap:26px}.app-shell .learning-dashboard-intro{display:block;padding:8px 0 0;margin-bottom:22px}.app-shell .learning-dashboard-intro>div>p,.app-shell .learning-dashboard-intro>p{margin-top:14px}.app-shell .learning-kicker{display:block;margin-bottom:12px}.app-shell .learning-dashboard .portal-panel{padding:26px 28px 28px}.app-shell [class~=portal-panel]:after{content:none}.app-shell .learning-panel-head{min-height:0;padding-bottom:14px;margin-bottom:20px;font-family:var(--f-ui,inherit);font-size:14px;font-weight:600;letter-spacing:-.005em;text-transform:none;color:var(--ink)}.app-shell .learning-dashboard .portal-panel>*>.learning-index,.app-shell .learning-dashboard .portal-panel>.learning-panel-head>.learning-index{width:20px;height:16px;margin-left:-40px;font-size:9px;background:none;border:0;color:var(--cta);opacity:.75}@media (max-width:1100px){.app-shell .main{padding:28px 20px 64px 24px}.app-shell .learning-dashboard .portal-panel>*>.learning-index,.app-shell .learning-dashboard .portal-panel>.learning-panel-head>.learning-index{margin-left:0}}.app-shell :is(.nx-card,.learning-next-card){container-type:inline-size}.app-shell :is(.nx-card,.learning-next-card) .nx-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,264px);align-items:start}@container (max-width: 580px){.app-shell :is(.nx-card,.learning-next-card) .nx-body{grid-template-columns:minmax(0,1fr)}.app-shell :is(.nx-card,.learning-next-card) .nx-lead{padding-right:0}.app-shell :is(.nx-card,.learning-next-card) .nx-figure{order:-1;display:grid;grid-template-columns:auto minmax(0,1fr);grid-column-gap:28px;column-gap:28px;align-items:center;margin:0 0 26px;padding:0 0 22px;border-left:0;border-bottom:1px solid var(--rule)}.app-shell :is(.nx-card,.learning-next-card) p.nx-band{grid-column:1;grid-row:1/span 2}.app-shell :is(.nx-card,.learning-next-card) .nx-ladder{grid-column:2;grid-row:1;align-self:end;margin:0}.app-shell :is(.nx-card,.learning-next-card) p.nx-gap{grid-column:2;grid-row:2;align-self:start;margin:10px 0 0}.app-shell :is(.nx-card,.learning-next-card) .nx-facts{grid-column:1/-1;margin-top:22px;padding-top:18px}}.app-shell :is(.nx-card,.learning-next-card) .nx-lead{padding-right:32px}.app-shell :is(.nx-card,.learning-next-card) .nx-figure{padding-left:28px;border-left:1px solid var(--rule)}.app-shell :is(.nx-card,.learning-next-card) p.nx-skill{margin:0 0 10px;font-family:var(--exam);font-size:17px;font-weight:500;color:var(--ink-soft)}.app-shell :is(.nx-card,.learning-next-card) h2.nx-focus{margin:0;font-size:clamp(24px,2.1vw,31px);font-weight:800;line-height:1.1;letter-spacing:-.03em;text-wrap:balance}.app-shell :is(.nx-card,.learning-next-card) p.nx-note{margin:16px 0 0;max-width:46ch;font-size:14px;line-height:1.7;color:var(--ink-soft)}.app-shell :is(.nx-card,.learning-next-card) .nx-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 22px;margin-top:28px}.app-shell :is(.nx-card,.learning-next-card) .nx-actions .btn{white-space:nowrap}.app-shell :is(.nx-card,.learning-next-card) a.nx-quiet{white-space:nowrap}.app-shell :is(.nx-card,.learning-next-card) a.nx-quiet{font-size:13.5px;font-weight:600;color:var(--cta-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;transition:color .5s var(--ease-slow)}.app-shell :is(.nx-card,.learning-next-card) .nx-quiet:hover{color:var(--cta)}.app-shell :is(.nx-card,.learning-next-card) p.nx-band{margin:0;font-family:var(--exam);font-weight:500;font-size:60px;line-height:.92;letter-spacing:-.02em;color:var(--cta);font-feature-settings:tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums}.app-shell :is(.nx-card,.learning-next-card) .nx-ladder{position:relative;height:30px;margin:18px 0 0}.app-shell :is(.nx-card,.learning-next-card) .nx-axis{position:absolute;left:0;right:0;top:10px;height:1px;background:var(--rule-strong)}.app-shell :is(.nx-card,.learning-next-card) .nx-gap-bar{position:absolute;top:9px;left:60%;width:20%;height:3px;background:var(--cta)}.app-shell :is(.nx-card,.learning-next-card) .nx-now{position:absolute;top:3px;left:60%;width:3px;height:15px;margin-left:-1.5px;background:var(--cta)}.app-shell :is(.nx-card,.learning-next-card) .nx-target{position:absolute;top:4px;left:80%;width:9px;height:13px;margin-left:-4.5px;box-shadow:inset 0 -1.5px 0 var(--cta),inset 1.5px 0 0 var(--cta),inset -1.5px 0 0 var(--cta)}.app-shell :is(.nx-card,.learning-next-card) .nx-end{position:absolute;top:16px;font-family:var(--exam);font-size:12px;color:var(--ink-faint)}.app-shell :is(.nx-card,.learning-next-card) .nx-end.is-lo{left:0}.app-shell :is(.nx-card,.learning-next-card) .nx-end.is-hi{right:0}.app-shell :is(.nx-card,.learning-next-card) p.nx-gap{margin:12px 0 0;font-size:13px;color:var(--ink-soft)}.app-shell :is(.nx-card,.learning-next-card) .nx-gap b{font-family:var(--exam);font-weight:500;color:var(--cta)}.app-shell :is(.nx-card,.learning-next-card) .nx-facts{display:flex;margin:26px 0 0;padding-top:18px;border-top:1px solid var(--rule)}.app-shell :is(.nx-card,.learning-next-card) .nx-facts>div{flex:1 1}.app-shell :is(.nx-card,.learning-next-card) .nx-facts>div+div{padding-left:20px;border-left:1px solid var(--rule)}.app-shell :is(.nx-card,.learning-next-card) .nx-facts dt{font-size:12.5px;color:var(--ink-faint)}.app-shell :is(.nx-card,.learning-next-card) .nx-facts dd{margin:5px 0 0;font-size:21px;font-weight:600;letter-spacing:-.02em;font-feature-settings:tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums}@media (max-width:1100px){.app-shell :is(.nx-card,.learning-next-card) .nx-body{grid-template-columns:minmax(0,1fr)}.app-shell :is(.nx-card,.learning-next-card) .nx-lead{padding-right:0}.app-shell :is(.nx-card,.learning-next-card) .nx-figure{margin-top:28px;padding-left:0;padding-top:24px;border-left:0;border-top:1px solid var(--rule)}}.app-shell .learning-dashboard .nx-card>.learning-panel-head>.learning-index{position:absolute;top:-16px;left:-16px;z-index:2;display:grid;place-items:center;width:46px;height:46px;margin:0;padding:0;background:var(--cta);border:0;color:#fff6f4;font-family:var(--font-mono),ui-monospace,Menlo,monospace;font-size:14px;font-weight:700;letter-spacing:.02em;opacity:1;box-shadow:7px 7px 0 rgba(0,0,0,.34)}.app-shell .nx-card>.learning-panel-head{position:relative;padding-left:40px;border-bottom:0}.app-shell .nx-card>.learning-panel-head:after{content:"";position:absolute;left:210px;right:0;bottom:0;height:1px;background:var(--rule)}.app-shell .btn:before,.app-shell a.btn:before,.app-shell button.btn:before,.practice-workspace .btn:before,:is(.auth-form,.password-auth-form) .btn:before{-webkit-clip-path:polygon(0 16%,100% 0,100% 84%,0 100%);clip-path:polygon(0 16%,100% 0,100% 84%,0 100%)}.app-shell .btn:hover:not(:disabled):before,.app-shell a.btn:hover:not(:disabled):before,.app-shell button.btn:hover:not(:disabled):before,.practice-workspace .btn:hover:not(:disabled):before,:is(.auth-form,.password-auth-form) .btn:hover:not(:disabled):before{transform:scaleX(1.05)}.app-shell .btn.secondary:after,.app-shell .btn.secondary:before,.app-shell a.btn.secondary:after,.app-shell a.btn.secondary:before,.app-shell button.btn.secondary:after,.app-shell button.btn.secondary:before,.practice-workspace .btn.secondary:after,.practice-workspace .btn.secondary:before,:is(.auth-form,.password-auth-form) .btn.secondary:after,:is(.auth-form,.password-auth-form) .btn.secondary:before{-webkit-clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%)}.app-shell .learning-dashboard-intro{margin-left:-36px}@media (max-width:1100px){.app-shell .learning-dashboard-intro{margin-left:0}.app-shell .nx-card>.learning-panel-head{padding-left:34px}.app-shell .nx-card>.learning-panel-head:after{left:0}.app-shell .learning-dashboard .nx-card>.learning-panel-head>.learning-index{top:-12px;left:-12px;width:38px;height:38px;font-size:12px}}.app-shell .learning-dashboard .portal-panel>.learning-panel-head,.app-shell .nx-card>.learning-panel-head{position:relative;display:flex;align-items:center;gap:0;padding:0 0 0 40px;margin-bottom:22px;border-bottom:0;font-family:var(--f-ui,inherit);font-size:14px;font-weight:600;letter-spacing:-.005em;text-transform:none;color:var(--ink)}.app-shell .learning-dashboard .portal-panel>.learning-panel-head:after,.app-shell .nx-card>.learning-panel-head:after{content:"";position:static;flex:1 1 auto;height:1px;min-width:24px;margin-left:18px;background:var(--rule)}.app-shell .learning-dashboard .learning-panel-head>svg:last-child{display:none}.app-shell .learning-dashboard .learning-head-meta{margin-left:18px;font-family:var(--font-mono),ui-monospace,Menlo,monospace;font-size:11px;letter-spacing:.04em;text-transform:none;color:var(--ink-faint)}.app-shell .learning-dashboard .nx-card>.learning-panel-head>.learning-index,.app-shell .learning-dashboard .portal-panel>*>.learning-index,.app-shell .learning-dashboard .portal-panel>.learning-panel-head>.learning-index{position:absolute;top:-16px;left:-16px;z-index:2;display:grid;place-items:center;width:46px;height:46px;margin:0;padding:0;background:var(--cta);border:0;color:#fff6f4;font-family:var(--font-mono),ui-monospace,Menlo,monospace;font-size:14px;font-weight:700;letter-spacing:.02em;opacity:1;box-shadow:7px 7px 0 rgba(0,0,0,.34)}.app-shell .learning-dashboard .portal-panel{position:relative;overflow:visible}.app-shell .learning-dashboard .learning-next-facts dt,.app-shell .learning-dashboard .learning-recommendation-label,.app-shell .learning-dashboard .learning-recommendation-skill span,.app-shell .learning-dashboard .learning-session-panel-head,.app-shell .learning-dashboard .learning-session-stats dt,.app-shell .learning-dashboard .learning-weak-main small{font-family:var(--f-ui,inherit);font-size:12.5px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink-faint)}.app-shell .learning-dashboard .learning-next-facts dd,.app-shell .learning-dashboard .learning-session-stats dd{margin-top:5px;font-size:20px;font-weight:600;letter-spacing:-.02em;font-feature-settings:tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums}.app-shell .learning-dashboard .learning-weak-number{font-family:var(--font-mono),ui-monospace,Menlo,monospace;font-size:11px;font-weight:500;color:var(--ink-faint);background:none;border:0}.app-shell .learning-dashboard .learning-actions .btn.secondary,.app-shell .learning-dashboard .learning-card-links .btn.secondary,.app-shell .learning-dashboard .learning-history-col .btn.secondary,.app-shell .learning-dashboard .learning-latest-result .btn.secondary{padding:0;color:var(--cta-deep);font-size:13.5px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;box-shadow:none}.app-shell .learning-dashboard .learning-actions .btn.secondary:after,.app-shell .learning-dashboard .learning-actions .btn.secondary:before,.app-shell .learning-dashboard .learning-card-links .btn.secondary:after,.app-shell .learning-dashboard .learning-card-links .btn.secondary:before,.app-shell .learning-dashboard .learning-history-col .btn.secondary:after,.app-shell .learning-dashboard .learning-history-col .btn.secondary:before,.app-shell .learning-dashboard .learning-latest-result .btn.secondary:after,.app-shell .learning-dashboard .learning-latest-result .btn.secondary:before{content:none}.app-shell .learning-dashboard .learning-actions .btn.secondary:hover{color:var(--cta)}.app-shell .learning-dashboard .learning-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 22px}.app-shell .learning-dashboard .learning-skill-tag{display:block;padding:0;border:0;background:none;box-shadow:none;font-family:var(--exam);font-size:17px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink-soft)}.app-shell .learning-next-card .nx-anchor{display:grid;grid-template-columns:auto minmax(0,1fr);grid-column-gap:26px;column-gap:26px;align-items:center;margin:0 0 22px;padding:0 0 20px;border-bottom:1px solid var(--rule)}.app-shell .learning-next-card .nx-anchor p.nx-band{grid-column:1;grid-row:1/span 2}.app-shell .learning-next-card .nx-anchor .nx-ladder{grid-column:2;grid-row:1;align-self:end;margin:0;min-width:150px}.app-shell .learning-next-card .nx-anchor p.nx-gap{grid-column:2;grid-row:2;align-self:start;margin:10px 0 0}@container (max-width: 380px){.app-shell .learning-next-card .nx-anchor{grid-template-columns:minmax(0,1fr);row-gap:12px}.app-shell .learning-next-card .nx-anchor p.nx-band{grid-row:1}.app-shell .learning-next-card .nx-anchor .nx-ladder{grid-column:1;grid-row:2}.app-shell .learning-next-card .nx-anchor p.nx-gap{grid-column:1;grid-row:3}}@container (max-width: 620px){.app-shell .learning-next-card .learning-next-layout{grid-template-columns:minmax(0,1fr);row-gap:24px}.app-shell .learning-next-card .learning-session-panel{padding-top:22px;border-top:1px solid var(--rule)}}.app-shell .main .active,.app-shell .main .almost,.app-shell .main .answered,.app-shell .main .cbt-gate-card,.app-shell .main .close,.app-shell .main .cohesion,.app-shell .main .compact,.app-shell .main .correct,.app-shell .main .current,.app-shell .main .done,.app-shell .main .empty,.app-shell .main .error,.app-shell .main .evidence,.app-shell .main .feedback,.app-shell .main .feedback-almost,.app-shell .main .feedback-correct,.app-shell .main .feedback-incorrect,.app-shell .main .fig-arch,.app-shell .main .fig-pipeline,.app-shell .main .fig-timeline,.app-shell .main .fig-trend,.app-shell .main .fig-wave,.app-shell .main .filler,.app-shell .main .good,.app-shell .main .grammar,.app-shell .main .high,.app-shell .main .hinted,.app-shell .main .incorrect,.app-shell .main .indigo,.app-shell .main .is-drill,.app-shell .main .kite-dialog,.app-shell .main .learning-skill-item,.app-shell .main .level-2,.app-shell .main .level-3,.app-shell .main .limiting,.app-shell .main .long,.app-shell .main .low,.app-shell .main .medium,.app-shell .main .mobile-section-pill,.app-shell .main .muted,.app-shell .main .next,.app-shell .main .next-band,.app-shell .main .objective-review-heading,.app-shell .main .ok,.app-shell .main .over,.app-shell .main .paused,.app-shell .main .portal-chip,.app-shell .main .portal-hero,.app-shell .main .portal-next-action,.app-shell .main .portal-notice,.app-shell .main .portal-notice-card,.app-shell .main .portal-progress-track,.app-shell .main .portal-segmented,.app-shell .main .portal-timeline,.app-shell .main .portal-trend-grid,.app-shell .main .portal-usage-grid,.app-shell .main .positive,.app-shell .main .practice-active-card,.app-shell .main .practice-active-signals,.app-shell .main .practice-alert,.app-shell .main .practice-answer-card,.app-shell .main .practice-answer-compare,.app-shell .main .practice-attempt-compare,.app-shell .main .practice-audio-evidence,.app-shell .main .practice-audio-panel,.app-shell .main .practice-button-count,.app-shell .main .practice-clinic-card,.app-shell .main .practice-coach,.app-shell .main .practice-coach-fab,.app-shell .main .practice-coach-head,.app-shell .main .practice-coach-item,.app-shell .main .practice-coach-meta,.app-shell .main .practice-coach-refs,.app-shell .main .practice-completion-steps,.app-shell .main .practice-drill,.app-shell .main .practice-drill-checklist,.app-shell .main .practice-empty,.app-shell .main .practice-evidence-bookmarks,.app-shell .main .practice-feedback-board,.app-shell .main .practice-feedback-board-body,.app-shell .main .practice-feedback-board-drills,.app-shell .main .practice-feedback-board-grid,.app-shell .main .practice-feedback-board-weak,.app-shell .main .practice-feedback-body,.app-shell .main .practice-feedback-detail-grid,.app-shell .main .practice-feedback-disclosure,.app-shell .main .practice-feedback-empty,.app-shell .main .practice-feedback-filters,.app-shell .main .practice-feedback-issue,.app-shell .main .practice-feedback-meter,.app-shell .main .practice-feedback-panel,.app-shell .main .practice-feedback-row,.app-shell .main .practice-feedback-summary,.app-shell .main .practice-focus-plan,.app-shell .main .practice-focus-progress,.app-shell .main .practice-focus-side,.app-shell .main .practice-full-transcript,.app-shell .main .practice-ghost-button,.app-shell .main .practice-heatmap,.app-shell .main .practice-hero,.app-shell .main .practice-hero-stats,.app-shell .main .practice-hint-ladder,.app-shell .main .practice-hint-levels,.app-shell .main .practice-history-content,.app-shell .main .practice-history-disclosure,.app-shell .main .practice-history-summary-icon,.app-shell .main .practice-home-error,.app-shell .main .practice-home-error-icon,.app-shell .main .practice-home-v2,.app-shell .main .practice-icon,.app-shell .main .practice-icon-button,.app-shell .main .practice-inline-action,.app-shell .main .practice-inline-comment,.app-shell .main .practice-insight-row,.app-shell .main .practice-keyword-scanner,.app-shell .main .practice-list,.app-shell .main .practice-loading-card,.app-shell .main .practice-loading-list,.app-shell .main .practice-loading-nav,.app-shell .main .practice-loading-topbar,.app-shell .main .practice-loading-workbench,.app-shell .main .practice-marker,.app-shell .main .practice-mode-tabs,.app-shell .main .practice-model-answer,.app-shell .main .practice-model-answer-locked,.app-shell .main .practice-next-card,.app-shell .main .practice-next-icon,.app-shell .main .practice-next-reason,.app-shell .main .practice-overview,.app-shell .main .practice-passage,.app-shell .main .practice-passage-head,.app-shell .main .practice-passage-map,.app-shell .main .practice-passage-note,.app-shell .main .practice-pause-card,.app-shell .main .practice-pause-stats,.app-shell .main .practice-paywall-card,.app-shell .main .practice-pill,.app-shell .main .practice-primary-button,.app-shell .main .practice-progress-bar,.app-shell .main .practice-progress-line,.app-shell .main .practice-q-number,.app-shell .main .practice-question-feedback,.app-shell .main .practice-question-group,.app-shell .main .practice-question-legend,.app-shell .main .practice-question-nav,.app-shell .main .practice-reading-part,.app-shell .main .practice-reading-tools,.app-shell .main .practice-reading-tools-body,.app-shell .main .practice-recommendation,.app-shell .main .practice-repair-list,.app-shell .main .practice-repair-row,.app-shell .main .practice-repair-score,.app-shell .main .practice-resume-card,.app-shell .main .practice-resume-chip,.app-shell .main .practice-resume-facts,.app-shell .main .practice-resume-meter,.app-shell .main .practice-retry-button,.app-shell .main .practice-review-row,.app-shell .main .practice-rewrite,.app-shell .main .practice-rubric-row,.app-shell .main .practice-session-icon,.app-shell .main .practice-session-list,.app-shell .main .practice-session-progress,.app-shell .main .practice-session-row,.app-shell .main .practice-settings-panel,.app-shell .main .practice-skeleton,.app-shell .main .practice-skill-card,.app-shell .main .practice-speaking-card,.app-shell .main .practice-speaking-coach-grid,.app-shell .main .practice-speaking-feedback-body,.app-shell .main .practice-speaking-marker-rail,.app-shell .main .practice-speaking-marker-track,.app-shell .main .practice-speaking-metrics,.app-shell .main .practice-speaking-prompt,.app-shell .main .practice-speaking-structure,.app-shell .main .practice-speaking-timeline,.app-shell .main .practice-speaking-timer,.app-shell .main .practice-speed-control,.app-shell .main .practice-study-artifact,.app-shell .main .practice-study-evidence,.app-shell .main .practice-study-steps,.app-shell .main .practice-topbar,.app-shell .main .practice-transcript-lab,.app-shell .main .practice-transcript-list,.app-shell .main .practice-translation,.app-shell .main .practice-translation-body,.app-shell .main .practice-translation-notes,.app-shell .main .practice-vocabulary-drawer,.app-shell .main .practice-weak-area,.app-shell .main .practice-workspace-loading,.app-shell .main .practice-writing-chart,.app-shell .main .practice-writing-checklist,.app-shell .main .practice-writing-diagnostics,.app-shell .main .practice-writing-diff-row,.app-shell .main .practice-writing-feedback-body,.app-shell .main .practice-writing-feedback-deep,.app-shell .main .practice-writing-plan,.app-shell .main .practice-writing-quality,.app-shell .main .practice-writing-quality-grid,.app-shell .main .practice-writing-review,.app-shell .main .practice-writing-target-meter,.app-shell .main .practice-writing-task,.app-shell .main .practice-writing-timer,.app-shell .main .practice-writing-timer-input,.app-shell .main .practice-writing-timer-meter,.app-shell .main .practice-writing-timing-guide,.app-shell .main .practice-written-feedback,.app-shell .main .ready,.app-shell .main .recording,.app-shell .main .result-action-coach,.app-shell .main .result-band-pill,.app-shell .main .result-criterion-bar,.app-shell .main .result-criterion-card,.app-shell .main .result-criterion-diagnostic,.app-shell .main .result-evidence,.app-shell .main .result-objective-grid,.app-shell .main .result-overall-band,.app-shell .main .result-overall-panel,.app-shell .main .result-priority-list,.app-shell .main .result-priority-severity,.app-shell .main .review,.app-shell .main .review-passage-body,.app-shell .main .running,.app-shell .main .secondary,.app-shell .main .skill-listening,.app-shell .main .skill-reading,.app-shell .main .skill-speaking,.app-shell .main .skill-writing,.app-shell .main .skipped,.app-shell .main .speaking-cue-card,.app-shell .main .speaking-listen-panel,.app-shell .main .speaking-mic-check,.app-shell .main .teal,.app-shell .main .under,.app-shell .main .viewed,.app-shell .main .weak{--ink:#17110f;--ink-soft:rgba(23,17,15,0.7);--ink-faint:rgba(23,17,15,0.5);--rule:rgba(23,17,15,0.13);--rule-strong:rgba(23,17,15,0.22);--paper:#fbf7f4;--paper-2:#f4efeb;--sheet:#fffdfb;--cta:#d92d16;--cta-deep:#b8240e;--brand-soft:rgba(217,45,22,0.1);--brand-ink:#b8240e;--brand:#d92d16;--blue:#b8240e;--tone-ok:#17110f;--tone-bad:#c9260f;--tone-warn:#8f3a1c;color:var(--ink)}.app-shell .main .learning-next-card,.app-shell .main .learning-onboarding,.app-shell .main .learning-profile-radar-panel,.app-shell .main .learning-skill-item,.app-shell .main .learning-trend-chart,.app-shell .main .portal-hero,.app-shell .main .portal-lead-main,.app-shell .main .portal-next-action,.app-shell .main .practice-clinic-card,.app-shell .main .practice-hero,.app-shell .main .practice-question,.app-shell .main .practice-speaking-timer,.app-shell .main .practice-study-artifact,.app-shell .main .result-action-coach,.app-shell .main .result-overall-panel{background-color:var(--sheet)}.app-shell .learning-bottom-grid.is-single,.app-shell .learning-middle-grid.is-single{grid-template-columns:minmax(0,1fr)}.app-shell .learning-block-head{display:flex;align-items:center;margin-bottom:16px;font-size:12.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink-soft)}.app-shell .learning-block-head:after{content:"";flex:1 1 auto;height:1px;min-width:20px;margin-left:14px;background:var(--rule)}.app-shell .learning-block-head .learning-head-meta{margin-left:14px}.app-shell .learning-trend-block{margin-top:26px;padding-top:22px;border-top:1px solid var(--rule)}.app-shell .learning-history-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell .learning-history-col{min-width:0;padding-right:26px}.app-shell .learning-history-col+.learning-history-col{padding-left:26px;border-left:1px solid var(--rule)}.app-shell .learning-history-col .learning-activity-list>a,.app-shell .learning-history-col .learning-test-list>a{background:none;box-shadow:none;border:0;border-bottom:1px solid var(--rule)}.app-shell .learning-history-col .learning-activity-list>a:last-child,.app-shell .learning-history-col .learning-test-list>a:last-child{border-bottom:0}.app-shell .learning-history-card{container-type:inline-size}@container (max-width: 900px){.app-shell .learning-history-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .learning-history-col:nth-child(3){grid-column:1/-1;margin-top:24px;padding-left:0;padding-top:22px;border-left:0;border-top:1px solid var(--rule)}}@container (max-width: 560px){.app-shell .learning-history-cols{grid-template-columns:minmax(0,1fr)}.app-shell .learning-history-col{padding-right:0}.app-shell .learning-history-col+.learning-history-col{margin-top:24px;padding-left:0;padding-top:22px;border-left:0;border-top:1px solid var(--rule)}.app-shell .learning-history-col:nth-child(3){margin-top:24px}}.app-shell:has(.practice-home-v2){background:var(--room-deep)}.app-shell:has(.practice-home-v2) .sidebar{background:linear-gradient(152deg,rgba(255,255,255,.075),rgba(255,255,255,.022) 40%,rgba(255,255,255,.008) 74%),rgba(58,44,39,.76)}.app-shell:has(.practice-home-v2) .main{padding:44px 44px 72px 68px}.app-shell .practice-home-v2{color:var(--ink)}.app-shell .practice-home-v2>.practice-section-heading h2,.app-shell .practice-home-v2>.practice-section-heading p{color:inherit}@media (max-width:1100px){.app-shell:has(.practice-home-v2) .main{padding:28px 20px 64px 24px}}.app-shell .practice-home-v2>.practice-page-heading,.app-shell .practice-home-v2>.practice-section{--ink:#fdfaf8;--ink-soft:rgba(253,250,248,0.8);--ink-faint:rgba(253,250,248,0.62);--rule:rgba(253,250,248,0.16);--rule-strong:rgba(253,250,248,0.28);--cta:#ff6a4f;--cta-deep:#ff8f78;color:var(--ink)}.app-shell .practice-home-v2>.practice-page-heading h1,.app-shell .practice-home-v2>.practice-section>.practice-section-heading h2{color:var(--ink)}.app-shell .practice-home-v2>.practice-page-heading p,.app-shell .practice-home-v2>.practice-section>.practice-section-heading p{color:var(--ink-soft)}.app-shell .practice-home-v2>.practice-page-heading .practice-page-eyebrow{color:var(--cta)}.app-shell .practice-home-v2 .practice-primary-button,.practice-workspace .practice-primary-button{position:relative;isolation:isolate;border:0;background:none;box-shadow:none;color:#fff6f4;transition:transform .5s var(--ease-slow)}.app-shell .practice-home-v2 .practice-primary-button:before,.practice-workspace .practice-primary-button:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--cta);-webkit-clip-path:polygon(0 16%,100% 0,100% 84%,0 100%);clip-path:polygon(0 16%,100% 0,100% 84%,0 100%);transform-origin:0 50%;transition:transform .5s var(--ease-slow),background .5s var(--ease-slow)}.app-shell .practice-home-v2 .practice-primary-button:hover:not(:disabled):before,.practice-workspace .practice-primary-button:hover:not(:disabled):before{transform:scaleX(1.03);background:var(--cta-deep)}.app-shell .practice-home-v2 .practice-primary-button:active:not(:disabled),.practice-workspace .practice-primary-button:active:not(:disabled){transform:scale(.985)}.app-shell .practice-home-v2 .practice-skill-card b,.app-shell .practice-home-v2 .practice-skill-card strong{font-family:var(--exam);font-feature-settings:tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums;letter-spacing:0;text-transform:none}.app-shell .practice-home-v2 .practice-skill-card b{font-size:22px;font-weight:500;color:var(--cta)}.app-shell .practice-home-v2 .practice-skill-card strong{font-size:15px;font-weight:500}.app-shell:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E")}.app-shell .sidebar{position:relative;isolation:isolate;overflow:hidden}.app-shell .sidebar>*{position:relative;z-index:1}.app-shell .sidebar:after{content:"";position:absolute;inset:-20% -60%;z-index:0;pointer-events:none;background:linear-gradient(118deg,transparent 34%,rgba(255,255,255,.055) 46%,rgba(255,255,255,.11) 51%,rgba(255,255,255,.04) 57%,transparent 68%);animation:kite-sheen 26s ease-in-out infinite alternate}@keyframes kite-sheen{0%{transform:translate3d(-8%,-4%,0)}to{transform:translate3d(8%,4%,0)}}.app-shell .card,.app-shell [class~=portal-card],.app-shell [class~=portal-panel],.app-shell [class~=practice-card],.app-shell [class~=practice-section],.app-shell [class~=progress-card],.app-shell [class~=study-plan-card]{box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 1px 0 0 rgba(255,255,255,.6),inset -1px 0 0 rgba(96,52,42,.06),inset 0 -1px 0 rgba(96,52,42,.1),26px 30px 56px -30px rgba(0,0,0,.6)}@media (prefers-reduced-motion:reduce){.app-shell .sidebar:after{animation:none}}@media (prefers-reduced-transparency:reduce){.app-shell .sidebar:after,.app-shell:after{display:none}}body:has(.auth-shell){background:var(--room-deep)}.auth-shell{position:relative;isolation:isolate;background:var(--room-deep);--ink:#fdfaf8;--ink-soft:rgba(253,250,248,0.8);--ink-faint:rgba(253,250,248,0.62);--rule:rgba(253,250,248,0.16);--rule-strong:rgba(253,250,248,0.28);--paper:transparent;--paper-2:transparent;--sheet:rgba(253,250,248,0.07);--cta:#ff6a4f;--cta-deep:#ff8f78;--brand:#ff6a4f;--brand-ink:#ff8f78;color:var(--ink)}.auth-shell:before{inset:-15%;background:radial-gradient(120% 96% at 46% 34%,transparent 38%,rgba(12,6,5,.5) 100%),linear-gradient(116deg,transparent 14%,rgba(255,164,122,.1) 34%,rgba(255,120,84,.17) 44%,rgba(255,120,84,.05) 54%,transparent 70%),radial-gradient(40% 46% at 14% 4%,rgba(255,150,104,.4),transparent 68%),radial-gradient(56% 62% at 4% 16%,rgba(222,56,28,.46),transparent 72%),radial-gradient(50% 58% at 94% 90%,rgba(214,92,58,.3),transparent 74%),radial-gradient(64% 56% at 60% 54%,rgba(24,13,11,.55),transparent 76%);animation:kite-drift 52s ease-in-out infinite alternate}.auth-shell:after,.auth-shell:before{content:"";position:fixed;z-index:0;pointer-events:none}.auth-shell:after{inset:0;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E")}.auth-shell>*{position:relative;z-index:1}.auth-shell .auth-aside{background:none;border-right:0}.auth-shell .auth-aside:before{background:var(--cta);opacity:.14}.auth-shell .auth-card,.auth-shell .auth-proof-card{--ink:#17110f;--ink-soft:rgba(23,17,15,0.7);--ink-faint:rgba(23,17,15,0.5);--rule:rgba(23,17,15,0.13);--rule-strong:rgba(23,17,15,0.22);--paper:#fbf7f4;--paper-2:#f4efeb;--sheet:#fffdfb;--cta:#d92d16;--cta-deep:#b8240e;--brand:#d92d16;--brand-ink:#b8240e;color:var(--ink);border:0;background:var(--sheet);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 1px 0 0 rgba(255,255,255,.6),inset 0 -1px 0 rgba(96,52,42,.1),30px 34px 64px -32px rgba(0,0,0,.66)}.auth-shell .auth-main{background:none}.auth-shell .auth-proof-band{font-family:var(--exam);font-weight:500;letter-spacing:-.02em;color:var(--cta)}.auth-shell :is(.auth-form,.password-auth-form) input::placeholder{color:var(--ink-faint)}.auth-shell .auth-facts li,.auth-shell .auth-legal,.auth-shell .auth-pitch{color:inherit}.auth-shell .auth-legal{color:var(--ink-faint)}.auth-shell .auth-facts li{color:var(--ink-soft);border-color:var(--rule)}@media (prefers-reduced-motion:reduce){.auth-shell:before{animation:none}}@media (prefers-reduced-transparency:reduce){.auth-shell:before{opacity:.5;animation:none}.auth-shell:after{display:none}}.app-shell .main .cbt-footer,.app-shell .main .lang-switch,.app-shell .main .learning-empty-inline,.app-shell .main .learning-onboarding-steps,.app-shell .main .learning-profile-axis-list,.app-shell .main .learning-profile-modes,.app-shell .main .learning-progress-ring,.app-shell .main .learning-trend-chart,.app-shell .main .password-toggle,.app-shell .main .portal-chip,.app-shell .main .portal-field,.app-shell .main .portal-hero,.app-shell .main .portal-icon,.app-shell .main .portal-lead-main,.app-shell .main .portal-metric,.app-shell .main .portal-next-action,.app-shell .main .portal-timeline,.app-shell .main .portal-trend-grid,.app-shell .main .portal-usage-grid,.app-shell .main .practice-active-card,.app-shell .main .practice-alert,.app-shell .main .practice-answer-arrow,.app-shell .main .practice-answer-compare,.app-shell .main .practice-attempt-compare,.app-shell .main .practice-audio-evidence,.app-shell .main .practice-audio-panel,.app-shell .main .practice-clinic-card,.app-shell .main .practice-coach,.app-shell .main .practice-coach-fab,.app-shell .main .practice-coach-head,.app-shell .main .practice-coach-head-actions,.app-shell .main .practice-coach-meta,.app-shell .main .practice-coach-refs,.app-shell .main .practice-completion-steps,.app-shell .main .practice-drill,.app-shell .main .practice-drill-checklist,.app-shell .main .practice-empty,.app-shell .main .practice-evidence-bookmarks,.app-shell .main .practice-feedback-board,.app-shell .main .practice-feedback-board-drills,.app-shell .main .practice-feedback-board-grid,.app-shell .main .practice-feedback-board-weak,.app-shell .main .practice-feedback-detail-grid,.app-shell .main .practice-feedback-disclosure,.app-shell .main .practice-feedback-empty,.app-shell .main .practice-feedback-filters,.app-shell .main .practice-feedback-issue,.app-shell .main .practice-feedback-mark,.app-shell .main .practice-feedback-panel,.app-shell .main .practice-feedback-row,.app-shell .main .practice-focus-plan,.app-shell .main .practice-focus-side,.app-shell .main .practice-full-transcript,.app-shell .main .practice-ghost-button,.app-shell .main .practice-heatmap,.app-shell .main .practice-hero,.app-shell .main .practice-hero-stats,.app-shell .main .practice-hint-ladder,.app-shell .main .practice-icon,.app-shell .main .practice-icon-button,.app-shell .main .practice-inline-action,.app-shell .main .practice-inline-comment,.app-shell .main .practice-insight-row,.app-shell .main .practice-keyword-scanner,.app-shell .main .practice-list,.app-shell .main .practice-loading-card,.app-shell .main .practice-loading-list,.app-shell .main .practice-loading-nav,.app-shell .main .practice-loading-workbench,.app-shell .main .practice-marker,.app-shell .main .practice-mode-tabs,.app-shell .main .practice-model-answer,.app-shell .main .practice-model-answer-locked,.app-shell .main .practice-passage,.app-shell .main .practice-passage-map,.app-shell .main .practice-passage-note,.app-shell .main .practice-pause-card,.app-shell .main .practice-pause-stats,.app-shell .main .practice-paywall-card,.app-shell .main .practice-question-feedback,.app-shell .main .practice-question-group,.app-shell .main .practice-question-legend,.app-shell .main .practice-question-nav,.app-shell .main .practice-question-pane,.app-shell .main .practice-reading-tools,.app-shell .main .practice-recommendation,.app-shell .main .practice-resume-card,.app-shell .main .practice-resume-facts,.app-shell .main .practice-resume-meter,.app-shell .main .practice-review-row,.app-shell .main .practice-rewrite,.app-shell .main .practice-rubric-row,.app-shell .main .practice-settings-panel,.app-shell .main .practice-skeleton,.app-shell .main .practice-skill-card,.app-shell .main .practice-speaking-card,.app-shell .main .practice-speaking-coach-grid,.app-shell .main .practice-speaking-marker-rail,.app-shell .main .practice-speaking-marker-track,.app-shell .main .practice-speaking-metrics,.app-shell .main .practice-speaking-prompt,.app-shell .main .practice-speaking-structure,.app-shell .main .practice-speaking-timeline,.app-shell .main .practice-speaking-timer,.app-shell .main .practice-speaking-turns,.app-shell .main .practice-speed-control,.app-shell .main .practice-study-artifact,.app-shell .main .practice-study-evidence,.app-shell .main .practice-study-steps,.app-shell .main .practice-topbar,.app-shell .main .practice-transcript-lab,.app-shell .main .practice-transcript-list,.app-shell .main .practice-vocabulary-drawer,.app-shell .main .practice-weak-area,.app-shell .main .practice-writing-chart,.app-shell .main .practice-writing-checklist,.app-shell .main .practice-writing-diagnostics,.app-shell .main .practice-writing-diff-row,.app-shell .main .practice-writing-editor,.app-shell .main .practice-writing-plan,.app-shell .main .practice-writing-quality,.app-shell .main .practice-writing-quality-grid,.app-shell .main .practice-writing-review,.app-shell .main .practice-writing-task,.app-shell .main .practice-writing-timer,.app-shell .main .practice-writing-timer-input,.app-shell .main .practice-writing-timer-meter,.app-shell .main .practice-written-feedback,.app-shell .main .progress-plan-derived,.app-shell .main .progress-week-track,.app-shell .main .question-nav,.app-shell .main .result-action-coach,.app-shell .main .result-overall-panel,.app-shell .main .skill-listening,.app-shell .main .skill-reading,.app-shell .main .stat,.app-shell .main .status-pill{--ink:#17110f;--ink-soft:rgba(23,17,15,0.7);--ink-faint:rgba(23,17,15,0.5);--rule:rgba(23,17,15,0.13);--rule-strong:rgba(23,17,15,0.22);--line:rgba(23,17,15,0.16);--paper:#fbf7f4;--paper-2:#f4efeb;--sheet:#fffdfb;--surface:#fffdfb;--cta:#d92d16;--cta-deep:#b8240e;--brand-soft:rgba(217,45,22,0.1);--brand-ink:#b8240e;--brand:#d92d16;--blue:#b8240e;--tone-ok:#17110f;--tone-bad:#c9260f;--tone-warn:#8f3a1c;color:var(--ink)}.auth-shell :is(.auth-form,.password-auth-form) .btn,.auth-shell :is(.auth-form,.password-auth-form) button.btn{position:relative;isolation:isolate;border:0;background:none;box-shadow:none;color:#fff6f4;font-weight:700;transition:transform .5s var(--ease-slow)}.auth-shell :is(.auth-form,.password-auth-form) .btn:before,.auth-shell :is(.auth-form,.password-auth-form) button.btn:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--cta);-webkit-clip-path:polygon(0 16%,100% 0,100% 84%,0 100%);clip-path:polygon(0 16%,100% 0,100% 84%,0 100%);transform-origin:0 50%;transition:transform .5s var(--ease-slow),background .5s var(--ease-slow)}.auth-shell :is(.auth-form,.password-auth-form) .btn:hover:not(:disabled):before{transform:scaleX(1.03);background:var(--cta-deep)}.auth-shell :is(.auth-form,.password-auth-form) .btn:active:not(:disabled){transform:scale(.985)}.auth-shell .auth-field input,.auth-shell :is(.auth-form,.password-auth-form) input{background:var(--sheet);border-color:var(--rule-strong)}.auth-shell .auth-field input::placeholder,.auth-shell :is(.auth-form,.password-auth-form) input::placeholder{color:var(--ink-faint)}.auth-shell .google-auth-btn{position:relative;isolation:isolate;border:0;background:none;box-shadow:none;color:var(--ink)}.auth-shell .google-auth-btn:after,.auth-shell .google-auth-btn:before{content:"";position:absolute;-webkit-clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);transition:background .5s var(--ease-slow)}.auth-shell .google-auth-btn:before{inset:0;z-index:-2;background:var(--rule-strong)}.auth-shell .google-auth-btn:after{inset:1px;z-index:-1;background:var(--sheet)}.auth-shell .google-auth-btn:hover:after{background:var(--paper-2)}.auth-shell .auth-card{width:min(430px,100%);padding:44px 44px 40px}.auth-shell .auth-card>h1{display:flex;align-items:center;margin:0;text-align:left;font-size:28px;font-weight:800;letter-spacing:-.03em}.auth-shell .auth-card>h1:after{content:"";flex:1 1 auto;height:1px;min-width:24px;margin-left:18px;background:var(--rule)}.auth-shell .auth-card>p.muted{margin:12px 0 30px;max-width:40ch;text-align:left;font-size:13.5px;line-height:1.65;color:var(--ink-soft)}.auth-shell .auth-field{display:grid;grid-gap:7px;gap:7px;margin-bottom:22px}.auth-shell .auth-field>span{font-size:12.5px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink-faint)}.auth-shell .auth-field input,.auth-shell :is(.auth-form,.password-auth-form) input{width:100%;padding:9px 2px 10px;border:0;border-bottom:1px solid var(--rule-strong);background:none;color:var(--ink);font-size:15.5px;transition:border-color .5s var(--ease-slow)}.auth-shell :is(.auth-form,.password-auth-form) input:hover{border-bottom-color:var(--ink-faint);background:none}.auth-shell :is(.auth-form,.password-auth-form) input:focus,.auth-shell :is(.auth-form,.password-auth-form) input:focus-visible{outline:none;border-bottom-color:var(--cta);box-shadow:none;background:none}.auth-shell .password-field{position:relative;display:block}.auth-shell .password-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);padding:6px;border:0;background:none;box-shadow:none;color:var(--ink-faint)}.auth-shell .password-toggle:hover{color:var(--ink)}.auth-shell :is(.auth-form,.password-auth-form)>.btn{width:100%;justify-content:center;margin-top:8px;padding:15px 24px;font-size:12.5px;letter-spacing:.06em}.auth-shell .auth-aside-link{margin:14px 0 0;text-align:left;font-size:13px}.auth-shell .auth-aside-link a,.auth-shell .auth-switch a{color:var(--cta-deep);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.auth-shell .auth-aside-link a:hover,.auth-shell .auth-switch a:hover{color:var(--cta)}.auth-shell .auth-divider{margin:26px 0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}.auth-shell .google-auth-btn{width:100%;justify-content:center;padding:13px;font-size:14px;font-weight:600}.auth-shell .google-mark{border:0;background:none;box-shadow:none}.auth-shell .auth-switch{margin:26px 0 0;text-align:left;font-size:13px;color:var(--ink-faint)}.auth-shell .auth-error{margin:0 0 18px;padding:10px 12px;border:0;box-shadow:inset 3px 0 0 var(--cta);background:rgba(217,45,22,.07);color:var(--ink);font-size:13px}