.kh{max-width:880px;margin:0 auto;padding:16px 16px 72px;font-family:Be Vietnam Pro,system-ui,sans-serif;color:var(--ink, #22262B)}.kh h1{margin:4px 0 6px;color:var(--seal, #A5342A);font-size:1.7rem;line-height:1.2}.kh-kick{font-size:.75rem;letter-spacing:.18em;color:var(--gold, #B8862C);font-weight:800;text-transform:uppercase}.kh-lead{margin:0 0 12px;color:var(--ink-soft, #5B6470)}.kh-muted{color:var(--ink-soft, #5B6470);font-size:.9rem;margin:4px 0 10px}.kh-stats{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0;padding:0;list-style:none}.kh-stats li{background:#fff;border:1px solid var(--line, #E8E1D2);border-radius:999px;padding:4px 12px;font-size:.82rem;font-weight:600}.kh-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:10px 0}.kh-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:22px;border:1.5px solid var(--line, #E8E1D2);background:#fff;color:var(--ink, #22262B);font:600 .92rem Be Vietnam Pro,system-ui,sans-serif;text-decoration:none;cursor:pointer;box-sizing:border-box}.kh-btn--p{background:var(--seal, #A5342A);border-color:var(--seal, #A5342A);color:#fff}.kh-btn:disabled{opacity:.55;cursor:default}.kh-btn[hidden]{display:none}.kh-btn:focus-visible,.kh-opt:focus-visible,.kh-mode:focus-visible,.kh-say:focus-visible,.kh-mbtn:focus-visible{outline:3px solid var(--azure, #3F6C8C);outline-offset:2px}.kh-link{color:var(--azure, #3F6C8C);font-weight:600}.kh-card{background:#fff;border:1px solid var(--line, #E8E1D2);border-radius:14px;padding:16px;margin-top:14px}.kh-card h2{margin:0 0 10px;font-size:1.1rem}.kh-can{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;font-size:.9rem}.kh-can li{padding-left:22px;position:relative}.kh-can li:before{content:"✓";position:absolute;left:0;color:var(--jade, #2F6F5E);font-weight:800}.kh-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding:0;list-style:none}.kh-flow li{background:#fbf7ee;border-radius:10px;padding:8px 10px;font-size:.82rem}.kh-flow b{display:block;font-size:.88rem}.kh-courses{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-top:12px}.kh-course{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;background:#fff;border:1px solid var(--line, #E8E1D2);border-radius:14px;padding:14px;text-decoration:none;color:inherit}.kh-course:hover{border-color:var(--gold, #B8862C)}.kh-em{grid-row:1 / 4;width:44px;height:44px;border-radius:10px;display:grid;place-items:center;color:#fff;font:700 1.3rem "Noto Serif SC",serif}.kh-course b{font-size:1.02rem}.kh-course small{color:var(--ink-soft, #5B6470);font-size:.82rem}.kh-chap{background:#fff;border:1px solid var(--line, #E8E1D2);border-radius:14px;margin-top:10px;overflow:hidden}.kh-chap>summary{list-style:none;cursor:pointer;padding:12px 16px;display:grid;grid-template-columns:auto 1fr auto;gap:2px 12px;align-items:center;min-height:44px}.kh-chap>summary::-webkit-details-marker{display:none}.kh-cn{font-size:.72rem;color:var(--gold, #B8862C);font-weight:800;letter-spacing:.06em}.kh-ct{font-weight:800}.kh-cc{font-size:.78rem;color:var(--ink-soft, #5B6470);white-space:nowrap}.kh-bar{grid-column:2 / 4;height:6px;background:#efe8d8;border-radius:9px;margin-top:6px}.kh-bar i{display:block;height:100%;background:var(--jade, #2F6F5E);border-radius:9px;width:0}.kh-chap ol{list-style:none;margin:0;padding:0 8px 10px;border-top:1px solid var(--line, #E8E1D2)}.kh-ls a{display:grid;grid-template-columns:28px 1fr auto auto auto;gap:10px;align-items:center;min-height:44px;padding:4px 8px;border-radius:8px;color:inherit;text-decoration:none;font-size:.92rem}.kh-dots{display:inline-flex}.kh-ls a:hover{background:#fbf7ee}.kh-ls .n{color:var(--ink-soft, #5B6470);font-size:.78rem;text-align:center}.kh-lv{font-size:.7rem;color:var(--ink-soft, #5B6470);border:1px solid var(--line, #E8E1D2);border-radius:6px;padding:1px 6px;white-space:nowrap}.kh-st{font-size:.72rem;font-weight:700;border-radius:6px;padding:2px 6px;white-space:nowrap}.kh-st.free,.kh-st.ok{background:#e7f3ee;color:#1f5a47}.kh-st.due{background:#fff1d6;color:#7a4b00}.kh-st.lock{color:#7a6f5a}.kh-st.go{background:#f6efe2;color:#5b4a20}.kh-note{border-left:4px solid var(--gold, #B8862C);background:#fff8e6;padding:10px 12px;border-radius:8px;font-size:.86rem;margin-top:14px}.kh-crumb{font-size:.8rem;color:var(--ink-soft, #5B6470);margin-bottom:6px}.kh-crumb a{color:var(--azure, #3F6C8C)}.kh-lh{margin-bottom:8px}.kh-sub{margin:0 0 8px;color:var(--ink-soft, #5B6470);font-size:.86rem}.kh-modes{display:inline-flex;border:1.5px solid var(--line, #E8E1D2);border-radius:999px;overflow:hidden;background:#fff}.kh-mode{border:0;background:none;min-height:44px;padding:0 16px;font:600 .86rem Be Vietnam Pro,system-ui,sans-serif;cursor:pointer;color:var(--ink, #22262B)}.kh-mode.is-on{background:var(--ink, #22262B);color:#fff}.kh-step{background:#fff;border:1px solid var(--line, #E8E1D2);border-radius:14px;padding:14px 16px;margin-top:12px}.kh-step h2{margin:0 0 6px;font-size:1.05rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kh-step h2 small{font-weight:500;color:var(--ink-soft, #5B6470);font-size:.78rem}.kh-n{width:26px;height:26px;border-radius:50%;background:var(--seal, #A5342A);color:#fff;display:inline-grid;place-items:center;font-size:.85rem}.kh-gist{display:grid;gap:8px;margin:10px 0}.kh-gist p{margin:0}.kh-opt{text-align:left;min-height:44px;padding:8px 14px;border-radius:10px;border:1.5px solid var(--line, #E8E1D2);background:#fff;font:500 .92rem Be Vietnam Pro,system-ui,sans-serif;cursor:pointer;color:inherit}.kh-opt:hover{border-color:var(--gold, #B8862C)}.kh-fb{border-radius:10px;padding:8px 12px;font-size:.9rem}.kh-fb.is-ok{background:#e7f3ee;color:#1f5a47}.kh-fb.is-bad{background:#fbedea;color:#7e2820}.kh-tr{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}.kh-line{display:grid;grid-template-columns:44px 1fr;gap:6px;align-items:start;padding:6px;border-radius:10px}.kh-line.is-me{background:#f6faf8}.kh-line.is-play{outline:2px solid var(--gold, #B8862C)}.kh-say{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line, #E8E1D2);background:#fff;cursor:pointer;font-size:1rem}.kh-who{display:block;font-size:.72rem;color:var(--gold, #B8862C);font-weight:700}.kh-py{display:block;font-size:.8rem;color:var(--ink-soft, #5B6470)}.kh-line .zh{font-family:"Noto Serif SC",serif;font-size:1.15rem}.kh-vi{display:block;font-size:.86rem;color:var(--ink-soft, #5B6470)}.kh-vi-d summary{font-size:.78rem;color:var(--azure, #3F6C8C);cursor:pointer;min-height:44px;display:flex;align-items:center}.kh-next{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:18px}.kh-lock{background:#fff;border:1px solid var(--line, #E8E1D2);border-radius:14px;padding:20px;margin-top:10px}.kh-mirror{position:fixed;bottom:calc(96px + env(safe-area-inset-bottom,0px));right:12px;z-index:2147483100;display:grid;justify-items:end;gap:6px}.kh-mirror video{display:none;width:120px;height:160px;object-fit:cover;border-radius:14px;transform:scaleX(-1);background:#000;box-shadow:0 8px 20px -10px #00000080}.kh-mirror.is-on video{display:block}.kh-mirror[hidden]{display:none}.kh-mnote{display:none;font-size:.7rem;background:#fff;border-radius:8px;padding:2px 6px}.kh-mirror.is-on .kh-mnote{display:block}.kh-mbtn{min-height:44px;padding:0 14px;border-radius:22px;border:1.5px solid var(--line, #E8E1D2);background:#fff;font:600 .82rem Be Vietnam Pro,system-ui,sans-serif;cursor:pointer}@media (max-width:640px){.kh h1{font-size:1.4rem}.kh-ls a{grid-template-columns:22px 1fr auto auto}.kh-ls .kh-lv{display:none}.kh-can{grid-template-columns:1fr}.kh-flow{grid-template-columns:1fr 1fr}.kh-cc{display:none}.kh-mirror video{width:96px;height:128px}}.kt-how{margin:0 0 6px;padding-left:20px;font-size:.92rem}.kt-how li{margin:3px 0}.kt-res.is-ok{border-color:#bfdccf}.kt-res.is-bad{border-color:#ebc9c3}.kt-big{font-size:1.15rem;margin:0 0 8px}.kt-score{margin:0 0 6px;font-size:1.05rem;font-weight:700}.kt-score b{font-size:1.8rem;color:var(--seal, #A5342A);margin-right:6px}.kt-tiers{list-style:none;margin:10px 0;padding:0;display:grid;gap:6px;max-width:420px}.kt-tiers li{display:flex;justify-content:space-between;gap:10px;background:#fbf7ee;border-radius:8px;padding:6px 12px;font-size:.9rem}.kt-tiers .kt-stop{background:none;color:var(--ink-soft, #5B6470);font-size:.82rem;padding:0 2px}.kt-again{border:0;background:none;padding:0;color:var(--azure, #3F6C8C);font:600 .9rem Be Vietnam Pro,system-ui,sans-serif;text-decoration:underline;cursor:pointer;min-height:32px}.kt-h2{font-size:1rem;margin:16px 0 6px}.kt-wrong{margin:0;padding-left:20px;display:grid;gap:4px;font-size:.92rem}.kt-wrong a{color:var(--azure, #3F6C8C);font-weight:600}.kh-ls.kh-test a{background:#fbf7ee;margin-top:4px}.kh-ls.kh-test .n{color:var(--gold, #B8862C);font-weight:800}.kh-ls.kh-test .t{font-weight:700}.kh-final{display:grid;gap:4px}.kh-final h2{margin:0}.kh-lh .kh-play{margin-left:8px;vertical-align:middle}@media (max-width:520px){.kh-lh .kh-play{margin:8px 0 0;display:inline-flex}}.kh-ls.has-play{display:flex;align-items:center;gap:2px}.kh-ls.has-play>a:first-child{flex:1;min-width:0}.kh-play-ic{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;text-decoration:none;font-size:1.05rem}.kh-play-ic:hover{background:#fbf7ee}.kh-play-ch{display:inline-flex;align-items:center;min-height:44px;margin:2px 8px 4px;padding:0 12px;border-radius:20px;border:1px solid #e6dfcf;background:#fff;color:inherit;text-decoration:none;font-size:.86rem;font-weight:600}.kh-play-ic:focus-visible,.kh-play-ch:focus-visible{outline:2px solid var(--jade, #2F6F5E);outline-offset:2px}
