.drill-root{display:flex;flex-direction:column;align-items:center}.drill-head{width:100%;display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s6)}.close-btn{flex-shrink:0;margin-left:-8px}.drill-count{flex-shrink:0;font-family:var(--font-ui);font-size:var(--fs-caption);color:var(--text-muted);min-width:3.2em;text-align:right}.rail{flex:1;height:6px;border-radius:var(--r-full);background:var(--surface-muted);overflow:hidden}.rail-fill{height:100%;width:0;background:var(--accent);border-radius:var(--r-full);transition:width .45s var(--ease-out)}.stack{position:relative;width:100%;min-height:360px}.drill-card{position:relative;width:100%;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:var(--s5);display:flex;flex-direction:column;gap:var(--s4);touch-action:pan-y;will-change:transform}.drill-card.dragging{transition:none}.drill-card.settling{transition:transform .22s var(--ease-settle),opacity .22s var(--ease-soft)}.drill-card.deal-in{animation:dealIn .2s var(--ease-out)}.drill-card:after{content:"";position:absolute;inset:0;border-radius:var(--r-lg);pointer-events:none;opacity:0;transition:opacity .12s linear;background:transparent}.drill-card[data-wash=again]:after{opacity:var(--w,0);background:linear-gradient(90deg,color-mix(in oklab,var(--danger) 24%,transparent),transparent 60%)}.drill-card[data-wash=good]:after{opacity:var(--w,0);background:linear-gradient(270deg,color-mix(in oklab,var(--success) 24%,transparent),transparent 60%)}.card-meta{display:flex;gap:var(--s2);flex-wrap:wrap}.prompt{font-size:var(--fs-display);line-height:1.32;color:var(--text);transition:opacity var(--dur-base) var(--ease-soft)}.prompt.big{font-size:var(--fs-hero)}.drill-card.revealed .prompt{opacity:.78}.hint{font-family:var(--font-ui);font-size:var(--fs-label);color:var(--text-muted);margin-top:var(--s2)}.reveal-rule{height:2px;width:100%;background:var(--accent);transform-origin:left center;transform:scaleX(0);transition:transform .3s var(--ease-out);margin:var(--s1) 0;opacity:0}.reveal-rule.in{transform:scaleX(1);opacity:1}.answer-wrap{display:flex;flex-direction:column;gap:var(--s2)}.answer{font-size:var(--fs-h1);color:var(--text)}.gloss{font-family:var(--font-ui);font-size:var(--fs-body);color:var(--text-muted)}.eg{font-size:var(--fs-body-lg);color:var(--text-muted)}.why{font-family:var(--font-serif);font-style:italic;font-size:var(--fs-body);color:var(--text-muted);line-height:1.5;margin-top:var(--s1)}.prov{font-size:var(--fs-caption);color:var(--accent-cool);margin-top:var(--s2)}.listen-btn{align-self:flex-start;margin-top:var(--s1)}.card-foot,.gradebar{margin-top:var(--s2)}.instruction{font-family:var(--font-ui);font-size:var(--fs-label);color:var(--text-muted);margin-bottom:var(--s1)}.prod-input{width:100%;font-family:var(--font-serif);font-size:var(--fs-h2);line-height:1.3;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s3) var(--s4);color:var(--text);margin-top:var(--s2)}.prod-input:focus{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 18%,transparent)}.prod-input:disabled{opacity:1}.verdict{font-family:var(--font-ui);font-weight:600;font-size:var(--fs-label);margin-bottom:var(--s1)}.verdict.ok{color:var(--success)}.verdict.no{color:var(--danger)}.verdict.warn{color:var(--warning)}.gender-note{font-family:var(--font-ui);font-size:var(--fs-caption);color:var(--warning)}.listen-prompt{display:flex;flex-direction:column;align-items:center;gap:var(--s2);width:100%;padding:var(--s5) 0;border:0;background:transparent;cursor:pointer;color:var(--accent);font-family:var(--font-ui);font-size:var(--fs-label)}.listen-prompt svg{width:40px;height:40px}.grade-btn.suggested{box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 55%,transparent)}.interval-chip{position:absolute;left:50%;bottom:70px;transform:translate(-50%,6px);background:var(--text);color:var(--bg);font-family:var(--font-ui);font-size:var(--fs-caption);padding:.3rem .7rem;border-radius:var(--r-full);opacity:0;pointer-events:none;z-index:5;transition:opacity .2s,transform .2s var(--ease-out)}.interval-chip.show{opacity:.92;transform:translate(-50%)}.done-card{text-align:center;padding:var(--s6) var(--s5)}.done-card h2{font-family:var(--font-serif);font-size:var(--fs-display);margin-bottom:var(--s3)}.done-rule{height:2px;width:64px;margin:var(--s4) auto;background:var(--warning);transform-origin:left;animation:drawRule .5s var(--ease-out)}
