@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700;900&display=swap";

.landing-v2{--lv2-page:#fbfbfd;--lv2-page-2:#f4f4f8;--lv2-ink:#0b0b0f;--lv2-ink-2:#5a5a68;--lv2-ink-3:#93939f;--lv2-line:#e7e7ee;--lv2-win:#0d0d13;--lv2-win-2:#15151d;--lv2-win-line:#23232e;--lv2-win-ink:#ececf2;--lv2-accent:var(--brand);--lv2-emerald:#34d399;--lv2-amber:#f5b942;--lv2-sans:var(--font-inter), "Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;--lv2-mono:var(--font-geist-mono), ui-monospace, SFMono-Regular, Menlo, monospace;--lv2-r:12px;--lv2-r-lg:18px;--lv2-sh:0 1px 2px #0b0b0f0d;--lv2-sh-win:0 40px 90px -40px #0b0b0f8c, 0 10px 30px -18px #0b0b0f59;background:var(--lv2-page);min-height:100vh;color:var(--lv2-ink);font-family:var(--lv2-sans);font-size:16px;line-height:1.6}.landing-v2 a{color:inherit;text-decoration:none}.landing-v2 img{max-width:100%;display:block}.landing-v2 .wrap{width:min(1160px,100% - 48px);margin:0 auto}.landing-v2 .sec{padding:88px 0}.landing-v2 section[id]{scroll-margin-top:86px}.landing-v2 .logo{align-items:center;gap:10px;display:inline-flex}.landing-v2 .logo img{width:auto;height:42px}.landing-v2 .logo .name{font-family:"TypeNow Brand", var(--font-inter), sans-serif;font-size:25px;line-height:1}.landing-v2 .nav{z-index:20;-webkit-backdrop-filter:saturate(180%)blur(14px);backdrop-filter:saturate(180%)blur(14px);border-bottom:1px solid var(--lv2-line);background:#fbfbfddb;position:sticky;top:0}.landing-v2 .nav-in{justify-content:space-between;align-items:center;height:70px;display:flex}.landing-v2 .nav-links{color:var(--lv2-ink-2);gap:26px;font-size:14px;font-weight:500;display:flex}.landing-v2 .nav-links a{transition:color .16s}.landing-v2 .nav-links a:hover{color:var(--lv2-accent)}.landing-v2 .nav-act{align-items:center;gap:14px;display:flex}.landing-v2 .btn{border:1px solid var(--lv2-line);height:44px;color:var(--lv2-ink);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-family:inherit;font-size:14.5px;font-weight:600;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.landing-v2 .btn:hover{box-shadow:var(--lv2-sh);transform:translateY(-1px)}.landing-v2 .btn-dark{background:var(--lv2-win);border-color:var(--lv2-win);color:#fff}.landing-v2 .btn-dark:hover{background:#1b1b26}.landing-v2 .btn-lg{border-radius:12px;height:54px;padding:0 26px;font-size:15.5px}.landing-v2 .btn-sm{height:38px;padding:0 15px;font-size:13.5px}.landing-v2 .link-quiet{color:var(--lv2-ink-2);font-size:14px;font-weight:600}.landing-v2 .link-quiet:hover{color:var(--lv2-accent)}.landing-v2 .eyebrow{border:1px solid var(--lv2-line);box-shadow:var(--lv2-sh);color:var(--lv2-ink-2);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.landing-v2 .h1{letter-spacing:-.035em;margin:0;font-size:clamp(32px,4vw,50px);font-weight:800;line-height:1.1}.landing-v2 .h2{letter-spacing:-.03em;margin:0;font-size:clamp(25px,2.8vw,34px);font-weight:800;line-height:1.22}.landing-v2 .h3{margin:0;font-size:17px;font-weight:700}.landing-v2 .lede{color:var(--lv2-ink-2);margin:0;font-size:16.5px;line-height:1.75}.landing-v2 .accent{color:var(--lv2-accent)}.landing-v2 .sec-head{text-align:center;max-width:660px;margin:0 auto 46px}.landing-v2 .sec-head .h2{margin:16px 0 12px}.landing-v2 .hero{padding:62px 0 46px}.landing-v2 .hero-grid{grid-template-columns:.82fr 1.18fr;align-items:center;gap:48px;display:grid}.landing-v2 .hero .h1{margin:20px 0 18px}.landing-v2 .hero .lede{max-width:30em}.landing-v2 .hero-act{flex-wrap:wrap;gap:10px;margin:26px 0 22px;display:flex}.landing-v2 .ticks{color:var(--lv2-ink-2);flex-direction:column;gap:8px;font-size:13.5px;display:flex}.landing-v2 .tick{align-items:center;gap:8px;display:flex}.landing-v2 .tick i{color:var(--lv2-emerald);font-style:normal;font-weight:900}.landing-v2 .annot{border-top:1px solid var(--lv2-line);grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px;padding-top:30px;display:grid}.landing-v2 .annot b{margin-bottom:5px;font-size:14px;display:block}.landing-v2 .annot p{color:var(--lv2-ink-2);margin:0;font-size:13px;line-height:1.7}.landing-v2 .annot .n{font-family:var(--lv2-mono);color:var(--lv2-accent);letter-spacing:.1em;font-size:10.5px}.landing-v2 .window{background:var(--lv2-win);border:1px solid var(--lv2-win-line);box-shadow:var(--lv2-sh-win);color:var(--lv2-win-ink);border-radius:16px;overflow:hidden}.landing-v2 .win-bar{border-bottom:1px solid var(--lv2-win-line);background:#101017;align-items:center;gap:7px;height:40px;padding:0 14px;display:flex}.landing-v2 .win-bar i{border-radius:50%;width:10px;height:10px;display:block}.landing-v2 .win-bar .r{background:#ff5f57}.landing-v2 .win-bar .y{background:#febc2e}.landing-v2 .win-bar .g{background:#28c840}.landing-v2 .win-bar .url{font-family:var(--lv2-mono);color:#5f5f70;margin-left:12px;font-size:10.5px}.landing-v2 .win-body{grid-template-columns:168px 1fr;min-height:392px;display:grid}.landing-v2 .sb{border-right:1px solid var(--lv2-win-line);background:#0b0b11;padding:14px 10px}.landing-v2 .sb .brand{font-family:"TypeNow Brand", var(--font-inter), sans-serif;align-items:center;gap:8px;padding:4px 8px 14px;font-size:17px;display:flex}.landing-v2 .sb .brand img{height:24px}.landing-v2 .sb a{color:#8f8fa0;border-radius:8px;align-items:center;gap:9px;padding:8px 10px;font-size:12.5px;display:flex}.landing-v2 .sb a.on{color:#eae8ff;background:#1c1a2c}.landing-v2 .sb .grp{font-family:var(--lv2-mono);letter-spacing:.14em;color:#4e4e5d;padding:14px 10px 6px;font-size:9.5px}.landing-v2 .main-area{padding:18px 20px 22px}.landing-v2 .main-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.landing-v2 .main-top .lvl{color:#c9c4ff;background:#7c5cff2e;border:1px solid #7c5cff59;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:600}.landing-v2 .main-top .stat{font-family:var(--lv2-mono);color:#6f6f82;font-size:10.5px}.landing-v2 .cn-line{margin:0 0 3px;font-size:17px;font-weight:600}.landing-v2 .en-line{font-family:var(--lv2-mono);color:#6f6f82;margin:0 0 14px;font-size:11.5px}.landing-v2 .word-row{flex-wrap:wrap;gap:7px;margin-bottom:12px;display:flex}.landing-v2 .word{color:#d6d6e0;background:#1a1a24;border:1px solid #2a2a38;border-radius:8px;align-items:center;height:30px;padding:0 11px;font-size:12.5px;display:inline-flex}.landing-v2 .word.on{background:var(--lv2-accent);border-color:var(--lv2-accent);color:#fff}.landing-v2 .slot{background:#16161f;border:1px dashed #2f2f3d;border-radius:8px;height:30px}.landing-v2 .word-row{min-height:30px}.landing-v2 .word-row[hidden]{display:none}.landing-v2 button.word{cursor:pointer;white-space:nowrap;font-family:inherit;transition:transform .12s,background .12s,border-color .12s,color .12s}.landing-v2 button.word:hover{background:#242433;border-color:#3d3d4f;transform:translateY(-1px)}.landing-v2 button.word:active{transform:translateY(0)}.landing-v2 button.word.on:hover{background:#8b6dff;border-color:#8b6dff}.landing-v2 button.word:focus-visible{outline:2px solid var(--lv2-accent);outline-offset:2px}.landing-v2 .word.on.locked{cursor:default}.landing-v2 .word.on.pos-ok{color:#a7f3d0;background:#10402f;border-color:#34d399}.landing-v2 .word.on.pos-bad{color:#fecdd3;background:#3b1220;border-color:#fb7185}.landing-v2 .word-row.shake{animation:.32s ease-in-out lv2shake}.landing-v2 .demo-foot{align-items:center;gap:10px;min-height:20px;margin:-4px 0 12px;font-size:11.5px;display:flex}.landing-v2 .demo-foot .fb{align-items:center;gap:6px;display:inline-flex}.landing-v2 .demo-foot .fb.hint{color:#6f6f82}.landing-v2 .demo-foot .fb.ok{color:var(--lv2-emerald);font-weight:600}.landing-v2 .demo-foot .fb.bad{color:#fb7185;font-weight:600}.landing-v2 .demo-foot .reset{color:#8f8fa0;cursor:pointer;background:0 0;border:0;border-bottom:1px dashed #3d3d4f;margin-left:auto;padding:1px 0;font-family:inherit;font-size:11.5px;transition:color .12s,border-color .12s}.landing-v2 .demo-foot .reset:hover{color:#eaeaef;border-bottom-color:#8f8fa0}@keyframes lv2shake{0%{transform:translate(0)}20%{transform:translate(-5px)}60%{transform:translate(5px)}85%{transform:translate(-3px)}to{transform:translate(0)}}.landing-v2 .type-line{font-family:var(--lv2-mono);color:#d6d6e0;background:#101018;border:1px solid #2a2a38;border-radius:10px;align-items:center;gap:2px;padding:11px 12px;font-size:12.5px;display:flex}.landing-v2 .type-line .ok{color:var(--lv2-emerald)}.landing-v2 .type-line .hintk{color:#4e4e5d;margin-left:auto;font-size:10px}.landing-v2 .caret{background:var(--lv2-accent);width:2px;height:15px;animation:1.1s step-end infinite lv2blink;display:inline-block}@keyframes lv2blink{50%{opacity:0}}.landing-v2 .bottom-row{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px;display:grid}.landing-v2 .mini{background:#12121a;border:1px solid #23232e;border-radius:10px;padding:10px 11px}.landing-v2 .mini b{font-size:15px;font-weight:700;display:block}.landing-v2 .mini span{color:#6f6f82;font-size:10.5px}.landing-v2 .mini .bar{background:#23232e;border-radius:999px;height:4px;margin-top:7px;overflow:hidden}.landing-v2 .mini .bar i{background:var(--lv2-accent);border-radius:999px;height:100%;display:block}.landing-v2 .features{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.landing-v2 .mode-card{border:1px solid var(--lv2-line);border-radius:var(--lv2-r-lg);background:#fff;flex-direction:column;display:flex;overflow:hidden}.landing-v2 .mode-card .shot{background:var(--lv2-page-2);border-bottom:1px solid var(--lv2-line);place-items:center;min-height:176px;padding:18px;display:grid}.landing-v2 .mode-card .txt{padding:22px 24px 24px}.landing-v2 .mode-card .pill{border-radius:999px;align-self:flex-start;margin-bottom:12px;padding:4px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.landing-v2 .mode-card p{color:var(--lv2-ink-2);margin:8px 0 0;font-size:14px;line-height:1.7}.landing-v2 .shotbox{background:var(--lv2-win);border:1px solid var(--lv2-win-line);width:100%;color:var(--lv2-win-ink);border-radius:12px;padding:14px}.landing-v2 .shotbox .t{font-family:var(--lv2-mono);color:#5f5f70;letter-spacing:.08em;margin-bottom:8px;font-size:10px}.landing-v2 .shotbox .s{margin-bottom:8px;font-size:12.5px}.landing-v2 .keys{flex-wrap:wrap;gap:4px;margin-top:10px;display:flex}.landing-v2 .key{width:24px;height:24px;font-family:var(--lv2-mono);color:#b9b9c6;background:#1a1a24;border:1px solid #2a2a38;border-radius:5px;place-items:center;font-size:10px;display:grid}.landing-v2 .key.act{background:var(--lv2-accent);border-color:var(--lv2-accent);color:#fff}.landing-v2 .wave{align-items:flex-end;gap:3px;height:34px;margin-top:10px;display:flex}.landing-v2 .wave i{background:#2f2f3d;border-radius:2px;width:4px;display:block}.landing-v2 .wave i.on{background:var(--lv2-emerald)}.landing-v2 .audio-line{align-items:center;gap:10px;margin-bottom:10px;display:flex}.landing-v2 .play{background:var(--lv2-accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:9px;display:grid}.landing-v2 .wave.sm{flex:1;height:24px;margin:0}.landing-v2 .dur{font-family:var(--lv2-mono);color:#6f6f82;font-size:10.5px}.landing-v2 .wordcard{background:#12121a;border:1px solid #23232e;border-radius:10px;padding:10px 11px}.landing-v2 .wordcard b{font-size:13px}.landing-v2 .wordcard .ipa{font-family:var(--lv2-mono);color:#8f8fa0;margin-left:6px;font-size:10.5px}.landing-v2 .wordcard .pos{color:#9f9fb0;margin-top:5px;font-size:11px;display:block}.landing-v2 .dep{font-family:var(--lv2-mono);color:#6f6f82;margin-top:9px;font-size:10.5px;line-height:1.5}.landing-v2 .course-stats{border:1px solid var(--lv2-line);border-radius:var(--lv2-r-lg);background:#fff;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.landing-v2 .course-stats>div{border-right:1px solid var(--lv2-line);padding:22px 24px}.landing-v2 .course-stats>div:last-child{border-right:0}.landing-v2 .course-stats b{letter-spacing:-.03em;margin-bottom:2px;font-size:28px;font-weight:800;line-height:1.15;display:block}.landing-v2 .course-stats span{color:var(--lv2-ink-2);font-size:12.5px}.landing-v2 .courses{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.landing-v2 .course-card{border:1px solid var(--lv2-line);border-radius:var(--lv2-r-lg);background:#fff;padding:24px;transition:box-shadow .2s,transform .2s}.landing-v2 .course-card:hover{box-shadow:var(--lv2-sh);transform:translateY(-2px)}.landing-v2 .course-card .hd{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.landing-v2 .course-card .cnt{font-family:var(--lv2-mono);color:var(--lv2-ink-3);white-space:nowrap;font-size:11.5px}.landing-v2 .course-tags{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.landing-v2 .course-tags span{color:var(--lv2-ink-2);background:var(--lv2-page-2);border:1px solid var(--lv2-line);border-radius:999px;padding:4px 10px;font-size:12.5px}.landing-v2 .course-tags .more{font-family:var(--lv2-mono);color:var(--lv2-ink-3)}.landing-v2 .course-card .note{color:var(--lv2-ink-3);margin:13px 0 0;font-size:12.5px;line-height:1.65}.landing-v2 .stat-note{color:var(--lv2-ink-3);margin:14px 0 0;font-size:12px}.landing-v2 .video-grid{grid-template-columns:.88fr 1.12fr;align-items:center;gap:44px;display:grid}.landing-v2 .video-txt .h2{margin:16px 0 12px}.landing-v2 .tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.landing-v2 .tool{border:1px solid var(--lv2-line);border-radius:var(--lv2-r-lg);background:#fff;flex-direction:column;padding:22px 24px 24px;display:flex}.landing-v2 .tool .art{align-items:center;gap:8px;height:76px;margin-bottom:16px;display:flex}.landing-v2 .ipa-chip{font-family:var(--lv2-mono);background:var(--lv2-page-2);border:1px solid var(--lv2-line);color:var(--lv2-ink-2);border-radius:8px;padding:6px 10px;font-size:14px}.landing-v2 .ipa-chip.on{background:var(--lv2-accent);border-color:var(--lv2-accent);color:#fff}.landing-v2 .dict-mini{border:1px solid var(--lv2-line);background:var(--lv2-page-2);border-radius:10px;padding:9px 12px}.landing-v2 .dict-mini b{letter-spacing:-.02em;font-size:17px}.landing-v2 .dict-mini em{font-family:var(--lv2-mono);color:var(--lv2-ink-3);margin-left:6px;font-size:11.5px;font-style:normal}.landing-v2 .dict-mini span{color:var(--lv2-ink-2);margin-top:3px;font-size:12px;display:block}.landing-v2 .kb-chip{color:var(--lv2-ink-2);background:var(--lv2-page-2);border:1px solid var(--lv2-line);border-radius:999px;padding:3px 9px;font-size:11.5px}.landing-v2 .tool .h3{margin-bottom:8px}.landing-v2 .tool p{color:var(--lv2-ink-2);margin:0;font-size:13px;line-height:1.75}.landing-v2 .loop-note{color:var(--lv2-ink-3);margin:14px 0 0;font-size:12.5px}.landing-v2 .who{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.landing-v2 .who-card{border:1px solid var(--lv2-line);border-radius:var(--lv2-r-lg);background:#fff;padding:22px 24px}.landing-v2 .who-card b{font-size:16px}.landing-v2 .who-card .q{color:var(--lv2-ink-3);margin:8px 0 10px;font-size:13px;line-height:1.65}.landing-v2 .who-card .a{color:var(--lv2-ink-2);margin:0;font-size:13.5px;line-height:1.75}.landing-v2 .faq{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;display:grid}.landing-v2 .faq-item{border-top:1px solid var(--lv2-line);padding:20px 0}.landing-v2 .faq-item dt{margin-bottom:7px;font-size:14.5px;font-weight:700}.landing-v2 .faq-item dd{color:var(--lv2-ink-2);margin:0;font-size:13.5px;line-height:1.8}.landing-v2 .end{border:1px solid var(--lv2-line);background:#fff;border-radius:20px;grid-template-columns:1fr auto;align-items:center;gap:32px;padding:46px;display:grid}.landing-v2 .end .h2{margin-bottom:12px}.landing-v2 .end-tags{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.landing-v2 .foot{border-top:1px solid var(--lv2-line);color:var(--lv2-ink-3);padding:38px 0 30px;font-size:12.5px}.landing-v2 .foot-in{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.landing-v2 .foot-links{flex-wrap:wrap;gap:20px;display:flex}.landing-v2 .foot-links a:hover{color:var(--lv2-accent)}.landing-v2 .foot-links button{cursor:pointer}.landing-v2 .foot-links button:hover{color:var(--lv2-accent)}.landing-v2 .copyright{text-align:center;margin:22px 0 0;font-size:11.5px}.landing-v2 .logo.sm img{height:32px}.landing-v2 .logo.sm .name{font-size:19px}@media (max-width:1120px){.landing-v2 .win-body{grid-template-columns:140px 1fr}.landing-v2 .sb{padding:14px 8px}}@media (max-width:980px){.landing-v2 .hero-grid,.landing-v2 .features,.landing-v2 .video-grid,.landing-v2 .tools,.landing-v2 .who,.landing-v2 .faq,.landing-v2 .annot,.landing-v2 .end{grid-template-columns:1fr}.landing-v2 .course-stats{grid-template-columns:repeat(2,1fr)}.landing-v2 .course-stats>div:nth-child(2n){border-right:0}.landing-v2 .course-stats>div:nth-child(-n+2){border-bottom:1px solid var(--lv2-line)}.landing-v2 .courses{grid-template-columns:1fr}.landing-v2 .mini span{font-size:10px}.landing-v2 .win-body{grid-template-columns:1fr}.landing-v2 .sb,.landing-v2 .nav-links{display:none}.landing-v2 .sec{padding:62px 0}.landing-v2 .end{padding:30px 24px}}.landing-v2 .shot-strip{margin-top:30px}.landing-v2 .shot-strip-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.landing-v2 .shot-strip-row figure{margin:0}.landing-v2 .shot-strip-row img{aspect-ratio:1200/700;object-fit:contain;background:#0b0d12;border:1px solid #0f172a1f;border-radius:10px;width:100%;height:auto;display:block}.landing-v2 .shot-strip-row figcaption{color:var(--lv2-ink-2);margin-top:6px;font-size:12px}.landing-v2 .vpills{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.landing-v2 .vpills span{border:1px solid var(--lv2-line);color:var(--lv2-ink-2);background:#fff;border-radius:999px;padding:5px 11px;font-size:12.5px}.landing-v2 .video-shot{margin:0}.landing-v2 .video-shot img{background:#0b0d12;border:1px solid #0f172a1f;border-radius:14px;width:100%;height:auto;display:block;box-shadow:0 18px 44px -18px #0f172a59}.landing-v2 .loop-mini{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.landing-v2 .loop-mini>div{border:1px solid var(--lv2-line);background:#fff;border-radius:12px;padding:16px 18px}.landing-v2 .loop-mini b{font-size:14px;display:block}.landing-v2 .loop-mini span{color:var(--lv2-ink-2);margin-top:4px;font-size:12.5px;line-height:1.6;display:block}@media (max-width:760px){.landing-v2 .shot-strip-row{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-v2 .loop-mini{grid-template-columns:minmax(0,1fr)}}.landing-v2 .mode-card.is-text{padding:20px 22px;display:block}.landing-v2 .mode-card.is-text .txt{padding:0}.landing-v2 .mode-card.is-text h3.h3{margin:10px 0 6px}.landing-v2 .mode-card.is-text p{margin:0;font-size:13.5px;line-height:1.7}@media (max-width:760px){.landing-v2 .mode-card.is-text{padding:16px 18px}.landing-v2 .sec{padding:52px 0}}