/* Keyboard and low-vision defaults shared by every public page and app screen. */
.a11y-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #ffe39a!important;outline-offset:3px!important;box-shadow:0 0 0 6px #07131f!important}
/* Initial and pointer-driven route focus is quiet; keyboard focus stays visible. */
html:not(.a11y-keyboard-input) :where(h1,h2,h3,[role="heading"],.sp-hero-title,.sp-checkout-title,.sp-welcome-title,#HeroTitle,#CheckoutTitle,#WelcomeTitle)[tabindex="-1"]:focus{outline:none!important;box-shadow:none!important}
/* This certificate-name heading is an announcement, not a form control. */
.uc-client .ob-web-layout .ob-title[tabindex="-1"]:focus{outline:none!important;box-shadow:none!important}
/* Put one unobstructed focus ring around composite browser text fields. */
.uc-client .login-root .field-input>input:focus-visible,.uc-client .ob-root .ob-input>input:focus-visible{outline:none!important;box-shadow:none!important}
.uc-client .ob-root .ob-input:focus-within{outline:3px solid #ffe39a!important;outline-offset:3px!important;box-shadow:0 0 0 6px #07131f!important}
/* Authentication fields use a clear inset blue edge, without a second gold frame.
   Keep focus visible for typing, keyboard navigation and automatic code entry. */
.uc-client .login-root .field-control:focus-within,.uc-client .a11y-single-code input:focus{border-color:#b5e3f1!important;outline:none!important;box-shadow:inset 0 0 0 1px #b5e3f1!important}
.uc-client .a11y-single-code input[aria-invalid="true"]:focus{border-color:#ffb8a5!important;box-shadow:inset 0 0 0 1px #ffb8a5!important}
@media(forced-colors:active){.uc-client .login-root .field-control:focus-within,.uc-client .a11y-single-code input:focus{outline:2px solid Highlight!important;outline-offset:2px!important;box-shadow:none!important}}
:where(button,a,input,select,textarea,summary){scroll-margin-block:100px;scroll-margin-inline:12px}
:where(main,.u-scroll,[role="main"],.shelf){scroll-padding-block:90px;scroll-padding-inline:16px}
.uc-client .client-view>.ux-view>div:first-of-type{height:100%;max-height:100%;min-height:0;flex-shrink:1}
:where(button,input,select,textarea){font:inherit}
button:not(.client-puzzle-cell){min-height:32px;min-width:24px}
.uc-client button:not(.client-puzzle-cell){white-space:normal;overflow-wrap:break-word}
.skip-link{z-index:10000!important}
.a11y-options-skip:focus{top:58px!important}
.footer-controls{display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;width:100%}
.footer-controls>button,.footer-controls>#a11y-open{scroll-margin:16px;position:static;inset:auto;min-height:34px;padding:4px 12px;border:1px solid var(--line,#49616a);border-radius:24px;background:transparent;color:#9cb5b7;font:400 12px/1.5 NewZen,system-ui,sans-serif;box-shadow:none;flex-shrink:0}
.footer-controls>button:hover{background:#ccdfd21a}
.footer-controls[hidden]{display:none!important}
.a11y-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:88px;padding:24px;border-top:1px solid #49616a55;background:#08131e;color:#b9c9c4;flex:0 0 auto;width:100%}
html:has(body.uc-client.a11y-footer-layout){height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}
body.uc-client.a11y-footer-layout{height:auto;min-height:100dvh;overflow:visible}
.a11y-app-shell{display:flex;flex-direction:column;position:relative;width:100%;height:100vh;height:100dvh;min-height:0;flex:0 0 auto}
.a11y-footer-layout .u-scroll{overscroll-behavior-y:auto}
#a11y-preferences{max-width:min(94vw,650px);max-height:90dvh;overflow:auto;border:2px solid #9adad0;border-radius:20px;padding:28px;background:#0b2130;color:#f6efdc;font:18px/1.6 NewZen,system-ui,sans-serif}
#a11y-preferences::backdrop{background:#020b14d9}
#a11y-preferences h2{font-size:30px;line-height:1.25;margin:0 0 16px}
#a11y-preferences label{display:flex;align-items:center;gap:14px;padding:10px 0;cursor:pointer}
#a11y-preferences input{width:24px;height:24px;flex-shrink:0;accent-color:#dfc27f}
#a11y-preferences select{padding:8px;background:#102d40;color:#fff;border:1px solid #a8bfc9;border-radius:6px;min-width:110px}
.a11y-tool-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
#a11y-preferences button{padding:10px 16px;background:#f0d69b;color:#11202a;min-height:44px;border:2px solid #f0d69b;border-radius:12px}
.a11y-error-summary{padding:18px;margin:14px;border:2px solid #ffc7b1;border-radius:12px;background:#301d25;color:#ffe4d9;font:17px/1.6 NewZen,system-ui,sans-serif;flex-shrink:0;max-height:40vh;overflow:auto}
.a11y-error-summary a{color:#fff3c4;text-decoration:underline}.a11y-error-summary p{margin:8px 0}.a11y-error-summary strong{font-size:20px}
[aria-invalid="true"]{border:2px solid #ffb8a5!important}
.a11y-hold-alternative{align-self:center;margin:8px;max-width:100%;padding:8px 16px;min-height:44px!important;background:#153144;color:#fff3cf;border:1px solid #bba574;border-radius:14px}
.client-puzzle-grid>[role="row"]{display:contents}
.client-puzzle-cell:focus-visible{z-index:3;outline-offset:0!important;outline:3px solid #fff0aa!important}
.uc-client .mu-form input,.uc-client [data-screen="MemberUpdatePage"] input{color:#f1f5fa!important;background-color:#071927!important}
.uc-client .btn-primary{background-color:#3455bd!important;color:#fff!important}
.uc-client .tts-play-btn,.uc-client .tts-stop-btn{color:#f5efdb!important;background-color:#153144!important}
.uc-client .reward-claim-button,.uc-client .reward-claim-button:hover{background-color:#155aab!important}
.uc-client .client-certificate,.uc-client .client-certificate :is(p,.eyebrow,small){color:#263d49!important}
.uc-client .client-certificate button{background:#153144;color:#fff}
.uc-client .ob-option{color:#f1f5fa}
.uc-client [data-screen="OnboardingPage"] input{color:#f1f5fa!important;background-color:#081b2a!important}
.a11y-reduce-motion *, .a11y-reduce-motion *::before,.a11y-reduce-motion *::after,.a11y-pause-motion *, .a11y-pause-motion *::before,.a11y-pause-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.a11y-contrast body{background:#030e18!important;color:#fff!important}
.a11y-contrast :is(.client-card,.course-card,.sp-plan-card,.client-answer,.client-flashcard,.a11y-error-summary){background:#071927!important;color:#fff!important;border-color:#d3e9f0!important}
.a11y-contrast :is(.ux-view,.course-card,.client-card,.site-nav,.site-footer,.sp-root,.about-page,main,.ci-content,.cei-content) :is(p,span,.u-label,small,h1,h2,h3,label,button,a){color:#fff!important;text-shadow:0 1px 2px #000}
.a11y-contrast :is(input,textarea,select){color:#fff!important;background:#071927!important;border-color:#d3e9f0!important}
.a11y-contrast :is(.primary,.sp-primary,.btn-primary,.learner-continue){background:#fff1c6!important;color:#10202a!important;text-shadow:none!important}
.a11y-contrast :is(.primary,.learner-continue) *{color:inherit!important;text-shadow:none!important}
.a11y-contrast .client-certificate :is(p,span,small,h1,h2,h3,.eyebrow){color:#10202a!important;text-shadow:none!important}
.a11y-large-text body{font-size:var(--a11y-text-size)!important}
.a11y-large-text :is(.ux-view,.course-card,.site-nav,.site-footer,.sp-root,.about-page,main,.ci-content,.cei-content) :is(p,small,label,input,textarea,select,button,.u-label){font-size:var(--a11y-text-size)!important;line-height:1.6!important;white-space:normal!important;overflow-wrap:anywhere}
/* Reading text can grow without turning the decorative wordmark into a banner. */
.a11y-large-text :is(.site-brand,.client-brand) small{font-size:8px!important;line-height:1.25!important;white-space:nowrap!important}
.a11y-large-text .ux-view .u-label{height:auto!important;max-height:none!important}
.a11y-large-text .ux-view button:not(.client-puzzle-cell){height:auto!important;min-height:44px!important}
.a11y-large-text .ux-view :is(h1,[role="heading"][aria-level="1"]){font-size:calc(var(--a11y-text-size)*1.6)!important;line-height:1.25!important}
.a11y-large-text .client-view>.ux-view{overflow-y:auto}
@media(max-width:480px){.client-grid{min-width:0}.a11y-tool-actions{flex-direction:column}.a11y-large-text .ux-view .client-row{flex-wrap:wrap}.a11y-large-text .sp-plan-cards{flex-direction:column!important}}
@media(pointer:coarse){button:not(.client-puzzle-cell),summary{min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(forced-colors:active){:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}button,input,select,textarea,[role="progressbar"]{border:1px solid ButtonText!important}#a11y-open,#a11y-preferences,.a11y-error-summary{background:Canvas!important;color:CanvasText!important;border:2px solid CanvasText!important}.client-puzzle-cell.found{border:3px double Highlight!important}.client-puzzle-cell.anchor{outline:3px solid Highlight!important}.client-milestone-fill{background:Highlight!important}}

.uc-client .ob-primary-button{background-color:#1255b0!important;color:#fff!important}
.a11y-tablist{display:flex;flex-wrap:wrap;gap:6px}
.uc-client .client-slim-card h2{font-size:22px;margin:0 0 8px}
.uc-client .ai-activity-card h2{font-size:24px}
.uc-client .ux-view .mu-host{position:relative;top:auto;bottom:auto;max-width:700px;width:100%;margin:auto;padding:22px}
.uc-client .ux-view .mu-card{background:#102634f7;color:#f4f7fc;border:1px solid #9ab9c7;opacity:1;max-height:none}
.uc-client .ux-view .mu-scroll{top:72px;bottom:96px;padding:0}
.uc-client .ux-view .subs-actionbar{z-index:30;min-height:76px}
.uc-client .ux-view .subs-actionbar-inner{display:flex;flex-direction:row!important;justify-content:center;flex-wrap:wrap;gap:16px}
.uc-client .ux-view .subs-pill{width:auto!important;min-width:140px;min-height:44px;color:#fff;background:#153b58}
.uc-client .ux-view .subs-pill-primary{background:#ead098;color:#10202a}
.uc-client .ux-view .subs-actionbar-inner>.subs-pill{position:relative!important;inset:auto!important;flex:1 1 0;min-width:0;max-width:100%;width:auto!important;align-self:stretch}
.uc-client .ux-view .subs-actionbar-inner{flex-wrap:nowrap}
.a11y-transcript{margin-top:18px;max-height:40vh;overflow:auto;font-size:18px;line-height:1.7;text-align:left}
.a11y-transcript summary{cursor:pointer;padding:10px;text-decoration:underline}
.uc-client :is(.ev-hint,.ev-footer-link,.ev-footer-muted){color:#b4c6df!important;font-size:12px!important}
.a11y-contrast :is(.primary,.sp-primary,.btn-primary) *{color:#10202a!important;text-shadow:none!important}
.a11y-contrast .ux-view :is(.primary,.sp-primary,.btn-primary){color:#10202a!important;background:#fff1c6!important;text-shadow:none!important}
.a11y-large-text :is(.client-bar,.client-dock) :is(a,button,span){font-size:var(--a11y-text-size)!important;line-height:1.4!important}
.a11y-large-text .client-bar,.a11y-large-text .client-bar nav{flex-wrap:wrap}
.a11y-large-text .footer-controls>button{font-size:var(--a11y-text-size)!important;line-height:1.6!important}
.a11y-large-text #a11y-preferences{font-size:max(18px,var(--a11y-text-size))}
.a11y-large-text #a11y-preferences label{flex-wrap:wrap}
.a11y-media-read:focus{position:absolute;left:20px;top:70px;z-index:80;background:#132f43;color:#fff3cf;padding:14px;border:2px solid #ffe39a}
.a11y-reduce-motion #CinematicManifestoViewport,.a11y-pause-motion #CinematicManifestoViewport{overflow-y:auto!important}
.a11y-reduce-motion #CinematicManifestoTrack,.a11y-pause-motion #CinematicManifestoTrack{position:relative!important;top:0!important;translate:0!important;transform:none!important;height:auto!important;padding-top:70px!important}
.a11y-reduce-motion #CinematicTitleStage,.a11y-pause-motion #CinematicTitleStage,.a11y-reduce-motion #CinematicBulbStage,.a11y-pause-motion #CinematicBulbStage{display:none!important}

.a11y-single-code{display:flex;flex-direction:column;gap:8px;color:#f3f7fb;font-size:18px}.a11y-single-code input{font-size:28px!important;letter-spacing:.4em;text-align:center;padding:14px;width:100%;max-width:340px;background:#102536;color:#fff;border:2px solid #8cb7c4;border-radius:12px}.a11y-answer-result{margin-left:auto;font-size:14px!important;font-weight:700;color:inherit!important}

@media print{#a11y-open,.a11y-footer,.a11y-options-skip{display:none!important}.a11y-app-shell{height:auto;overflow:visible}}

#a11y-open[hidden],.a11y-options-skip[hidden]{display:none!important}
.site-copyright{display:block;font:400 12px/1.5 NewZen,system-ui,sans-serif;color:#a8bdbd;text-align:center;max-width:100%;margin:0}
