.gr-intro{margin:0 0 1rem}.gr-title{margin:0 0 .25rem;font-size:1.5rem}.gr-sub{margin:0;color:var(--muted);font-size:.92rem;line-height:1.6}#grammar .gr-bar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:0 0 1rem}#grammar .gr-filters{display:flex;gap:.4rem;flex-wrap:wrap}#grammar .gr-fchip{font-size:.82rem;font-weight:700;color:var(--muted);background:var(--card);border:1px solid var(--ctrl-line);border-radius:999px;padding:.2rem .7rem;cursor:pointer}#grammar .gr-fchip.is-on{color:#fff;background:var(--accent-deep);border-color:var(--accent-deep)}#grammar .gr-stat{margin-left:auto;font-size:.82rem;color:var(--muted)}#grammar .gr-stat b{color:var(--accent-deep)}#grammar .gr-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.4rem;min-height:8rem}.gr-boot .gr-boot-sk{height:11rem;border-radius:16px;background:linear-gradient(90deg,var(--line) 25%,var(--accent-soft) 50%,var(--line) 75%);background-size:300% 100%;animation:grsh 1.4s ease infinite}@keyframes grsh{0%{background-position:100% 0}to{background-position:-100% 0}}.gr-boot .gr-boot-note{text-align:center;color:var(--muted);font-size:.85rem;margin:.8rem 0 0}@media(prefers-reduced-motion:reduce){.gr-boot .gr-boot-sk{animation:none}}#grammar .gr-head{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}#grammar .gr-cat{font-size:.72rem;font-weight:700;color:var(--accent-deep);background:var(--accent-soft);border-radius:999px;padding:.1rem .55rem}#grammar .gr-pt-title{font-size:1.3rem;font-weight:800;color:var(--ink)}#grammar .gr-pt-en{font-family:var(--en, inherit);color:var(--muted);font-size:.9rem}#grammar .gr-read-tag{font-size:.74rem;font-weight:700;color:var(--ok, #15803d);margin-left:auto}#grammar .gr-body{margin:1rem 0 0}#grammar .gr-point{font-size:1rem;line-height:1.8;color:var(--ink);margin:0 0 .8rem}#grammar .gr-ex{border-left:3px solid var(--accent-soft);padding:.1rem 0 .1rem .7rem;margin:0 0 .6rem}#grammar .gr-ex .en{display:block;font-family:var(--en, inherit);font-weight:600;color:var(--accent-deep)}#grammar .gr-ex .zh{display:block;font-size:.9rem;color:var(--muted)}#grammar .gr-tip{margin:.9rem 0 0;font-size:.9rem;line-height:1.7;color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:.5rem .7rem}#grammar .gr-acts{margin:1.1rem 0 0;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}#grammar .gr-practice{font-size:.85rem;font-weight:700;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:.35rem .9rem;text-decoration:none}#grammar .gr-practice:hover{background:var(--accent-deep);border-color:var(--accent-deep);text-decoration:none}#grammar .gr-mark{font:inherit;font-size:.85rem;font-weight:700;color:var(--accent-deep);background:var(--card);border:1px solid var(--ctrl-line);border-radius:999px;padding:.35rem .9rem;cursor:pointer}#grammar .gr-mark.is-on{background:var(--accent-deep);color:#fff;border-color:var(--accent-deep)}#grammar #gr-card.gr-flash{animation:grflash 1.6s ease}@keyframes grflash{0%,35%{box-shadow:0 0 0 3px var(--accent)}to{box-shadow:0 0 0 0 transparent}}#grammar .gr-nav{display:flex;align-items:center;justify-content:space-between;gap:.6rem;max-width:32rem;margin:1rem auto 0}#grammar .gr-navbtn{font-size:.9rem;font-weight:700;color:var(--accent-deep);background:var(--card);border:1px solid var(--ctrl-line);border-radius:10px;padding:.4rem 1rem;cursor:pointer}#grammar .gr-navbtn:disabled{opacity:.4;cursor:default}#grammar .gr-prog{font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}#grammar .gr-tools{display:flex;gap:.5rem;justify-content:center;margin:.8rem 0 0}#grammar .gr-tool{font-size:.8rem;font-weight:700;color:var(--muted);background:var(--card);border:1px solid var(--ctrl-line);border-radius:999px;padding:.25rem .8rem;cursor:pointer}#grammar .gr-tool.is-on{color:var(--accent-deep);border-color:var(--accent);background:var(--accent-soft)}#grammar .gr-empty{text-align:center;color:var(--muted);padding:2rem 1rem}#grammar .gr-foot{text-align:center;font-size:.74rem;color:var(--muted);margin:1rem 0 0}
