:root{--numeric-blue:#1769ff;--numeric-blue-dark:#0d4fd4;--numeric-soft:#eef5ff;--numeric-ink:#0f172a;--numeric-muted:#64748b;--numeric-line:#dbe5f2;--numeric-card:#fff;--numeric-panel:#f8fbff;--numeric-key:#f8fafc;--numeric-key-shadow:#cbd5e1;--numeric-success:#0f9f6e;--numeric-danger:#dc2626;--numeric-warning:#d97706}
.numeric-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:28px 0 56px;color:var(--numeric-ink)}
.numeric-breadcrumb{font-size:.84rem;color:var(--numeric-muted);margin:0 0 18px}.numeric-breadcrumb a{color:var(--numeric-blue);text-decoration:none}.numeric-breadcrumb a:hover{text-decoration:underline}
.numeric-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:22px;align-items:stretch;background:linear-gradient(135deg,#fff 0%,#f5f9ff 100%);border:1px solid var(--numeric-line);border-radius:24px;padding:34px;box-shadow:0 18px 45px rgba(15,23,42,.08);margin-bottom:24px}.numeric-eyebrow{display:block;text-transform:uppercase;letter-spacing:.11em;font-weight:800;font-size:.72rem;color:var(--numeric-blue);margin-bottom:8px}.numeric-hero h1{font-family:Poppins,Inter,sans-serif;font-size:clamp(2rem,4vw,3.35rem);line-height:1.07;margin:0 0 14px;color:var(--numeric-ink)}.numeric-hero p{font-size:1.04rem;line-height:1.75;color:var(--numeric-muted);max-width:760px;margin:0}.numeric-hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.numeric-hero-badges span{border:1px solid #cfe0ff;background:#f7faff;color:#31507c;border-radius:999px;padding:8px 12px;font-size:.82rem;font-weight:700}.numeric-hero-summary{display:flex;align-items:center;gap:16px;padding:22px;border-radius:18px;background:linear-gradient(145deg,#0f5fe8,#2679ff);color:white;box-shadow:0 14px 35px rgba(23,105,255,.2)}.numeric-summary-icon{width:72px;height:72px;display:grid;place-items:center;border-radius:18px;background:rgba(255,255,255,.14);flex:0 0 auto}.numeric-summary-icon svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.numeric-hero-summary strong{font-size:1.15rem;display:block;margin-bottom:6px}.numeric-hero-summary small{line-height:1.5;color:rgba(255,255,255,.82)}
.numeric-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(315px,.68fr);gap:22px;align-items:start;margin-bottom:26px}.numeric-practice-panel,.numeric-keypad-panel,.numeric-next-grid,.numeric-content-grid article,.numeric-faq{background:var(--numeric-card);border:1px solid var(--numeric-line);border-radius:22px;box-shadow:0 14px 34px rgba(15,23,42,.07)}.numeric-practice-panel{padding:24px}.numeric-panel-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--numeric-line)}.numeric-panel-heading h1,.numeric-panel-heading h2{font-family:Poppins,Inter,sans-serif;font-size:1.45rem;margin:0 0 6px;color:var(--numeric-ink)}.numeric-panel-heading p{margin:0;color:var(--numeric-muted);line-height:1.55}.numeric-status-pill{padding:8px 12px;border-radius:999px;background:var(--numeric-soft);color:var(--numeric-blue);font-weight:800;font-size:.78rem;white-space:nowrap}
.numeric-control-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:14px;margin:18px 0}.numeric-option-group{border:0;padding:0;margin:0}.numeric-option-group legend{font-size:.75rem;font-weight:800;color:var(--numeric-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.numeric-segmented{display:flex;flex-wrap:wrap;gap:6px}.numeric-segmented button{border:1px solid var(--numeric-line);background:var(--numeric-panel);color:#334155;border-radius:10px;padding:9px 12px;font-weight:750;cursor:pointer}.numeric-segmented button:hover{border-color:#a9c8ff}.numeric-segmented button.is-active{background:var(--numeric-blue);border-color:var(--numeric-blue);color:#fff}
.numeric-live-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.numeric-live-stats div{border:1px solid var(--numeric-line);background:var(--numeric-panel);border-radius:14px;padding:12px;text-align:center}.numeric-live-stats span{display:block;font-size:.69rem;text-transform:uppercase;letter-spacing:.07em;color:var(--numeric-muted);font-weight:800}.numeric-live-stats strong{display:block;font-size:1.45rem;color:var(--numeric-blue);margin-top:3px}
.numeric-target-card{border:1px solid #cadbf7;background:linear-gradient(180deg,#fbfdff,#f4f8ff);border-radius:18px;padding:18px;min-height:190px;outline:none}.numeric-target-card:focus-visible{box-shadow:0 0 0 4px rgba(23,105,255,.15)}.numeric-target-topline{display:flex;justify-content:space-between;color:var(--numeric-muted);font-size:.77rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.numeric-target{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(1.45rem,3.4vw,2.15rem);line-height:1.65;letter-spacing:.055em;padding:22px 4px 24px;overflow-wrap:anywhere}.numeric-char{border-radius:5px;padding:1px 2px}.numeric-char.done{color:#0f9f6e;background:#e8fbf4}.numeric-char.current{color:#fff;background:var(--numeric-blue);box-shadow:0 3px 10px rgba(23,105,255,.26)}.numeric-char.error{color:#fff;background:var(--numeric-danger)}.numeric-progress-track{height:7px;background:#dce7f8;border-radius:999px;overflow:hidden}.numeric-progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#1769ff,#32c48d);border-radius:inherit;transition:width .12s linear}
.numeric-controls{display:grid;grid-template-columns:1.5fr .75fr .85fr;gap:8px;margin-top:14px}.numeric-controls button{min-height:44px;border-radius:11px;border:1px solid transparent;font-weight:800;cursor:pointer}.numeric-primary{background:var(--numeric-blue);color:#fff}.numeric-primary:hover{background:var(--numeric-blue-dark)}.numeric-secondary{background:var(--numeric-panel);border-color:var(--numeric-line)!important;color:#334155}.numeric-secondary:hover:not(:disabled){border-color:#adc8f8!important}.numeric-controls button:disabled{opacity:.45;cursor:not-allowed}.numeric-message{min-height:24px;margin:12px 2px 0;color:var(--numeric-muted);font-size:.86rem;line-height:1.5}.numeric-message.is-warning{color:var(--numeric-warning);font-weight:700}.numeric-message.is-success{color:var(--numeric-success);font-weight:700}.numeric-lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.numeric-insight-card{border:1px solid var(--numeric-line);border-radius:14px;padding:13px;background:var(--numeric-panel)}.numeric-insight-card span,.numeric-insight-card small{display:block;color:var(--numeric-muted);font-size:.75rem}.numeric-insight-card strong{display:block;margin:4px 0;font-size:1rem;color:var(--numeric-ink)}
.numeric-keypad-panel{padding:18px;position:sticky;top:92px}.numeric-display{background:#0b1730;border:1px solid #243b66;border-radius:14px;padding:13px 15px;margin-bottom:12px;color:#dceaff;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.numeric-display small{display:block;text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.65rem;color:#83aaf0}.numeric-display strong{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:2rem;line-height:1.2;color:#fff;min-height:39px}.numeric-display span{font-size:.72rem;color:#9db6df}.numeric-keypad{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(5,62px);gap:8px;background:#dce5f0;border:1px solid #c2cfde;border-radius:18px;padding:12px;box-shadow:inset 0 2px 7px rgba(15,23,42,.09)}.numeric-keypad button{border:1px solid #b8c5d5;border-bottom-width:3px;background:linear-gradient(180deg,#fff,#eef3f8);border-radius:10px;font:800 1.18rem Inter,sans-serif;color:#132238;box-shadow:0 2px 4px rgba(15,23,42,.08);cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}.numeric-keypad button:hover{background:#f8fbff;border-color:#8eb2eb}.numeric-keypad button:active,.numeric-keypad button.is-pressed{transform:translateY(2px);border-bottom-width:1px;background:#dbeaff}.numeric-keypad button.is-expected{border-color:var(--numeric-blue);box-shadow:0 0 0 3px rgba(23,105,255,.16),0 2px 4px rgba(15,23,42,.08);color:var(--numeric-blue)}.numeric-keypad .utility{font-size:.75rem;background:linear-gradient(180deg,#edf2f8,#dfe7f0)}.numeric-keypad .operator{background:linear-gradient(180deg,#eaf2ff,#d8e7ff);color:#0f58d1}.numeric-keypad .plus{grid-column:4;grid-row:2/span 2}.numeric-keypad .enter{grid-column:4;grid-row:4/span 2;font-size:.85rem}.numeric-keypad .zero{grid-column:1/span 2}.numeric-hand-guide{margin-top:15px;padding:15px;border-radius:15px;border:1px solid var(--numeric-line);background:var(--numeric-panel)}.numeric-hand-guide h3{font-size:.95rem;margin:0 0 10px;color:var(--numeric-ink)}.numeric-finger-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.numeric-finger-grid span{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--numeric-line);background:var(--numeric-card);border-radius:9px;padding:8px}.numeric-finger-grid b{font-size:.78rem;color:var(--numeric-blue)}.numeric-finger-grid small{font-size:.7rem;color:var(--numeric-muted)}.numeric-hand-guide p{font-size:.78rem;line-height:1.5;color:var(--numeric-muted);margin:10px 0 0}
.numeric-next-grid{padding:26px;margin-bottom:22px}.numeric-section-heading{max-width:800px}.numeric-section-heading h2{font-family:Poppins,Inter,sans-serif;font-size:1.7rem;margin:0 0 8px}.numeric-section-heading p{color:var(--numeric-muted);line-height:1.65;margin:0}.numeric-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.numeric-feature-grid article{border:1px solid var(--numeric-line);border-radius:16px;padding:17px;background:var(--numeric-panel)}.numeric-feature-grid article.is-live{background:linear-gradient(145deg,#edf5ff,#f7fffb);border-color:#b9d5ff}.numeric-feature-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#e7f0ff;color:var(--numeric-blue);font-weight:900;font-size:.78rem}.numeric-feature-grid h3{font-size:1rem;margin:12px 0 7px}.numeric-feature-grid p{font-size:.85rem;line-height:1.55;color:var(--numeric-muted);margin:0 0 10px}.numeric-feature-grid strong{font-size:.75rem;color:var(--numeric-blue)}
.numeric-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}.numeric-content-grid article{padding:22px}.numeric-content-grid h2{font-size:1.1rem;margin:0 0 8px}.numeric-content-grid p,.numeric-content-grid li{color:var(--numeric-muted);line-height:1.65}.numeric-content-grid ul{margin:0;padding-left:20px}.numeric-faq{padding:24px}.numeric-faq h2{font-family:Poppins,Inter,sans-serif;margin:0 0 14px}.numeric-faq details{border-top:1px solid var(--numeric-line);padding:13px 0}.numeric-faq summary{font-weight:800;cursor:pointer}.numeric-faq p{color:var(--numeric-muted);line-height:1.6;margin:8px 0 0}
html[data-theme="dark"] .numeric-shell,body.dark-mode .numeric-shell{--numeric-ink:#f4f7fb;--numeric-muted:#aab8cc;--numeric-line:#2a3a53;--numeric-card:#111c2f;--numeric-panel:#0d1729;--numeric-key:#162337}.dark .numeric-shell{--numeric-ink:#f4f7fb;--numeric-muted:#aab8cc;--numeric-line:#2a3a53;--numeric-card:#111c2f;--numeric-panel:#0d1729}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]) .numeric-shell{--numeric-ink:#f4f7fb;--numeric-muted:#aab8cc;--numeric-line:#2a3a53;--numeric-card:#111c2f;--numeric-panel:#0d1729}}
html[data-theme="dark"] .numeric-hero,body.dark-mode .numeric-hero{background:linear-gradient(135deg,#111c2f,#0b1526)}
html[data-theme="dark"] .numeric-hero-badges span,body.dark-mode .numeric-hero-badges span{background:#15243a;border-color:#2d4568;color:#c4d5eb}
html[data-theme="dark"] .numeric-segmented button,body.dark-mode .numeric-segmented button{background:#142238;color:#dce7f6;border-color:#2a3a53}.numeric-segmented button.is-active{color:white!important;background:var(--numeric-blue)!important}
html[data-theme="dark"] .numeric-target-card,body.dark-mode .numeric-target-card{background:linear-gradient(180deg,#0f1c30,#0c1728);border-color:#2c4161}.numeric-keypad-panel{color:var(--numeric-ink)}
html[data-theme="dark"] .numeric-keypad,body.dark-mode .numeric-keypad{background:#101a2b;border-color:#2d3c53}.numeric-keypad button{color:#132238}html[data-theme="dark"] .numeric-hand-guide .numeric-finger-grid span,body.dark-mode .numeric-hand-guide .numeric-finger-grid span{background:#142238}
@media(max-width:930px){.numeric-hero{grid-template-columns:1fr}.numeric-workspace{grid-template-columns:1fr}.numeric-keypad-panel{position:static;max-width:520px;width:100%;justify-self:center}.numeric-feature-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.numeric-shell{width:min(100% - 20px,1180px);padding-top:16px}.numeric-hero{padding:22px;border-radius:18px}.numeric-hero h1{font-size:2rem}.numeric-practice-panel,.numeric-keypad-panel,.numeric-next-grid,.numeric-faq{border-radius:17px}.numeric-practice-panel{padding:16px}.numeric-panel-heading{display:block}.numeric-status-pill{display:inline-flex;margin-top:12px}.numeric-control-grid{grid-template-columns:1fr}.numeric-live-stats{grid-template-columns:1fr 1fr}.numeric-controls{grid-template-columns:1fr 1fr}.numeric-controls .numeric-primary{grid-column:1/-1}.numeric-target{font-size:1.35rem}.numeric-lower-grid,.numeric-content-grid{grid-template-columns:1fr}.numeric-feature-grid{grid-template-columns:1fr}.numeric-keypad{grid-template-rows:repeat(5,58px);gap:7px;padding:10px}.numeric-finger-grid{grid-template-columns:1fr}.numeric-hero-summary{padding:17px}.numeric-summary-icon{width:58px;height:58px}.numeric-next-grid{padding:18px}}


/* ==========================================================
   v17.8.55 — Visual right-hand 10-key tutor
========================================================== */
.numeric-keypad button[data-key="5"]{
    position:relative;
}
.numeric-keypad button[data-key="5"]::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:7px;
    width:7px;
    height:3px;
    border-radius:999px;
    background:currentColor;
    opacity:.55;
    transform:translateX(-50%);
}

.numeric-hand-tutor{
    margin-top:15px;
    padding:15px;
    border:1px solid var(--numeric-line);
    border-radius:16px;
    background:
        radial-gradient(circle at 82% 18%, rgba(23,105,255,.09), transparent 32%),
        var(--numeric-panel);
}
.numeric-hand-tutor-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}
.numeric-hand-tutor-heading .numeric-eyebrow{
    margin:0 0 3px;
    font-size:.62rem;
}
.numeric-hand-tutor-heading h3{
    margin:0;
    color:var(--numeric-ink);
    font-size:.98rem;
    line-height:1.25;
}
.numeric-hand-current{
    flex:0 0 auto;
    max-width:150px;
    padding:6px 9px;
    border:1px solid #bdd2f5;
    border-radius:999px;
    color:#0f58d1;
    background:#edf5ff;
    font-size:.68rem;
    font-weight:850;
    line-height:1.2;
    text-align:center;
}
.numeric-hand-visual{
    position:relative;
    min-height:180px;
    margin:5px 0 10px;
    overflow:hidden;
    border:1px solid var(--numeric-line);
    border-radius:14px;
    background:
        linear-gradient(rgba(23,105,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(23,105,255,.035) 1px, transparent 1px),
        var(--numeric-card);
    background-size:24px 24px;
}
.numeric-right-hand{
    display:block;
    width:min(100%,320px);
    height:170px;
    margin:4px auto 0;
    overflow:visible;
}
.numeric-hand-palm{
    fill:rgba(148,163,184,.13);
    stroke:#8b98a9;
    stroke-width:4.5;
}
.numeric-hand-wrist{
    fill:none;
    stroke:#8b98a9;
    stroke-width:5;
    stroke-linecap:round;
}
.numeric-tutor-finger path{
    fill:none;
    stroke:#8b98a9;
    stroke-width:13;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:stroke .12s ease, filter .12s ease, transform .12s ease;
}
.numeric-tutor-finger circle{
    fill:#f8fbff;
    stroke:#8b98a9;
    stroke-width:4;
    transition:fill .12s ease, stroke .12s ease, filter .12s ease, transform .12s ease;
}
.numeric-tutor-finger.is-active path,
.numeric-tutor-finger.is-active circle{
    stroke:var(--numeric-blue);
    filter:drop-shadow(0 0 5px rgba(23,105,255,.35));
}
.numeric-tutor-finger.is-active circle{
    fill:#dceaff;
}
.numeric-tutor-finger.is-pressing path,
.numeric-tutor-finger.is-pressing circle{
    transform:translateY(5px);
}
.numeric-tutor-finger.is-wrong path,
.numeric-tutor-finger.is-wrong circle{
    stroke:var(--numeric-danger);
}
.numeric-hand-home-keys{
    position:absolute;
    left:50%;
    bottom:9px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:6px;
    width:min(80%,250px);
    transform:translateX(-50%);
}
.numeric-hand-home-keys span{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    min-height:34px;
    border:1px solid var(--numeric-line);
    border-radius:9px;
    color:var(--numeric-blue);
    background:var(--numeric-card);
    font-size:.86rem;
    font-weight:900;
    box-shadow:0 4px 10px rgba(15,23,42,.05);
}
.numeric-hand-home-keys small{
    color:var(--numeric-muted);
    font-size:.58rem;
    font-weight:750;
}

.numeric-hand-home-keys span.is-active{
    color:#fff;
    background:var(--numeric-blue);
    border-color:var(--numeric-blue);
    box-shadow:0 0 0 3px rgba(23,105,255,.14);
}
.numeric-hand-home-keys span.is-active small{color:#e8f1ff}
.numeric-hand-home-keys .home-five{
    border-color:#8db5f4;
    box-shadow:0 0 0 2px rgba(23,105,255,.08);
}
.numeric-hand-tip{
    margin:0 0 10px;
    color:var(--numeric-muted);
    font-size:.78rem;
    line-height:1.5;
}
.numeric-finger-grid [data-finger-chip]{
    transition:border-color .12s ease, background .12s ease, box-shadow .12s ease;
}
.numeric-finger-grid [data-finger-chip].is-active{
    border-color:#8db5f4;
    background:#edf5ff;
    box-shadow:0 0 0 2px rgba(23,105,255,.08);
}
.numeric-finger-grid [data-finger-chip].is-active small{
    color:#285a9e;
    font-weight:800;
}

html[data-theme="dark"] .numeric-hand-tutor,
body.dark-mode .numeric-hand-tutor{
    background:
        radial-gradient(circle at 82% 18%, rgba(79,140,255,.14), transparent 32%),
        var(--numeric-panel);
}
html[data-theme="dark"] .numeric-hand-visual,
body.dark-mode .numeric-hand-visual{
    background:
        linear-gradient(rgba(148,163,184,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148,163,184,.045) 1px, transparent 1px),
        var(--numeric-card);
    background-size:24px 24px;
}
html[data-theme="dark"] .numeric-hand-palm,
body.dark-mode .numeric-hand-palm{
    fill:rgba(148,163,184,.10);
    stroke:#8797ad;
}
html[data-theme="dark"] .numeric-hand-wrist,
body.dark-mode .numeric-hand-wrist,
html[data-theme="dark"] .numeric-tutor-finger path,
body.dark-mode .numeric-tutor-finger path{
    stroke:#8797ad;
}
html[data-theme="dark"] .numeric-tutor-finger circle,
body.dark-mode .numeric-tutor-finger circle{
    fill:#17243a;
    stroke:#8797ad;
}
html[data-theme="dark"] .numeric-tutor-finger.is-active path,
html[data-theme="dark"] .numeric-tutor-finger.is-active circle,
body.dark-mode .numeric-tutor-finger.is-active path,
body.dark-mode .numeric-tutor-finger.is-active circle{
    stroke:#6da0ff;
}
html[data-theme="dark"] .numeric-tutor-finger.is-active circle,
body.dark-mode .numeric-tutor-finger.is-active circle{
    fill:#1d3762;
}
html[data-theme="dark"] .numeric-hand-current,
body.dark-mode .numeric-hand-current{
    color:#cfe0ff;
    background:#142947;
    border-color:#315487;
}
html[data-theme="dark"] .numeric-finger-grid [data-finger-chip].is-active,
body.dark-mode .numeric-finger-grid [data-finger-chip].is-active{
    background:#142947;
    border-color:#315487;
}
html[data-theme="dark"] .numeric-finger-grid [data-finger-chip].is-active small,
body.dark-mode .numeric-finger-grid [data-finger-chip].is-active small{
    color:#b9d1f7;
}

@media (prefers-color-scheme:dark){
    html[data-theme="system"] .numeric-hand-tutor{
        background:
            radial-gradient(circle at 82% 18%, rgba(79,140,255,.14), transparent 32%),
            var(--numeric-panel);
    }
    html[data-theme="system"] .numeric-hand-visual{
        background:
            linear-gradient(rgba(148,163,184,.045) 1px, transparent 1px),
            linear-gradient(90deg, rgba(148,163,184,.045) 1px, transparent 1px),
            var(--numeric-card);
        background-size:24px 24px;
    }
    html[data-theme="system"] .numeric-hand-palm{fill:rgba(148,163,184,.10);stroke:#8797ad}
    html[data-theme="system"] .numeric-hand-wrist,
    html[data-theme="system"] .numeric-tutor-finger path{stroke:#8797ad}
    html[data-theme="system"] .numeric-tutor-finger circle{fill:#17243a;stroke:#8797ad}
    html[data-theme="system"] .numeric-tutor-finger.is-active path,
    html[data-theme="system"] .numeric-tutor-finger.is-active circle{stroke:#6da0ff}
    html[data-theme="system"] .numeric-tutor-finger.is-active circle{fill:#1d3762}
    html[data-theme="system"] .numeric-hand-current{color:#cfe0ff;background:#142947;border-color:#315487}
    html[data-theme="system"] .numeric-finger-grid [data-finger-chip].is-active{background:#142947;border-color:#315487}
    html[data-theme="system"] .numeric-finger-grid [data-finger-chip].is-active small{color:#b9d1f7}
}

@media(max-width:650px){
    .numeric-hand-tutor-heading{display:block}
    .numeric-hand-current{display:inline-flex;margin-top:8px;max-width:none}
    .numeric-hand-visual{min-height:170px}
    .numeric-right-hand{height:158px}
    .numeric-hand-home-keys{width:90%}
    .numeric-hand-home-keys span{font-size:.78rem}
    .numeric-hand-home-keys small{display:none}
}

/* ==========================================================
   v17.8.56 — Learner-first Numpad Tutor layout
   ========================================================== */
.numeric-shell{padding-top:18px}
.numeric-breadcrumb{margin-bottom:10px}
.numeric-intro{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
    gap:22px;
    align-items:center;
    margin-bottom:16px;
    padding:20px 22px;
    border:1px solid var(--numeric-line);
    border-radius:18px;
    background:var(--numeric-card);
    box-shadow:0 10px 26px rgba(15,23,42,.055);
}
.numeric-intro h1{
    margin:0 0 6px;
    color:var(--numeric-ink);
    font-family:Poppins,Inter,sans-serif;
    font-size:clamp(1.65rem,2.8vw,2.35rem);
    line-height:1.08;
}
.numeric-intro p{
    max-width:690px;
    margin:0;
    color:var(--numeric-muted);
    font-size:.94rem;
    line-height:1.55;
}
.numeric-intro p strong{color:var(--numeric-ink)}
.numeric-start-steps{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}
.numeric-start-steps>span{
    display:flex;
    gap:9px;
    align-items:center;
    min-height:64px;
    padding:10px;
    border:1px solid var(--numeric-line);
    border-radius:13px;
    background:var(--numeric-panel);
}
.numeric-start-steps>span>b{
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    flex:0 0 28px;
    border-radius:9px;
    color:#fff;
    background:var(--numeric-blue);
    font-size:.78rem;
}
.numeric-start-steps strong,.numeric-start-steps small{display:block}
.numeric-start-steps strong{color:var(--numeric-ink);font-size:.77rem;line-height:1.25}
.numeric-start-steps small{margin-top:2px;color:var(--numeric-muted);font-size:.64rem;line-height:1.25}

.numeric-workspace{
    grid-template-columns:minmax(0,1.6fr) minmax(330px,.7fr);
    gap:16px;
    margin-bottom:22px;
}
.numeric-practice-panel{padding:20px}
.numeric-panel-heading{padding-bottom:14px}
.numeric-panel-heading h1,.numeric-panel-heading h2{font-size:1.32rem}
.numeric-panel-heading p{font-size:.88rem}
.numeric-control-grid{margin:14px 0 12px}
.numeric-live-stats{margin:12px 0}
.numeric-live-stats div{padding:10px}
.numeric-target-card{min-height:165px;padding:15px}
.numeric-target{padding:17px 4px 18px}
.numeric-lower-grid{margin-top:10px}

.numeric-keypad-panel{
    padding:14px;
    top:82px;
}
.numeric-hand-tutor-first{
    margin-top:0;
    margin-bottom:11px;
    padding:13px;
    border-color:#bdd2f5;
    background:
        radial-gradient(circle at 84% 10%, rgba(23,105,255,.10), transparent 34%),
        var(--numeric-panel);
}
.numeric-hand-tutor-first .numeric-hand-tutor-heading{margin-bottom:7px}
.numeric-hand-tutor-first .numeric-hand-tutor-heading h3{font-size:1.03rem}
.numeric-hand-tutor-first .numeric-hand-visual{min-height:145px;margin:4px 0 8px}
.numeric-hand-tutor-first .numeric-right-hand{height:137px;margin-top:-2px}
.numeric-hand-tutor-first .numeric-hand-home-keys{bottom:7px;width:min(86%,270px)}
.numeric-hand-tutor-first .numeric-hand-home-keys span{min-height:30px}
.numeric-hand-tip{font-size:.74rem;line-height:1.4;margin-bottom:8px}
.numeric-finger-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.numeric-finger-grid span{min-width:0;display:block;padding:7px;text-align:center}
.numeric-finger-grid b,.numeric-finger-grid small{display:block}
.numeric-finger-grid b{font-size:.69rem;white-space:nowrap}
.numeric-finger-grid small{margin-top:2px;font-size:.58rem}
.numeric-finger-grid [data-finger-chip="little"]{grid-column:span 2}
.numeric-tutor-finger.is-home path,
.numeric-tutor-finger.is-home circle{
    stroke:#5f8fdb;
    filter:drop-shadow(0 0 3px rgba(23,105,255,.18));
}
.numeric-tutor-finger.is-home circle{fill:#e8f1ff}
.numeric-hand-home-keys span.is-home{
    border-color:#9bbcf0;
    background:#edf5ff;
    color:#0f58d1;
}
.numeric-display{margin-bottom:9px;padding:10px 13px}
.numeric-display strong{font-size:1.7rem;min-height:33px}
.numeric-keypad{grid-template-rows:repeat(5,54px);gap:7px;padding:10px;border-radius:15px}
.numeric-keypad-caption{
    margin:9px 2px 0;
    color:var(--numeric-muted);
    font-size:.7rem;
    line-height:1.42;
}
.numeric-keypad-caption strong{color:var(--numeric-ink)}

html[data-theme="dark"] .numeric-intro,
body.dark-mode .numeric-intro{background:var(--numeric-card)}
html[data-theme="dark"] .numeric-tutor-finger.is-home path,
html[data-theme="dark"] .numeric-tutor-finger.is-home circle,
body.dark-mode .numeric-tutor-finger.is-home path,
body.dark-mode .numeric-tutor-finger.is-home circle{stroke:#6da0ff}
html[data-theme="dark"] .numeric-tutor-finger.is-home circle,
body.dark-mode .numeric-tutor-finger.is-home circle{fill:#172f55}
html[data-theme="dark"] .numeric-hand-home-keys span.is-home,
body.dark-mode .numeric-hand-home-keys span.is-home{background:#142947;border-color:#315487;color:#d8e7ff}

@media (prefers-color-scheme:dark){
    html[data-theme="system"] .numeric-intro{background:var(--numeric-card)}
    html[data-theme="system"] .numeric-tutor-finger.is-home path,
    html[data-theme="system"] .numeric-tutor-finger.is-home circle{stroke:#6da0ff}
    html[data-theme="system"] .numeric-tutor-finger.is-home circle{fill:#172f55}
    html[data-theme="system"] .numeric-hand-home-keys span.is-home{background:#142947;border-color:#315487;color:#d8e7ff}
}

@media(max-width:930px){
    .numeric-intro{grid-template-columns:1fr}
    .numeric-start-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
    .numeric-intro{padding:16px;border-radius:16px}
    .numeric-intro h1{font-size:1.75rem}
    .numeric-start-steps{grid-template-columns:1fr}
    .numeric-start-steps>span{min-height:54px}
    .numeric-keypad-panel{padding:12px}
    .numeric-hand-tutor-first .numeric-hand-visual{min-height:140px}
    .numeric-hand-tutor-first .numeric-right-hand{height:132px}
    .numeric-finger-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .numeric-finger-grid [data-finger-chip="little"]{grid-column:1/-1}
    .numeric-keypad{grid-template-rows:repeat(5,56px)}
}
@media(max-width:930px){
    .numeric-keypad-panel{order:-1}
}


/* ==========================================================
   v17.8.57 — Wide 3-row Numpad Tutor + integrated hand + sound
   ========================================================== */
.numeric-shell{width:min(1280px,calc(100% - 32px))}
.numeric-intro{grid-template-columns:minmax(0,1.18fr) minmax(430px,.82fr);padding:17px 20px;margin-bottom:14px}
.numeric-intro h1{font-size:clamp(1.6rem,2.3vw,2.15rem)}
.numeric-workspace{grid-template-columns:minmax(0,1.65fr) minmax(390px,.82fr);gap:18px}
.numeric-panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.numeric-sound-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 10px;border:1px solid var(--numeric-line);border-radius:999px;background:var(--numeric-panel);color:var(--numeric-ink);font:800 .72rem Inter,sans-serif;cursor:pointer}
.numeric-sound-toggle:hover{border-color:#9bbcf0;background:var(--numeric-soft)}
.numeric-sound-toggle:focus-visible{outline:3px solid rgba(23,105,255,.18);outline-offset:2px}
.numeric-sound-toggle[aria-pressed="false"]{color:var(--numeric-muted)}
.numeric-practice-panel{padding:21px}
.numeric-target-card{min-height:0;padding:15px 16px 13px}
.numeric-target{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:0;padding:10px 2px 11px;font-size:clamp(1.48rem,2.35vw,2rem);line-height:1.45;letter-spacing:.045em;overflow:hidden;min-height:145px}
.numeric-target-row{display:flex;align-items:center;min-height:47px;white-space:pre;overflow:hidden;border-bottom:1px solid rgba(148,163,184,.26)}
.numeric-target-row:last-child{border-bottom:0}
.numeric-target-home-row{justify-content:center;color:var(--numeric-ink);font-weight:700;letter-spacing:.12em}
.numeric-char{flex:0 0 auto;padding:0 2px;border-radius:5px}
.numeric-keypad-panel{padding:14px;top:82px}
.numeric-keypad-tutor-card{padding:14px;border:1px solid #bcd0ef;border-radius:18px;background:radial-gradient(circle at 82% 8%,rgba(23,105,255,.09),transparent 31%),var(--numeric-panel)}
.numeric-keypad-tutor-card .numeric-hand-tutor-heading{margin-bottom:9px}
.numeric-keypad-tutor-card .numeric-hand-tutor-heading h3{font-size:1.06rem}
.numeric-display{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:10px;align-items:end;margin:0 0 10px;padding:9px 12px}
.numeric-display small{grid-column:1;grid-row:1}.numeric-display strong{grid-column:2;grid-row:1/span 2;font-size:1.85rem;min-height:0;align-self:center}.numeric-display span{grid-column:1;grid-row:2}
.numeric-keypad-stage{position:relative;isolation:isolate;padding-bottom:70px}
.numeric-keypad{position:relative;z-index:1;grid-template-rows:repeat(5,66px);gap:8px;padding:11px;border-radius:17px;background:linear-gradient(180deg,#e3eaf2,#d5dee8);box-shadow:inset 0 2px 8px rgba(15,23,42,.11),0 10px 24px rgba(15,23,42,.06)}
.numeric-keypad button{position:relative;z-index:2;font-size:1.25rem;border-radius:9px;background:linear-gradient(180deg,#fff,#eef2f7)}
.numeric-keypad button[data-home-key].is-home{border-color:#6e99dc;box-shadow:0 0 0 2px rgba(23,105,255,.13),0 2px 4px rgba(15,23,42,.08);color:#0f58d1}
.numeric-keypad button[data-key="5"].is-home{background:linear-gradient(180deg,#edf5ff,#dfeeff)}
.numeric-hand-overlay{position:absolute;z-index:3;left:0;right:0;top:20px;width:100%;height:calc(100% - 5px);pointer-events:none;overflow:visible}
.numeric-hand-overlay .numeric-hand-palm{fill:url(#numpadPalm);stroke:#b78f89;stroke-width:2.2;opacity:.9}
.numeric-hand-overlay .numeric-hand-wrist{fill:none;stroke:#9f7b78;stroke-width:3;stroke-linecap:round;opacity:.55}
.numeric-hand-overlay .numeric-tutor-finger path{fill:none;stroke:#8f7778;stroke-width:13;stroke-linecap:round;opacity:.42;transition:stroke .08s ease,opacity .08s ease,filter .08s ease}
.numeric-hand-overlay .numeric-tutor-finger circle{fill:#e8c3b8;stroke:#8f7778;stroke-width:3;opacity:.66;transition:all .08s ease}
.numeric-hand-overlay .numeric-tutor-finger.is-home path,.numeric-hand-overlay .numeric-tutor-finger.is-home circle{stroke:#5685cf;opacity:.72}
.numeric-hand-overlay .numeric-tutor-finger.is-active path{stroke:#1769ff;opacity:.9;filter:drop-shadow(0 0 5px rgba(23,105,255,.35))}
.numeric-hand-overlay .numeric-tutor-finger.is-active circle{fill:#dbeafe;stroke:#1769ff;opacity:1;filter:drop-shadow(0 0 5px rgba(23,105,255,.35))}
.numeric-hand-overlay .numeric-tutor-finger.is-wrong path,.numeric-hand-overlay .numeric-tutor-finger.is-wrong circle{stroke:#dc2626!important}
.numeric-hand-overlay .numeric-tutor-finger.is-pressing{transform:translateY(4px);transform-origin:center;transition:transform .06s ease}
.numeric-home-guide{position:absolute;z-index:4;left:18%;right:18%;bottom:7px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;pointer-events:none}
.numeric-home-guide span{padding:6px 4px;border:1px solid #bfd2ef;border-radius:9px;background:rgba(248,251,255,.92);text-align:center;color:#275990;font-weight:900;font-size:.75rem;box-shadow:0 4px 12px rgba(15,23,42,.06)}
.numeric-home-guide small{display:block;margin-top:1px;color:#64748b;font-size:.55rem;font-weight:700}.numeric-home-guide .home-five{border-color:#74a3ef;background:#edf5ff}
.numeric-hand-tip{margin:8px 2px 9px;font-size:.76rem;line-height:1.42}
.numeric-finger-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.numeric-finger-grid-compact span{min-width:0;display:block;padding:7px 5px;text-align:center}
.numeric-finger-grid-compact b,.numeric-finger-grid-compact small{display:block}.numeric-finger-grid-compact b{font-size:.69rem;white-space:nowrap}.numeric-finger-grid-compact small{margin-top:2px;font-size:.57rem}.numeric-finger-grid-compact [data-finger-chip="little"]{grid-column:span 2}
.numeric-keypad-caption{margin-top:8px}
html[data-theme="dark"] .numeric-keypad-tutor-card,body.dark-mode .numeric-keypad-tutor-card{background:radial-gradient(circle at 82% 8%,rgba(79,140,255,.12),transparent 31%),var(--numeric-panel);border-color:#304766}
html[data-theme="dark"] .numeric-keypad,body.dark-mode .numeric-keypad{background:linear-gradient(180deg,#26354b,#1a2739);border-color:#41536c}
html[data-theme="dark"] .numeric-hand-overlay .numeric-hand-palm,body.dark-mode .numeric-hand-overlay .numeric-hand-palm{fill:rgba(190,145,137,.30);stroke:#a6817c}
html[data-theme="dark"] .numeric-hand-overlay .numeric-tutor-finger path,body.dark-mode .numeric-hand-overlay .numeric-tutor-finger path{stroke:#b28f8b}
html[data-theme="dark"] .numeric-hand-overlay .numeric-tutor-finger circle,body.dark-mode .numeric-hand-overlay .numeric-tutor-finger circle{fill:#634a4a;stroke:#b28f8b}
html[data-theme="dark"] .numeric-home-guide span,body.dark-mode .numeric-home-guide span{background:rgba(18,34,56,.94);border-color:#35557e;color:#dbeafe}
html[data-theme="dark"] .numeric-home-guide small,body.dark-mode .numeric-home-guide small{color:#9fb2ca}
@media(prefers-color-scheme:dark){html[data-theme="system"] .numeric-keypad-tutor-card{background:radial-gradient(circle at 82% 8%,rgba(79,140,255,.12),transparent 31%),var(--numeric-panel);border-color:#304766}html[data-theme="system"] .numeric-keypad{background:linear-gradient(180deg,#26354b,#1a2739);border-color:#41536c}html[data-theme="system"] .numeric-hand-overlay .numeric-hand-palm{fill:rgba(190,145,137,.30);stroke:#a6817c}html[data-theme="system"] .numeric-hand-overlay .numeric-tutor-finger path{stroke:#b28f8b}html[data-theme="system"] .numeric-hand-overlay .numeric-tutor-finger circle{fill:#634a4a;stroke:#b28f8b}html[data-theme="system"] .numeric-home-guide span{background:rgba(18,34,56,.94);border-color:#35557e;color:#dbeafe}html[data-theme="system"] .numeric-home-guide small{color:#9fb2ca}}
@media(max-width:1080px){.numeric-workspace{grid-template-columns:minmax(0,1fr) minmax(350px,.82fr)}.numeric-shell{width:min(100% - 24px,1280px)}}
@media(max-width:930px){.numeric-intro{grid-template-columns:1fr}.numeric-workspace{grid-template-columns:1fr}.numeric-keypad-panel{position:static;order:-1}.numeric-keypad-tutor-card{max-width:560px;margin:0 auto}.numeric-target{font-size:clamp(1.35rem,4vw,1.85rem)}}
@media(max-width:650px){.numeric-shell{width:min(100% - 18px,1280px)}.numeric-panel-heading{display:block}.numeric-panel-actions{justify-content:flex-start;margin-top:10px}.numeric-target{font-size:clamp(1.2rem,5.7vw,1.58rem);min-height:132px}.numeric-target-row{min-height:43px}.numeric-keypad{grid-template-rows:repeat(5,58px)}.numeric-keypad-stage{padding-bottom:62px}.numeric-hand-overlay{top:12px}.numeric-home-guide{left:15%;right:15%;bottom:4px}.numeric-finger-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.numeric-finger-grid-compact [data-finger-chip="little"]{grid-column:1/-1}}

/* v17.8.57 sound icon */
.numeric-sound-toggle svg{width:15px;height:15px;fill:currentColor;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.numeric-sound-toggle .numeric-sound-waves,.numeric-sound-toggle .numeric-sound-off-line{fill:none}
.numeric-sound-toggle .numeric-sound-off-line{display:none}
.numeric-sound-toggle[aria-pressed="false"] .numeric-sound-waves{display:none}
.numeric-sound-toggle[aria-pressed="false"] .numeric-sound-off-line{display:block}

/* v17.8.57 dark learning-path contrast */
html[data-theme="dark"] .numeric-feature-grid article.is-live,body.dark-mode .numeric-feature-grid article.is-live{background:linear-gradient(145deg,#132640,#102a2c);border-color:#315487}
html[data-theme="dark"] .numeric-feature-grid article.is-live h3,body.dark-mode .numeric-feature-grid article.is-live h3{color:#f8fafc}
html[data-theme="dark"] .numeric-feature-grid article.is-live p,body.dark-mode .numeric-feature-grid article.is-live p{color:#b9c7d8}
@media(prefers-color-scheme:dark){html[data-theme="system"] .numeric-feature-grid article.is-live{background:linear-gradient(145deg,#132640,#102a2c);border-color:#315487}html[data-theme="system"] .numeric-feature-grid article.is-live h3{color:#f8fafc}html[data-theme="system"] .numeric-feature-grid article.is-live p{color:#b9c7d8}}


/* ==========================================================
   v17.8.58 — lesson-first stacked Numpad Tutor + Capsule hand
   ========================================================== */
/* Match the main tutor's learning order: lesson first, guidance below. */
.numeric-workspace{
    display:flex;
    flex-direction:column;
    gap:16px;
    margin-bottom:22px;
}
.numeric-practice-panel{
    width:100%;
    box-sizing:border-box;
}
.numeric-keypad-panel{
    position:static;
    top:auto;
    order:0;
    width:100%;
    box-sizing:border-box;
    padding:18px;
}
.numeric-keypad-tutor-card{
    width:min(100%,640px);
    max-width:640px;
    margin:0 auto;
}

/* Fixed Capsule-style right hand. There is intentionally no hand-style selector. */
.numeric-keypad-stage{padding-bottom:88px}
.numeric-capsule-numpad-hand{
    top:150px;
    height:335px;
    width:100%;
    z-index:4;
    overflow:visible;
}
.numeric-capsule-numpad-hand .numeric-capsule-palm{
    fill:rgba(251,232,214,.18);
    stroke:rgba(205,167,134,.34);
    stroke-width:2.4;
    filter:drop-shadow(0 3px 5px rgba(116,75,45,.08));
}
.numeric-capsule-numpad-hand .numeric-tutor-finger path{
    fill:none;
    stroke-linecap:round;
    stroke-linejoin:round;
    vector-effect:non-scaling-stroke;
    transition:stroke .08s ease,opacity .08s ease,filter .08s ease,transform .08s ease;
}
.numeric-capsule-numpad-hand .numeric-capsule-outline{
    stroke:rgba(205,167,134,.48);
    stroke-width:25;
    opacity:.90;
    filter:drop-shadow(0 2px 3px rgba(116,75,45,.10));
}
.numeric-capsule-numpad-hand .numeric-capsule-body{
    stroke:rgba(251,232,214,.30);
    stroke-width:20;
    opacity:1;
}
.numeric-capsule-numpad-hand .numeric-capsule-highlight{
    stroke:rgba(255,255,255,.18);
    stroke-width:3.2;
    opacity:.78;
}
.numeric-capsule-numpad-hand .numeric-tutor-finger.is-home .numeric-capsule-outline{
    stroke:rgba(75,136,250,.52);
    filter:drop-shadow(0 0 4px rgba(75,136,250,.18));
}
.numeric-capsule-numpad-hand .numeric-tutor-finger.is-active .numeric-capsule-outline{
    stroke:#4b88fa;
    opacity:1;
    filter:drop-shadow(0 0 6px rgba(75,136,250,.30));
}
.numeric-capsule-numpad-hand .numeric-tutor-finger.is-active .numeric-capsule-body{
    stroke:rgba(252,233,216,.40);
}
.numeric-capsule-numpad-hand .numeric-tutor-finger.is-active .numeric-capsule-highlight{
    stroke:rgba(255,255,255,.34);
}
.numeric-capsule-numpad-hand .numeric-tutor-finger.is-wrong .numeric-capsule-outline{
    stroke:#dc2626!important;
    opacity:1;
}
.numeric-capsule-numpad-hand .numeric-tutor-finger.is-pressing path{
    transform:translateY(4px);
}

html[data-theme="dark"] .numeric-capsule-numpad-hand .numeric-capsule-palm,
body.dark-mode .numeric-capsule-numpad-hand .numeric-capsule-palm{
    fill:rgba(232,198,167,.16);
    stroke:rgba(237,211,187,.34);
}
html[data-theme="dark"] .numeric-capsule-numpad-hand .numeric-capsule-outline,
body.dark-mode .numeric-capsule-numpad-hand .numeric-capsule-outline{
    stroke:rgba(237,211,187,.42);
}
html[data-theme="dark"] .numeric-capsule-numpad-hand .numeric-capsule-body,
body.dark-mode .numeric-capsule-numpad-hand .numeric-capsule-body{
    stroke:rgba(232,198,167,.26);
}
html[data-theme="dark"] .numeric-capsule-numpad-hand .numeric-tutor-finger.is-home .numeric-capsule-outline,
body.dark-mode .numeric-capsule-numpad-hand .numeric-tutor-finger.is-home .numeric-capsule-outline,
html[data-theme="dark"] .numeric-capsule-numpad-hand .numeric-tutor-finger.is-active .numeric-capsule-outline,
body.dark-mode .numeric-capsule-numpad-hand .numeric-tutor-finger.is-active .numeric-capsule-outline{
    stroke:#6da0ff;
}
@media(prefers-color-scheme:dark){
    html[data-theme="system"] .numeric-capsule-numpad-hand .numeric-capsule-palm{fill:rgba(232,198,167,.16);stroke:rgba(237,211,187,.34)}
    html[data-theme="system"] .numeric-capsule-numpad-hand .numeric-capsule-outline{stroke:rgba(237,211,187,.42)}
    html[data-theme="system"] .numeric-capsule-numpad-hand .numeric-capsule-body{stroke:rgba(232,198,167,.26)}
    html[data-theme="system"] .numeric-capsule-numpad-hand .numeric-tutor-finger.is-home .numeric-capsule-outline,
    html[data-theme="system"] .numeric-capsule-numpad-hand .numeric-tutor-finger.is-active .numeric-capsule-outline{stroke:#6da0ff}
}

/* On smaller screens, keep the lesson visible before the keypad and compress the intro. */
@media(max-width:930px){
    .numeric-keypad-panel{order:0!important}
    .numeric-keypad-tutor-card{width:min(100%,600px);max-width:600px}
}
@media(max-width:650px){
    .numeric-shell{padding-top:10px}
    .numeric-breadcrumb{margin-bottom:7px}
    .numeric-intro{padding:13px 14px;margin-bottom:10px;gap:10px}
    .numeric-intro h1{font-size:1.55rem;margin-bottom:4px}
    .numeric-intro p{font-size:.82rem;line-height:1.42}
    .numeric-start-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
    .numeric-start-steps>span{display:block;min-height:0;padding:7px 6px;text-align:center}
    .numeric-start-steps>span>b{width:23px;height:23px;margin:0 auto 4px;font-size:.68rem;border-radius:7px}
    .numeric-start-steps strong{font-size:.67rem}
    .numeric-start-steps small{display:none}
    .numeric-workspace{gap:11px}
    .numeric-practice-panel{padding:14px}
    .numeric-keypad-panel{padding:10px}
    .numeric-keypad-tutor-card{padding:11px;border-radius:15px}
    .numeric-capsule-numpad-hand{top:135px;height:305px}
    .numeric-keypad-stage{padding-bottom:70px}
}
@media(max-width:430px){
    .numeric-intro-copy .numeric-eyebrow{font-size:.62rem}
    .numeric-intro h1{font-size:1.42rem}
    .numeric-intro p{font-size:.78rem}
    .numeric-start-steps strong{font-size:.62rem}
    .numeric-keypad{grid-template-rows:repeat(5,54px);gap:6px;padding:8px}
    .numeric-capsule-numpad-hand{top:126px;height:288px}
}
/* Keep the Capsule body skin-toned; state is communicated mainly by its outline. */
.numeric-capsule-numpad-hand .numeric-tutor-finger.is-home .numeric-capsule-body{
    stroke:rgba(251,232,214,.30);
}
.numeric-capsule-numpad-hand .numeric-tutor-finger.is-home .numeric-capsule-highlight{
    stroke:rgba(255,255,255,.18);
}
.numeric-capsule-numpad-hand .numeric-tutor-finger.is-wrong .numeric-capsule-body{
    stroke:rgba(251,232,214,.30)!important;
}
.numeric-capsule-numpad-hand .numeric-tutor-finger.is-wrong .numeric-capsule-highlight{
    stroke:rgba(255,255,255,.16)!important;
}
.numeric-capsule-numpad-hand .numeric-tutor-finger.is-pressing{transform:translateY(3px)}
.numeric-capsule-numpad-hand .numeric-tutor-finger.is-pressing path{transform:none}
html[data-theme="dark"] .numeric-capsule-numpad-hand .numeric-tutor-finger.is-home .numeric-capsule-body,
body.dark-mode .numeric-capsule-numpad-hand .numeric-tutor-finger.is-home .numeric-capsule-body,
html[data-theme="dark"] .numeric-capsule-numpad-hand .numeric-tutor-finger.is-wrong .numeric-capsule-body,
body.dark-mode .numeric-capsule-numpad-hand .numeric-tutor-finger.is-wrong .numeric-capsule-body{stroke:rgba(232,198,167,.26)!important}
@media(prefers-color-scheme:dark){
    html[data-theme="system"] .numeric-capsule-numpad-hand .numeric-tutor-finger.is-home .numeric-capsule-body,
    html[data-theme="system"] .numeric-capsule-numpad-hand .numeric-tutor-finger.is-wrong .numeric-capsule-body{stroke:rgba(232,198,167,.26)!important}
}
/* Let the keypad sit beneath the lesson like the main tutor keyboard, without a second full-width card shell. */
.numeric-keypad-panel{
    background:transparent;
    border:0;
    box-shadow:none;
    padding:0;
}


/* ==========================================================
   v17.8.59 — compact lesson-first layout + 3-minute minimum
   Keep the tutor visible sooner without reducing the 3-row lesson.
   ========================================================== */
.numeric-shell{padding-top:12px}
.numeric-breadcrumb{margin-bottom:7px;font-size:.78rem}
.numeric-intro{
    padding:12px 16px;
    margin-bottom:10px;
    gap:14px;
    border-radius:16px;
}
.numeric-intro h1{font-size:clamp(1.48rem,2vw,1.88rem);margin-bottom:3px}
.numeric-intro p{font-size:.84rem;line-height:1.42}
.numeric-start-steps{gap:6px}
.numeric-start-steps>span{min-height:48px;padding:7px 8px;gap:7px;border-radius:11px}
.numeric-start-steps>span>b{width:24px;height:24px;flex-basis:24px;border-radius:7px;font-size:.68rem}
.numeric-start-steps strong{font-size:.70rem}
.numeric-start-steps small{font-size:.58rem}
.numeric-workspace{gap:10px}
.numeric-practice-panel{padding:15px 16px 14px}
.numeric-panel-heading{padding-bottom:9px;gap:10px}
.numeric-panel-heading h1,.numeric-panel-heading h2{font-size:1.16rem;margin-bottom:2px}
.numeric-panel-heading p{font-size:.78rem;line-height:1.4}
.numeric-panel-actions{gap:6px}
.numeric-sound-toggle{min-height:30px;padding:5px 9px;font-size:.67rem}
.numeric-status-pill{padding:6px 9px;font-size:.68rem}
.numeric-control-grid{margin:9px 0 8px;gap:10px}
.numeric-option-group legend{margin-bottom:5px;font-size:.65rem}
.numeric-segmented{gap:5px}
.numeric-segmented button{padding:7px 10px;border-radius:9px;font-size:.76rem}
.numeric-live-stats{margin:8px 0;gap:6px}
.numeric-live-stats div{padding:7px 8px;border-radius:11px}
.numeric-live-stats span{font-size:.60rem}
.numeric-live-stats strong{font-size:1.18rem;margin-top:1px}
.numeric-target-card{padding:10px 12px 9px;border-radius:14px}
.numeric-target-topline{font-size:.65rem}
.numeric-target{min-height:118px;padding:5px 1px 6px;font-size:clamp(1.35rem,2.15vw,1.82rem);line-height:1.34}
.numeric-target-row{min-height:38px}
.numeric-progress-track{height:5px}
.numeric-controls{margin-top:8px;gap:6px}
.numeric-controls button{min-height:36px;border-radius:9px;font-size:.76rem}
.numeric-message{min-height:18px;margin:7px 2px 0;font-size:.74rem;line-height:1.35}
.numeric-lower-grid{margin-top:8px;gap:7px}
.numeric-insight-card{padding:8px 10px;border-radius:11px}
.numeric-insight-card span,.numeric-insight-card small{font-size:.64rem}
.numeric-insight-card strong{margin:2px 0;font-size:.82rem}
.numeric-keypad-panel{padding-top:2px}

@media(max-width:930px){
    .numeric-intro{grid-template-columns:1fr}
    .numeric-start-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
    .numeric-shell{padding-top:8px}
    .numeric-intro{padding:10px 11px;margin-bottom:8px}
    .numeric-intro h1{font-size:1.34rem}
    .numeric-intro p{font-size:.75rem}
    .numeric-start-steps>span{padding:6px 4px}
    .numeric-start-steps strong{font-size:.61rem}
    .numeric-practice-panel{padding:11px}
    .numeric-panel-heading{padding-bottom:7px}
    .numeric-control-grid{margin:7px 0 6px}
    .numeric-live-stats{margin:6px 0}
    .numeric-target{min-height:108px;font-size:clamp(1.15rem,5.2vw,1.45rem)}
    .numeric-target-row{min-height:35px}
    .numeric-lower-grid{grid-template-columns:1fr 1fr}
    .numeric-insight-card small{display:none}
}
@media(max-width:430px){
    .numeric-start-steps small{display:none}
    .numeric-segmented button{padding:7px 8px;font-size:.72rem}
    .numeric-live-stats strong{font-size:1.05rem}
}


/* ==========================================================
   v17.8.60 — cleaner lesson area + three-line preview
   Keep secondary history after the keypad, not inside the lesson.
   ========================================================== */
.numeric-target-card{
    min-height:0;
}
.numeric-target{
    min-height:108px;
    grid-template-rows:repeat(3,34px);
    padding:4px 1px 5px;
    align-content:start;
}
.numeric-target-row{
    min-height:34px;
    height:34px;
    line-height:34px;
}
.numeric-target-home-row{
    justify-content:center;
}

/* Saved history is useful, but secondary to lesson + keypad guidance. */
.numeric-progress-summary{
    width:min(100%,640px);
    margin:-4px auto 20px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    color:var(--numeric-ink);
}
.numeric-progress-summary>div{
    min-width:0;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    padding:8px 10px;
    border-top:1px solid var(--numeric-line);
    color:var(--numeric-muted);
}
.numeric-progress-summary span{
    font-size:.67rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.055em;
}
.numeric-progress-summary strong{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--numeric-ink);
    font-size:.76rem;
}
.numeric-progress-summary small{
    color:var(--numeric-muted);
    font-size:.61rem;
    white-space:nowrap;
}

@media(max-width:650px){
    .numeric-target{min-height:102px;grid-template-rows:repeat(3,32px);padding:3px 1px 4px}
    .numeric-target-row{min-height:32px;height:32px;line-height:32px}
    .numeric-progress-summary{grid-template-columns:1fr;margin-top:-2px;margin-bottom:14px;gap:0}
    .numeric-progress-summary>div{grid-template-columns:auto minmax(0,1fr);padding:7px 4px}
    .numeric-progress-summary small{display:none}
}


/* ==========================================================
   v17.8.61 — direct-to-practice opening
   The standalone intro card was removed. The practice heading
   is now the page H1 so the learner reaches the lesson first.
========================================================== */
.numeric-workspace{margin-top:0}
.numeric-panel-heading h1 strong,.numeric-panel-heading p strong{color:var(--numeric-ink)}

/* ==========================================================
   v17.8.62 — first-key start + cleaner control surface
   Remove repeated heading/action rows; start timing on first valid key.
   ========================================================== */
.numeric-visually-hidden{
    position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
    overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
.numeric-practice-panel{padding-top:14px}
.numeric-control-grid{
    grid-template-columns:minmax(0,1.35fr) minmax(220px,.62fr) auto;
    align-items:end;
    margin-top:0;
}
.numeric-feedback-option{display:flex;flex-direction:column;align-items:flex-end;gap:5px;min-width:102px}
.numeric-control-label{font-size:.65rem;font-weight:800;color:var(--numeric-muted);text-transform:uppercase;letter-spacing:.08em}
.numeric-feedback-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:30px}
.numeric-inline-status{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border-radius:999px;border:1px solid var(--numeric-line);background:var(--numeric-panel);font-size:.67rem;font-weight:800;color:var(--numeric-muted);white-space:nowrap}
.numeric-inline-status[hidden]{display:none!important}
.numeric-inline-status.is-warning{color:var(--numeric-warning);border-color:#d6a84b}
.numeric-inline-status.is-success{color:var(--numeric-success);border-color:#4eb98e}
.numeric-controls,.numeric-message{display:none!important}
.numeric-target-card{margin-top:8px}
@media(max-width:900px){
    .numeric-control-grid{grid-template-columns:minmax(0,1fr) minmax(190px,.62fr)}
    .numeric-feedback-option{grid-column:1/-1;align-items:flex-start}
    .numeric-feedback-actions{justify-content:flex-start}
}
@media(max-width:650px){
    .numeric-control-grid{grid-template-columns:1fr;gap:7px}
    .numeric-feedback-option{grid-column:auto;align-items:flex-start}
    .numeric-control-label{display:none}
    .numeric-target-card{margin-top:5px}
}


/* ============================================================
   v17.8.63 — direct keypad tutor surface
   Remove the redundant tutor title/next-key header so the keypad
   and capsule hand are the first visual teaching elements.
   ============================================================ */
.numeric-keypad-tutor-card-direct{
  padding-top:10px;
}
.numeric-keypad-tutor-card-direct .numeric-keypad-stage{
  margin-top:0;
}
@media (max-width:720px){
  .numeric-keypad-tutor-card-direct{padding-top:8px}
}

/* ==========================================================
   v17.8.64 — Improved numpad capsule hand motion
   Cleaner capsule drawing and finger-specific movement.
   ========================================================== */
.numeric-capsule-numpad-hand .numeric-capsule-palm{
    fill:rgba(231,198,167,.18);
    stroke:rgba(204,168,135,.34);
    stroke-width:2;
}

.numeric-capsule-numpad-hand .numeric-tutor-finger{
    transition:transform .16s cubic-bezier(.22,.8,.24,1), opacity .14s ease, filter .14s ease;
}

.numeric-capsule-numpad-hand .numeric-tutor-finger path{
    transition:stroke .14s ease, opacity .14s ease, filter .14s ease;
    stroke-linecap:round;
    stroke-linejoin:round;
    vector-effect:non-scaling-stroke;
}

.numeric-capsule-numpad-hand .numeric-capsule-outline{
    stroke-width:24;
    opacity:.94;
    filter:drop-shadow(0 1px 2px rgba(92,65,44,.10));
}

.numeric-capsule-numpad-hand .numeric-capsule-body{
    stroke-width:19;
    opacity:.96;
}

.numeric-capsule-numpad-hand .numeric-capsule-highlight{
    stroke-width:7;
    opacity:.28;
}

.numeric-capsule-numpad-hand [data-tutor-finger="index"]{transform-origin:625px 244px}
.numeric-capsule-numpad-hand [data-tutor-finger="middle"]{transform-origin:715px 245px}
.numeric-capsule-numpad-hand [data-tutor-finger="ring"]{transform-origin:806px 248px}
.numeric-capsule-numpad-hand [data-tutor-finger="little"]{transform-origin:892px 252px}
.numeric-capsule-numpad-hand [data-tutor-finger="thumb"]{transform-origin:578px 254px}

.numeric-capsule-numpad-hand [data-tutor-finger="index"].is-active{
    transform:translate(-7px,3px) rotate(-5deg);
}
.numeric-capsule-numpad-hand [data-tutor-finger="middle"].is-active{
    transform:translate(0,4px) rotate(0deg);
}
.numeric-capsule-numpad-hand [data-tutor-finger="ring"].is-active{
    transform:translate(7px,3px) rotate(5deg);
}
.numeric-capsule-numpad-hand [data-tutor-finger="little"].is-active{
    transform:translate(9px,2px) rotate(8deg);
}
.numeric-capsule-numpad-hand [data-tutor-finger="thumb"].is-active{
    transform:translate(-10px,9px) rotate(-13deg);
}

.numeric-capsule-numpad-hand [data-tutor-finger].is-home{
    opacity:.98;
}

.numeric-capsule-numpad-hand [data-tutor-finger].is-pressing{
    filter:drop-shadow(0 0 6px rgba(75,136,250,.12));
}
.numeric-capsule-numpad-hand [data-tutor-finger="index"].is-pressing{transform:translate(-9px,6px) rotate(-6deg)}
.numeric-capsule-numpad-hand [data-tutor-finger="middle"].is-pressing{transform:translate(0,7px)}
.numeric-capsule-numpad-hand [data-tutor-finger="ring"].is-pressing{transform:translate(8px,6px) rotate(6deg)}
.numeric-capsule-numpad-hand [data-tutor-finger="little"].is-pressing{transform:translate(11px,5px) rotate(9deg)}
.numeric-capsule-numpad-hand [data-tutor-finger="thumb"].is-pressing{transform:translate(-13px,12px) rotate(-14deg)}

html[data-theme="dark"] .numeric-capsule-numpad-hand .numeric-capsule-palm,
body.dark-mode .numeric-capsule-numpad-hand .numeric-capsule-palm{
    fill:rgba(232,198,167,.16);
    stroke:rgba(237,211,187,.30);
}

html[data-theme="dark"] .numeric-capsule-numpad-hand .numeric-capsule-outline,
body.dark-mode .numeric-capsule-numpad-hand .numeric-capsule-outline{
    filter:drop-shadow(0 1px 2px rgba(2,6,23,.18));
}

/* ==========================================================
   v17.8.65 — centered responsive lesson text + real Numpad course
   ========================================================== */
.numeric-target{
    width:100%;
    max-width:100%;
    overflow:hidden;
}
.numeric-target-row{
    width:100%;
    max-width:100%;
    justify-content:center!important;
    text-align:center;
    overflow:hidden;
    white-space:pre;
}
.numeric-target-row .numeric-char{
    flex:0 0 auto;
}

.numeric-lesson-picker{min-width:0}
.numeric-lesson-select-wrap{display:block;min-width:0}
.numeric-lesson-select-wrap select{
    width:100%;
    min-height:34px;
    border:1px solid var(--numeric-line);
    border-radius:9px;
    background:var(--numeric-panel);
    color:var(--numeric-ink);
    padding:6px 32px 6px 10px;
    font:inherit;
    font-size:.75rem;
    font-weight:750;
    cursor:pointer;
    outline:none;
}
.numeric-lesson-select-wrap select:hover{border-color:#a9c8ff}
.numeric-lesson-select-wrap select:focus-visible{border-color:var(--numeric-blue);box-shadow:0 0 0 3px rgba(23,105,255,.12)}
.numeric-lesson-meta{
    display:block;
    margin-top:5px;
    color:var(--numeric-muted);
    font-size:.65rem;
    line-height:1.35;
}

.numeric-course-roadmap{padding:18px}
.numeric-course-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:7px;
    margin-top:12px;
}
.numeric-course-lesson{
    appearance:none;
    border:1px solid var(--numeric-line);
    background:var(--numeric-panel);
    color:var(--numeric-ink);
    border-radius:12px;
    min-width:0;
    padding:10px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    grid-template-areas:"num title" "num note";
    column-gap:8px;
    row-gap:2px;
    text-align:left;
    cursor:pointer;
    transition:border-color .14s ease,background .14s ease,transform .14s ease,box-shadow .14s ease;
}
.numeric-course-lesson:hover{border-color:#9fc2ff;transform:translateY(-1px)}
.numeric-course-lesson:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(23,105,255,.13)}
.numeric-course-lesson>span{
    grid-area:num;
    align-self:start;
    display:grid;
    place-items:center;
    width:27px;
    height:27px;
    border-radius:8px;
    background:#edf4ff;
    color:var(--numeric-blue);
    font-size:.65rem;
    font-weight:900;
}
.numeric-course-lesson>strong{grid-area:title;font-size:.72rem;line-height:1.2;white-space:normal}
.numeric-course-lesson>small{grid-area:note;color:var(--numeric-muted);font-size:.61rem;line-height:1.2}
.numeric-course-lesson.is-current{border-color:#7eaeff;background:#f3f7ff;box-shadow:inset 0 0 0 1px rgba(23,105,255,.08)}
.numeric-course-lesson.is-mastered>span{background:#e9f9f1;color:#0f9f6e}

html[data-theme="dark"] .numeric-lesson-select-wrap select,
body.dark-mode .numeric-lesson-select-wrap select,
html[data-theme="dark"] .numeric-course-lesson,
body.dark-mode .numeric-course-lesson{
    background:#0f1c30;
    border-color:#2c4161;
    color:#edf4ff;
}
html[data-theme="dark"] .numeric-course-lesson>span,
body.dark-mode .numeric-course-lesson>span{background:#14294a;color:#7eaeff}
html[data-theme="dark"] .numeric-course-lesson.is-current,
body.dark-mode .numeric-course-lesson.is-current{background:#132541;border-color:#4e7fc9}
html[data-theme="dark"] .numeric-course-lesson.is-mastered>span,
body.dark-mode .numeric-course-lesson.is-mastered>span{background:#12372d;color:#6ee7b7}

@media(prefers-color-scheme:dark){
    html[data-theme="system"] .numeric-lesson-select-wrap select,
    html[data-theme="system"] .numeric-course-lesson{background:#0f1c30;border-color:#2c4161;color:#edf4ff}
    html[data-theme="system"] .numeric-course-lesson>span{background:#14294a;color:#7eaeff}
    html[data-theme="system"] .numeric-course-lesson.is-current{background:#132541;border-color:#4e7fc9}
    html[data-theme="system"] .numeric-course-lesson.is-mastered>span{background:#12372d;color:#6ee7b7}
}

@media(max-width:1050px){
    .numeric-course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
    .numeric-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .numeric-target{font-size:clamp(1.05rem,4.5vw,1.36rem)!important;letter-spacing:.025em!important}
    .numeric-target-row{padding-inline:2px}
}
@media(max-width:430px){
    .numeric-course-roadmap{padding:14px}
    .numeric-course-grid{grid-template-columns:1fr;gap:6px}
    .numeric-course-lesson{padding:8px 9px}
    .numeric-lesson-meta{font-size:.61rem}
    .numeric-target{font-size:clamp(.92rem,4.6vw,1.14rem)!important;letter-spacing:.012em!important}
}


/* ==========================================================
   v17.8.66 — cleaner unified right-hand capsule tutor
   Uses a single connected right-hand silhouette with softer palm,
   steadier capsule fingers, and professional motion.
   ========================================================== */
.numeric-keypad-stage{min-height:460px}
.numeric-capsule-numpad-hand{
  top:118px;
  left:14px;
  right:10px;
  height:332px;
  pointer-events:none;
}
.numeric-capsule-numpad-hand .numeric-capsule-wrist{
  fill:rgba(223,188,162,.22);
}
.numeric-capsule-numpad-hand .numeric-capsule-palm{
  fill:rgba(231,198,167,.24);
  stroke:rgba(192,151,118,.32);
  stroke-width:2;
}
.numeric-capsule-numpad-hand .numeric-capsule-bridge{
  fill:none;
  stroke:rgba(206,174,146,.22);
  stroke-width:24;
  stroke-linecap:round;
}
.numeric-capsule-numpad-hand .numeric-capsule-outline{
  stroke:#f6e9d8;
  stroke-width:26;
  opacity:.96;
}
.numeric-capsule-numpad-hand .numeric-capsule-body{
  stroke:rgba(205,171,140,.98);
  stroke-width:20;
  opacity:.98;
}
.numeric-capsule-numpad-hand .numeric-capsule-highlight{
  stroke:rgba(255,255,255,.30);
  stroke-width:6;
  opacity:.42;
}
.numeric-capsule-numpad-hand [data-tutor-finger]{transition:transform .18s cubic-bezier(.22,.8,.24,1),filter .14s ease,opacity .14s ease}
.numeric-capsule-numpad-hand [data-tutor-finger="thumb"]{transform-origin:592px 279px}
.numeric-capsule-numpad-hand [data-tutor-finger="index"]{transform-origin:649px 264px}
.numeric-capsule-numpad-hand [data-tutor-finger="middle"]{transform-origin:723px 260px}
.numeric-capsule-numpad-hand [data-tutor-finger="ring"]{transform-origin:794px 264px}
.numeric-capsule-numpad-hand [data-tutor-finger="little"]{transform-origin:857px 271px}
.numeric-capsule-numpad-hand [data-tutor-finger].is-home{opacity:.98}
.numeric-capsule-numpad-hand [data-tutor-finger="index"].is-active{transform:translate(-6px,2px) rotate(-4deg)}
.numeric-capsule-numpad-hand [data-tutor-finger="middle"].is-active{transform:translate(0,3px)}
.numeric-capsule-numpad-hand [data-tutor-finger="ring"].is-active{transform:translate(5px,2px) rotate(3deg)}
.numeric-capsule-numpad-hand [data-tutor-finger="little"].is-active{transform:translate(8px,1px) rotate(5deg)}
.numeric-capsule-numpad-hand [data-tutor-finger="thumb"].is-active{transform:translate(-10px,7px) rotate(-11deg)}
.numeric-capsule-numpad-hand [data-tutor-finger].is-pressing{filter:drop-shadow(0 0 7px rgba(75,136,250,.14))}
.numeric-capsule-numpad-hand [data-tutor-finger="index"].is-pressing{transform:translate(-8px,5px) rotate(-5deg)}
.numeric-capsule-numpad-hand [data-tutor-finger="middle"].is-pressing{transform:translate(0,6px)}
.numeric-capsule-numpad-hand [data-tutor-finger="ring"].is-pressing{transform:translate(6px,5px) rotate(4deg)}
.numeric-capsule-numpad-hand [data-tutor-finger="little"].is-pressing{transform:translate(9px,4px) rotate(6deg)}
.numeric-capsule-numpad-hand [data-tutor-finger="thumb"].is-pressing{transform:translate(-12px,10px) rotate(-12deg)}
.numeric-capsule-numpad-hand .numeric-tutor-finger.is-active .numeric-capsule-outline,
.numeric-capsule-numpad-hand .numeric-tutor-finger.is-home .numeric-capsule-outline{stroke:#6da0ff}
.numeric-capsule-numpad-hand .numeric-tutor-finger.is-active .numeric-capsule-body{stroke:#c5dafd}
.numeric-capsule-numpad-hand .numeric-tutor-finger.is-home .numeric-capsule-body{stroke:rgba(193,212,250,.95)}
.numeric-capsule-numpad-hand .numeric-tutor-finger.is-wrong .numeric-capsule-outline{stroke:#e24b4b!important}
.numeric-capsule-numpad-hand .numeric-tutor-finger.is-wrong .numeric-capsule-body{stroke:#efb0ab!important}
html[data-theme="dark"] .numeric-capsule-numpad-hand .numeric-capsule-wrist,
body.dark-mode .numeric-capsule-numpad-hand .numeric-capsule-wrist{fill:rgba(219,179,154,.16)}
html[data-theme="dark"] .numeric-capsule-numpad-hand .numeric-capsule-palm,
body.dark-mode .numeric-capsule-numpad-hand .numeric-capsule-palm{fill:rgba(232,198,167,.18);stroke:rgba(237,211,187,.24)}
html[data-theme="dark"] .numeric-capsule-numpad-hand .numeric-capsule-bridge,
body.dark-mode .numeric-capsule-numpad-hand .numeric-capsule-bridge{stroke:rgba(237,211,187,.18)}
html[data-theme="dark"] .numeric-capsule-numpad-hand .numeric-capsule-outline,
body.dark-mode .numeric-capsule-numpad-hand .numeric-capsule-outline{stroke:#f1dfcc}
html[data-theme="dark"] .numeric-capsule-numpad-hand .numeric-capsule-body,
body.dark-mode .numeric-capsule-numpad-hand .numeric-capsule-body{stroke:rgba(206,170,140,.92)}
@media (max-width:900px){
  .numeric-keypad-stage{min-height:430px}
  .numeric-capsule-numpad-hand{top:116px;height:306px;left:16px;right:12px}
}
@media (max-width:640px){
  .numeric-keypad-stage{min-height:390px}
  .numeric-capsule-numpad-hand{top:108px;height:274px;left:18px;right:14px}
}

/* ==========================================================
   v17.8.67 — MAIN TUTOR CAPSULE RIGHT HAND (copied style)
   This is intentionally the same Capsule/Ribbon visual language
   used by the main tutor. Only the complete RIGHT hand is shown.
   ========================================================== */
.numeric-main-capsule-right-hand{
  position:absolute;
  z-index:5;
  left:0;
  right:0;
  top:7px;
  width:100%;
  height:calc(100% - 8px);
  overflow:visible;
  pointer-events:none;
  --capsule-skin:rgba(238,225,209,.48);
  --capsule-skin-active:rgba(238,225,209,.56);
  --capsule-skin-correct:rgba(214,235,220,.42);
  --capsule-skin-wrong:rgba(241,214,214,.42);
  --capsule-edge:rgba(170,139,112,.58);
  --capsule-edge-active:rgba(66,126,244,.68);
  --capsule-edge-correct:rgba(22,163,74,.82);
  --capsule-edge-wrong:rgba(220,38,38,.82);
  --capsule-highlight:rgba(255,255,255,.17);
}
.numeric-main-capsule-right-hand .capsule-ribbon-segment{
  display:block;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  transition:stroke .16s ease,opacity .16s ease,filter .16s ease;
}
.numeric-main-capsule-right-hand .capsule-ribbon-base{
  display:block;
  fill:var(--capsule-skin);
  stroke:var(--capsule-edge);
  stroke-width:1.7px;
  opacity:.72;
}
.numeric-main-capsule-right-hand .finger-joint{
  display:block;
  fill:transparent;
  stroke:rgba(143,103,75,.22);
  stroke-width:1.05px;
  opacity:.52;
}
.numeric-main-capsule-right-hand .capsule-ribbon-outline.capsule-lower{stroke-width:30px}
.numeric-main-capsule-right-hand .capsule-ribbon-outline.capsule-middle{stroke-width:25px}
.numeric-main-capsule-right-hand .capsule-ribbon-outline.capsule-upper{stroke-width:19.5px}
.numeric-main-capsule-right-hand .capsule-ribbon-body.capsule-lower{stroke-width:25.5px}
.numeric-main-capsule-right-hand .capsule-ribbon-body.capsule-middle{stroke-width:20px}
.numeric-main-capsule-right-hand .capsule-ribbon-body.capsule-upper{stroke-width:15.5px}
.numeric-main-capsule-right-hand .capsule-ribbon-highlight.capsule-lower{stroke-width:6.8px}
.numeric-main-capsule-right-hand .capsule-ribbon-highlight.capsule-middle{stroke-width:5.1px}
.numeric-main-capsule-right-hand .capsule-ribbon-highlight.capsule-upper{stroke-width:4.2px}
.numeric-main-capsule-right-hand .capsule-ribbon-outline{
  stroke:var(--capsule-edge);
  filter:drop-shadow(0 1px 1px rgba(73,50,34,.06));
}
.numeric-main-capsule-right-hand .capsule-ribbon-body{stroke:var(--capsule-skin)}
.numeric-main-capsule-right-hand .capsule-ribbon-highlight{stroke:var(--capsule-highlight);opacity:.56}
.numeric-main-capsule-right-hand .finger-home .capsule-ribbon-outline,
.numeric-main-capsule-right-hand .finger-active .capsule-ribbon-outline,
.numeric-main-capsule-right-hand .finger-active .capsule-ribbon-base{
  stroke:var(--capsule-edge-active)!important;
  filter:drop-shadow(0 0 3px rgba(37,99,235,.14));
}
.numeric-main-capsule-right-hand .finger-active .capsule-ribbon-body{stroke:var(--capsule-skin-active)}
.numeric-main-capsule-right-hand .finger-wrong .capsule-ribbon-outline,
.numeric-main-capsule-right-hand .finger-wrong .capsule-ribbon-base{stroke:var(--capsule-edge-wrong)!important}
.numeric-main-capsule-right-hand .finger-wrong .capsule-ribbon-body{stroke:var(--capsule-skin-wrong)}
.numeric-main-capsule-right-hand .articulated-thumb .capsule-ribbon-outline.capsule-lower{stroke-width:43px}
.numeric-main-capsule-right-hand .articulated-thumb .capsule-ribbon-outline.capsule-upper{stroke-width:36px}
.numeric-main-capsule-right-hand .articulated-thumb .capsule-ribbon-body.capsule-lower{stroke-width:36px}
.numeric-main-capsule-right-hand .articulated-thumb .capsule-ribbon-body.capsule-upper{stroke-width:29px}
.numeric-main-capsule-right-hand .articulated-thumb .capsule-ribbon-highlight.capsule-lower{stroke-width:8px}
.numeric-main-capsule-right-hand .articulated-thumb .capsule-ribbon-highlight.capsule-upper{stroke-width:6px}
.numeric-main-capsule-right-hand .finger-press .capsule-ribbon-segment,
.numeric-main-capsule-right-hand .finger-press .capsule-ribbon-base{
  animation:numericMainCapsulePress .12s ease;
  transform-box:fill-box;
  transform-origin:center bottom;
}
@keyframes numericMainCapsulePress{
  0%{transform:translateY(0)}
  48%{transform:translateY(3px)}
  100%{transform:translateY(0)}
}
html[data-theme="dark"] .numeric-main-capsule-right-hand,
body.dark-mode .numeric-main-capsule-right-hand{
  --capsule-skin:rgba(204,171,141,.36);
  --capsule-skin-active:rgba(214,183,153,.40);
  --capsule-skin-correct:rgba(97,171,116,.28);
  --capsule-skin-wrong:rgba(190,124,124,.30);
  --capsule-edge:rgba(221,196,173,.54);
  --capsule-edge-active:rgba(106,161,255,.82);
  --capsule-highlight:rgba(255,241,231,.10);
}
@media(prefers-color-scheme:dark){
  html[data-theme="system"] .numeric-main-capsule-right-hand{
    --capsule-skin:rgba(204,171,141,.36);
    --capsule-skin-active:rgba(214,183,153,.40);
    --capsule-edge:rgba(221,196,173,.54);
    --capsule-edge-active:rgba(106,161,255,.82);
    --capsule-highlight:rgba(255,241,231,.10);
  }
}
@media(max-width:650px){
  .numeric-main-capsule-right-hand{top:6px;height:calc(100% - 6px)}
}


/* ==========================================================
   v17.8.68 — Numpad canonical section + right-hand pose polish
   Thumb targets the far-left of 0; little finger is less splayed;
   finger bases are closer together for a more natural right hand.
   ========================================================== */
.numeric-main-capsule-right-hand{
  transform:translateX(-1px);
}
.numeric-main-capsule-right-hand .little-finger .capsule-ribbon-base{
  opacity:.96;
}


/* ==========================================================
   v17.8.69 — proximal joint alignment polish
   The copied main-tutor right hand keeps the same visual style;
   only the back/proximal joint positions are lifted in JS.
   ========================================================== */
.numeric-main-capsule-right-hand .finger-joint{
  filter:drop-shadow(0 1px 1px rgba(15,23,42,.05));
}


/* ==========================================================
   v17.8.70 — arm-side base-joint correction
   The user-facing back/base joints are raised toward the keypad.
   Fingertip targets remain unchanged.
   ========================================================== */
.numeric-main-capsule-right-hand .capsule-ribbon-base{
  filter:drop-shadow(0 1px 1px rgba(92,65,44,.08));
}
