/* Source: /css/universal-site-header-v17.7.2.css */
/* ==========================================================
   TypingTutor.Online — Universal Site Header v17.7.2
   One complete header for tutor, tests, games, kids, blog,
   certificates, information pages, sitemap, and 404.
========================================================== */

#header,
.test-site-header {
    box-sizing: border-box !important;
    position: relative;
    z-index: 1000;
    width: 100%;
    min-height: 80px;
    padding: max(9px, env(safe-area-inset-top)) 0 9px;
    background: var(--surface, #ffffff);
    border-bottom: 1px solid var(--border, #dbe4f0);
    box-shadow: 0 2px 10px rgba(15, 23, 42, .06);
}

#header .header-inner,
.test-header-inner {
    box-sizing: border-box;
    width: min(1660px, calc(100% - 34px));
    min-height: 60px;
    margin-inline: auto;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(235px, 300px) minmax(0, 1fr) auto;
    gap: clamp(10px, 1.4vw, 24px);
    align-items: center;
}

#header .logo,
.test-logo {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-self: start;
    color: inherit;
    text-decoration: none;
}

#header .site-logo-picture,
.test-logo-stack {
    position: relative;
    display: grid;
    width: min(280px, 100%);
    min-width: 0;
}

#header .site-logo-picture,
#header .site-logo-picture-light,
#header .site-logo-picture-dark,
.test-logo-stack > img {
    grid-area: 1 / 1;
}

#header .site-logo-image,
.test-logo img {
    display: block;
    width: min(280px, 100%);
    height: auto;
    max-height: 60px;
    object-fit: contain;
    object-position: left center;
}

#header .site-logo-picture-dark,
.test-logo-dark {
    display: none !important;
}

html[data-theme="dark"] #header .site-logo-picture-light,
html[data-theme="dark"] .test-logo-light {
    display: none !important;
}

html[data-theme="dark"] #header .site-logo-picture-dark,
html[data-theme="dark"] .test-logo-dark {
    display: block !important;
}

#header .primary-mode-navigation,
.test-nav {
    min-width: 0;
    width: 100%;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(2px, .72vw, 12px);
    overflow: visible;
}

#header #modeSwitcher,
#header .mode-switcher-inner,
#header .mode-navigation {
    min-width: 0;
    width: auto;
}

#header .mode-navigation {
    display: flex;
    align-items: center;
    gap: clamp(2px, .72vw, 12px);
}

#header .mode-switcher-heading {
    display: none !important;
}

#header .lesson-home-nav-button,
#header .mode-navigation > .mode-button,
#header .mode-more > summary.mode-button,
.test-nav > a,
.test-nav-more > summary {
    box-sizing: border-box;
    min-width: 0;
    min-height: 48px;
    margin: 0;
    padding: 10px clamp(9px, .78vw, 15px);
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--text, #172235);
    background: transparent;
    border: 1px solid transparent;
    border-radius: 12px;
    font: inherit;
    font-size: clamp(12px, .84vw, 15px);
    font-weight: 750;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: color .16s ease, background-color .16s ease,
        border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

#header .mode-button-icon,
#header .lesson-home-nav-icon,
.test-nav .mode-button-icon,
.test-nav-more-menu .mode-button-icon {
    display: inline-flex;
    flex: 0 0 22px;
    width: 22px;
    min-width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
    font-size: 19px;
    font-weight: 400;
    line-height: 22px;
    text-align: center;
}

#header .mode-button-text,
#header .lesson-home-nav-label,
.test-nav .mode-button-text {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

#header .lesson-home-nav-button:hover,
#header .mode-navigation > .mode-button:hover,
#header .mode-more > summary.mode-button:hover,
.test-nav > a:hover,
.test-nav-more > summary:hover,
.test-nav-more[open] > summary {
    color: var(--primary, #1769ff);
    background: var(--surface-alt, #f2f7ff);
    border-color: #dbe8fa;
}

#header .lesson-home-nav-button-active,
#header .mode-navigation > .mode-button-active,
#header .mode-more.mode-more-active > summary,
.test-nav > a[aria-current="page"],
.test-nav > a.mode-button-active,
.test-nav-more.mode-more-active > summary {
    color: #ffffff !important;
    background: linear-gradient(135deg, #246df0, #285ee5) !important;
    border-color: rgba(31, 92, 222, .58) !important;
    box-shadow: 0 10px 24px rgba(47, 103, 246, .24) !important;
}

#header .header-tools,
.test-header-inner > #themeButton {
    justify-self: end;
}

#header #themeButton,
.test-header-inner > #themeButton {
    box-sizing: border-box;
    min-width: 116px;
    min-height: 48px;
    margin: 0;
    padding: 10px 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #ffffff;
    background: linear-gradient(135deg, #246df0, #285ee5);
    border: 0;
    border-radius: 12px;
    font: inherit;
    font-size: clamp(12px, .84vw, 15px);
    font-weight: 750;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(47, 103, 246, .20);
}

#header #themeButton > span:first-child,
.test-header-inner > #themeButton > span:first-child {
    display: inline-flex;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
    font-size: 19px;
    line-height: 22px;
}

.theme-button-arrow,
.mode-more-chevron {
    font-size: 10px;
    opacity: .8;
}

#header .mode-more,
.test-nav-more {
    position: relative;
    flex: 0 0 auto;
}

#header .mode-more > summary,
.test-nav-more > summary {
    list-style: none;
}

#header .mode-more > summary::-webkit-details-marker,
.test-nav-more > summary::-webkit-details-marker {
    display: none;
}

#header .mode-more-menu,
.test-nav-more-menu {
    box-sizing: border-box;
    position: absolute;
    z-index: 1200;
    top: calc(100% + 10px);
    right: 0;
    width: 244px;
    padding: 8px;
    display: none;
    gap: 4px;
    background: var(--surface-elevated, #ffffff);
    border: 1px solid var(--border, #dbe4f0);
    border-radius: 14px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .18);
}

#header .mode-more[open] .mode-more-menu,
.test-nav-more[open] .test-nav-more-menu {
    display: grid;
}

#header .mode-more-menu .mode-button,
.test-nav-more-menu a,
.test-nav-more-menu button {
    box-sizing: border-box;
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    color: var(--text, #172235);
    background: transparent;
    border: 1px solid transparent;
    border-radius: 10px;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

#header .mode-more-menu .mode-button:hover,
.test-nav-more-menu a:hover,
.test-nav-more-menu button:hover,
.test-nav-more-menu a[aria-current="page"] {
    color: var(--primary, #1769ff);
    background: var(--surface-alt, #f2f7ff);
    border-color: var(--border, #dbe4f0);
}

/* Theme chooser: included here so simple information pages match the app. */
.theme-menu {
    position: fixed;
    z-index: 10050;
    width: 250px;
    padding: 8px;
    background: var(--surface-elevated, #ffffff);
    border: 1px solid var(--border, #dbe4f0);
    border-radius: 14px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .22);
}
.theme-menu.hidden { display: none !important; }
.theme-option {
    display: grid;
    grid-template-columns: 36px 1fr 22px;
    gap: 10px;
    align-items: center;
    width: 100%;
    padding: 10px;
    color: var(--text, #172235);
    text-align: left;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 10px;
    cursor: pointer;
}
.theme-option:hover,
.theme-option:focus-visible {
    background: var(--surface-alt, #f2f7ff);
    border-color: var(--border, #dbe4f0);
    outline: none;
}
.theme-option-icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    background: var(--surface-alt, #f2f7ff);
    border-radius: 9px;
    font-size: 18px;
}
.theme-option-copy { display: grid; gap: 2px; }
.theme-option-copy strong { color: var(--text, #172235); font-size: 13px; }
.theme-option-copy small { color: var(--text-light, #718096); font-size: 10px; }
.theme-option-check { color: var(--primary, #1769ff); font-weight: 900; opacity: 0; }
.theme-option-selected { background: var(--primary-light, #edf4ff); border-color: var(--border, #dbe4f0); }
.theme-option-selected .theme-option-check { opacity: 1; }

html[data-theme="dark"] #header,
html[data-theme="dark"] .test-site-header {
    background: #101b2e;
    border-color: #40516a;
}
html[data-theme="dark"] #header .lesson-home-nav-button,
html[data-theme="dark"] #header .mode-navigation > .mode-button,
html[data-theme="dark"] #header .mode-more > summary.mode-button,
html[data-theme="dark"] .test-nav > a,
html[data-theme="dark"] .test-nav-more > summary,
html[data-theme="dark"] #header .mode-more-menu .mode-button,
html[data-theme="dark"] .test-nav-more-menu a,
html[data-theme="dark"] .test-nav-more-menu button {
    color: #dce7f7;
}
html[data-theme="dark"] #header .mode-more-menu,
html[data-theme="dark"] .test-nav-more-menu,
html[data-theme="dark"] .theme-menu {
    background: #101b2e;
    border-color: #40516a;
}
html[data-theme="dark"] .theme-option,
html[data-theme="dark"] .theme-option-copy strong { color: #e7eef9; }
html[data-theme="dark"] .theme-option-copy small { color: #9aabc2; }
html[data-theme="dark"] .theme-option-icon,
html[data-theme="dark"] .theme-option:hover,
html[data-theme="dark"] .theme-option:focus-visible,
html[data-theme="dark"] #header .mode-more-menu .mode-button:hover,
html[data-theme="dark"] .test-nav-more-menu a:hover,
html[data-theme="dark"] .test-nav-more-menu button:hover {
    background: #17263c;
    border-color: #304662;
}

@media (prefers-color-scheme: dark) {
    html[data-theme="system"] #header,
    html[data-theme="system"] .test-site-header {
        background: #101b2e;
        border-color: #40516a;
    }
    html[data-theme="system"] #header .site-logo-picture-light,
    html[data-theme="system"] .test-logo-light { display: none !important; }
    html[data-theme="system"] #header .site-logo-picture-dark,
    html[data-theme="system"] .test-logo-dark { display: block !important; }
    html[data-theme="system"] #header .lesson-home-nav-button,
    html[data-theme="system"] #header .mode-navigation > .mode-button,
    html[data-theme="system"] #header .mode-more > summary.mode-button,
    html[data-theme="system"] .test-nav > a,
    html[data-theme="system"] .test-nav-more > summary,
    html[data-theme="system"] #header .mode-more-menu .mode-button,
    html[data-theme="system"] .test-nav-more-menu a,
    html[data-theme="system"] .test-nav-more-menu button { color: #dce7f7; }
    html[data-theme="system"] #header .mode-more-menu,
    html[data-theme="system"] .test-nav-more-menu,
    html[data-theme="system"] .theme-menu {
        background: #101b2e;
        border-color: #40516a;
    }
}

@media (max-width: 1360px) {
    #header .header-inner,
    .test-header-inner {
        grid-template-columns: minmax(205px, 235px) minmax(0, 1fr) auto;
        gap: 8px;
    }
    #header .site-logo-picture,
    #header .site-logo-image,
    .test-logo-stack,
    .test-logo img { width: min(235px, 100%); }
    #header .lesson-home-nav-button,
    #header .mode-navigation > .mode-button,
    #header .mode-more > summary.mode-button,
    .test-nav > a,
    .test-nav-more > summary {
        min-height: 44px;
        padding-inline: 8px;
        gap: 6px;
        font-size: 12px;
    }
    #header #themeButton,
    .test-header-inner > #themeButton {
        min-width: 104px;
        min-height: 44px;
        padding-inline: 11px;
        font-size: 12px;
    }
}

@media (max-width: 1040px) {
    #header,
    .test-site-header {
        min-height: 0;
        padding-top: max(7px, env(safe-area-inset-top));
        padding-bottom: 7px;
    }
    #header .header-inner,
    .test-header-inner {
        width: min(100% - 22px, 1660px);
        min-height: 0;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px 12px;
    }
    #header .primary-mode-navigation,
    .test-nav {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        justify-content: flex-start;
        overflow-x: auto;
        overflow-y: visible;
        padding: 2px 0 3px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    #header .primary-mode-navigation::-webkit-scrollbar,
    .test-nav::-webkit-scrollbar { display: none; }
    #header .header-tools,
    .test-header-inner > #themeButton { grid-column: 2; grid-row: 1; }
    .test-logo { grid-column: 1; grid-row: 1; }
}

@media (max-width: 590px) {
    #header .header-inner,
    .test-header-inner { width: min(100% - 14px, 1660px); }
    #header .site-logo-picture,
    #header .site-logo-image,
    .test-logo-stack,
    .test-logo img { width: min(190px, 100%); }
    #header .lesson-home-nav-button,
    #header .mode-navigation > .mode-button,
    #header .mode-more > summary.mode-button,
    .test-nav > a,
    .test-nav-more > summary {
        min-width: 68px;
        min-height: 44px;
        padding: 7px 8px;
        flex-direction: column;
        gap: 3px;
        font-size: 9px;
    }
    #header .mode-more-chevron,
    .test-nav-more .mode-more-chevron { display: none; }
    #header #themeButton,
    .test-header-inner > #themeButton {
        min-width: 48px;
        min-height: 42px;
        padding: 8px 10px;
    }
    #header #themeButton > span:nth-child(2),
    #header #themeButton > span:last-child,
    .test-header-inner > #themeButton > span:nth-child(2),
    .test-header-inner > #themeButton > span:last-child { display: none; }
}

/* ==========================================================
   v17.10.182 — Reliable mobile More menu
   Explicit JS toggling + fixed viewport panel prevents the menu from
   opening outside the horizontally scrolling navigation in Chrome mobile.
========================================================== */
@media (max-width: 1040px), (pointer: coarse) {
    #header .mode-more-menu,
    .test-nav-more-menu {
        position: fixed !important;
        z-index: 10050 !important;
        top: var(--site-more-top, 118px) !important;
        right: 12px !important;
        bottom: auto !important;
        left: 12px !important;
        width: auto !important;
        max-width: none !important;
        max-height: min(var(--site-more-max-height, 70vh), 480px) !important;
        margin: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        border-radius: 16px;
        box-shadow: 0 20px 52px rgba(15, 23, 42, .24);
    }

    #header .mode-more[open] > summary.mode-button,
    .test-nav-more[open] > summary {
        color: var(--primary, #1769ff);
        background: var(--surface-alt, #f2f7ff);
        border-color: var(--border, #dbe4f0);
    }
}

/* v17.10.327: readable hover, open and keyboard-focus states in both dark modes. */
html[data-theme="dark"] #header .lesson-home-nav-button:is(:hover,:focus-visible),
html[data-theme="dark"] #header .mode-navigation > .mode-button:is(:hover,:focus-visible),
html[data-theme="dark"] #header .mode-more > summary.mode-button:is(:hover,:focus-visible),
html[data-theme="dark"] #header .mode-more[open] > summary.mode-button,
html[data-theme="dark"] .test-nav > a:is(:hover,:focus-visible),
html[data-theme="dark"] .test-nav-more > summary:is(:hover,:focus-visible),
html[data-theme="dark"] .test-nav-more[open] > summary,
html[data-theme="dark"] #header .mode-more-menu .mode-button:is(:hover,:focus-visible),
html[data-theme="dark"] .test-nav-more-menu a:is(:hover,:focus-visible),
html[data-theme="dark"] .test-nav-more-menu button:is(:hover,:focus-visible) {
    color: #e7eef9;
    background: #213a5f;
    border-color: #526d91;
    text-decoration: none;
}
@media (prefers-color-scheme: dark) {
html[data-theme="system"] #header .lesson-home-nav-button:is(:hover,:focus-visible),
html[data-theme="system"] #header .mode-navigation > .mode-button:is(:hover,:focus-visible),
html[data-theme="system"] #header .mode-more > summary.mode-button:is(:hover,:focus-visible),
html[data-theme="system"] #header .mode-more[open] > summary.mode-button,
html[data-theme="system"] .test-nav > a:is(:hover,:focus-visible),
html[data-theme="system"] .test-nav-more > summary:is(:hover,:focus-visible),
html[data-theme="system"] .test-nav-more[open] > summary,
html[data-theme="system"] #header .mode-more-menu .mode-button:is(:hover,:focus-visible),
html[data-theme="system"] .test-nav-more-menu a:is(:hover,:focus-visible),
html[data-theme="system"] .test-nav-more-menu button:is(:hover,:focus-visible) {
    color: #e7eef9;
    background: #213a5f;
    border-color: #526d91;
    text-decoration: none;
}
}

/* Source: /css/universal-footer-v17.10.21.css */
/* TypingTutor.Online global footer v17.10.21 */
.universal-site-footer{display:block;box-sizing:border-box;width:100%;margin-top:48px;padding:36px clamp(18px,4vw,56px) 24px;color:var(--text-light,#64748b);background:linear-gradient(180deg,#fbfdff 0%,#f6f9fd 100%);border-top:1px solid var(--border,#d9e2ef);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.universal-footer-inner{box-sizing:border-box;width:min(1500px,100%);margin:0 auto}
.universal-footer-main{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,2.15fr);gap:clamp(32px,5vw,72px);align-items:start}
.universal-footer-brand{display:grid;gap:9px;max-width:340px;text-align:left}
.universal-footer-home{width:max-content;color:var(--text,#0f172a)!important;font-size:18px;font-weight:850;line-height:1.25;text-decoration:none;letter-spacing:-.01em}
.universal-footer-home:hover,.universal-footer-home:focus-visible{color:var(--primary,#1769ff)!important}
.universal-footer-brand span{color:var(--text-light,#64748b);font-size:13px;font-weight:550;line-height:1.6}
.universal-footer-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px clamp(22px,4vw,54px)}
.universal-footer-group{min-width:0}
.universal-footer-group>strong{display:block;margin:0 0 10px;color:var(--text,#0f172a);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.universal-footer-group-links{display:grid;gap:8px}
.universal-footer-group-links a{width:max-content;max-width:100%;color:var(--text-light,#64748b);font-size:13px;font-weight:700;line-height:1.45;text-decoration:none;transition:color .16s ease,transform .16s ease}
.universal-footer-group-links a:hover,.universal-footer-group-links a:focus-visible{color:var(--primary,#1769ff);text-decoration:underline;text-underline-offset:3px}
.universal-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:28px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--border,#d9e2ef) 82%,transparent);color:var(--text-light,#64748b);font-size:11px;font-weight:600;line-height:1.5}
html[data-theme="dark"] .universal-site-footer{color:#94a3b8;background:#0f172a;border-top-color:#334155}
html[data-theme="dark"] .universal-footer-home,html[data-theme="dark"] .universal-footer-group>strong{color:#f8fafc!important}
html[data-theme="dark"] .universal-footer-brand span,html[data-theme="dark"] .universal-footer-group-links a,html[data-theme="dark"] .universal-footer-bottom{color:#a8b5c7}
html[data-theme="dark"] .universal-footer-bottom{border-top-color:#334155}
html[data-theme="dark"] .universal-footer-home:hover,html[data-theme="dark"] .universal-footer-home:focus-visible,html[data-theme="dark"] .universal-footer-group-links a:hover,html[data-theme="dark"] .universal-footer-group-links a:focus-visible{color:#60a5fa!important}
@media(prefers-color-scheme:dark){html[data-theme="system"] .universal-site-footer{color:#94a3b8;background:#0f172a;border-top-color:#334155}html[data-theme="system"] .universal-footer-home,html[data-theme="system"] .universal-footer-group>strong{color:#f8fafc!important}html[data-theme="system"] .universal-footer-brand span,html[data-theme="system"] .universal-footer-group-links a,html[data-theme="system"] .universal-footer-bottom{color:#a8b5c7}html[data-theme="system"] .universal-footer-bottom{border-top-color:#334155}html[data-theme="system"] .universal-footer-home:hover,html[data-theme="system"] .universal-footer-home:focus-visible,html[data-theme="system"] .universal-footer-group-links a:hover,html[data-theme="system"] .universal-footer-group-links a:focus-visible{color:#60a5fa!important}}
@media(max-width:900px){.universal-site-footer{padding-top:30px}.universal-footer-main{grid-template-columns:1fr;gap:26px}.universal-footer-brand{max-width:620px}.universal-footer-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.universal-site-footer{margin-top:32px;padding:28px 18px 20px}.universal-footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.universal-footer-group:last-child{grid-column:1/-1}.universal-footer-group:last-child .universal-footer-group-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.universal-footer-group-links a{width:auto;padding:2px 0}.universal-footer-bottom{align-items:flex-start;flex-direction:column;gap:5px;margin-top:24px}}
@media(max-width:390px){.universal-footer-nav{grid-template-columns:1fr}.universal-footer-group:last-child{grid-column:auto}.universal-footer-group:last-child .universal-footer-group-links{grid-template-columns:1fr}}
@media print{.universal-site-footer{display:none!important}}

/* Source: /css/site-account-header-v17.10.311.css */
/* Shared account action. Reserve space before JavaScript runs. */
#header .header-tools, .test-header-inner > .site-header-actions {
 display:flex !important; align-items:center; justify-content:flex-end; gap:8px;
 justify-self:end; min-width:0;
}
#header .site-account-link, .test-site-header .site-account-link {
 box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; gap:7px;
 min-height:48px; min-width:118px; padding:10px 12px; border:1px solid var(--border,#c9d8ed);
 border-radius:12px; background:var(--surface-alt,#f2f7ff); color:var(--text,#172235);
 font:750 13px/1 system-ui,sans-serif; text-decoration:none; white-space:nowrap; flex-shrink:0;
}
.site-account-link svg {flex-shrink:0;}
#header .site-account-link:hover, .test-site-header .site-account-link:hover {border-color:#246df0; background:#e7f0ff; color:#1747a6; text-decoration:none;}
.site-account-link:focus-visible {outline:3px solid #246df0; outline-offset:3px;}
.test-header-inner > .site-header-actions > #themeButton {
 box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; gap:8px;
 min-width:116px; min-height:48px; padding:10px 15px; margin:0; border:0; border-radius:12px;
 background:linear-gradient(135deg,#246df0,#285ee5); color:white; font:750 13px/1 system-ui,sans-serif;
 cursor:pointer; white-space:nowrap;
}
html[data-theme="dark"] .site-account-link {background:#182a43; color:#e7eef9; border-color:#526783;}
html[data-theme="dark"] .site-account-link:hover {background:#213a5f; color:white;}
@media (max-width:1200px) {
 #header .header-inner, .test-header-inner {grid-template-columns:minmax(0,1fr) auto !important;}
 #header .primary-mode-navigation, .test-nav {grid-column:1 / -1; grid-row:2;}
 #header .header-tools, .test-header-inner > .site-header-actions {grid-column:2; grid-row:1;}
}
@media (max-width:590px) {
 #header .site-account-link, .test-site-header .site-account-link {min-width:44px; width:44px; min-height:44px; padding:10px;}
 .site-account-label {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap;}
 #header .header-tools, .test-header-inner > .site-header-actions {gap:6px;}
 #header #themeButton, .test-header-inner > .site-header-actions > #themeButton {min-width:44px; width:44px; min-height:44px; padding:8px !important;}
 .test-header-inner > .site-header-actions > #themeButton > span:not(:first-child) {display:none;}
}

/* v17.10.317 — green account action after server-confirmed sign-in. */
#header .site-account-link[data-signed-in="true"],
.test-site-header .site-account-link[data-signed-in="true"] {
 background:#15803d; color:#fff; border-color:#15803d;
}
#header .site-account-link[data-signed-in="true"]:hover,
.test-site-header .site-account-link[data-signed-in="true"]:hover {
 background:#166534; color:#fff; border-color:#166534;
}
html[data-theme="dark"] #header .site-account-link[data-signed-in="true"],
html[data-theme="dark"] .test-site-header .site-account-link[data-signed-in="true"] {
 background:#166534; color:#fff; border-color:#22c55e;
}
html[data-theme="dark"] #header .site-account-link[data-signed-in="true"]:hover,
html[data-theme="dark"] .test-site-header .site-account-link[data-signed-in="true"]:hover {
 background:#14532d; color:#fff;
}

/* Source: /games/kids-adventures/shell.css */
:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#17243c;background:#f8fafc;color-scheme:light}*{box-sizing:border-box}body{margin:0}a{color:#245ee8}button,input,select{font:inherit}button{cursor:pointer}[hidden]{display:none!important}.adventure-page{max-width:1500px;margin:auto;padding:20px 16px 48px}.adventure-nav,.adventure-help nav{display:flex;gap:10px 18px;flex-wrap:wrap;font-size:.9rem}.adventure-nav a,.adventure-help a{padding:5px 0}.adventure-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0}.adventure-intro h1{font-size:clamp(1.7rem,3.5vw,2.4rem);margin:8px 0}.adventure-intro h1 span{font-size:.5em;font-weight:500;display:block;margin-top:6px}.adventure-intro p{max-width:900px;line-height:1.6;color:#52657d}.adventure-eyebrow{font-size:.72rem;letter-spacing:.1em;color:#166534;font-weight:800}.adventure-stage{flex-shrink:0;padding:9px 14px;border:1px solid #a7d3b7;background:#f0fdf4;color:#166534;border-radius:30px;font-weight:700;font-size:.88rem}.adventure-gate{text-align:center;border:1px solid #dce5ee;border-radius:20px;padding:40px 20px;min-height:260px;background:#fff}.adventure-gate>span{font-size:3rem}.adventure-gate p{line-height:1.6;max-width:600px;margin:18px auto}.adventure-gate>a,.adventure-gate>button{display:inline-block;margin:6px;padding:12px 16px}.adventure-button{background:#15803d;color:white;border-radius:10px;text-decoration:none;font-weight:700}.adventure-gate button{background:transparent;border:1px solid #94a3b8;border-radius:10px;color:inherit}.kids-adventure{border-radius:18px;overflow:clip;isolation:isolate}.kids-adventure input{font-size:18px!important}.kids-adventure button{touch-action:manipulation}.adventure-help{padding:24px 4px;line-height:1.7;max-width:1100px}.adventure-help h2{font-size:1.3rem}.adventure-help p{color:#52657d}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #2563eb;outline-offset:3px}@media(max-width:700px){.adventure-page{padding:14px 8px 30px}.adventure-intro{align-items:flex-start;flex-direction:column;gap:8px;padding:0 6px}.adventure-nav{padding:0 6px}.adventure-intro h1{font-size:1.75rem}.adventure-stage{font-size:.82rem}.adventure-intro p{font-size:.95rem}.adventure-gate{padding:24px 14px}.adventure-help{padding:20px 8px}}html[data-theme=dark]{color:#e5edf8;background:#0b1120;color-scheme:dark}html[data-theme=dark] .adventure-intro p,html[data-theme=dark] .adventure-help p{color:#b6c5d9}html[data-theme=dark] .adventure-gate{background:#142033;border-color:#3b4e68}html[data-theme=dark] .adventure-nav a,html[data-theme=dark] .adventure-help a{color:#93b7ff}html[data-theme=dark] .adventure-eyebrow{color:#86efac}@media(prefers-color-scheme:dark){html[data-theme=system]{color:#e5edf8;background:#0b1120;color-scheme:dark}html[data-theme=system] .adventure-intro p,html[data-theme=system] .adventure-help p{color:#b6c5d9}html[data-theme=system] .adventure-gate{background:#142033;border-color:#3b4e68}html[data-theme=system] .adventure-nav a,html[data-theme=system] .adventure-help a{color:#93b7ff}html[data-theme=system] .adventure-eyebrow{color:#86efac}}@media(prefers-reduced-motion:reduce){.kids-adventure *,.kids-adventure *:before,.kids-adventure *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* Source: /games/keyquest/game.css */
.kids-adventure.keyquest{--navy:#172650;--violet:#7045da;--ink:#213361;--muted:#7380a5;--border:#e8e9fa;--card:#fff;--brand:#7b4de4;--lime:#41c8a1;--gold:#ffbd59;--skyTop:#c4bbff;--skyBottom:#b3ecf3;--shadow:0 18px 60px rgba(57,48,128,.10)}.kids-adventure.keyquest *{box-sizing:border-box}.kids-adventure.keyquest{scroll-behavior:smooth}.kids-adventure.keyquest{margin:0;background:#f7f6fe;color:var(--ink);font:700 14px/1.45 Inter,"Trebuchet MS",system-ui,sans-serif}.kids-adventure.keyquest button,.kids-adventure.keyquest input{font:inherit}.kids-adventure.keyquest button{cursor:pointer}.kids-adventure.keyquest button:focus-visible,.kids-adventure.keyquest input:focus-visible{outline:4px solid #f3bb56;outline-offset:3px}.kids-adventure.keyquest .game-display-title,.kids-adventure.keyquest h2,.kids-adventure.keyquest h3,.kids-adventure.keyquest p{margin-top:0}.kids-adventure.keyquest .display,.kids-adventure.keyquest .game-display-title,.kids-adventure.keyquest h2,.kids-adventure.keyquest h3,.kids-adventure.keyquest .value,.kids-adventure.keyquest .word-target{font-family:"Trebuchet MS",Inter,Arial,sans-serif}.kids-adventure.keyquest .game-display-title,.kids-adventure.keyquest h2,.kids-adventure.keyquest h3{line-height:1.05}.kids-adventure.keyquest .game-display-title{font-size:32px;letter-spacing:-.7px}.kids-adventure.keyquest h2{font-size:21px}.kids-adventure.keyquest h3{font-size:19px}.kids-adventure.keyquest .hidden{display:none!important}.kids-adventure.keyquest .app{max-width:1570px;margin:auto;padding:18px 22px 34px}.kids-adventure.keyquest header.top{height:71px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.kids-adventure.keyquest .brand{display:flex;align-items:center;gap:11px;min-width:0}.kids-adventure.keyquest .brand-mark{width:47px;height:47px;border-radius:16px;display:grid;place-items:center;color:white;font-size:29px;background:linear-gradient(140deg,#8962f5,#6541ce);box-shadow:0 6px 12px #7a4fe03d;transform:rotate(-8deg);flex-shrink:0}.kids-adventure.keyquest .brand-mark span{transform:rotate(8deg)}.kids-adventure.keyquest .brand-title{font:bold 26px/1"Trebuchet MS",sans-serif;letter-spacing:-.5px;color:#262d60}.kids-adventure.keyquest .brand-title b{color:#7849de}.kids-adventure.keyquest .brand-note{font-size:10px;letter-spacing:2px;color:#9395b7;font-weight:900}.kids-adventure.keyquest .header-right{display:flex;gap:9px;align-items:center}.kids-adventure.keyquest .brand-site{border:1px solid #deddf5;background:#fff;border-radius:30px;color:#665a9d;font-weight:900;padding:9px 14px;white-space:nowrap;font-size:12px}.kids-adventure.keyquest .icon-btn{border:1px solid #e3e3f4;background:#fff;color:#5a538a;width:41px;height:41px;border-radius:14px;font-size:20px;display:grid;place-items:center;box-shadow:0 3px 8px #5a40900d}.kids-adventure.keyquest .icon-btn:hover{background:#f0ebff}.kids-adventure.keyquest .mini-caption{font-size:10px;color:#8c92b6;letter-spacing:1.5px;font-weight:900;text-transform:uppercase}.kids-adventure.keyquest .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px}.kids-adventure.keyquest .stat{border:1px solid #eeeefe;background:#fff;min-height:79px;display:flex;gap:13px;align-items:center;padding:13px 18px;border-radius:20px;box-shadow:0 7px 24px rgba(58,54,132,.035)}.kids-adventure.keyquest .stat-icon{width:44px;height:44px;border-radius:15px;background:#f3eaff;display:grid;place-items:center;font-size:22px;flex-shrink:0}.kids-adventure.keyquest .stat:nth-child(2) .stat-icon{background:#e8f8fc}.kids-adventure.keyquest .stat:nth-child(3) .stat-icon{background:#e4f9ef}.kids-adventure.keyquest .stat:nth-child(4) .stat-icon{background:#fff5df}.kids-adventure.keyquest .stat .value{font-size:28px;font-weight:800;color:#2b2c62;line-height:1.12;white-space:nowrap}.kids-adventure.keyquest .stat .label{color:#8991b4;font-size:10px;letter-spacing:1.3px;font-weight:900;text-transform:uppercase}.kids-adventure.keyquest .stat .unit{font-size:12px;color:#8e94b0;font-weight:800;margin-left:3px}.kids-adventure.keyquest .main-layout{display:grid;grid-template-columns:241px minmax(0,1fr) 244px;gap:16px;align-items:start}.kids-adventure.keyquest .panel{background:#fff;border:1px solid #eeeafa;border-radius:25px;box-shadow:0 10px 35px #66559b09}.kids-adventure.keyquest .world-panel{padding:21px 14px}.kids-adventure.keyquest .world-header{padding:0 7px 15px}.kids-adventure.keyquest .world-header h2{margin:3px 0 4px}.kids-adventure.keyquest .world-header p{color:#94a0b8;font-size:11px;margin:0}.kids-adventure.keyquest .worlds{display:grid;gap:6px}.kids-adventure.keyquest .world{border:1px solid transparent;background:transparent;display:flex;align-items:center;width:100%;border-radius:15px;padding:10px 9px;text-align:left;gap:10px;color:#5d6a92;transition:.17s}.kids-adventure.keyquest .world:hover:not(:disabled){background:#f6f2ff}.kids-adventure.keyquest .world.selected{border-color:#dfd1ff;background:#f3efff;box-shadow:inset 0 0 0 1px #f6f1ff}.kids-adventure.keyquest .world:disabled{opacity:.55;cursor:not-allowed}.kids-adventure.keyquest .world-emoji{height:38px;width:38px;display:grid;place-items:center;border-radius:13px;background:#e9ecfc;font-size:23px;flex-shrink:0}.kids-adventure.keyquest .world.selected .world-emoji{background:#e2d4ff}.kids-adventure.keyquest .world-data{min-width:0;flex:1}.kids-adventure.keyquest .world-title{font-size:12px;font-weight:900;color:#31426c;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kids-adventure.keyquest .world-sub{font-size:10px;color:#98a0ba;font-weight:800}.kids-adventure.keyquest .world-check{font-size:15px;color:#38c4a0}.kids-adventure.keyquest .panel-bottom{background:#f6f3ff;margin:18px 5px 0;padding:15px;border-radius:16px}.kids-adventure.keyquest .map-footer-title{color:#6856a8;font-size:12px;font-weight:900}.kids-adventure.keyquest .map-footer-bar{height:9px;border-radius:999px;background:#e3ddf4;margin:9px 0;overflow:hidden}.kids-adventure.keyquest .map-footer-bar>span{display:block;background:linear-gradient(90deg,#8365f1,#a888fc);height:100%;width:0;transition:width .5s}.kids-adventure.keyquest .small-print{font-size:10px;color:#888cad}.kids-adventure.keyquest .main-game{overflow:hidden;border:1px solid #e7e5fc;border-radius:29px;background:white;box-shadow:var(--shadow);position:relative}.kids-adventure.keyquest .game-top{padding:20px 24px 13px;display:flex;align-items:center;justify-content:space-between;gap:9px}.kids-adventure.keyquest .eyebrow{color:#8c66e2;font-size:10px;letter-spacing:1.6px;font-weight:900;text-transform:uppercase}.kids-adventure.keyquest .game-top .game-display-title{font-size:28px;margin:4px 0 0;color:#262959}.kids-adventure.keyquest .stage-count{display:flex;align-items:center;gap:8px;border-radius:30px;background:#f3efff;color:#7e5dde;padding:10px 12px;font-weight:900;font-size:12px;white-space:nowrap}.kids-adventure.keyquest .stage-count b{font-size:16px;color:#4831a2}.kids-adventure.keyquest .scene{height:321px;position:relative;margin:0 15px;border-radius:24px;overflow:hidden;background:linear-gradient(180deg,var(--skyTop),var(--skyBottom) 74%,#d7f2d8 74%);isolation:isolate;transition:background 1s}.kids-adventure.keyquest .scene:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 250px 160px at 70% 34%,#ffffff99,transparent),radial-gradient(ellipse 180px 120px at 5%0,#fff8,transparent);pointer-events:none}.kids-adventure.keyquest .orb{position:absolute;right:16%;top:34px;width:66px;height:66px;background:#fff9d5;border-radius:50%;box-shadow:0 0 70px 33px #fff8c788;animation:float 5s ease-in-out infinite}.kids-adventure.keyquest .orb:after{content:"✦";position:absolute;top:10px;left:-45px;color:white;font-size:17px}.kids-adventure.keyquest .cloud{position:absolute;display:flex;background:#fffafcaa;border-radius:100px;width:114px;height:23px;opacity:.85;filter:drop-shadow(0 8px 1px #ffffff20);animation:drift 9s ease-in-out infinite}.kids-adventure.keyquest .cloud:before,.kids-adventure.keyquest .cloud:after{content:"";position:absolute;background:inherit;border-radius:50%;height:40px;width:50px;bottom:5px;left:20px}.kids-adventure.keyquest .cloud:after{height:30px;width:41px;left:57px}.kids-adventure.keyquest .cloud.c1{top:44px;left:9%}.kids-adventure.keyquest .cloud.c2{top:85px;right:4%;transform:scale(.7);animation-delay:-3s}.kids-adventure.keyquest .hill{position:absolute;bottom:49px;width:95%;height:120px;border-radius:60% 50%0 0;z-index:0}.kids-adventure.keyquest .hill.h1{left:-30%;background:#79cdb7;bottom:31px;transform:rotate(9deg)}.kids-adventure.keyquest .hill.h2{right:-18%;background:#60baa3;bottom:23px;transform:rotate(-9deg)}.kids-adventure.keyquest .island{position:absolute;bottom:-18px;left:11%;width:80%;height:136px;background:#65caa0;border-top:8px solid #b1ecc0;border-radius:50% 48% 10% 10%/32% 30% 5% 5%;box-shadow:0 17px 0#488e93,0 37px 0#63718c;z-index:1}.kids-adventure.keyquest .island:after{content:"";position:absolute;bottom:45px;left:0;right:0;border-radius:50%;height:13px;background:#82deb173;filter:blur(9px)}.kids-adventure.keyquest .scene-title{position:absolute;left:18px;top:15px;color:#566199;font-size:11px;background:#ffffffb8;backdrop-filter:blur(8px);border:1px solid #fff8;border-radius:999px;padding:8px 13px;z-index:2;display:flex;align-items:center;gap:7px;font-weight:900}.kids-adventure.keyquest .sparkles{position:absolute;inset:0;pointer-events:none;z-index:5}.kids-adventure.keyquest .spark{position:absolute;width:9px;height:9px;border-radius:50%;background:#fff4a5;animation:spark 950ms ease-out both;box-shadow:0 0 18px #fff5ac}.kids-adventure.keyquest .pet{position:absolute;width:118px;height:133px;bottom:65px;left:20%;z-index:3;filter:drop-shadow(0 9px 6px #2f5f4737);animation:bob 3.4s ease-in-out infinite}.kids-adventure.keyquest .pet svg{width:100%;height:100%}.kids-adventure.keyquest .speech{position:absolute;z-index:4;bottom:194px;left:12%;background:#fff;border-radius:20px 20px 20px 5px;box-shadow:0 8px 19px #3a4e8740;padding:9px 14px;color:#6355a2;font-size:12px;font-weight:900;white-space:nowrap;transform:rotate(-2deg)}.kids-adventure.keyquest .scene-flower{position:absolute;bottom:66px;z-index:3;width:52px;height:69px;opacity:.3;filter:grayscale(1);transform-origin:bottom;transition:opacity .45s,filter .45s,transform .45s}.kids-adventure.keyquest .scene-flower.bloom{opacity:1;filter:none;animation:pop .5s ease-out both}.kids-adventure.keyquest .scene-flower .stem{width:6px;height:35px;background:#26997b;border-radius:8px;position:absolute;left:23px;bottom:3px}.kids-adventure.keyquest .scene-flower .stem:before,.kids-adventure.keyquest .scene-flower .stem:after{content:"";position:absolute;background:#3ec492;height:15px;width:14px;border-radius:95% 10% 90% 15%;bottom:14px;left:-12px;transform:rotate(22deg)}.kids-adventure.keyquest .scene-flower .stem:after{left:5px;transform:rotate(75deg)}.kids-adventure.keyquest .scene-flower .floret{width:37px;height:37px;left:8px;top:0;position:absolute;border-radius:50%;background:radial-gradient(circle at center,#ffde75 0 26%,transparent 29%),radial-gradient(circle at 50% 5%,#ff7fac 0 24%,transparent 26%),radial-gradient(circle at 94% 48%,#ff7fac 0 24%,transparent 26%),radial-gradient(circle at 50% 93%,#ff7fac 0 24%,transparent 26%),radial-gradient(circle at 6% 48%,#ff7fac 0 24%,transparent 26%);filter:drop-shadow(0 2px 3px #b65b91aa)}.kids-adventure.keyquest .scene-flower.f2 .floret,.kids-adventure.keyquest .scene-flower.f5 .floret{filter:hue-rotate(65deg)}.kids-adventure.keyquest .scene-flower.f3 .floret,.kids-adventure.keyquest .scene-flower.f6 .floret{filter:hue-rotate(170deg)}.kids-adventure.keyquest .scene-flower:nth-of-type(1){left:40%}.kids-adventure.keyquest .scene-flower.f1{left:41%}.kids-adventure.keyquest .scene-flower.f2{left:51%;bottom:92px;transform:scale(.81)}.kids-adventure.keyquest .scene-flower.f3{left:60%;bottom:63px;transform:scale(1.12)}.kids-adventure.keyquest .scene-flower.f4{left:70%;bottom:93px;transform:scale(.86)}.kids-adventure.keyquest .scene-flower.f5{left:78%;bottom:62px;transform:scale(1.06)}.kids-adventure.keyquest .scene-flower.f6{left:88%;bottom:81px;transform:scale(.76)}.kids-adventure.keyquest .foot-decor{position:absolute;bottom:26px;right:12px;z-index:2;color:#fff8d5;font-size:20px;letter-spacing:11px}.kids-adventure.keyquest .scene-progress{position:absolute;right:17px;top:17px;z-index:3;background:#fffafcba;border:1px solid #fff7;border-radius:20px;padding:9px 12px;display:flex;align-items:center;gap:5px;font-size:10px;color:#5565a3;font-weight:900}.kids-adventure.keyquest .scene-progress span{color:#ffc44d}.kids-adventure.keyquest .scene-ground-message{position:absolute;right:21px;bottom:20px;z-index:4;color:white;text-shadow:0 2px 6px #2b8e71;font-size:11px;font-weight:900;letter-spacing:1px}.kids-adventure.keyquest .spell-zone{padding:17px 27px 21px;text-align:center}.kids-adventure.keyquest .mission{display:flex;align-items:center;justify-content:center;gap:7px;color:#8f91b5;font-weight:900;font-size:10px;letter-spacing:1.3px;text-transform:uppercase;margin-bottom:5px}.kids-adventure.keyquest .word-target{font-weight:800;font-size:clamp(25px,3.1vw,42px);line-height:1.2;min-height:47px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0;color:#41426e;margin:6px 0 13px;letter-spacing:.7px}.kids-adventure.keyquest .char{border-bottom:3px solid transparent;white-space:pre;transition:color .1s}.kids-adventure.keyquest .char.done{color:#25b896}.kids-adventure.keyquest .char.next{color:#824fe4;border-bottom-color:#b197ff;background:#efe8ff;border-radius:5px 5px 1px 1px}.kids-adventure.keyquest .char.pending{color:#565e82}.kids-adventure.keyquest .typing-shell{height:55px;max-width:630px;margin:auto;border:2px solid #d7d0f6;border-radius:16px;display:flex;align-items:center;padding:0 12px 0 18px;gap:10px;background:#faf9ff;box-shadow:inset 0 3px 9px #897bb808;transition:.18s}.kids-adventure.keyquest .typing-shell:focus-within{border-color:#9b79e9;box-shadow:0 0 0 4px #b09af91c}.kids-adventure.keyquest .typing-shell.error{border-color:#f48795;background:#fff5f5;animation:shake .28s}.kids-adventure.keyquest .typing-shell span:first-child{font-size:23px;color:#9b82da}.kids-adventure.keyquest .typing-shell input{border:0;background:transparent;outline:0;min-width:0;width:100%;height:100%;color:#4b387d;font-size:20px;letter-spacing:.7px;font-weight:900}.kids-adventure.keyquest .typing-shell input::placeholder{font-size:13px;color:#a2a6c2;letter-spacing:0;font-weight:800}.kids-adventure.keyquest .press-hint{font-size:11px;font-weight:800;color:#aaa6c4;white-space:nowrap}.kids-adventure.keyquest .feedback{height:25px;color:#8d91b4;font-size:11px;font-weight:800;padding-top:6px}.kids-adventure.keyquest .feedback.good{color:#199c80}.kids-adventure.keyquest .feedback.bad{color:#da6887}.kids-adventure.keyquest .letter-guide{display:flex;flex-direction:column;align-items:center;gap:3px;justify-content:center;margin:5px 0 0}.kids-adventure.keyquest .keyboard-row{display:flex;justify-content:center;gap:4px}.kids-adventure.keyquest .letter-key{border:1px solid #eae7f8;border-bottom:3px solid #e2dff4;color:#9a9cb5;background:#f9f8fd;min-width:28px;height:31px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:900}.kids-adventure.keyquest .letter-key.active{background:#7854e9;border-color:#6d44ce;color:#fff;transform:translateY(-2px);box-shadow:0 5px 11px #b0a0f2}.kids-adventure.keyquest .letter-key.space{min-width:60px;font-size:9px}.kids-adventure.keyquest .game-footer{background:#faf9ff;border-top:1px solid #f0ecfb;padding:14px 26px;display:flex;align-items:center;justify-content:space-between;gap:14px}.kids-adventure.keyquest .progress-group{width:100%;max-width:430px}.kids-adventure.keyquest .progress-meta{font-size:10px;font-weight:900;color:#9a9bb7;display:flex;justify-content:space-between;margin-bottom:6px}.kids-adventure.keyquest .progress-track{height:10px;background:#eae5f8;border-radius:999px;overflow:hidden}.kids-adventure.keyquest .progress-fill{height:100%;background:linear-gradient(90deg,#5bcbb7,#9b72e9);border-radius:999px;transition:width .5s}.kids-adventure.keyquest .footer-buttons{display:flex;gap:8px;flex-shrink:0}.kids-adventure.keyquest .soft-btn,.kids-adventure.keyquest .primary-btn{border:0;border-radius:13px;padding:11px 17px;font-weight:900;font-size:12px;white-space:nowrap}.kids-adventure.keyquest .soft-btn{background:#ece8fa;color:#6552a3}.kids-adventure.keyquest .soft-btn:hover{background:#dfd7fa}.kids-adventure.keyquest .primary-btn{color:white;background:linear-gradient(125deg,#9069ee,#6943d4);box-shadow:0 7px 15px #7c58d747}.kids-adventure.keyquest .primary-btn:hover{filter:brightness(1.05)}.kids-adventure.keyquest .rightcol{display:grid;gap:15px}.kids-adventure.keyquest .rewards-panel{padding:20px 18px}.kids-adventure.keyquest .side-head{display:flex;align-items:center;justify-content:space-between}.kids-adventure.keyquest .side-head h2{margin-bottom:10px}.kids-adventure.keyquest .tiny-tag{border-radius:99px;background:#fff4d8;color:#c69125;font-size:10px;font-weight:900;padding:5px 8px}.kids-adventure.keyquest .subtitle{color:#9a9cb6;font-size:11px;margin:-5px 0 16px}.kids-adventure.keyquest .reward-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.kids-adventure.keyquest .reward{aspect-ratio:1;border:1px solid #e8e4f2;background:#f7f6fb;border-radius:11px;display:grid;place-items:center;font-size:21px;filter:grayscale(1);opacity:.4}.kids-adventure.keyquest .reward.earned{filter:none;background:#fff5dd;border-color:#ffe3a1;opacity:1;box-shadow:0 4px 11px #c08c2540}.kids-adventure.keyquest .task-panel{padding:20px 18px}.kids-adventure.keyquest .task-panel h2{margin-bottom:15px}.kids-adventure.keyquest .task{display:flex;align-items:center;gap:10px;margin:0 0 17px}.kids-adventure.keyquest .task:last-child{margin-bottom:0}.kids-adventure.keyquest .task-symbol{font-size:19px;background:#f1edff;width:37px;height:37px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}.kids-adventure.keyquest .task-title{font-size:11px;color:#405074;font-weight:900}.kids-adventure.keyquest .task-sub{font-size:10px;color:#9aa1ba;font-weight:800}.kids-adventure.keyquest .tip-panel{background:linear-gradient(155deg,#6853ca,#8a6cec);color:white;border-radius:23px;padding:20px 19px;position:relative;overflow:hidden;box-shadow:0 12px 24px #745bd62b}.kids-adventure.keyquest .tip-panel:after{content:"✦";position:absolute;font-size:100px;right:-14px;bottom:-56px;color:#fff2}.kids-adventure.keyquest .tip-panel h2{font-size:20px;margin:0 0 7px}.kids-adventure.keyquest .tip-panel p{font-size:11px;line-height:1.7;color:#f0eaff;font-weight:700;max-width:205px;margin-bottom:0}.kids-adventure.keyquest .tip-panel .tip-emoji{font-size:24px;margin-bottom:9px}.kids-adventure.keyquest .overlay{position:absolute;inset:0;background:#19154691;display:grid;place-items:center;z-index:20;padding:18px;backdrop-filter:blur(5px)}.kids-adventure.keyquest .modal{background:#fff;border:5px solid #f3eaff;border-radius:31px;padding:26px 29px;box-shadow:0 20px 65px #28205977;text-align:center;max-width:440px;width:100%;animation:appear .3s both}.kids-adventure.keyquest .modal-img{width:103px;height:103px;display:grid;place-items:center;margin:0 auto 13px;border-radius:30px;background:radial-gradient(circle at 40% 30%,#fffbf0,#f2dcff);font-size:61px;box-shadow:inset 0 0 0 2px #f2e8ff}.kids-adventure.keyquest .modal h2{font-size:29px;margin:5px 0 10px;color:#443777}.kids-adventure.keyquest .modal p{font-size:13px;color:#8384a8;line-height:1.6;font-weight:800;margin-bottom:14px}.kids-adventure.keyquest .modal-chips{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin-bottom:17px}.kids-adventure.keyquest .modal-chip{border-radius:18px;padding:8px 10px;background:#f5f1ff;color:#7651c0;font-size:10px;font-weight:900}.kids-adventure.keyquest .modal-action{border:0;border-radius:16px;background:linear-gradient(135deg,#945ef3,#5e40d0);font-size:17px;font-weight:900;color:#fff;padding:14px 23px;box-shadow:0 10px 19px #6956d744;min-width:204px}.kids-adventure.keyquest .modal-secondary{display:block;border:none;background:transparent;color:#8675af;font-size:12px;font-weight:900;margin:10px auto 0;padding:8px}.kids-adventure.keyquest .duration{display:flex;justify-content:center;gap:7px;margin-bottom:14px}.kids-adventure.keyquest .duration button{border-radius:12px;border:1px solid #e3dbfa;color:#8674b5;background:#faf7ff;padding:9px 13px;font-size:11px;font-weight:900}.kids-adventure.keyquest .duration button.selected{background:#7d5de6;border-color:#7656df;color:#fff}.kids-adventure.keyquest .modal-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.kids-adventure.keyquest .modal-summary>div{padding:9px;background:#f7f3ff;border-radius:12px;font-size:10px;color:#a09bbc}.kids-adventure.keyquest .modal-summary b{display:block;font-family:"Trebuchet MS";font-size:24px;color:#674fc7}.kids-adventure.keyquest .toast{position:absolute;z-index:30;left:50%;top:19%;transform:translateX(-50%);pointer-events:none;background:#fffefa;border:2px solid #ffdc8a;padding:13px 18px;border-radius:17px;box-shadow:0 9px 21px #454b6a3d;font-size:13px;color:#80614a;font-weight:900;white-space:nowrap;animation:toast 2.2s both}.kids-adventure.keyquest .site-foot{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin:17px 5px 0;color:#9ca0bd;font-size:11px;font-weight:800}.kids-adventure.keyquest .site-foot strong{color:#7650d6}@keyframes drift{50%{translate:15px 4px}}@keyframes float{50%{transform:translateY(-9px)}}@keyframes bob{50%{transform:translateY(-7px) rotate(2deg)}}@keyframes pop{0%{transform:scale(.2) rotate(-20deg)}60%{transform:scale(1.2) rotate(8deg)}100%{transform:scale(1)}}@keyframes spark{0%{transform:translate(0,0) scale(1);opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(.1);opacity:0}}@keyframes toast{0%{opacity:0;transform:translate(-50%,-25px)}12%,80%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-10px)}}@keyframes shake{25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-3px)}}@keyframes appear{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width:1280px){.kids-adventure.keyquest .main-layout{grid-template-columns:215px minmax(0,1fr)}.kids-adventure.keyquest .rightcol{grid-column:1/-1;grid-template-columns:1fr 1fr 1fr}.kids-adventure.keyquest .scene{height:310px}.kids-adventure.keyquest .pet{left:16%}.kids-adventure.keyquest .world-panel{padding:18px 10px}.kids-adventure.keyquest .game-top{padding:18px 22px 12px}}@media (max-width:850px){.kids-adventure.keyquest .app{padding:10px 12px 23px}.kids-adventure.keyquest .top{margin-bottom:9px!important}.kids-adventure.keyquest .brand-note{letter-spacing:.8px}.kids-adventure.keyquest .brand-site{display:none}.kids-adventure.keyquest .stats{gap:8px}.kids-adventure.keyquest .stat{min-height:65px;padding:8px 10px;gap:7px;border-radius:15px}.kids-adventure.keyquest .stat-icon{width:33px;height:35px;font-size:17px;border-radius:10px}.kids-adventure.keyquest .stat .value{font-size:21px}.kids-adventure.keyquest .stat .label{font-size:9px;letter-spacing:.3px}.kids-adventure.keyquest .main-layout{grid-template-columns:minmax(0,1fr)}.kids-adventure.keyquest .world-panel{order:2}.kids-adventure.keyquest .worlds{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.kids-adventure.keyquest .world{padding:6px 3px;flex-direction:column;text-align:center;gap:2px}.kids-adventure.keyquest .world-emoji{width:35px;height:35px}.kids-adventure.keyquest .world-title{font-size:9px}.kids-adventure.keyquest .world-sub,.kids-adventure.keyquest .world-check{display:none}.kids-adventure.keyquest .world-header{padding:0 8px 8px}.kids-adventure.keyquest .world-header h2{margin:0}.kids-adventure.keyquest .world-panel{padding:14px}.kids-adventure.keyquest .panel-bottom{margin-top:9px}.kids-adventure.keyquest .rightcol{order:3;grid-column:auto}.kids-adventure.keyquest .main-game{order:1}.kids-adventure.keyquest .scene{height:310px}}@media (max-width:540px){.kids-adventure.keyquest .brand-title{font-size:21px}.kids-adventure.keyquest .brand-mark{width:39px;height:39px;font-size:24px}.kids-adventure.keyquest .brand-note{font-size:8px;letter-spacing:1px}.kids-adventure.keyquest .header-right{gap:5px}.kids-adventure.keyquest .icon-btn{width:37px;height:37px}.kids-adventure.keyquest .stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:10px}.kids-adventure.keyquest .stat{padding:8px 3px;min-height:67px;display:flex;flex-direction:column;justify-content:center;gap:0;text-align:center}.kids-adventure.keyquest .stat-icon{display:none}.kids-adventure.keyquest .stat .value{font-size:22px}.kids-adventure.keyquest .stat .label{font-size:8px}.kids-adventure.keyquest .stat .unit{font-size:9px}.kids-adventure.keyquest .game-top{padding:15px 15px 11px}.kids-adventure.keyquest .game-top .game-display-title{font-size:23px}.kids-adventure.keyquest .stage-count{font-size:10px;padding:7px 9px}.kids-adventure.keyquest .stage-count b{font-size:12px}.kids-adventure.keyquest .scene{margin:0 8px;height:255px;border-radius:18px}.kids-adventure.keyquest .scene-title{font-size:9px;left:9px;top:9px;padding:7px}.kids-adventure.keyquest .scene-progress{right:8px;top:9px;font-size:9px;padding:7px}.kids-adventure.keyquest .island{width:100%;left:2%}.kids-adventure.keyquest .pet{left:5%;bottom:61px;width:110px;height:121px}.kids-adventure.keyquest .speech{left:5%;bottom:173px;font-size:10px;padding:7px 8px}.kids-adventure.keyquest .scene-flower.f1{left:39%}.kids-adventure.keyquest .scene-flower.f2{left:49%}.kids-adventure.keyquest .scene-flower.f3{left:60%}.kids-adventure.keyquest .scene-flower.f4{left:67%}.kids-adventure.keyquest .scene-flower.f5{left:80%}.kids-adventure.keyquest .scene-flower.f6{left:87%}.kids-adventure.keyquest .scene-flower{scale:.76}.kids-adventure.keyquest .scene-ground-message{font-size:8px}.kids-adventure.keyquest .spell-zone{padding:14px 12px 15px}.kids-adventure.keyquest .word-target{font-size:27px;margin:6px 0 13px}.kids-adventure.keyquest .typing-shell{height:53px}.kids-adventure.keyquest .press-hint{display:none}.kids-adventure.keyquest .letter-key{height:28px;min-width:24px}.kids-adventure.keyquest .game-footer{padding:12px 15px}.kids-adventure.keyquest .soft-btn,.kids-adventure.keyquest .primary-btn{padding:10px 13px;font-size:11px}.kids-adventure.keyquest .rightcol{grid-template-columns:1fr 1fr}.kids-adventure.keyquest .tip-panel{grid-column:1/-1}.kids-adventure.keyquest .rewards-panel,.kids-adventure.keyquest .task-panel{padding:15px 12px}.kids-adventure.keyquest .reward-grid{gap:3px}.kids-adventure.keyquest .reward{font-size:16px;border-radius:7px}.kids-adventure.keyquest .task{gap:5px;margin-bottom:12px}.kids-adventure.keyquest .task-symbol{width:28px;height:28px;font-size:14px}.kids-adventure.keyquest .task-title{font-size:10px}.kids-adventure.keyquest .task-sub{font-size:9px}.kids-adventure.keyquest .rightcol h2{font-size:18px}.kids-adventure.keyquest .world-data{display:none}.kids-adventure.keyquest .world:after{content:attr(data-number);color:#9393b8;font-size:10px;font-weight:900}.kids-adventure.keyquest .world.selected:after{color:#7e5cdb}.kids-adventure.keyquest .modal{padding:21px 16px}.kids-adventure.keyquest .modal h2{font-size:26px}}@media (max-width:375px){.kids-adventure.keyquest .stat .value{font-size:19px}.kids-adventure.keyquest .scene{height:240px}.kids-adventure.keyquest .pet{width:96px;left:4%}.kids-adventure.keyquest .scene-flower{scale:.64}.kids-adventure.keyquest .word-target{font-size:23px}.kids-adventure.keyquest .letter-key{min-width:22px}.kids-adventure.keyquest .game-top .game-display-title{font-size:21px}}@media (prefers-reduced-motion:reduce){.kids-adventure.keyquest *,.kids-adventure.keyquest *:before,.kids-adventure.keyquest *:after{animation:none!important;transition-duration:0s!important;scroll-behavior:auto!important}}
