/* Typing Agent overrides for Yeti A11y Kit
   Push the launcher + panel below the 50px #return_to_admin bar */
body.has-return-btn .ya-launcher {
    bottom: 20px !important;
    left: 20px !important;
}
body.has-return-btn .ya-panel {
    bottom: 84px !important;
    left: 20px !important;
}

/* Fix: the ? help button's 44×44 expanded touch target overlaps the
   adjacent toggle switch, making it unclickable. Disable the oversized
   hit area entirely — the label row is already large enough to tap. */
.ya-help::before {
    display: none !important;
}

/* Student dashboard polish in high contrast mode.
   Tighten the faux-phone chrome, make image-based icons monochrome,
   and give the Blizzard beta badge and footer branding a deliberate
   black/yellow treatment instead of leaving them in mixed colors. */
body.ya-high-contrast.home-block .phone {
    background: #000 !important;
    border: 10px solid #fff !important;
    box-shadow: 0 0 0 4px #ffff00 !important;
}

body.ya-high-contrast.home-block .phone .top,
body.ya-high-contrast.home-block .phone .block-button,
body.ya-high-contrast.home-block .phone .silent-button,
body.ya-high-contrast.home-block .phone .vol-up-button,
body.ya-high-contrast.home-block .phone .vol-down-button {
    background: #fff !important;
}

body.ya-high-contrast.home-block .phone .top .speaker {
    background: #ffff00 !important;
}

body.ya-high-contrast.home-block .phone .top .camera1,
body.ya-high-contrast.home-block .phone .top .camera2,
body.ya-high-contrast.home-block .phone .top .camera3,
body.ya-high-contrast.home-block .phone .top .camera4 {
    background: #000 !important;
    border: 2px solid #fff !important;
    box-shadow: inset 0 0 0 3px #ffff00 !important;
}

body.ya-high-contrast.home-block .phone .top .battery-container .battery {
    background: #000 !important;
    border: 2px solid #fff !important;
}

body.ya-high-contrast.home-block .phone .top .battery-container .battery-edge,
body.ya-high-contrast.home-block .phone .top .battery-container .battery-level,
body.ya-high-contrast.home-block .phone .top .bars-container .bar {
    background: #ffff00 !important;
}

body.ya-high-contrast.home-block .phone .top .battery-container .percentage,
body.ya-high-contrast.home-block .phone .top .bars-container .bar:nth-child(5) {
    color: #ffff00 !important;
}

body.ya-high-contrast.home-block .phone-item-icon,
body.ya-high-contrast.home-block .phone-item-locked-icon {
    background: #000 !important;
    border: 3px solid #fff !important;
    color: #ffff00 !important;
    box-shadow: none !important;
}

body.ya-high-contrast.home-block .phone-item.locked .phone-item-locked-icon {
    background: #111 !important;
}

body.ya-high-contrast.home-block .phone-item a:hover .phone-item-icon,
body.ya-high-contrast.home-block .phone-item a:focus .phone-item-icon,
body.ya-high-contrast.home-block .phone-item a:hover .phone-item-locked-icon,
body.ya-high-contrast.home-block .phone-item a:focus .phone-item-locked-icon,
body.ya-high-contrast.home-block .phone-item-icon:hover {
    border-color: #ffff00 !important;
    box-shadow: 0 0 0 3px #ffff00 !important;
}

body.ya-high-contrast.home-block form.phone-item-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

body.ya-high-contrast.home-block form.phone-item-icon button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.ya-high-contrast.home-block form.phone-item-icon button:hover,
body.ya-high-contrast.home-block form.phone-item-icon button:focus,
body.ya-high-contrast.home-block form.phone-item-icon button:focus-visible {
    background: transparent !important;
    color: inherit !important;
    border: 0 !important;
    box-shadow: inset 0 0 0 3px #ffff00 !important;
}

body.ya-high-contrast.home-block .phone-item-icon img,
body.ya-high-contrast.home-block .avatar img,
body.ya-high-contrast.home-block .footer img {
    filter: grayscale(1) brightness(0) invert(1) contrast(1.2) !important;
}

body.ya-high-contrast .typing-stats .hexagon-small {
    background: #000 !important;
    box-shadow: inset 0 0 0 2px #ffff00 !important;
}

body.ya-high-contrast .typing-stats .hexagon-small::before {
    border-bottom-color: #000 !important;
}

body.ya-high-contrast .typing-stats .hexagon-small::after {
    border-top-color: #000 !important;
}

body.ya-high-contrast .typing-stats .hexagon-content,
body.ya-high-contrast .typing-stats .hexagon-icon::before,
body.ya-high-contrast .typing-stats .hexagon-streak-value {
    color: #ffff00 !important;
}

body.ya-high-contrast .typing-stats .hexagon-content span,
body.ya-high-contrast .typing-stats .hexagon-content div,
body.ya-high-contrast .typing-stats .hexagon-wpm-value,
body.ya-high-contrast .typing-stats .hexagon-accuracy-value,
body.ya-high-contrast .typing-stats .hexagon-time-value,
body.ya-high-contrast .typing-stats .hexagon-streak-value,
body.ya-high-contrast .typing-stats .hexagon-icon,
body.ya-high-contrast .typing-stats .hexagon-icon-wrapper {
    color: #ffff00 !important;
    background: transparent !important;
}

body.ya-high-contrast .typing-stats .hexagon-icon::before {
    color: #ffff00 !important;
}

body.ya-high-contrast .typing-stats .hexagon-content {
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px;
    top: 0 !important;
    height: 100%;
    font-size: 14px !important;
}

body.ya-high-contrast .typing-stats .hexagon-icon-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

body.ya-high-contrast .typing-stats .hexagon-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px;
    height: 16px;
}

body.ya-high-contrast .typing-stats .hexagon-icon::before {
    position: static !important;
    display: block !important;
    font-size: 16px !important;
    line-height: 1 !important;
    left: auto !important;
    top: auto !important;
    z-index: auto !important;
}

body.ya-high-contrast .typing-stats .hexagon-streak-value,
body.ya-high-contrast .typing-stats .hexagon-wpm-value,
body.ya-high-contrast .typing-stats .hexagon-accuracy-value,
body.ya-high-contrast .typing-stats .hexagon-time-value {
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
}

body.ya-high-contrast .typing-stats .hexagon-small,
body.ya-high-contrast .typing-stats .hexagon-small::before,
body.ya-high-contrast .typing-stats .hexagon-small::after {
    filter: none !important;
}

body.ya-high-contrast.home-block .other-stats ul li {
    border-right-color: #fff !important;
}

body.ya-high-contrast.home-block .other-stats ul li a img,
body.ya-high-contrast.home-block .fixed-action-btn img,
body.ya-high-contrast.home-block .home-icon {
    filter: grayscale(1) brightness(0) invert(1) contrast(1.2) !important;
}

body.ya-high-contrast.home-block .other-stats ul li a:hover,
body.ya-high-contrast.home-block .my-account .dropdown-toggle:hover {
    background: #111 !important;
    box-shadow: inset 0 0 0 2px #ffff00 !important;
}

body.ya-high-contrast.home-block .avatar,
body.ya-high-contrast.home-block .default-avatar {
    background: #000 !important;
    border: 2px solid #fff !important;
    border-radius: 10px !important;
}

body.ya-high-contrast.home-block .dropdown-toggle .user,
body.ya-high-contrast.home-block .my-account,
body.ya-high-contrast.home-block .my-account * {
    color: #ffff00 !important;
}

body.ya-high-contrast.home-block span.beta {
    background: #ffff00 !important;
    color: #000 !important;
    border: 2px solid #fff !important;
    box-shadow: 0 0 0 2px #000 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em;
    min-width: 42px;
    text-align: center;
}

body.ya-high-contrast.home-block .footer {
    border-top: 2px solid #fff !important;
}

body.ya-high-contrast.home-block .footer a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 210px;
    min-height: 44px;
    padding: 6px 12px;
    border: 2px solid #fff !important;
    border-radius: 8px;
    background: #000 !important;
    text-decoration: none !important;
}

body.ya-high-contrast.home-block .footer a::after {
    content: 'Typing Agent';
    color: #ffff00 !important;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

body.ya-high-contrast.home-block .footer img {
    display: none !important;
}

.ya-legacy-hidden {
    display: none !important;
}

body.ya-high-contrast.ya-moonlight-activity .ui-overlay,
body.ya-high-contrast.ya-moonlight-activity .timer,
body.ya-high-contrast.ya-moonlight-activity .instructions,
body.ya-high-contrast.ya-moonlight-activity .intro-popup,
body.ya-high-contrast.ya-moonlight-activity .game-over,
body.ya-high-contrast.ya-moonlight-activity .keyboard-toggle,
body.ya-high-contrast.ya-moonlight-activity .virtual-keyboard {
    background: #000 !important;
    border: 2px solid #fff !important;
    box-shadow: 0 0 0 3px #ffff00 !important;
    color: #fff !important;
    text-shadow: none !important;
}

body.ya-high-contrast.ya-moonlight-activity .ui-overlay,
body.ya-high-contrast.ya-moonlight-activity .timer {
    padding: 16px 18px !important;
    border-radius: 18px !important;
    backdrop-filter: none !important;
}

body.ya-high-contrast.ya-moonlight-activity .instructions {
    bottom: 26px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: min(720px, calc(100vw - 180px)) !important;
    padding: 14px 24px !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    text-align: center !important;
}

body.ya-high-contrast.ya-moonlight-activity .keyboard-toggle {
    right: 24px !important;
    bottom: 24px !important;
}

body.ya-high-contrast.ya-moonlight-activity #progressBar {
    background: linear-gradient(90deg, #ffff00, #ffb800) !important;
}

body.ya-high-contrast.ya-moonlight-activity .intro-popup h1,
body.ya-high-contrast.ya-moonlight-activity .intro-popup h2,
body.ya-high-contrast.ya-moonlight-activity .intro-popup p,
body.ya-high-contrast.ya-moonlight-activity .intro-popup li,
body.ya-high-contrast.ya-moonlight-activity .game-over p,
body.ya-high-contrast.ya-moonlight-activity .game-over h2 {
    color: #fff !important;
}

body.ya-high-contrast.ya-moonlight-activity .intro-popup .btn,
body.ya-high-contrast.ya-moonlight-activity .game-over .btn {
    background: #ffff00 !important;
    border: 2px solid #fff !important;
    color: #000 !important;
    box-shadow: none !important;
}

body.ya-high-contrast.ya-star-destroyer-activity {
    background: #f8fafc !important;
    color: #212529 !important;
}

body.ya-high-contrast.ya-star-destroyer-activity #app5_tutor,
body.ya-high-contrast.ya-star-destroyer-activity #play_area,
body.ya-high-contrast.ya-star-destroyer-activity main:not(.game-container),
body.ya-high-contrast.ya-star-destroyer-activity .keyboard-container,
body.ya-high-contrast.ya-star-destroyer-activity .keyboard-row,
body.ya-high-contrast.ya-star-destroyer-activity #hands-display,
body.ya-high-contrast.ya-star-destroyer-activity .instruction-box-inner,
body.ya-high-contrast.ya-star-destroyer-activity .snowball-slots {
    background: transparent !important;
    color: inherit !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .snowflake {
    color: #93c5fd !important;
    opacity: 0.7 !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .game-container {
    background: #fff !important;
    color: #212529 !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3) !important;
    border-color: transparent !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .snowball-collection {
    background: linear-gradient(135deg, #e0f2fe, #f0f9ff) !important;
    color: #212529 !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .collection-label {
    color: #2d3748 !important;
    text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.8), -1px -1px 0 rgba(255, 255, 255, 0.8) !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .score-display {
    color: #4a5568 !important;
    text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.8), -1px -1px 0 rgba(255, 255, 255, 0.8) !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .combo-display {
    color: #667eea !important;
    text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.8), -1px -1px 0 rgba(255, 255, 255, 0.8) !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .snowball-slot {
    background: #fff !important;
    color: #2d3748 !important;
    border: 2px dashed #718096 !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .snowball-slot.filled {
    background: radial-gradient(circle at 30% 30%, #ffffff, #e0f2ff) !important;
    border: 2px solid #4299e1 !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .snowball-slot.filled i {
    color: #53b602 !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .start-instructions {
    background: #2d3748 !important;
    color: #fff !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2) !important;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000, 0 0 10px rgba(0, 0, 0, 0.5) !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .start-instructions span {
    background: rgba(255, 255, 255, 0.2) !important;
    color: #ffed4e !important;
    text-shadow: -2px -2px 0 #000, 2px -2px 0 #000, -2px 2px 0 #000, 2px 2px 0 #000, 0 0 10px rgba(0, 0, 0, 0.8) !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .instruction-box {
    background: linear-gradient(135deg, #667eea, #764ba2) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2) !important;
    text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5), 1px -1px 0 rgba(0, 0, 0, 0.5), -1px 1px 0 rgba(0, 0, 0, 0.5), 1px 1px 0 rgba(0, 0, 0, 0.5) !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .key-display {
    background: rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
    border-color: transparent !important;
    text-shadow: -2px -2px 0 #000, 2px -2px 0 #000, -2px 2px 0 #000, 2px 2px 0 #000, 0 0 10px rgba(0, 0, 0, 0.5) !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .finger-instruction {
    color: #fff !important;
    text-shadow: -2px -2px 0 #000, 2px -2px 0 #000, -2px 2px 0 #000, 2px 2px 0 #000, -3px 0 0 #000, 3px 0 0 #000, 0 -3px 0 #000, 0 3px 0 #000, 0 0 15px rgba(0, 0, 0, 0.8) !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .key {
    background: #fff !important;
    color: #2d3748 !important;
    border: 2px solid #4a5568 !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .key[data-key="y"],
body.ya-high-contrast.ya-star-destroyer-activity .key[data-key="u"],
body.ya-high-contrast.ya-star-destroyer-activity .key[data-key="i"],
body.ya-high-contrast.ya-star-destroyer-activity .key[data-key="o"],
body.ya-high-contrast.ya-star-destroyer-activity .key[data-key="p"],
body.ya-high-contrast.ya-star-destroyer-activity .key[data-key="["],
body.ya-high-contrast.ya-star-destroyer-activity .key[data-key="]"],
body.ya-high-contrast.ya-star-destroyer-activity .key[data-key="\\"],
body.ya-high-contrast.ya-star-destroyer-activity .key[data-key="h"],
body.ya-high-contrast.ya-star-destroyer-activity .key[data-key="j"],
body.ya-high-contrast.ya-star-destroyer-activity .key[data-key="k"],
body.ya-high-contrast.ya-star-destroyer-activity .key[data-key="l"],
body.ya-high-contrast.ya-star-destroyer-activity .key[data-key=";"],
body.ya-high-contrast.ya-star-destroyer-activity .key[data-key="'"],
body.ya-high-contrast.ya-star-destroyer-activity .key[data-key="n"],
body.ya-high-contrast.ya-star-destroyer-activity .key[data-key="m"],
body.ya-high-contrast.ya-star-destroyer-activity .key[data-key=","],
body.ya-high-contrast.ya-star-destroyer-activity .key[data-key="."],
body.ya-high-contrast.ya-star-destroyer-activity .key[data-key="/"],
body.ya-high-contrast.ya-star-destroyer-activity .key.right-hand {
    border-color: #3b82f6 !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .bg-sky-blue {
    background: #A6E0F1 !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .bg-light-purple {
    background: #C9BDDA !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .bg-light-pink {
    background: #F48A9E !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .bg-light-brown {
    background: #F7C88F !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .bg-light-yellow {
    background: #FFEEB6 !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .key.active {
    background: linear-gradient(135deg, #48bb78, #38a169) !important;
    border-color: #38a169 !important;
    color: #fff !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .key.wrong {
    background: linear-gradient(135deg, #fc8181, #f56565) !important;
    border-color: #f56565 !important;
    color: #fff !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .key[data-key="f"]::after,
body.ya-high-contrast.ya-star-destroyer-activity .key[data-key="j"]::after {
    background: #2d3748 !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .home-row-letter {
    color: #1a202c !important;
    background: transparent !important;
}

body.ya-high-contrast.ya-star-destroyer-activity #hands-display .hand-svg path {
    fill: none !important;
    stroke: none !important;
}

body.ya-high-contrast.ya-star-destroyer-activity #hands-display .hand-svg path#leftPalm,
body.ya-high-contrast.ya-star-destroyer-activity #hands-display .hand-svg path#rightPalm,
body.ya-high-contrast.ya-star-destroyer-activity #hands-display .hand-svg path#singleLeftPalm,
body.ya-high-contrast.ya-star-destroyer-activity #hands-display .hand-svg path#singleRightPalm {
    fill: rgba(0, 0, 0, 0.15) !important;
}

body.ya-high-contrast.ya-star-destroyer-activity #hands-display .hand-svg path.finger-highlight {
    fill: rgba(0, 123, 255, 0.5) !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .indicator {
    background: transparent !important;
    color: #2563eb !important;
    filter: drop-shadow(0 0 10px rgba(37, 99, 235, 0.8)) !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .game-control-button {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.15)) !important;
    color: #64748b !important;
    border: 2px solid rgba(255, 255, 255, 0.4) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1), inset 0 1px 2px rgba(255, 255, 255, 0.3) !important;
}

body.ya-high-contrast.ya-star-destroyer-activity .close-btn:hover {
    background: linear-gradient(135deg, rgba(254, 226, 226, 0.4), rgba(254, 202, 202, 0.3)) !important;
    color: #dc2626 !important;
    border-color: rgba(239, 68, 68, 0.3) !important;
    box-shadow: 0 4px 15px rgba(239, 68, 68, 0.15), inset 0 1px 3px rgba(255, 255, 255, 0.4) !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div#snow,
body.ya-high-contrast.ya-star-destroyer-activity main div.snowball-collection,
body.ya-high-contrast.ya-star-destroyer-activity main div.keyboard-container,
body.ya-high-contrast.ya-star-destroyer-activity main div.keyboard-row,
body.ya-high-contrast.ya-star-destroyer-activity main div.instruction-box,
body.ya-high-contrast.ya-star-destroyer-activity main div.instruction-box-inner,
body.ya-high-contrast.ya-star-destroyer-activity main div.snowball-slots {
    border-color: transparent !important;
    box-shadow: none !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div#snow,
body.ya-high-contrast.ya-star-destroyer-activity main div.keyboard-container,
body.ya-high-contrast.ya-star-destroyer-activity main div.keyboard-row,
body.ya-high-contrast.ya-star-destroyer-activity main div.instruction-box-inner,
body.ya-high-contrast.ya-star-destroyer-activity main div.snowball-slots {
    background: transparent !important;
    color: inherit !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div.snowball-collection {
    background: linear-gradient(135deg, #e0f2fe, #f0f9ff) !important;
    color: #212529 !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div.instruction-box {
    background: linear-gradient(135deg, #667eea, #764ba2) !important;
    color: #fff !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2) !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div.collection-label {
    color: #2d3748 !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div.score-display {
    color: #4a5568 !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div.combo-display {
    color: #667eea !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div.key-display {
    background: rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
    border-color: transparent !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div.finger-instruction {
    color: #fff !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div.key {
    background: #fff !important;
    color: #2d3748 !important;
    border: 2px solid #4a5568 !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div.key.bg-sky-blue {
    background: #A6E0F1 !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div.key.bg-light-purple {
    background: #C9BDDA !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div.key.bg-light-pink {
    background: #F48A9E !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div.key.bg-light-brown {
    background: #F7C88F !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div.key.bg-light-yellow {
    background: #FFEEB6 !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div.key[data-key="y"],
body.ya-high-contrast.ya-star-destroyer-activity main div.key[data-key="u"],
body.ya-high-contrast.ya-star-destroyer-activity main div.key[data-key="i"],
body.ya-high-contrast.ya-star-destroyer-activity main div.key[data-key="o"],
body.ya-high-contrast.ya-star-destroyer-activity main div.key[data-key="p"],
body.ya-high-contrast.ya-star-destroyer-activity main div.key[data-key="["],
body.ya-high-contrast.ya-star-destroyer-activity main div.key[data-key="]"],
body.ya-high-contrast.ya-star-destroyer-activity main div.key[data-key="\\"],
body.ya-high-contrast.ya-star-destroyer-activity main div.key[data-key="h"],
body.ya-high-contrast.ya-star-destroyer-activity main div.key[data-key="j"],
body.ya-high-contrast.ya-star-destroyer-activity main div.key[data-key="k"],
body.ya-high-contrast.ya-star-destroyer-activity main div.key[data-key="l"],
body.ya-high-contrast.ya-star-destroyer-activity main div.key[data-key=";"],
body.ya-high-contrast.ya-star-destroyer-activity main div.key[data-key="'"],
body.ya-high-contrast.ya-star-destroyer-activity main div.key[data-key="n"],
body.ya-high-contrast.ya-star-destroyer-activity main div.key[data-key="m"],
body.ya-high-contrast.ya-star-destroyer-activity main div.key[data-key=","],
body.ya-high-contrast.ya-star-destroyer-activity main div.key[data-key="."],
body.ya-high-contrast.ya-star-destroyer-activity main div.key[data-key="/"],
body.ya-high-contrast.ya-star-destroyer-activity main div.key.right-hand {
    border-color: #3b82f6 !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div.key.active {
    background: linear-gradient(135deg, #48bb78, #38a169) !important;
    border-color: #38a169 !important;
    color: #fff !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div.key.wrong {
    background: linear-gradient(135deg, #fc8181, #f56565) !important;
    border-color: #f56565 !important;
    color: #fff !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div.home-row-letter {
    color: #1a202c !important;
}

body.ya-high-contrast.ya-star-destroyer-activity main div.indicator {
    background: transparent !important;
    color: #2563eb !important;
}

body.ya-high-contrast.ya-standard-tutor-activity #toolbar button,
body.ya-high-contrast.ya-standard-tutor-activity #toolbar a {
    background: #000 !important;
    border: 2px solid #fff !important;
    box-shadow: none !important;
    color: #fff !important;
}

body.ya-high-contrast.ya-standard-tutor-activity #toolbar .tool-bar-restart-btn img,
body.ya-high-contrast.ya-standard-tutor-activity #toolbar .pause-btn img,
body.ya-high-contrast.ya-standard-tutor-activity #toolbar .resume-btn img,
body.ya-high-contrast.ya-standard-tutor-activity #toolbar .sound-toggle-btn img {
    filter: brightness(0) invert(1) contrast(1.2) !important;
}

body.ya-high-contrast.ya-standard-tutor-activity #toolbar #viewBenchmarksBtn svg {
    filter: none !important;
}

body.ya-high-contrast.ya-standard-tutor-activity #toolbar .tooltip-container .tooltip {
    background: #1f2937 !important;
    color: #fff !important;
}

body.ya-high-contrast.ya-box-typing-activity .top-bar,
body.ya-high-contrast.ya-box-typing-activity .ui,
body.ya-high-contrast.ya-box-typing-activity .current-letter,
body.ya-high-contrast.ya-box-typing-activity .message,
body.ya-high-contrast.ya-box-typing-activity .toggle-btn,
body.ya-high-contrast.ya-box-typing-activity .progress-bar {
    background: #000 !important;
    border: 2px solid #fff !important;
    box-shadow: 0 0 0 3px #ffff00 !important;
    color: #fff !important;
}

body.ya-high-contrast.ya-box-typing-activity .current-letter span,
body.ya-high-contrast.ya-box-typing-activity .toggle-btn .icon,
body.ya-high-contrast.ya-box-typing-activity .toggle-btn .label,
body.ya-high-contrast.ya-box-typing-activity .ui,
body.ya-high-contrast.ya-box-typing-activity .message {
    color: #fff !important;
}

body.ya-high-contrast.ya-box-typing-activity .box.active,
body.ya-high-contrast.ya-box-typing-activity .progress-fill,
body.ya-high-contrast.ya-box-typing-activity .message .next-button,
body.ya-high-contrast.ya-box-typing-activity .toggle-btn.active {
    background: #ffff00 !important;
    color: #000 !important;
    border-color: #fff !important;
    box-shadow: none !important;
}

body.ya-high-contrast.ya-hex-lesson-activity {
    background:
        radial-gradient(circle at top left, rgba(255, 230, 120, 0.18), transparent 30%),
        radial-gradient(circle at top right, rgba(76, 200, 255, 0.16), transparent 28%),
        linear-gradient(180deg, #07111b 0%, #0c1a28 45%, #101e2a 100%) !important;
}

body.ya-high-contrast.ya-hex-lesson-activity .header-area,
body.ya-high-contrast.ya-hex-lesson-activity .keyboard-hands-wrapper,
body.ya-high-contrast.ya-hex-lesson-activity .yeti-container {
    background: transparent !important;
}

body.ya-high-contrast.ya-hex-lesson-activity .instruction-card,
body.ya-high-contrast.ya-hex-lesson-activity .keyboard,
body.ya-high-contrast.ya-hex-lesson-activity .bottom-bar,
body.ya-high-contrast.ya-hex-lesson-activity .progress-container,
body.ya-high-contrast.ya-hex-lesson-activity .floating-desk,
body.ya-high-contrast.ya-hex-lesson-activity .speaker-btn,
body.ya-high-contrast.ya-hex-lesson-activity .chromebook-toggle {
    background-color: #13263a !important;
    background-image: linear-gradient(180deg, #183149 0%, #112235 100%) !important;
    color: #fff !important;
    border: 2px solid #fff !important;
    box-shadow: 0 0 0 3px rgba(255, 230, 0, 0.45) !important;
}

body.ya-high-contrast.ya-hex-lesson-activity .instruction-card::before {
    background: linear-gradient(90deg, #7edbff 0%, #ffff00 50%, #71ff9b 100%) !important;
}

body.ya-high-contrast.ya-hex-lesson-activity .instruction-card::after,
body.ya-high-contrast.ya-hex-lesson-activity .floating-desk::before {
    opacity: 0.35 !important;
}

body.ya-high-contrast.ya-hex-lesson-activity .mascot-message,
body.ya-high-contrast.ya-hex-lesson-activity .type-prompt,
body.ya-high-contrast.ya-hex-lesson-activity .type-prompt span,
body.ya-high-contrast.ya-hex-lesson-activity .toggle-label-text,
body.ya-high-contrast.ya-hex-lesson-activity #typingInstructions,
body.ya-high-contrast.ya-hex-lesson-activity #lessonTitle,
body.ya-high-contrast.ya-hex-lesson-activity .progress-dot,
body.ya-high-contrast.ya-hex-lesson-activity .progress-text {
    color: #fff !important;
    text-shadow: none !important;
}

body.ya-high-contrast.ya-hex-lesson-activity .finger-highlight,
body.ya-high-contrast.ya-hex-lesson-activity .toggle-label-text,
body.ya-high-contrast.ya-hex-lesson-activity .key.home-row .key-top,
body.ya-high-contrast.ya-hex-lesson-activity .key.home-row {
    color: #9beaff !important;
}

body.ya-high-contrast.ya-hex-lesson-activity .target-key,
body.ya-high-contrast.ya-hex-lesson-activity .type-prompt .target-key,
body.ya-high-contrast.ya-hex-lesson-activity .key.target,
body.ya-high-contrast.ya-hex-lesson-activity .key.target::before,
body.ya-high-contrast.ya-hex-lesson-activity .btn-primary,
body.ya-high-contrast.ya-hex-lesson-activity .font-size-btn.active,
body.ya-high-contrast.ya-hex-lesson-activity .toggle-switch-small.active {
    background: #ffff00 !important;
    color: #000 !important;
    border-color: #fff !important;
    box-shadow: none !important;
}

body.ya-high-contrast.ya-hex-lesson-activity .key,
body.ya-high-contrast.ya-hex-lesson-activity .keyboard-container,
body.ya-high-contrast.ya-hex-lesson-activity .progress-container,
body.ya-high-contrast.ya-hex-lesson-activity .btn-secondary,
body.ya-high-contrast.ya-hex-lesson-activity .font-size-btn,
body.ya-high-contrast.ya-hex-lesson-activity .speaker-btn {
    background-color: #10263b !important;
    background-image: none !important;
    color: #fff !important;
    border-color: #cfe8ff !important;
}

body.ya-high-contrast.ya-hex-lesson-activity .keyboard-container {
    background-color: #0f2235 !important;
    background-image: linear-gradient(180deg, #163149 0%, #0f2235 100%) !important;
    border: 2px solid #fff !important;
    border-radius: 24px !important;
    padding: 8px !important;
    box-shadow: 0 0 0 3px rgba(255, 230, 0, 0.45) !important;
}

body.ya-high-contrast.ya-hex-lesson-activity .floating-desk {
    background-color: #5c4725 !important;
    background-image: linear-gradient(180deg, #6a522d 0%, #433113 100%) !important;
}

body.ya-high-contrast.ya-hex-lesson-activity .bottom-bar,
body.ya-high-contrast.ya-hex-lesson-activity .progress-container,
body.ya-high-contrast.ya-hex-lesson-activity .chromebook-toggle {
    box-shadow: 0 0 0 2px rgba(126, 219, 255, 0.28) !important;
}

body.ya-high-contrast.ya-hex-lesson-activity .key.home-row {
    background-color: #173b4f !important;
    background-image: linear-gradient(180deg, #1f4d67 0%, #173b4f 100%) !important;
    border-color: #7edbff !important;
}

body.ya-high-contrast.ya-hex-lesson-activity .key.wrong,
body.ya-high-contrast.ya-hex-lesson-activity .target-key.wrong {
    background-color: #c62828 !important;
    background-image: linear-gradient(180deg, #db4747 0%, #c62828 100%) !important;
    color: #fff !important;
    border-color: #fff !important;
}

body.ya-high-contrast.ya-hex-lesson-activity .target-key.success,
body.ya-high-contrast.ya-hex-lesson-activity .key.target.success {
    background-color: #4ad66d !important;
    background-image: linear-gradient(180deg, #68ef88 0%, #4ad66d 100%) !important;
    color: #000 !important;
    border-color: #fff !important;
}

body.ya-high-contrast.ya-hex-lesson-activity .progress-container > *,
body.ya-high-contrast.ya-hex-lesson-activity .bottom-bar > * {
    color: #fff !important;
}

body.ya-high-contrast.ya-anchor-lesson-activity {
    background: #000 !important;
}

body.ya-high-contrast.ya-anchor-lesson-activity #content,
body.ya-high-contrast.ya-anchor-lesson-activity #letter-display,
body.ya-high-contrast.ya-anchor-lesson-activity #progress-bar,
body.ya-high-contrast.ya-anchor-lesson-activity #keyboard-container,
body.ya-high-contrast.ya-anchor-lesson-activity #keyboard-placeholder,
body.ya-high-contrast.ya-anchor-lesson-activity #overlay,
body.ya-high-contrast.ya-anchor-lesson-activity #streak-indicator,
body.ya-high-contrast.ya-anchor-lesson-activity .completion-btn,
body.ya-high-contrast.ya-anchor-lesson-activity #error-toast {
    background: #000 !important;
    color: #fff !important;
    border: 2px solid #fff !important;
    box-shadow: 0 0 0 3px rgba(255, 230, 0, 0.45) !important;
    text-shadow: none !important;
}

body.ya-high-contrast.ya-anchor-lesson-activity .instruction,
body.ya-high-contrast.ya-anchor-lesson-activity .stat-label,
body.ya-high-contrast.ya-anchor-lesson-activity .stat-value,
body.ya-high-contrast.ya-anchor-lesson-activity .final-stat-label,
body.ya-high-contrast.ya-anchor-lesson-activity .final-stat-value,
body.ya-high-contrast.ya-anchor-lesson-activity .shortcut-desc,
body.ya-high-contrast.ya-anchor-lesson-activity .loading-text {
    color: #fff !important;
}

body.ya-high-contrast.ya-anchor-lesson-activity .key-display,
body.ya-high-contrast.ya-anchor-lesson-activity #tap-start-btn,
body.ya-high-contrast.ya-anchor-lesson-activity .btn-primary,
body.ya-high-contrast.ya-anchor-lesson-activity .star.earned,
body.ya-high-contrast.ya-anchor-lesson-activity .key-highlight {
    background: #ffff00 !important;
    color: #000 !important;
    border-color: #fff !important;
    box-shadow: none !important;
}

body.ya-high-contrast.ya-anchor-lesson-activity .btn-secondary,
body.ya-high-contrast.ya-anchor-lesson-activity .shortcut-key,
body.ya-high-contrast.ya-anchor-lesson-activity #keyboard-placeholder {
    background: #102033 !important;
    color: #fff !important;
    border-color: #cfe8ff !important;
}
/* Consistent escape hatch for standalone curriculum shells that lack one. */
.ya-curriculum-exit {
  position: fixed;
  top: max(16px, env(safe-area-inset-top));
  right: max(16px, env(safe-area-inset-right));
  z-index: 10020;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  border-radius: 50%;
  color: #fff;
  background: #102544;
  box-shadow: 0 6px 18px rgba(7, 29, 56, .28);
  font: 700 32px/1 Arial, sans-serif;
  text-decoration: none;
}
.ya-curriculum-exit:hover,
.ya-curriculum-exit:focus-visible {
  color: #102544;
  background: #fff;
  outline: 3px solid #f6b62d;
  outline-offset: 2px;
}
body.ya-high-contrast .ya-curriculum-exit {
  color: #000 !important;
  background: #ff0 !important;
  border-color: #ff0 !important;
}
body:has(.sv6-demo-banner) .ya-curriculum-exit,
body:has(#ym-imp-banner) .ya-curriculum-exit {
  top: 112px;
}
@media print {
  .ya-curriculum-exit { display: none !important; }
}
