/* ShadowLingua practice page - on top of english.css */
.practice{padding:8px 0 60px}
.p-title{margin:.1em 0 .6em}
.p-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 18px}
.p-lang select{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font:inherit;margin-inline-start:8px}
.p-due{color:var(--mute)}.p-due b{color:var(--amber);font-size:1.3em}
.p-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:14px}
.p-block{display:flex;gap:12px;align-items:center;text-align:start;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;color:var(--ink);cursor:pointer;font:inherit}
.p-block:hover{border-color:var(--teal)}.p-block b{font-size:22px;color:var(--mute);min-width:26px}.p-block.done b{color:var(--teal)}
.p-block span{flex:1;line-height:1.3}.p-block small{color:var(--mute)}
.pbtn{display:inline-flex;align-items:center;gap:8px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:10px 18px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.pbtn:hover{border-color:var(--teal);color:#fff}.pbtn.primary{background:var(--teal);color:#062b27;border-color:var(--teal)}.pbtn.primary:hover{background:#99f6e4;color:#062b27}
.pbtn.big{padding:14px 26px;font-size:18px}
.p-stage[hidden],.p-blocks[hidden],.p-app[hidden]{display:none}
.p-stage{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:22px 22px 18px;text-align:center;min-height:520px;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.p-progress{width:100%;height:4px;background:var(--line);border-radius:4px;overflow:hidden}.p-progress i{display:block;height:100%;width:0;background:var(--teal);transition:width .3s}
.p-phase{margin:6px 0 0;color:var(--teal);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:13px}
.p-head{margin:0;color:var(--mute);font-size:14px}
.p-art{display:flex;gap:6px;align-items:center;height:54px}.p-art i{width:6px;border-radius:6px;background:var(--teal);animation:pw 1s ease-in-out infinite}
.p-art i:nth-child(2){animation-delay:.1s}.p-art i:nth-child(3){animation-delay:.2s}.p-art i:nth-child(4){animation-delay:.3s}.p-art i:nth-child(5){animation-delay:.4s}.p-art i:nth-child(6){animation-delay:.5s}.p-art i:nth-child(7){animation-delay:.6s}
.p-art.still i{animation:none;height:10px;opacity:.5}
@keyframes pw{0%,100%{height:12px}50%{height:50px}}
.p-sentence{margin:0;font-size:clamp(22px,3.4vw,36px);font-weight:700;line-height:1.35;min-height:2.7em;display:flex;flex-wrap:wrap;justify-content:center;gap:0 .3em;max-width:820px}
.p-sentence .dim{color:#4b5a75}.p-sentence .mark{color:var(--amber)}
.p-tr{margin:0;color:#c8d3e6;font-size:18px;min-height:1.6em;max-width:760px}
.p-cue{margin:0;color:var(--mute);font-size:14px;min-height:1.4em}
.p-turn{display:flex;align-items:center;gap:10px;color:var(--amber);font-weight:700;min-height:44px}
.p-turn svg{width:44px;height:44px;transform:rotate(-90deg)}.p-turn circle{fill:none;stroke-width:5}.p-turn .t{stroke:var(--line)}.p-turn .f{stroke:var(--amber);stroke-linecap:round}
.p-action{width:100%;max-width:700px}
.p-check{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:6px}
.p-grades{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;margin-top:14px}
.p-grade{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 6px;cursor:pointer;color:var(--ink);font:inherit;font-weight:700;display:grid;gap:2px;justify-items:center}
.p-grade small{color:var(--mute);font-weight:500;font-size:12px}
.p-grade.g1{color:#ff6b70}.p-grade.g2{color:var(--amber)}.p-grade.g3{color:#3dd68c}.p-grade.g4{color:#6ab0ff}.p-grade:hover{border-color:currentColor}
.p-dict{width:100%;max-width:560px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:12px 16px;font:inherit;font-size:20px;text-align:center}
.p-dict-out{margin:10px 0 0;font-weight:600}.p-dict-out.ok{color:#3dd68c}.p-dict-out.bad{color:#ff6b70}
.p-controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:auto;padding-top:10px;border-top:1px solid var(--line);width:100%}
.p-keys{margin:0}.p-links{margin-top:10px}
@media (max-width:640px){.p-stage{padding:16px 12px;min-height:460px}.p-grades{grid-template-columns:repeat(2,1fr)}}
