.tier-block{margin-bottom:26px}.tier-title{color:var(--accent-3);margin:0 0 4px;font-size:1rem}.tier-desc{color:var(--text-dim);margin:0 0 14px;font-size:.82rem}.item-grid{flex-wrap:wrap;gap:12px;display:flex}.practice-card{border:1px solid var(--panel-border);background:#ffffff08;border-radius:10px;flex-direction:column;align-items:center;width:132px;padding:12px;transition:border-color .2s,background .2s;display:flex}.practice-card.result-good{background:#2ecc7114;border-color:#2ecc7199}.practice-card.result-partial{background:#f1c40f14;border-color:#f1c40f99}.practice-card.result-poor{background:#e74c3c14;border-color:#e74c3c99}.practice-card .item-num{color:var(--text-dim);align-self:flex-start;margin-bottom:2px;font-size:.68rem;font-weight:600}.practice-card .py{color:var(--accent-2);font-size:.85rem;font-weight:600}.practice-card .hz{font-family:var(--hanzi-font);color:#fff;margin:2px 0;font-size:2rem;font-weight:700}.practice-card .zy{color:var(--accent-5);margin-bottom:8px;font-size:.72rem}.practice-card .test-btn{width:100%;color:var(--text);cursor:pointer;background:#ffffff14;border:none;border-radius:8px;padding:6px 8px;font-family:inherit;font-size:.78rem}.practice-card .test-btn:disabled{opacity:.5;cursor:not-allowed}.practice-card .test-btn.recording{background:var(--accent-2);color:#fff}.practice-card .result{color:var(--text-dim);text-align:center;min-height:2.4em;margin-top:8px;font-size:.72rem}.practice-card .score{margin-top:2px;font-size:1.1rem;font-weight:700}.session-score{align-items:baseline;gap:10px;margin-bottom:20px;display:flex}.session-score .value{color:var(--accent-4);font-size:2rem;font-weight:700}
