.drill{--line-color:var(--line-mixed);color:var(--ink)}.drill[data-line=counters]{--line-color:var(--line-counters)}.drill[data-line=age]{--line-color:var(--line-age)}.drill[data-line=time]{--line-color:var(--line-time)}.drill[data-line=dates]{--line-color:var(--line-dates)}.drill[data-line=prices]{--line-color:var(--line-prices)}.drill[data-line=phone]{--line-color:var(--line-phone)}.drill[data-line=forms]{--line-color:var(--line-forms)}.drill[data-line=verbs]{--line-color:var(--line-verbs)}.drill[data-line=places]{--line-color:var(--line-places)}.drill button{font:inherit;color:var(--ink);background:var(--surface);border:var(--border) solid var(--line);border-radius:var(--radius-button);cursor:pointer;min-height:44px}.drill button:focus-visible,.drill [tabindex="-1"]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.drill .levels{background:var(--tint);border-radius:12px;gap:4px;padding:4px;display:flex}.drill .level{min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:9px;flex:1;padding:0 .5rem;font-size:.95rem;font-weight:600}.drill .level[aria-pressed=true]{color:var(--line-ink);background:var(--line-mixed)}.drill .level:focus-visible{z-index:1;position:relative}.drill .level-scope{color:var(--muted);margin:.5rem 0 .625rem;font-size:.875rem}.drill .modes-wrap{position:relative}.drill .modes-wrap:before,.drill .modes-wrap:after{content:"";z-index:1;pointer-events:none;opacity:0;width:2.5rem;transition:opacity .15s;position:absolute;top:0;bottom:0}.drill .modes-wrap:before{background:linear-gradient(to left, transparent, var(--paper));left:0}.drill .modes-wrap:after{background:linear-gradient(to right, transparent, var(--paper));right:0}.drill .modes-wrap[data-more-left=true]:before,.drill .modes-wrap[data-more=true]:after{opacity:1}.drill .modes{gap:var(--gap);scrollbar-width:none;padding:.25rem .125rem .5rem;display:flex;overflow-x:auto}.drill .modes::-webkit-scrollbar{display:none}.drill .chip[hidden]{display:none}.drill .chip{border-radius:var(--radius-chip);flex:none;align-items:center;gap:.4rem;min-height:40px;padding:0 .875rem 0 .75rem;font-size:.95rem;font-weight:500;display:inline-flex}.drill .chip[data-mode=mixed]{--chip-color:var(--line-mixed);--chip-badge:var(--badge-mixed)}.drill .chip[data-mode=counters]{--chip-color:var(--line-counters)}.drill .chip[data-mode=age]{--chip-color:var(--line-age)}.drill .chip[data-mode=time]{--chip-color:var(--line-time)}.drill .chip[data-mode=dates]{--chip-color:var(--line-dates)}.drill .chip[data-mode=prices]{--chip-color:var(--line-prices)}.drill .chip[data-mode=phone]{--chip-color:var(--line-phone)}.drill .chip[data-mode=forms]{--chip-color:var(--line-forms)}.drill .chip[data-mode=verbs]{--chip-color:var(--line-verbs)}.drill .chip[data-mode=places]{--chip-color:var(--line-places)}.drill[data-tool=particles] .chip[data-mode=mixed]{--chip-badge:var(--badge-particles)}.drill .chip[aria-pressed=true]{color:var(--line-ink);background:var(--chip-color);border-color:var(--chip-color);font-weight:600}.drill .badge{background:var(--chip-badge,var(--chip-color));width:.75rem;height:.75rem;box-shadow:0 0 0 2px var(--surface);border-radius:50%}.drill .gloss,.drill .focus-note,.drill .audio-note{color:var(--muted)}.drill .ride{margin-top:.75rem;padding:0 16px}.drill .track{height:42px;position:relative}.drill .track:before,.drill .track:after{content:"";border-radius:2px;height:4px;margin-top:-2px;position:absolute;top:31px;left:0}.drill .track:before{background:var(--rail);right:0}.drill .track:after{width:calc(var(--at) / var(--last) * 100%);background:var(--line-color);transition:width .18s ease-out}.drill .station{z-index:1;top:31px;left:calc(var(--i) / var(--last) * 100%);box-sizing:border-box;border:3px solid var(--rail);background:var(--paper);border-radius:50%;width:14px;height:14px;transition:background-color .15s,border-color .15s;position:absolute;transform:translate(-50%,-50%)}.drill .station.is-terminal{border-width:4px;width:22px;height:22px}.drill .station.is-current,.drill .station.is-missed,.drill .station.is-passed{border-color:var(--line-color)}.drill .station.is-current{box-shadow:0 0 0 3px var(--paper), 0 0 0 5px var(--line-color)}.drill .station.is-lit{background:var(--line-color);border-color:var(--line-color)}.drill .train{z-index:2;top:0;left:calc(var(--at) / var(--last) * 100%);color:var(--line-color);transition:left .18s ease-out;position:absolute;transform:translate(-50%)}.drill .train .window{fill:var(--paper)}.drill .train.is-express{animation:.4s ease-in-out drill-express}.drill .prompt{width:fit-content;max-width:100%;font-family:var(--font-ui);font-weight:700;font-size:var(--prompt-size);text-align:center;margin:1.25rem auto 0;line-height:1.15}.drill .prompt.is-long{font-size:min(var(--prompt-size), 10.5vw)}.drill[data-tool=particles] .prompt:not(.is-sentence){font-size:min(var(--prompt-size), 10vw)}.drill:not([data-ready]) .question{min-height:15rem}.drill[data-tool=particles]:not([data-ready]) .question{min-height:9.75rem}.drill .prompt .keep{white-space:nowrap}.drill .prompt.is-sentence{font-size:var(--sentence-size);line-height:1.35}.drill .prompt .blank{vertical-align:baseline;border-bottom:3px solid;width:1.4em;height:.8em;margin-left:.05em;display:inline-block}.drill .gloss{text-align:center;min-height:1.5em;margin:.375rem 0 1.25rem}.drill .choices{grid-template-columns:1fr 1fr;gap:.625rem;display:grid}.drill .choices button{border-radius:var(--radius-choice);justify-content:center;align-items:center;min-height:64px;padding:.5rem .75rem;font-size:1.15rem;font-weight:500;transition:background-color .15s,border-color .15s,color .15s;display:flex;position:relative}@media (hover:hover){.drill .choices button:hover:not(:disabled){border-color:var(--ink);background:var(--tint)}}.drill .choices button:disabled{cursor:default;color:var(--muted);border-color:var(--hair)}.drill .choices .mark{color:#fff;width:1.5rem;height:1.5rem;box-shadow:0 0 0 2.5px var(--paper);border-radius:50%;place-items:center;display:grid;position:absolute;top:-.5rem;right:-.5rem}.drill .choices .mark .icon{stroke-width:3.2px;width:.9rem;height:.9rem}.drill .choices .is-hit,.drill .choices .is-hit:disabled{color:var(--line-ink);background:var(--line-color);border-color:var(--line-color);font-weight:700}.drill .choices .is-hit .mark{background:var(--line-color);animation:.18s ease-out drill-pop}.drill .choices .is-correct,.drill .choices .is-correct:disabled{color:var(--ink);background:color-mix(in srgb, var(--line-color) 9%, white);border:2px solid var(--line-color);font-weight:700}.drill .choices .is-correct .mark{background:var(--line-color)}.drill[data-line=mixed] .choices .is-hit,.drill[data-line=mixed] .choices .is-correct,.drill .choices .is-reveal{--line-color:var(--good)}.drill .choices .is-wrong,.drill .choices .is-wrong:disabled{color:var(--bad-ink);background:var(--bad-tint);border:2px solid var(--bad)}.drill .choices .is-wrong .mark{background:var(--bad)}.drill .icon{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.drill .icon-speaker path:first-child{fill:currentColor;stroke-width:1.4px}.drill .feedback{z-index:30;padding:1.125rem max(1rem, calc((100vw - 34rem) / 2 + 1rem)) calc(1rem + env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0;animation:.22s cubic-bezier(.2,.8,.2,1) drill-sheet;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #1f262c1f}.drill .feedback[data-tone=good]{background:var(--good-tint)}.drill .feedback[data-tone=bad]{background:var(--bad-tint)}.drill .verdict{align-items:center;gap:.5rem;margin:0;font-size:1.125rem;font-weight:700;display:flex}.drill .verdict.is-good{color:var(--good-ink)}.drill .verdict.is-bad{color:var(--bad-ink)}.drill .verdict-icon{color:#fff;border-radius:50%;place-items:center;width:1.75rem;height:1.75rem;display:inline-grid}.drill .verdict.is-good .verdict-icon{background:var(--good)}.drill .verdict.is-bad .verdict-icon{background:var(--bad)}.drill .verdict-icon .icon{stroke-width:3px;width:1.125rem;height:1.125rem}.drill .bonus{font-family:var(--font-display);color:var(--line-color);margin:.25rem 0 0;font-size:1.25rem}.drill .answer{flex-wrap:wrap;align-items:center;gap:.625rem;margin:.625rem 0 0;display:flex}.drill [data-answer]{font-family:var(--font-ui);font-weight:700;font-size:var(--answer-size);line-height:1.25}.drill .speak{background:#ffffffe6;border:0;border-radius:50%;place-items:center;width:40px;min-width:40px;height:40px;min-height:40px;padding:0;display:inline-grid}.drill .speak[hidden]{display:none}.drill .speak .icon{stroke-width:2px;width:22px;height:22px}.drill .explanation{margin:.375rem 0 1rem;line-height:1.5}.drill .primary{width:100%;min-height:52px;color:var(--line-ink);background:var(--line-color);border-color:var(--line-color);font-size:1.05rem;font-weight:600}.drill .feedback[data-tone=good] .primary{background:var(--good);border-color:var(--good)}.drill .feedback[data-tone=bad] .primary{background:var(--bad);border-color:var(--bad)}.drill .result-head{text-align:center;margin-top:1.25rem;padding:.5rem 0 .25rem}.drill .score{font-family:var(--font-display);margin:0;font-weight:400;line-height:1}.drill .score-got{font-size:4rem}.drill .score-of{color:var(--muted);font-size:1.75rem}.drill .greeting{margin:.5rem 0 0;font-size:1.05rem}.drill .result.is-perfect .greeting{font-family:var(--font-display);color:var(--line-color);font-size:2rem;line-height:1.2}.drill .rule{background:var(--tint);border-radius:14px;margin:1.25rem 0 0;padding:.875rem 1rem;line-height:1.5}.drill .rule strong{color:var(--muted);margin-bottom:.125rem;font-size:.875rem;font-weight:600;display:block}.drill .missed-heading{margin:1.5rem 0 .25rem;font-weight:700}.drill .missed{margin:0;padding:0;list-style:none}.drill .missed li{border-bottom:1px solid var(--hair);justify-content:space-between;align-items:center;gap:.75rem;padding:.625rem 0;display:flex}.drill .missed li:first-child{border-top:1px solid var(--hair)}.drill .missed button{border-radius:var(--radius-chip);flex:none;align-items:center;min-height:40px;padding:0 .875rem;font-size:.875rem;font-weight:600;display:inline-flex}.drill .result [data-new]{margin-top:1.5rem}.drill .share-result{border-radius:var(--radius-chip);justify-content:center;align-items:center;gap:.5rem;margin-top:.875rem;padding:0 1.125rem;font-size:.95rem;font-weight:600;display:inline-flex}.drill .share-result .icon{flex:none;width:1.125rem;height:1.125rem}.drill .share-manual{text-align:left;background:var(--tint);white-space:pre-line;overflow-wrap:anywhere;border-radius:14px;margin:.875rem 0 0;padding:.875rem 1rem;line-height:1.5}.drill .share-manual[hidden]{display:none}.drill .share-manual strong{color:var(--muted);margin-bottom:.25rem;font-size:.875rem;font-weight:600;display:block}.drill .share-manual span{user-select:all}.drill .loop-card{border:var(--border) solid var(--line);border-radius:16px;margin-top:1.25rem;padding:1rem 1rem 1.125rem}.drill .loop-head{font-family:var(--font-display);align-items:center;gap:.5rem;margin:0;font-size:1.4rem;line-height:1.2;display:flex}.drill .loop-head .icon,.drill .loop-done .icon{flex:none;width:1.375rem;height:1.375rem}.drill .loop-note{color:var(--muted);margin:.25rem 0 .875rem}.drill .loop-done{color:var(--good-ink);background:var(--good-tint);border-radius:14px;align-items:center;gap:.5rem;margin:1.25rem 0 0;padding:.875rem 1rem;font-weight:700;display:flex}.drill .loop-done[hidden]{display:none}.drill .loop-done.is-partial{color:var(--ink);background:var(--tint)}.drill .result [data-new].is-secondary{color:var(--ink);background:var(--surface);border-color:var(--line)}.drill .loop-progress{text-align:center;color:var(--muted);margin:.875rem 0 -.5rem;font-size:.95rem;font-weight:600}.drill[data-loop] .ride:not(.loop-ride){display:none}.drill .duel-note{color:var(--muted);margin:.75rem 0 0;font-size:.9rem}.drill .duel-note strong{color:var(--ink)}.drill .duel-verdict{margin:.5rem 0 0;font-size:1.1rem;font-weight:700}.drill[data-duel] .score{display:none}.drill .duel-board{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.drill .duel-side{color:var(--muted);justify-items:center;gap:.25rem;display:grid}.drill .duel-side.is-winner{color:var(--ink)}.drill .duel-name{font-weight:600}.drill .duel-score{font-family:var(--font-display);font-size:3.25rem;line-height:1}.drill .duel-score small{color:var(--muted);font-size:1.25rem}.drill .duel-time{font-variant-numeric:tabular-nums;font-size:1.05rem}.drill .sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes drill-pop{0%{transform:scale(.4)}70%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes drill-sheet{0%{transform:translateY(100%)}}@keyframes drill-express{0%,to{left:calc(var(--at) / var(--last) * 100%)}50%{left:calc(min(var(--at) + 1, var(--last)) / var(--last) * 100%)}}@media (prefers-reduced-motion:reduce){.drill *,.drill :before,.drill :after{transition:none!important;animation:none!important}}footer[data-astro-cid-iox5ytzo]{border-top:1px solid var(--rail);color:var(--muted);padding-block:.25rem 2rem;font-size:.9rem}a[data-astro-cid-iox5ytzo]{color:inherit;margin-left:.5rem}.share[data-astro-cid-iox5ytzo]{min-height:44px;color:var(--ink);cursor:pointer;align-items:center;gap:.6rem;display:flex}.share[data-astro-cid-iox5ytzo] input[data-astro-cid-iox5ytzo]{width:1.25rem;height:1.25rem;accent-color:var(--ink);flex:none;margin:0}.share[data-astro-cid-iox5ytzo] input[data-astro-cid-iox5ytzo]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
