.tc{--cream: #FFF7EE;--paper: #FFFCF7;--ink: #332A29;--ink-2: #6E625D;--mist: #8F8279;--hair: #EDE2D3;--wash: #F6ECDF;--wash-2: #EFE2D1;--coral: #FF6B6B;--coral-ink: #C93C35;--coral-soft: #FFE1DC;--butter: #FFE9A8;--shadow: #332A29;--scrim: rgba(51, 42, 41, .22);--display: Nunito, -apple-system, "Segoe UI", system-ui, sans-serif;--zh: var(--font-chinese, "PingFang SC", "Microsoft YaHei", sans-serif);--out: cubic-bezier(.16, 1, .3, 1);color:var(--ink);font:600 15px/1.55 var(--display)}.dark .tc{--cream: #131F24;--paper: #182730;--ink: #FFFFFF;--ink-2: #AFAFAF;--mist: #8A979D;--hair: #2C3B44;--wash: #20313B;--wash-2: #273A45;--coral-ink: #FF8A80;--coral-soft: #3B2A2E;--butter: rgba(247, 214, 109, .32);--shadow: #0B1418;--scrim: rgba(5, 10, 12, .55);color-scheme:dark}:where(.tc) *,:where(.tc) *:before,:where(.tc) *:after{box-sizing:border-box}:where(.tc) button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}:where(.tc) :focus-visible{outline:2.5px solid var(--coral);outline-offset:2px;border-radius:10px}.tc .tc-zh{font-family:var(--zh)}.tc-scrim{position:fixed;inset:0;background:var(--scrim);z-index:50}.tc-panel{position:fixed;z-index:51;right:16px;bottom:16px;width:420px;height:min(760px,calc(100vh - 32px));display:flex;flex-direction:column;overflow:hidden;background:var(--cream);border:1.5px solid var(--ink);border-radius:24px;box-shadow:4px 4px 0 var(--shadow)}.dark .tc .tc-panel,.dark .tc.tc-panel{border-color:#37464f}@media(max-width:640px){.tc-panel{inset:0;width:auto;height:auto;border:0;border-radius:0;box-shadow:none}}.tc-h{flex:none;display:flex;align-items:center;gap:12px;padding:12px 12px 12px 16px;background:var(--paper);border-bottom:1px solid var(--hair)}.tc-h img{width:40px;height:40px;border-radius:50%;-o-object-fit:cover;object-fit:cover;flex:none}.tc-who{min-width:0;display:grid;text-align:left;border-radius:12px;padding:2px 6px;margin-left:-6px}.tc-who:hover{background:var(--wash)}.tc-who b{display:flex;align-items:center;gap:4px;font:900 17px/1.2 var(--display)}.tc-who b svg{width:16px;height:16px;color:var(--mist);transition:transform .25s var(--out)}.tc-who[aria-expanded=true] b svg{transform:rotate(180deg)}.tc-who small{font:700 12.5px var(--display);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tc-x{margin-left:auto;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2);flex:none}.tc-x:hover{background:var(--wash)}.tc-x svg{width:20px;height:20px}.tc-switch{flex:none;display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--out);background:var(--paper)}.tc-switch>div{overflow:hidden}.tc-switch.is-open{grid-template-rows:1fr;border-bottom:1px solid var(--hair)}.tc-switch p{margin:10px 16px 4px;font:800 12.5px var(--display);color:var(--ink-2)}.tc-switch ul{list-style:none;margin:0;padding:4px 8px 10px;display:grid;gap:2px}.tc-switch li button{width:100%;display:flex;align-items:center;gap:12px;padding:8px;border-radius:14px;text-align:left}.tc-switch li button:hover{background:var(--wash)}.tc-switch img{width:36px;height:36px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.tc-switch b{display:block;font:900 15px var(--display)}.tc-switch small{display:block;font:700 12.5px var(--display);color:var(--ink-2)}.tc-b{flex:1;min-height:0;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:16px;overscroll-behavior:contain}.tc-me{align-self:flex-end;max-width:84%;background:var(--coral);color:#fff;padding:10px 14px;border-radius:18px 18px 6px;font-weight:700;overflow-wrap:anywhere;white-space:pre-wrap}.dark .tc .tc-me{color:#fff}.tc-me .tc-zh{font-weight:700}.tc-row{display:flex;gap:8px;align-items:flex-end}.tc-row>img{width:28px;height:28px;border-radius:50%;-o-object-fit:cover;object-fit:cover;flex:none}.tc-bub{background:var(--paper);border:1px solid var(--hair);border-radius:18px 18px 18px 6px;padding:12px 14px;max-width:calc(100% - 36px);min-width:0;display:grid;gap:10px}.tc-bub p{margin:0;line-height:1.85;overflow-wrap:anywhere}.tc-w{display:inline-flex;align-items:baseline;gap:5px;padding:0 7px;border-radius:8px;background:var(--wash);white-space:nowrap;max-width:100%}.tc-w .tc-zh{font:700 16px var(--zh);white-space:normal}.tc-w i{font-style:normal;font-size:12px;color:var(--ink-2);font-weight:800}.tc-w.is-new{background:var(--butter)}.tc-w.is-long{white-space:normal;display:inline;padding:1px 6px;-webkit-box-decoration-break:clone;box-decoration-break:clone}.tc-exs{display:grid;border-top:1px dashed var(--hair)}.tc-exr{display:grid;grid-template-columns:auto 1fr;gap:0 10px;align-items:center;padding-top:10px}.tc-exr+.tc-exr{margin-top:2px}.tc-play{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--coral-ink);background:var(--coral-soft);grid-row:span 3;align-self:start;margin-top:2px;transition:transform .15s var(--out),background .2s}.tc-play svg{width:15px;height:15px}.tc-play:active{transform:scale(.94)}.tc-play.is-on{background:var(--coral);color:#fff}.tc-exr .tc-s{font:500 17px/1.5 var(--zh);overflow-wrap:anywhere}.tc-exr .tc-p,.tc-exr .tc-e{font-size:13px;color:var(--ink-2)}.tc-exr .tc-p{font-weight:700}.tc-hl{background:linear-gradient(var(--butter),var(--butter)) no-repeat 0 88% / 100% 40%;border-radius:2px}.tc-q{padding:10px 12px;border-radius:12px;background:var(--coral-soft);font-weight:800;overflow-wrap:anywhere}.tc-q small{display:block;font:900 11.5px var(--display);color:var(--coral-ink);letter-spacing:.06em;text-transform:uppercase}.tc-dots{display:inline-flex;gap:5px;padding:6px 2px}.tc-dots i{width:7px;height:7px;border-radius:50%;background:var(--mist);animation:tc-dot 1s ease-in-out infinite}.tc-dots i:nth-child(2){animation-delay:.15s}.tc-dots i:nth-child(3){animation-delay:.3s}@keyframes tc-dot{50%{transform:translateY(-4px);opacity:.5}}.tc-error{padding:12px 14px;border-radius:14px;background:var(--coral-soft);color:var(--coral-ink);font-weight:700}.tc-enter{animation:tc-in .35s var(--out)}@keyframes tc-in{0%{opacity:0;transform:translateY(8px)}}.tc-f{flex:none;padding:10px 14px 14px;background:var(--paper);border-top:1px solid var(--hair);display:grid;gap:10px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.tc-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-inline:-2px;padding-inline:2px}.tc-chips::-webkit-scrollbar{display:none}.tc-chip{flex:none;min-height:36px;padding-inline:14px;border-radius:999px;background:var(--wash);font:800 13px var(--display);white-space:nowrap;transition:background .2s}.tc-chip:hover{background:var(--wash-2)}.tc-chip[disabled]{opacity:.5;cursor:default}.tc-field{display:flex;align-items:flex-end;gap:8px;border:1.5px solid var(--hair);background:var(--cream);border-radius:16px;padding:6px 6px 6px 14px;transition:border-color .2s}.tc-field:focus-within{border-color:var(--ink-2)}.tc-field textarea{flex:1;min-width:0;border:0;background:transparent;font:600 15px/1.45 var(--display);color:var(--ink);outline:none;resize:none;padding:9px 0;max-height:120px;field-sizing:content}.tc-field textarea::-moz-placeholder{color:var(--mist)}.tc-field textarea::placeholder{color:var(--mist)}.tc-field textarea:focus-visible{outline:none}.tc-send{width:40px;height:40px;border-radius:12px;background:var(--coral);color:#fff;display:grid;place-items:center;flex:none;transition:opacity .2s}.tc-send[disabled]{opacity:.35;cursor:default}.tc-send svg{width:18px;height:18px}.tc-quota{font:700 12px var(--display);color:var(--ink-2);text-align:center}@media(prefers-reduced-motion:reduce){.tc-dots i,.tc-enter{animation:none}.tc-switch,.tc-play,.tc-who b svg{transition:none}}.lf.lf--steps{--ink: #1B2A31;--shadow: #1B2A31;--coral: #F0605A;--paper: #FFFDF9;--hair: #E6DACB;--ink-2: #5A6870;--mist: #8E999B;--wash: #F7EBDC;--wash-2: #EFE0CC;--butter: #FFE3A3;--ok: #2BB5A0;--ok-soft: #E4F5F1;--g-line: #E6DACB;--g-sand: #F7EBDC;--g-amber: #8A5A12;--g-slate: #5A6870;--g-teal: #2BB5A0;--g-tealbg: #E4F5F1;--g-border: #1B2A31;--g-opt: #D8C9B6;--g-dot: #D3C6B5;--g-track: #DDD0BF}.dark .lf.lf--steps{--g-line: #2C3B44;--g-sand: #20313B;--g-amber: #F7D66D;--g-slate: #AFAFAF;--g-teal: #4ECDC4;--g-tealbg: #12302F;--g-border: #37464F;--g-opt: #37464F;--g-dot: #37464F;--g-track: #2C3B44}.lf.lf--steps .g-top{background:var(--paper);border-bottom:2px solid var(--g-line)}.lf.lf--steps .g-top .f-top-in{height:74px;gap:22px;padding-inline:max(28px,calc(50% - 560px));max-width:none}.lf.lf--steps .g-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--g-slate);font:800 16px var(--display);flex:none}.lf.lf--steps .g-back svg{width:20px;height:20px}.lf.lf--steps .g-top .f-ttl{font:900 18px var(--display);color:var(--ink)}.lf.lf--steps .g-top .f-ttl b{font-weight:900}.lf.lf--steps .g-bar{height:0;position:relative}.lf.lf--steps .g-bar i{position:absolute;left:0;top:-3px;height:4px;background:var(--coral);border-radius:0 4px 4px 0;transition:width .45s var(--out)}.lf.lf--steps .g-bar.is-done i{background:var(--g-teal)}.lf.lf--steps .f-steps{width:min(900px,calc(100% - 44px));margin:30px auto 0}.lf.lf--steps .f-steps ol{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:14px}.lf.lf--steps .f-steps li{display:flex;align-items:center;gap:14px;flex:1 1 0;min-width:0}.lf.lf--steps .f-steps li:last-child{flex:none}.lf.lf--steps .f-steps li:not(:last-child):after{content:"";flex:1;min-width:12px;height:3px;border-radius:2px;background:var(--g-track)}.lf.lf--steps .f-steps li.is-done:not(:last-child):after{background:var(--g-teal)}.lf.lf--steps .f-steps button{display:flex;align-items:center;gap:10px;min-height:44px;flex:none;font:800 17px var(--display);color:var(--mist)}.lf.lf--steps .f-steps .f-d{width:38px;height:38px;border-radius:50%;border:2.5px solid var(--g-dot);background:var(--paper);display:grid;place-items:center;font:900 16px var(--display);color:var(--mist);flex:none;transition:background .25s,border-color .25s,color .25s}.lf.lf--steps .f-steps .f-d svg{width:19px;height:19px}.lf.lf--steps .f-steps li.is-done button,.lf.lf--steps .f-steps li.is-on button{color:var(--ink)}.lf.lf--steps .f-steps li.is-done .f-d{background:var(--g-teal);border-color:var(--g-teal);color:#fff}.lf.lf--steps .f-steps li.is-on .f-d{background:var(--coral);border-color:var(--g-border);color:#fff;box-shadow:2px 2px 0 var(--shadow)}.lf.lf--steps .f-steps .f-nm{white-space:nowrap}.lf.lf--steps .g-eyebrow{font:800 15px var(--display);color:var(--g-amber);letter-spacing:.02em}.lf.lf--steps .g-card,.lf.lf--steps .f-pcard,.lf.lf--steps .f-save{background:var(--paper);border:3px solid var(--g-border);border-radius:22px;box-shadow:5px 5px 0 var(--shadow)}.lf.lf--steps .f-btn{min-height:58px;padding-inline:30px;border:3px solid var(--g-border);border-radius:16px;box-shadow:4px 4px 0 var(--shadow);font:900 19px var(--display);background:var(--coral)}.lf.lf--steps .f-btn.is-sm{min-height:48px;border-width:2.5px;box-shadow:3px 3px 0 var(--shadow);font-size:16px}.lf.lf--steps .g-hero{width:min(1120px,calc(100% - 56px));margin:0 auto;padding:72px 0 120px;display:grid;grid-template-columns:1fr 440px;gap:64px;align-items:center}.lf.lf--steps .g-big{font:900 88px/1 var(--zh);letter-spacing:2px;margin:14px 0 12px}.lf.lf--steps .g-h2{font:800 30px var(--display);margin:0 0 14px}.lf.lf--steps .g-lead{font-size:20px;line-height:1.55;color:var(--g-slate);max-width:560px;margin:0 0 12px}.lf.lf--steps .g-hero .f-meta{margin:0 0 32px}.lf.lf--steps .g-path{position:relative;padding:22px 24px 12px;margin-top:56px}.lf.lf--steps .g-path-bao{position:absolute;right:18px;top:-78px;pointer-events:none}.lf.lf--steps .g-path ol{list-style:none;margin:8px 0 0;padding:0}.lf.lf--steps .g-path li+li{border-top:2px solid var(--g-line)}.lf.lf--steps .g-path button{display:flex;align-items:center;gap:16px;width:100%;padding:12px 0;text-align:left}.lf.lf--steps .g-pn{width:36px;height:36px;border-radius:50%;background:var(--g-sand);display:grid;place-items:center;font:900 16px var(--display);color:var(--g-amber);flex:none}.lf.lf--steps .g-path b{display:block;font:800 18px var(--display)}.lf.lf--steps .g-path small{display:block;font-size:14.5px;color:var(--g-slate)}.lf.lf--steps .g-path button:hover b{color:var(--coral-ink)}.lf.lf--steps .g-main{width:min(1120px,calc(100% - 56px));margin:0 auto;padding:40px 0 200px}.lf.lf--steps .g-main:not(.has-side) .g-col{max-width:760px}.lf.lf--steps .g-h1{font:900 44px/1.1 var(--display);letter-spacing:-.8px;margin:8px 0}.lf.lf--steps .g-sub{font-size:18px;color:var(--g-slate);margin:0 0 24px}.lf.lf--steps .g-col>.g-h1:last-of-type:not(:has(+.g-sub)){margin-bottom:24px}.lf.lf--steps .g-col .f-block{margin-top:0}.lf.lf--steps .g-col .f-block+.f-block{margin-top:18px}.lf.lf--steps .g-col #practice>.f-h2,.lf.lf--steps .g-col [data-verify-unit=FlowWrite] .f-h2{display:none}.lf.lf--steps .g-col #practice,.lf.lf--steps .g-col [data-verify-unit=FlowWrite]{padding-top:0;margin-top:18px}.lf.lf--steps .g-culture .f-block{margin:0}.lf.lf--steps .g-culture .f-culture{grid-template-columns:1fr;padding:20px 22px;border-left:6px solid var(--g-amber);border-radius:18px}.lf.lf--steps .g-culture .f-culture svg,.lf.lf--steps .g-culture .f-culture img{max-height:150px;width:auto}.lf.lf--steps .f-gfoot{position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--paper);border-top:2px solid var(--g-line);padding-bottom:env(safe-area-inset-bottom,0px)}.lf.lf--steps .f-gfoot-in{width:min(1120px,calc(100% - 56px));margin-inline:auto;padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.lf.lf--steps .f-gback{color:var(--g-slate);min-height:44px;font:800 17px var(--display)}.lf.lf--steps .f-gback svg{width:18px;height:18px}.lf.lf--steps .g-finish{width:min(1140px,calc(100% - 56px));margin:0 auto;padding:64px 0 140px}.lf.lf--steps .g-finish .f-finish{display:grid;grid-template-columns:380px 1fr;-moz-column-gap:56px;column-gap:56px;align-items:start;text-align:left;padding-top:0}.lf.lf--steps .g-finish .f-finish>*{grid-column:2}.lf.lf--steps .g-finish .f-finish>.f-bao{grid-column:1;grid-row:1 / span 8;width:auto;height:380px;margin:0;border:3px solid var(--g-border);border-radius:28px;background:var(--g-tealbg);box-shadow:6px 6px 0 var(--shadow)}.lf.lf--steps .g-finish .f-finish>.f-bao svg{width:220px;height:220px}.lf.lf--steps .g-finish .f-finish .f-h2{font:900 56px/1.05 var(--display);letter-spacing:-1.2px;justify-content:flex-start;margin:12px 0 18px}.lf.lf--steps .g-finish .f-earned{justify-content:flex-start;gap:14px;margin-top:0}.lf.lf--steps .g-finish .f-earned span{padding:14px 20px;border:2.5px solid var(--g-line);border-radius:18px;flex-direction:column;align-items:flex-start;gap:0;font-size:14px;color:var(--g-slate)}.lf.lf--steps .g-finish .f-earned b{font-size:24px}.lf.lf--steps .g-finish .f-save{margin:26px 0 0;max-width:560px}.lf.lf--steps .g-finish .f-next{justify-content:flex-start;text-align:left;margin-top:22px}.lf.lf--steps .g-finish .f-lead{margin:0 0 8px}@media(max-width:1023px){.lf.lf--steps .g-hero{grid-template-columns:1fr;gap:24px;padding-top:40px}.lf.lf--steps .g-path{margin-top:70px}.lf.lf--steps .g-finish .f-finish{grid-template-columns:1fr}.lf.lf--steps .g-finish .f-finish>.f-bao{grid-column:1;grid-row:auto;height:220px}.lf.lf--steps .g-finish .f-finish>*{grid-column:1}}@media(max-width:640px){.lf.lf--steps .g-top .f-top-in{height:60px;gap:10px;padding-inline:12px 10px}.lf.lf--steps .g-back{font-size:0;gap:0;min-width:44px;justify-content:center}.lf.lf--steps .g-back svg{width:22px;height:22px}.lf.lf--steps .g-top .f-ttl{display:block;font-size:15px;flex:1}.lf.lf--steps .f-steps{width:auto;margin:0;padding:12px 20px;background:var(--paper)}.lf.lf--steps .f-steps ol,.lf.lf--steps .f-steps li{gap:6px}.lf.lf--steps .f-steps .f-d{width:34px;height:34px;font-size:15px}.lf.lf--steps .f-steps .f-nm{display:none}.lf.lf--steps .f-steps li.is-on{flex:0 0 auto}.lf.lf--steps .f-steps li.is-on .f-nm{display:inline;font-size:15px}.lf.lf--steps .f-steps li.is-on:not(:last-child):after{flex:none;width:14px;min-width:14px}.lf.lf--steps .g-main{width:auto;padding:20px 20px 190px}.lf.lf--steps .g-h1{font-size:29px;letter-spacing:-.4px;margin:4px 0}.lf.lf--steps .g-sub{font-size:15px;margin-bottom:16px}.lf.lf--steps .g-eyebrow{font-size:14px}.lf.lf--steps .g-hero{width:auto;padding:28px 20px 60px}.lf.lf--steps .g-big{font-size:56px}.lf.lf--steps .g-h2{font-size:24px}.lf.lf--steps .g-lead{font-size:16px}.lf.lf--steps .g-path-bao{top:-64px}.lf.lf--steps .g-path-bao svg{width:96px;height:96px}.lf.lf--steps .g-start{width:100%}.lf.lf--steps .f-gfoot-in{width:auto;padding:14px 20px 16px}.lf.lf--steps .f-gback{display:none}.lf.lf--steps .f-gfoot-in .f-btn{flex:1;min-width:0}.lf.lf--steps .g-finish{width:auto;padding:20px 20px 100px}.lf.lf--steps .g-finish .f-finish{text-align:center}.lf.lf--steps .g-finish .f-finish .f-h2{font-size:36px;justify-content:center}.lf.lf--steps .g-finish .f-earned{justify-content:center}.lf.lf--steps .g-finish .f-earned span{flex:1;align-items:center;padding:10px 8px}.lf.lf--steps .g-finish .f-next{justify-content:center}}.lf.lf--steps .g-main:not(.has-side) .g-col{max-width:760px;margin-inline:auto}.lf.lf--steps .g-main[data-verify-step=words] .g-col{max-width:none}.lf.lf--steps .g-main[data-verify-step=write] .g-col>.g-eyebrow,.lf.lf--steps .g-main[data-verify-step=write] .g-col>.g-h1{text-align:center}.lf.lf--steps .g-cards{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:2.5px solid var(--g-border);border-radius:999px;background:var(--paper);box-shadow:3px 3px 0 var(--shadow);font:800 15px var(--display);color:var(--ink);transition:transform .15s var(--out),box-shadow .15s var(--out)}.lf.lf--steps .g-cards:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--shadow)}.lf.lf--steps .g-cards svg{width:18px;height:18px}.lf.lf--steps .g-cards-lock{margin-top:10px}.lf.lf--steps .g-tq{padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.lf.lf--steps .g-tq-head{display:flex;align-items:center;gap:14px}.lf.lf--steps .g-tq-ava{width:48px;height:48px;border-radius:50%;border:2.5px solid var(--g-border);-o-object-fit:cover;object-fit:cover;flex:none;background:var(--g-sand)}.lf.lf--steps .g-tq-head b{display:block;font:900 18px var(--display)}.lf.lf--steps .g-tq-head small{display:block;font-size:14px;color:var(--g-slate)}.lf.lf--steps .g-tq-say{margin:0;font-size:15.5px;line-height:1.55;color:var(--ink-2)}.lf.lf--steps .g-tq-say.is-wait{font-style:italic;color:var(--mist)}.lf.lf--steps .g-tq-q{margin:0;font:900 18px/1.4 var(--display)}.lf.lf--steps .g-tq-opts{display:flex;flex-direction:column;gap:10px;width:100%}.lf.lf--steps .g-tq-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:10px 16px;text-align:left;background:var(--paper);border:2.5px solid var(--g-opt);border-radius:14px;font:700 16px var(--display);transition:border-color .2s}.lf.lf--steps .g-tq-opt:not([disabled]):hover{border-color:var(--g-border)}.lf.lf--steps .g-tq-opt.is-right{border-color:var(--g-teal);background:var(--g-tealbg)}.lf.lf--steps .g-tq-opt.is-wrong{border-color:var(--wrong);background:var(--wrong-soft)}.lf.lf--steps .g-tq-opt svg{width:20px;height:20px;flex:none}.lf.lf--steps .g-tq-score{margin:0;font:900 26px var(--display)}.lf.lf--steps .g-gram{background:var(--paper);border:3px solid var(--g-border);border-radius:26px;box-shadow:6px 6px 0 var(--shadow);padding:34px 34px 28px;margin-top:8px}.lf.lf--steps .g-pattern{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.lf.lf--steps .g-pat-zh{font:700 46px/1.1 var(--zh)}.lf.lf--steps .g-pat-slot{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 10px;border-radius:12px;background:var(--g-sand);color:var(--g-amber);font:900 18px var(--display)}.lf.lf--steps .g-pat-plus{font:800 26px var(--display);color:var(--mist)}.lf.lf--steps .g-gram-why{margin:20px 0 22px;font-size:19px;line-height:1.55}.lf.lf--steps .g-gram-ex{display:flex;flex-direction:column;gap:12px}.lf.lf--steps .g-ex{position:relative;padding:16px 70px 16px 20px;border:2.5px solid var(--g-line);border-radius:18px}.lf.lf--steps .g-ex-tag{display:block;font:800 13px var(--display);color:var(--g-amber);margin-bottom:2px}.lf.lf--steps .g-ex-zh{font:500 24px/1.5 var(--zh)}.lf.lf--steps .g-ex-zh b{font-weight:700;color:var(--coral-ink);background:linear-gradient(transparent 62%,var(--butter) 62%)}.lf.lf--steps .g-ex-py{font-size:15px;color:var(--g-slate)}.lf.lf--steps.is-hide-py .g-ex-py{display:none}.lf.lf--steps .g-ex-en{font-size:16px;margin-top:2px}.lf.lf--steps .g-ex-say{position:absolute;right:16px;top:16px;width:44px;height:44px;border-radius:50%;border:2.5px solid var(--g-border);background:var(--paper);display:grid;place-items:center;box-shadow:2px 2px 0 var(--shadow)}.lf.lf--steps .g-ex-say svg{width:20px;height:20px}.lf.lf--steps .g-write{display:flex;flex-direction:column;align-items:center;margin-top:6px}.lf.lf--steps .g-wcount{display:flex;flex-direction:column;align-items:center;gap:8px;font:800 15px var(--display);color:var(--g-slate)}.lf.lf--steps .g-wcount i{display:block;width:220px;height:6px;border-radius:3px;background:var(--g-track);overflow:hidden}.lf.lf--steps .g-wcount b{display:block;height:100%;background:var(--g-teal);transition:width .4s var(--out)}.lf.lf--steps .g-wstage{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:22px}.lf.lf--steps .g-warrow{width:52px;height:52px;border-radius:50%;border:2.5px solid var(--g-border);background:var(--paper);display:grid;place-items:center;box-shadow:3px 3px 0 var(--shadow);flex:none;transition:transform .15s var(--out)}.lf.lf--steps .g-warrow:hover{transform:translate(-1px,-1px)}.lf.lf--steps .g-warrow svg{width:22px;height:22px}.lf.lf--steps .g-wpad{position:relative;border:3px solid var(--g-border);border-radius:30px;background:var(--paper);box-shadow:6px 6px 0 var(--shadow);overflow:hidden;transition:border-color .3s,box-shadow .3s}.lf.lf--steps .g-wpad.is-done{border-color:var(--g-teal);box-shadow:6px 6px 0 var(--g-teal)}.lf.lf--steps .g-wgrid{position:absolute;inset:0;width:100%;height:100%}.lf.lf--steps .g-wgrid path{stroke:var(--g-line);stroke-width:1.5;stroke-dasharray:6 6;fill:none;vector-effect:non-scaling-stroke}.lf.lf--steps .g-wtarget{position:absolute;inset:0}.lf.lf--steps .g-wtick{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:var(--g-teal);color:#fff;display:grid;place-items:center;animation:g-pop .35s var(--out)}.lf.lf--steps .g-wtick svg{width:20px;height:20px}@keyframes g-pop{0%{transform:scale(.4);opacity:0}}.lf.lf--steps .g-wword{margin-top:22px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;justify-content:center}.lf.lf--steps .g-wword b{font:700 32px var(--zh)}.lf.lf--steps .g-wword span{font:700 17px var(--display);color:var(--g-slate)}.lf.lf--steps .g-wstatus{margin-top:6px;min-height:24px;font:800 16px var(--display);color:var(--g-slate)}.lf.lf--steps .g-wstatus.is-ok{color:var(--ok-ink)}.lf.lf--steps .g-wtools{display:flex;gap:22px;justify-content:center;margin-top:18px}.lf.lf--steps .g-wtool{display:flex;flex-direction:column;align-items:center;gap:6px;font:800 13px var(--display);color:var(--g-slate);min-width:72px}.lf.lf--steps .g-wtool>span{width:52px;height:52px;border-radius:50%;border:2.5px solid var(--g-line);background:var(--paper);display:grid;place-items:center;color:var(--ink);transition:border-color .2s,background .2s,color .2s}.lf.lf--steps .g-wtool:hover>span{border-color:var(--g-border)}.lf.lf--steps .g-wtool.is-on>span{background:var(--ink);border-color:var(--ink);color:var(--paper)}.lf.lf--steps .g-wtool[disabled]{opacity:.45;cursor:default}.lf.lf--steps .g-wtool svg{width:22px;height:22px}.lf.lf--steps .g-wnext{margin-top:22px}@media(prefers-reduced-motion:reduce){.lf.lf--steps .g-wtick{animation:none}}@media(max-width:640px){.lf.lf--steps .g-wstage{gap:8px}.lf.lf--steps .g-warrow{width:40px;height:40px;box-shadow:2px 2px 0 var(--shadow)}.lf.lf--steps .g-wpad{border-radius:24px;box-shadow:4px 4px 0 var(--shadow)}.lf.lf--steps .g-wtools{gap:10px}.lf.lf--steps .g-gram{padding:22px 18px 18px;border-radius:20px;box-shadow:4px 4px 0 var(--shadow)}.lf.lf--steps .g-pat-zh{font-size:34px}.lf.lf--steps .g-gram-why{font-size:16px}.lf.lf--steps .g-ex{padding:14px 60px 14px 14px}.lf.lf--steps .g-ex-zh{font-size:20px}}.lf.lf--steps .g-main[data-verify-step=write]{padding-top:22px}.lf.lf--steps .g-main[data-verify-step=write] .g-h1{font-size:34px;margin-bottom:4px}.lf.lf--steps .g-wstage,.lf.lf--steps .g-wword{margin-top:14px}.lf.lf--steps .g-wtools{margin-top:10px}@media(max-height:820px)and (min-width:641px){.lf.lf--steps .g-main[data-verify-step=write] .g-col>.g-eyebrow,.lf.lf--steps .g-main[data-verify-step=write] .g-col>.g-h1{display:none}}.lf.lf--steps{--s0: #E0564F;--s1: #1F9E8A;--s2: #7A5BC9}.dark .lf.lf--steps{--s0: #FF8A80;--s1: #4ECDC4;--s2: #C9B8F4}@keyframes g-in{0%{opacity:0;transform:translateY(6px)}}@keyframes g-ring{0%{box-shadow:3px 3px 0 var(--shadow),0 0 color-mix(in srgb,var(--coral) 45%,transparent)}to{box-shadow:3px 3px 0 var(--shadow),0 0 0 18px transparent}}.lf.lf--steps .g-ws{display:grid;grid-template-columns:minmax(0,500px) minmax(0,1fr);gap:44px;align-items:start;margin-top:4px}.lf.lf--steps .g-spot{position:sticky;top:96px;scroll-margin-top:76px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 22px 22px;background:var(--paper);border:3px solid var(--g-border);border-radius:28px;box-shadow:6px 6px 0 var(--shadow)}.lf.lf--steps .g-spot-top{align-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:10px}.lf.lf--steps .g-spot-n{padding:6px 12px;border-radius:999px;background:var(--g-sand);font:900 14px var(--display);color:var(--g-amber);font-variant-numeric:tabular-nums}.lf.lf--steps .g-spot-trick{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 13px;border:2px solid var(--g-line);border-radius:999px;font:800 13.5px var(--display);color:var(--g-slate);transition:border-color .2s,color .2s}.lf.lf--steps .g-spot-trick:hover{border-color:var(--g-border);color:var(--ink)}.lf.lf--steps .g-spot-trick svg{width:16px;height:16px}.lf.lf--steps .g-spot-stage{display:flex;align-items:center;justify-content:center;gap:14px;align-self:stretch;margin-top:10px}.lf.lf--steps .g-spot-word{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0;border-radius:20px;color:var(--ink);animation:g-in .35s var(--out)}.lf.lf--steps .g-spot-hz{font:600 86px/1.08 var(--zh);letter-spacing:.02em;white-space:nowrap}.lf.lf--steps .g-spot-word[data-len=mid] .g-spot-hz{font-size:70px}.lf.lf--steps .g-spot-word[data-len=long] .g-spot-hz{font-size:56px}.lf.lf--steps .g-spot-pyrow{display:inline-flex;align-items:center;gap:12px}.lf.lf--steps .g-spot-py{font:700 22px var(--display);color:var(--g-slate)}.lf.lf--steps .g-spot-mn{margin-top:6px;font:900 25px/1.3 var(--display);color:var(--ink);text-wrap:balance;animation:g-in .35s var(--out) .04s both}.lf.lf--steps .g-spot-say{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--coral);color:#fff;border:3px solid var(--g-border);box-shadow:3px 3px 0 var(--shadow);transition:transform .15s var(--out)}.lf.lf--steps .g-spot-say:active{transform:translate(2px,2px)}.lf.lf--steps .g-spot-say.is-playing{animation:g-ring .9s var(--out)}.lf.lf--steps .g-spot-say svg{width:22px;height:22px}.lf.lf--steps .g-spot-ctx{position:relative;align-self:stretch;margin-top:18px;padding:14px 62px 14px 18px;border-radius:18px;background:var(--g-sand);text-align:left;animation:g-in .35s var(--out) .08s both}.lf.lf--steps .g-spot-ctx-zh{font:500 21px/1.55 var(--zh)}.lf.lf--steps .g-spot-ctx-zh b{font-weight:700;color:var(--coral-ink);background:linear-gradient(transparent 62%,var(--butter) 62%)}.lf.lf--steps .g-spot-ctx-en{margin-top:2px;font-size:15px;line-height:1.45;color:var(--g-slate)}.lf.lf--steps .g-spot-ctx-say{position:absolute;right:12px;top:12px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--g-border);background:var(--paper);color:var(--ink)}.lf.lf--steps .g-spot-ctx-say svg{width:18px;height:18px}.lf.lf--steps .g-wall-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;margin-bottom:16px}.lf.lf--steps .g-wall-head b{font:900 21px var(--display)}.lf.lf--steps .g-wall-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lf.lf--steps .g-tile{position:relative;width:100%;min-height:64px;display:flex;align-items:center;gap:12px;padding:8px 26px 8px 14px;text-align:left;background:var(--paper);border:2.5px solid var(--g-line);border-radius:16px;color:var(--ink);transition:border-color .2s,transform .15s var(--out),box-shadow .15s var(--out)}.lf.lf--steps .g-tile:hover{border-color:var(--g-dot);transform:translateY(-1px)}.lf.lf--steps .g-tile.is-on{border-color:var(--g-border);box-shadow:3px 3px 0 var(--shadow);transform:none}.lf.lf--steps .g-tile.is-heard:after{content:"";position:absolute;top:9px;right:9px;width:8px;height:8px;border-radius:50%;background:var(--g-teal)}.lf.lf--steps .g-tile-hz{flex:none;min-width:50px;font:600 24px/1.1 var(--zh)}.lf.lf--steps .g-tile-tx{min-width:0;display:flex;flex-direction:column}.lf.lf--steps .g-tile-py{font-size:12.5px;color:var(--g-slate);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lf.lf--steps .g-tile-mn{font:800 14.5px/1.25 var(--display);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.lf.lf--steps.is-hide-py .g-spot-py,.lf.lf--steps.is-hide-py .g-tile-py,.lf.lf--steps.is-hide-py .g-chip-py{display:none}.lf.lf--steps .g-text{display:flex;flex-direction:column;gap:24px}.lf.lf--steps .g-text .f-part{margin:0;padding:0}.lf.lf--steps .g-text .f-block{margin:0}.lf.lf--steps .g-tw-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.lf.lf--steps .g-tw-head b{font:900 17px var(--display);color:var(--g-slate)}.lf.lf--steps .g-tw .g-cards{min-height:38px;padding:0 14px;font-size:14px;box-shadow:2px 2px 0 var(--shadow)}.lf.lf--steps .g-tw ul{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.lf.lf--steps .g-chip{display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:6px 12px 6px 14px;text-align:left;background:var(--paper);border:2px solid var(--g-line);border-radius:16px;color:var(--ink);transition:border-color .2s,transform .15s var(--out)}.lf.lf--steps .g-chip:hover{border-color:var(--g-border);transform:translateY(-1px)}.lf.lf--steps .g-chip-hz{font:600 22px/1.1 var(--zh)}.lf.lf--steps .g-chip-tx{display:flex;flex-direction:column;min-width:0}.lf.lf--steps .g-chip-py{font-size:12px;color:var(--g-slate)}.lf.lf--steps .g-chip-mn{max-width:170px;font:800 13.5px/1.25 var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lf.lf--steps .g-chip svg{width:16px;height:16px;flex:none;color:var(--mist);transition:color .2s}.lf.lf--steps .g-chip:hover svg,.lf.lf--steps .g-chip.is-playing svg{color:var(--coral)}.lf.lf--steps .g-chip.is-playing{border-color:var(--coral)}.lf.lf--steps .g-text .f-listen{display:flex;align-items:center;gap:14px;width:100%;margin:0 0 22px;padding:12px 18px 12px 12px;background:var(--g-sand);border-radius:20px}.lf.lf--steps .g-text .f-listen>div{flex:1;min-width:0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;font:800 16px var(--display)}.lf.lf--steps .g-text .f-listen small{font:700 13px var(--display);color:var(--g-slate)}.lf.lf--steps .g-text .f-ptrack{grid-column:1 / -1;display:block;height:6px;border-radius:3px;background:color-mix(in srgb,var(--g-border) 12%,transparent);overflow:hidden}.lf.lf--steps .g-text .f-ptrack i{display:block;height:100%;border-radius:3px;background:var(--coral);transition:width .25s linear}.lf.lf--steps .g-text .f-listen .f-wave{margin-left:0}.lf.lf--steps .g-text .f-lines{display:flex;flex-direction:column;gap:6px}.lf.lf--steps .g-text .f-ln.is-chat{display:flex;align-items:flex-start;gap:10px;width:100%;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none}.lf.lf--steps .g-text .f-ln.is-chat.is-first:not(:first-child){margin-top:12px}.lf.lf--steps .g-text .f-ln.is-chat.is-side-1{flex-direction:row-reverse}.lf.lf--steps .g-text .f-ava{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:2.5px solid var(--g-border);color:#fff;font:700 18px var(--zh);visibility:hidden}.lf.lf--steps .g-text .f-ln.is-first .f-ava{visibility:visible}.lf.lf--steps .g-text .f-ava.is-s0{background:var(--s0)}.lf.lf--steps .g-text .f-ava.is-s1{background:var(--s1)}.lf.lf--steps .g-text .f-ava.is-s2{background:var(--s2)}.lf.lf--steps .g-text .f-bub{flex:0 1 auto;min-width:0;max-width:min(80%,580px);padding:11px 16px 12px;border:2.5px solid var(--g-line);border-radius:22px;background:var(--paper);transition:border-color .2s}.lf.lf--steps .g-text .f-ln.is-first .f-bub{border-top-left-radius:6px}.lf.lf--steps .g-text .f-ln.is-side-1 .f-bub{border-radius:22px;background:color-mix(in srgb,var(--s1) 10%,var(--paper));border-color:color-mix(in srgb,var(--s1) 30%,var(--paper))}.lf.lf--steps .g-text .f-ln.is-side-1.is-first .f-bub{border-top-right-radius:6px}.lf.lf--steps .g-text .f-bub.is-s2{background:color-mix(in srgb,var(--s2) 9%,var(--paper));border-color:color-mix(in srgb,var(--s2) 28%,var(--paper))}.lf.lf--steps .g-text .f-ln.is-chat:hover .f-bub{border-color:var(--g-dot)}.lf.lf--steps .g-text .f-ln.is-chat.is-open .f-bub{border-color:var(--g-border)}.lf.lf--steps .g-text .f-bub .f-who{grid-column:auto;grid-row:auto;padding:0;margin-bottom:2px;font:800 13px var(--display)}.lf.lf--steps .g-text .f-who.is-s0{color:var(--s0)}.lf.lf--steps .g-text .f-who.is-s1{color:var(--s1)}.lf.lf--steps .g-text .f-who.is-s2{color:var(--s2)}.lf.lf--steps .g-text .f-ln.is-side-1 .f-who{text-align:right}.lf.lf--steps .g-text .f-ln .f-zhl{font:400 22px/1.6 var(--zh)}.lf.lf--steps .g-text .f-ln .f-pyl{font-size:14.5px;color:var(--g-slate)}.lf.lf--steps .g-text .f-ln .f-enl{font-size:15px;color:var(--ink-2)}.lf.lf--steps .g-text .f-ln.is-chat .f-lnside{flex:none;flex-direction:column;gap:6px;align-self:flex-end;padding:0}.lf.lf--steps .g-text .f-ln .f-lnbtn{width:36px;height:36px;border:2px solid var(--g-line)}.lf.lf--steps .g-text .f-ln .f-lnbtn svg{width:17px;height:17px}.lf.lf--steps .g-text .f-ln .f-lnbtn.is-on{border-color:var(--coral)}.lf.lf--steps .g-text .f-hint{margin-top:14px;text-align:center}.lf.lf--steps .g-text .f-lines:has(>.f-ln.is-article){gap:0;padding:6px 8px;background:var(--paper);border:3px solid var(--g-border);border-radius:24px;box-shadow:5px 5px 0 var(--shadow)}.lf.lf--steps .g-text .f-ln.is-article{display:grid;grid-template-columns:1fr auto;gap:4px 12px;width:100%;margin:0;padding:12px 10px;background:none;border:0;border-radius:14px}.lf.lf--steps .g-text .f-ln.is-article+.f-ln.is-article{box-shadow:0 -2px 0 var(--g-line)}.lf.lf--steps .g-text .f-ln.is-article .f-lnside{grid-column:2;grid-row:1;flex-direction:row;gap:6px}.lf.lf--steps .g-main.has-side{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:44px;align-items:start}.lf.lf--steps .g-main.has-side .g-col{max-width:none;margin:0}.lf.lf--steps .g-side{position:sticky;top:96px;max-height:calc(100vh - 112px - var(--lesson-footer-h, 92px));overflow-y:auto;padding:0 8px 8px 0}.lf.lf--steps .g-side .g-tq{padding:22px 22px 24px}.lf.lf--steps .g-qdock{background:var(--paper);border-bottom:2px solid var(--g-line)}.lf.lf--steps .g-qdock-in{position:relative;width:min(1120px,calc(100% - 56px));max-height:52vh;margin-inline:auto;padding-top:12px;overflow-y:auto}.lf.lf--steps .g-qdock .g-tq{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:0 44px 12px 0;background:none;border:0;border-radius:0;box-shadow:none}.lf.lf--steps .g-qdock .g-tq-head{flex:1 1 170px;min-width:0;gap:10px}.lf.lf--steps .g-qdock .g-tq-ava{width:40px;height:40px;border-width:2px}.lf.lf--steps .g-qdock .g-tq-head b{font-size:16px}.lf.lf--steps .g-qdock .g-tq-head>div{min-width:0}.lf.lf--steps .g-qdock .g-tq-head small{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lf.lf--steps .g-qdock .g-tq>.f-btn{flex:none;min-height:42px;padding-inline:16px;border-width:2.5px;box-shadow:2px 2px 0 var(--shadow);font-size:15px;white-space:nowrap}.lf.lf--steps .g-qdock .g-tq-q,.lf.lf--steps .g-qdock .g-tq-opts,.lf.lf--steps .g-qdock .g-tq-say,.lf.lf--steps .g-qdock .g-tq-score{flex:1 1 100%;margin:0}.lf.lf--steps .g-qdock .g-tq-q{font-size:16px}.lf.lf--steps .g-qdock .g-tq-opt{min-height:44px;font-size:15px}.lf.lf--steps .g-qdock .g-tq-say{font-size:14px}.lf.lf--steps .g-qdock .g-tq[data-verify-state=guest] .g-tq-say{display:none}.lf.lf--steps .g-qdock-tgl{position:absolute;top:14px;right:-6px;z-index:1;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--g-slate)}.lf.lf--steps .g-qdock-tgl svg{width:20px;height:20px;transition:transform .2s}.lf.lf--steps .g-qdock.is-folded .g-tq>:not(.g-tq-head){display:none}.lf.lf--steps .g-qdock.is-folded .g-qdock-tgl svg{transform:rotate(180deg)}.lf.lf--steps .g-qdock:has(.g-tq[data-verify-state=idle],.g-tq[data-verify-state=guest]) .g-qdock-tgl{display:none}.lf.lf--steps .g-qdock:has(.g-tq[data-verify-state=idle],.g-tq[data-verify-state=guest]) .g-tq{padding-right:0}.lf.lf--steps .g-main{padding-bottom:calc(var(--lesson-footer-h, 92px) + 110px)}.lf.lf--steps .g-main[data-verify-step=words]{padding-top:28px}@media(max-height:820px)and (min-width:900px){.lf.lf--steps .g-main[data-verify-step=words] .g-col>.g-eyebrow,.lf.lf--steps .g-main[data-verify-step=words] .g-col>.g-h1,.lf.lf--steps .g-main[data-verify-step=words] .g-col>.g-sub{display:none}.lf.lf--steps .g-spot-hz{font-size:72px}.lf.lf--steps .g-spot-word[data-len=mid] .g-spot-hz{font-size:60px}.lf.lf--steps .g-spot-word[data-len=long] .g-spot-hz{font-size:48px}.lf.lf--steps .g-spot-ctx-zh{font-size:19px}}@media(max-width:899px){.lf.lf--steps .g-ws{grid-template-columns:1fr;gap:28px}.lf.lf--steps .g-spot{position:static}}@media(max-width:640px){.lf.lf--steps .g-spot{padding:12px 12px 16px;border-radius:22px;box-shadow:4px 4px 0 var(--shadow)}.lf.lf--steps .g-spot-stage{gap:6px}.lf.lf--steps .g-spot-hz{font-size:66px}.lf.lf--steps .g-spot-word[data-len=mid] .g-spot-hz{font-size:54px}.lf.lf--steps .g-spot-word[data-len=long] .g-spot-hz{font-size:42px}.lf.lf--steps .g-spot-py{font-size:18px}.lf.lf--steps .g-spot-mn{font-size:20px}.lf.lf--steps .g-spot-say{width:42px;height:42px}.lf.lf--steps .g-spot-ctx{margin-top:16px;padding:12px 56px 12px 14px}.lf.lf--steps .g-spot-ctx-zh{font-size:18px}.lf.lf--steps .g-spot-ctx-en{font-size:14px}.lf.lf--steps .g-wall-head b{font-size:18px}.lf.lf--steps .g-wall-grid{gap:8px}.lf.lf--steps .g-tile{min-height:58px;gap:8px;padding:8px 20px 8px 10px;border-radius:14px}.lf.lf--steps .g-tile-hz{min-width:0;font-size:20px}.lf.lf--steps .g-tile-mn{font-size:13px}.lf.lf--steps .g-text{gap:20px}.lf.lf--steps .g-tw ul{gap:8px}.lf.lf--steps .g-chip{min-height:48px;gap:8px;padding:5px 10px;border-radius:14px}.lf.lf--steps .g-chip-hz{font-size:19px}.lf.lf--steps .g-chip-mn{max-width:120px;font-size:12.5px}.lf.lf--steps .g-text .f-ln.is-chat{gap:6px}.lf.lf--steps .g-text .f-ava{width:32px;height:32px;font-size:14px;border-width:2px}.lf.lf--steps .g-text .f-bub{max-width:none;padding:9px 12px 10px;border-radius:18px}.lf.lf--steps .g-text .f-ln .f-zhl{font-size:19px}.lf.lf--steps .g-text .f-ln .f-pyl{font-size:13px}.lf.lf--steps .g-text .f-ln .f-lnbtn{width:32px;height:32px}.lf.lf--steps .g-text .f-lines:has(>.f-ln.is-article){padding:4px;border-radius:20px;box-shadow:4px 4px 0 var(--shadow)}.lf.lf--steps .g-text .f-ln.is-article .f-lnside{flex-direction:column}.lf.lf--steps .g-qdock-in{width:auto;padding:10px 20px 0}.lf.lf--steps .g-qdock-tgl{right:12px}}@media(prefers-reduced-motion:reduce){.lf.lf--steps .g-spot-word,.lf.lf--steps .g-spot-mn,.lf.lf--steps .g-spot-ctx,.lf.lf--steps .g-spot-say.is-playing{animation:none}}.lf.lf--steps .g-text .f-listen .f-play{width:46px;height:46px;border:2.5px solid var(--g-border);box-shadow:2px 2px 0 var(--shadow)}.lf.lf--steps .g-gai-say{margin:0;padding:12px 16px;border-radius:6px 18px 18px;background:var(--g-sand);font-size:16px;line-height:1.6;white-space:pre-line;animation:g-in .35s var(--out)}.lf.lf--steps .g-gai .g-gram-ex{width:100%;gap:10px;animation:g-in .35s var(--out) .08s both}.lf.lf--steps .g-gai .g-ex{padding:12px 54px 12px 14px;border-radius:16px}.lf.lf--steps .g-gai .g-ex-zh{font-size:19px}.lf.lf--steps .g-gai .g-ex-py{font-size:13.5px}.lf.lf--steps .g-gai .g-ex-en{font-size:14.5px}.lf.lf--steps .g-gai .g-ex-say{top:10px;right:10px;width:36px;height:36px;box-shadow:none}.lf.lf--steps .g-gai .g-ex-say svg{width:17px;height:17px}.lf.lf--steps .g-gai>.f-btn svg{width:18px;height:18px}.lf.lf--steps .g-gai-more{display:flex;align-items:center;flex-wrap:wrap;gap:4px 18px;width:100%}.lf.lf--steps .g-gai-more .g-tq-say{flex:1 1 100%;margin:0}.lf.lf--steps .g-qdock .g-gai-say,.lf.lf--steps .g-qdock .g-gai .g-gram-ex,.lf.lf--steps .g-qdock .g-gai-more{flex:1 1 100%}@media(max-width:640px){.lf.lf--steps .g-gai-say{font-size:15px;padding:10px 13px}}@media(prefers-reduced-motion:reduce){.lf.lf--steps .g-gai-say,.lf.lf--steps .g-gai .g-gram-ex{animation:none}}.lf{--cream: #FFF7EE;--paper: #FFFCF7;--ink: #332A29;--ink-2: #6E625D;--mist: #8F8279;--hair: #EDE2D3;--wash: #F6ECDF;--wash-2: #EFE2D1;--coral: #FF6B6B;--coral-ink: #C93C35;--coral-soft: #FFE1DC;--butter: #FFE9A8;--ok: #1E9E8C;--ok-ink: #11695C;--ok-soft: #E1F4EE;--wrong: #D62828;--wrong-ink: #A21F1F;--wrong-soft: #FCE4E2;--shadow: #332A29;--line-hover: rgba(255, 252, 247, .7);--culture: #FFF0CC;--culture-ink: #8E5410;--culture-text: #5E4A37;--s0: #C2493F;--s1: #13806F;--s2: #7A5BC9;--display: Nunito, -apple-system, "Segoe UI", system-ui, sans-serif;--body: Nunito, -apple-system, "Segoe UI", system-ui, sans-serif;--zh: var(--font-chinese, "PingFang SC", "Microsoft YaHei", sans-serif);--out: cubic-bezier(.16, 1, .3, 1);background:var(--cream);color:var(--ink);font:500 16px/1.6 var(--body);min-height:100vh}.dark .lf{--cream: #131F24;--paper: #182730;--ink: #FFFFFF;--ink-2: #AFAFAF;--mist: #8A979D;--hair: #2C3B44;--wash: #20313B;--wash-2: #273A45;--coral-ink: #FF8A80;--coral-soft: #3B2A2E;--butter: rgba(247, 214, 109, .32);--ok: #4ECDC4;--ok-ink: #7FE3DB;--ok-soft: #12302F;--wrong: #FF6B6B;--wrong-ink: #FF9C9C;--wrong-soft: #3A1F22;--shadow: #0B1418;--line-hover: rgba(32, 49, 59, .6);--culture: #2A2618;--culture-ink: #F7D66D;--culture-text: #D9CDB0;--s0: #FF8A80;--s1: #4ECDC4;--s2: #C9B8F4;color-scheme:dark}.lf *,.lf *:before,.lf *:after{box-sizing:border-box}.lf ::-moz-selection{background:var(--butter);color:var(--ink)}.lf ::selection{background:var(--butter);color:var(--ink)}.lf button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}.lf a{color:inherit;text-decoration:none}.lf :focus-visible{outline:2.5px solid var(--coral);outline-offset:3px;border-radius:10px}.lf .f-zh{font-family:var(--zh)}.lf .f-top{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--cream) 90%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.lf .f-top-in{height:60px;display:flex;align-items:center;gap:12px;padding-inline:28px;max-width:1440px;margin-inline:auto}.lf .f-back{width:44px;height:44px;margin-left:-10px;border-radius:12px;display:grid;place-items:center;color:var(--ink-2);flex:none;transition:background .2s}.lf .f-back:hover{background:var(--wash)}.lf .f-back svg{width:22px;height:22px}.lf .f-ttl{font:800 15px var(--display);color:var(--ink-2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lf .f-ttl b{color:var(--ink);font-weight:900}.lf .f-tgl{margin-left:auto;display:flex;gap:6px;flex:none}.lf .f-tgl button{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--ink-2);transition:background .2s,color .2s}.lf .f-tgl button svg{width:22px;height:22px}.lf .f-tgl button:hover{background:var(--wash)}.lf .f-tgl button[aria-pressed=true]{background:var(--ink);color:var(--cream)}.lf .f-bar{height:2px;background:var(--hair)}.lf .f-bar i{display:block;height:100%;width:100%;background:var(--coral);transform-origin:left;transform:scaleX(0)}.lf .f-where{display:none;align-items:center;gap:6px;font:800 14px var(--display);min-width:0;height:40px;padding-inline:12px;border-radius:12px;background:var(--wash);white-space:nowrap}.lf .f-where svg{width:16px;height:16px;flex:none;transition:transform .25s var(--out)}.lf .f-where[aria-expanded=true] svg{transform:rotate(180deg)}.lf .f-sheet{position:sticky;top:62px;z-index:29;display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--out);background:var(--paper)}.lf .f-sheet>div{overflow:hidden}.lf .f-sheet.is-open{grid-template-rows:1fr;box-shadow:0 10px 24px #0b141824}.lf .f-sheet a{display:flex;gap:12px;align-items:center;padding:11px 22px;font:800 15px var(--display)}.lf .f-sheet a:first-child{margin-top:6px}.lf .f-sheet a:last-child{margin-bottom:10px}.lf .f-sheet .f-d{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:900 12px var(--display);background:var(--wash);color:var(--ink-2);flex:none}.lf .f-sheet .f-d svg{width:13px;height:13px}.lf .f-sheet a.is-on .f-d{background:var(--coral);color:#fff}.lf .f-rail{display:none}.lf .f-rail ol{list-style:none;margin:0;padding:0;position:relative}.lf .f-rail .f-track{position:absolute;left:13px;top:14px;bottom:14px;width:2px;background:var(--hair);border-radius:2px}.lf .f-rail .f-track i{position:absolute;inset:0;background:var(--coral);transform-origin:top;transform:scaleY(0);border-radius:2px}.lf .f-rail li+li{margin-top:18px}.lf .f-rail a{display:flex;align-items:center;gap:12px;position:relative}.lf .f-rail .f-d{width:28px;height:28px;border-radius:50%;background:var(--cream);box-shadow:inset 0 0 0 2px var(--hair);display:grid;place-items:center;font:900 13px var(--display);color:var(--mist);flex:none;transition:background .25s,color .25s,box-shadow .25s,transform .25s var(--out)}.lf .f-rail .f-d svg{width:14px;height:14px}.lf .f-rail .f-nm{font:800 14px var(--display);color:var(--ink);opacity:0;transform:translate(-6px);transition:opacity .2s,transform .25s var(--out);white-space:nowrap}.lf .f-rail a:hover .f-nm,.lf .f-rail li.is-on .f-nm{opacity:1;transform:none}.lf .f-rail li.is-done .f-d{background:var(--coral);box-shadow:none;color:#fff}.lf .f-rail li.is-on .f-d{background:var(--paper);color:var(--coral-ink);box-shadow:inset 0 0 0 2.5px var(--coral);transform:scale(1.08)}.lf .f-col{width:min(660px,100%);margin-inline:auto;padding-inline:22px;padding-bottom:140px}.lf .f-part{padding-top:112px;scroll-margin-top:64px}.lf h1,.lf h2,.lf h3{font-family:var(--display);margin:0;text-wrap:balance;color:var(--ink)}.lf .f-h2{font-size:34px;font-weight:900;line-height:1.15;letter-spacing:-.01em;display:flex;align-items:center;gap:14px}.lf .f-h2 .f-num{width:40px;height:40px;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-items:center;font-size:19px;flex:none}.lf .f-h3{font-size:16px;font-weight:900;display:flex;align-items:center;gap:10px;margin-bottom:12px}.lf .f-grow{flex:1}.lf .f-lead{color:var(--ink-2);margin:10px 0 0;max-width:54ch}.lf .f-block{margin-top:40px}.lf .f-link{font:800 14px var(--display);color:var(--coral-ink);text-underline-offset:3px;display:inline-flex;align-items:center;gap:6px;min-height:32px}.lf .f-link:hover{text-decoration:underline}.lf .f-link.is-quiet{color:var(--ink-2)}.lf .f-link svg{width:14px;height:14px}.lf .f-hero{padding-top:88px}.lf .f-hero .f-big{font:600 72px/1.08 var(--zh);letter-spacing:.03em}.lf .f-hero h1{font-size:26px;font-weight:900;margin-top:8px}.lf .f-meta{margin-top:14px;color:var(--ink-2);font-weight:600}.lf .f-meta span{white-space:nowrap}.lf .f-meta span+span:before{content:"·";margin-inline:8px;color:var(--mist)}.lf .f-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding-inline:26px;border-radius:16px;background:var(--coral);color:#fff;border:1.5px solid var(--ink);box-shadow:3px 3px 0 var(--shadow);font:900 17px var(--display);transition:transform .15s var(--out),box-shadow .15s var(--out),background .2s}.dark .lf .f-btn{border-color:var(--shadow)}.lf .f-btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--shadow)}.lf .f-btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--shadow)}.lf .f-btn.is-ok{background:var(--ok);color:#fff}.dark .lf .f-btn.is-ok{color:#083d3a}.lf .f-btn[disabled]{background:var(--wash);color:var(--mist);border-color:var(--hair);box-shadow:none;cursor:default;transform:none}.lf .f-btn svg{width:18px;height:18px}.lf .f-btn.is-sm{min-height:44px;padding-inline:16px;border-radius:12px;font-size:15px;box-shadow:2px 2px 0 var(--shadow)}.lf .f-btn.is-sm:hover{box-shadow:3px 3px 0 var(--shadow)}.lf .f-btn.is-sm svg{width:16px;height:16px}.lf .f-hero .f-btn{margin-top:30px}.lf .f-words{border-top:1px solid var(--hair)}.lf .f-w{display:grid;grid-template-columns:1fr auto;align-items:center;-moz-column-gap:12px;column-gap:12px;padding:14px 4px;border-bottom:1px solid var(--hair);text-align:left;width:100%;cursor:pointer}.lf .f-w .f-hz{font:500 26px/1.25 var(--zh)}.lf .f-w .f-py{font:600 14px var(--body);color:var(--ink-2);margin-left:10px}.lf .f-w .f-mn{display:block;font-size:15px;margin-top:1px;transition:color .2s,background .2s}.lf .f-words.is-quiz .f-w:not(.is-peek) .f-mn{color:transparent;background:var(--wash);border-radius:6px;width:-moz-max-content;width:max-content;min-width:130px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lf .f-more{grid-column:1 / -1;display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--out)}.lf .f-more>div{overflow:hidden}.lf .f-more .f-in{margin-top:10px;padding:10px 14px;background:var(--wash);border-radius:12px}.lf .f-w.is-open .f-more{grid-template-rows:1fr}.lf .f-more .f-zhs{font:500 18px/1.6 var(--zh)}.lf .f-more .f-en{color:var(--ink-2);font-size:14px}.lf .f-spk{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--mist);transition:color .2s,background .2s;flex:none}.lf .f-spk svg{width:20px;height:20px}.lf .f-w:hover .f-spk,.lf .f-spk:hover{color:var(--coral-ink);background:var(--coral-soft)}.lf .f-spk.is-playing{color:#fff;background:var(--coral)}.lf .f-wbtns{display:flex;align-items:center;gap:2px}.lf .f-listen{display:inline-flex;align-items:center;gap:12px;font:800 15px var(--display)}.lf .f-play{width:46px;height:46px;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-items:center;border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--shadow);flex:none;transition:transform .15s var(--out)}.dark .lf .f-play{border-color:var(--shadow)}.lf .f-play:active{transform:translate(1px,1px)}.lf .f-play svg{width:18px;height:18px}.lf .f-listen small{display:block;font:600 13px var(--body);color:var(--ink-2);font-variant-numeric:tabular-nums}.lf .f-wave{display:inline-flex;gap:3px;align-items:center;height:18px;margin-left:4px;opacity:0;transition:opacity .2s}.lf .f-wave i{width:3px;height:5px;background:var(--coral);border-radius:2px}.lf .f-listen.is-playing .f-wave{opacity:1}.lf .f-listen.is-playing .f-wave i{animation:lf-wv .9s ease-in-out infinite}.lf .f-listen.is-playing .f-wave i:nth-child(2){animation-delay:.15s}.lf .f-listen.is-playing .f-wave i:nth-child(3){animation-delay:.3s}.lf .f-listen.is-playing .f-wave i:nth-child(4){animation-delay:.45s}@keyframes lf-wv{50%{height:17px}}.lf .f-lines{margin-top:22px}.lf .f-ln{display:grid;grid-template-columns:64px 1fr auto;gap:14px;padding:12px 14px;margin-inline:-14px;border-radius:16px;text-align:left;width:calc(100% + 28px);transition:background .2s;cursor:pointer}.lf .f-ln:hover{background:var(--line-hover)}.lf .f-ln.is-open{background:var(--paper);box-shadow:0 0 0 1px var(--hair);cursor:default}.lf .f-ln.is-article{grid-template-columns:1fr auto}.lf .f-who{font:800 14px/1.3 var(--zh);padding-top:9px;overflow-wrap:anywhere}.lf .f-who.is-s0{color:var(--s0)}.lf .f-who.is-s1{color:var(--s1)}.lf .f-who.is-s2{color:var(--s2)}.lf .f-zhl{font:400 21px/1.8 var(--zh)}.lf .f-pyl{font:500 14px/1.55 var(--body);color:var(--ink-2)}.lf.is-hide-py .f-pyl,.lf.is-hide-py .f-ex .f-py,.lf.is-hide-py .f-w .f-py{display:none}.lf .f-enx{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--out)}.lf .f-enx>div{overflow:hidden}.lf.is-show-en .f-enx,.lf .f-ln.is-open .f-enx{grid-template-rows:1fr}.lf .f-enl{font:500 15px/1.55 var(--body);color:var(--ink-2);padding-top:6px}.lf .f-lnside{display:flex;gap:2px;align-items:flex-start;padding-top:4px}.lf .f-lnbtn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--mist);transition:background .2s,color .2s}.lf .f-lnbtn svg{width:19px;height:19px}.lf .f-ln:hover .f-lnbtn{color:var(--coral-ink)}.lf .f-lnbtn:hover{background:var(--coral-soft);color:var(--coral-ink)}.lf .f-lnbtn.is-on{background:var(--coral);color:#fff}.lf .f-say{margin-top:12px}.lf .f-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding-inline:14px;border-radius:999px;background:var(--wash);font:800 13px var(--display);transition:background .2s}.lf .f-chip:hover{background:var(--wash-2)}.lf .f-chip svg{width:15px;height:15px}.lf .f-chip.is-playing,.lf .f-chip[aria-pressed=true]{background:var(--coral);color:#fff}.lf mark.f-v{color:inherit;background:linear-gradient(var(--butter),var(--butter)) no-repeat 0 88% / 100% 38%;border-radius:2px;cursor:pointer;padding-inline:1px;transition:background-size .55s var(--out)}.lf.is-reveal .f-ln mark.f-v{background-size:0% 38%}.lf.is-reveal .f-ln[data-lit] mark.f-v{background-size:100% 38%}.lf mark.f-v:hover{background-size:100% 100%!important}.lf .f-wtipat{position:relative}.lf mark.f-v.is-tip{animation:lf-glow 1.6s var(--out) 2;border-radius:4px}@keyframes lf-glow{50%{box-shadow:0 0 0 5px var(--butter)}}.lf .f-wtip{position:absolute;left:-6px;bottom:calc(100% + 9px);z-index:6;width:-moz-max-content;width:max-content;max-width:min(480px,80vw);display:flex;align-items:center;gap:10px;padding:6px 11px;border-radius:10px;background:var(--ink);color:var(--cream);font:800 13px/1.35 var(--display);box-shadow:0 10px 24px -10px #00000080;animation:lf-pop .4s var(--out);cursor:default}.lf .f-wtip:after{content:"";position:absolute;left:16px;bottom:-6px;width:12px;height:12px;background:var(--ink);transform:rotate(45deg);border-radius:2px}.lf .f-wtip button{font:800 12px var(--display);color:var(--cream);opacity:.75;text-decoration:underline;flex:none}.lf .f-hint{margin-top:12px;font-size:14px;color:var(--mist)}.lf .f-gram{background:var(--paper);border:1px solid var(--hair);border-radius:22px;padding:24px}.lf .f-gram+.f-gram{margin-top:16px}.lf .f-from{font:400 18px/1.75 var(--zh);padding-left:16px;box-shadow:inset 2px 0 0 var(--hair);margin-bottom:22px}.lf .f-from b{color:var(--coral-ink);font-weight:600}.lf .f-from .f-en{display:block;font:500 14px/1.5 var(--body);color:var(--ink-2)}.lf .f-formula{font:600 26px/1.35 var(--zh);overflow-wrap:anywhere}.lf .f-formula em{font:800 15px var(--display);color:var(--mist);font-style:normal;margin-inline:3px}.lf .f-gram p{margin:6px 0 0;color:var(--ink-2)}.lf .f-gram p b{color:var(--ink)}.lf .f-ex{margin-top:16px;padding-top:16px;border-top:1px dashed var(--hair);display:grid;grid-template-columns:1fr auto;-moz-column-gap:8px;column-gap:8px;align-items:start}.lf .f-ex .f-zh{font:400 18px/1.6 var(--zh)}.lf .f-ex .f-py,.lf .f-ex .f-en{font-size:14px;color:var(--ink-2)}.lf .f-row{display:flex;gap:18px;margin-top:16px;flex-wrap:wrap}.lf .f-card{background:var(--paper);border:1.5px solid var(--ink);border-radius:22px;box-shadow:4px 4px 0 var(--shadow);overflow:hidden}.dark .lf .f-card{border-color:#37464f}.lf .f-card .f-in{padding:24px}.lf .f-q{font:900 20px/1.4 var(--display)}.lf .f-q .f-zh{font:500 21px/1.6 var(--zh);display:block}.lf .f-q small{display:block;font:600 14px var(--body);color:var(--ink-2);margin-top:4px}.lf .f-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.lf .f-opt{min-height:62px;border:1.5px solid var(--hair);border-radius:16px;background:var(--paper);font:500 21px var(--zh);display:grid;place-items:center;padding:6px;transition:border-color .15s,background .2s,transform .15s var(--out)}.lf .f-opt:hover:not([disabled]){border-color:var(--mist);transform:translateY(-1px)}.lf .f-opt small{display:block;font:600 12px var(--body);color:var(--ink-2)}.lf .f-opt[disabled]{cursor:default}.lf .f-opt.is-sel{border-color:var(--ink);background:var(--wash)}.lf .f-opt.is-right{border-color:var(--ok);background:var(--ok-soft)}.lf .f-opt.is-wrong{border-color:var(--wrong);background:var(--wrong-soft);animation:lf-nudge .32s var(--out)}@keyframes lf-nudge{25%{transform:translate(-3px)}60%{transform:translate(3px)}}.lf .f-fbw{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--out)}.lf .f-fbw>div{overflow:hidden}.lf .f-fbw.is-on{grid-template-rows:1fr}.lf .f-fb{display:flex;align-items:center;gap:12px;padding:14px 24px;font-weight:700}.lf .f-fb.is-ok{background:var(--ok-soft);color:var(--ok-ink)}.lf .f-fb.is-no{background:var(--wrong-soft);color:var(--wrong-ink)}.lf .f-ic{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;flex:none}.lf .is-ok .f-ic{background:var(--ok)}.lf .is-no .f-ic{background:var(--wrong)}.lf .f-ic svg{width:18px;height:18px}.lf .f-ic path{stroke-dasharray:30;stroke-dashoffset:30;animation:lf-draw .45s .12s var(--out) forwards}@keyframes lf-draw{to{stroke-dashoffset:0}}.lf .f-culture{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;padding:26px;border-radius:22px;background:var(--culture)}.lf .f-culture-art{width:132px;height:132px;border-radius:16px;display:block;background:var(--butter);color:var(--culture-ink)}.lf .f-culture h3{font-size:20px;margin:0}.lf .f-culture p{margin:6px 0 0;color:var(--culture-text)}.lf .f-culture .f-tag{font:800 13px var(--display);color:var(--culture-ink);display:block;margin-bottom:4px}.lf .f-writer{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start}.lf .f-pad{position:relative;width:260px;height:260px;background:var(--paper);border:1.5px solid var(--ink);border-radius:22px;box-shadow:4px 4px 0 var(--shadow);overflow:hidden;touch-action:none}.dark .lf .f-pad{border-color:#37464f}.lf .f-pad>svg.f-guide{position:absolute;inset:0;pointer-events:none}.lf .f-pad .f-target{position:absolute;inset:0}.lf .f-pad .f-padmsg{position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center;color:var(--ink-2);font-weight:700}.lf .f-wside{min-width:0;width:100%}.lf .f-chars{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 8px;margin:-2px -2px 0;scrollbar-width:thin;scrollbar-color:var(--hair) transparent;-webkit-overflow-scrolling:touch}.lf .f-chars .f-cb{flex:none;scroll-snap-align:center}.lf .f-chars{-webkit-mask-image:linear-gradient(to right,transparent,#000 14px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,transparent,#000 14px,#000 calc(100% - 28px),transparent);padding-inline:10px}.lf .f-wcount{margin-top:6px;font:700 13px var(--body);color:var(--ink-2);font-variant-numeric:tabular-nums}.lf .f-cb{width:58px;height:66px;border-radius:16px;border:1.5px solid var(--hair);background:var(--paper);display:grid;place-items:center;font:500 26px/1 var(--zh);padding-top:4px;transition:border-color .15s,background .2s}.lf .f-cb.is-on{border-color:var(--ink);background:var(--wash)}.lf .f-cb.is-did{border-color:var(--ok)}.lf .f-wnow{font:800 16px var(--display);margin-top:18px}.lf .f-wnow span{font:600 15px var(--body);color:var(--ink-2)}.lf .f-wstate{margin-top:6px;font-size:14px;color:var(--ink-2);min-height:22px}.lf .f-wstate.is-ok{color:var(--ok-ink);font-weight:700}.lf .f-wtools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.lf .f-types{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.lf .f-types span{display:inline-flex;align-items:center;gap:6px;height:34px;padding-inline:12px;border-radius:999px;background:var(--wash);font:800 13px var(--display);color:var(--ink)}.lf .f-types svg{width:15px;height:15px;color:var(--coral-ink)}.lf .f-pcard .f-q{font-size:22px}.lf .f-pcard .f-done{color:var(--ok-ink)}.lf .f-pfoot{padding:0 24px 24px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.lf .f-lockline{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:var(--wash);font-weight:700;color:var(--ink-2)}.lf .f-lockline svg{width:18px;height:18px;flex:none;color:var(--coral-ink)}.lf .f-lockline a{margin-left:auto}.lf .f-finish{text-align:center;padding-top:128px;scroll-margin-top:64px}.lf .f-finish .f-bao{width:180px;height:180px;margin:0 auto;display:grid;place-items:center}.lf .f-bao-in{position:relative;display:inline-block;line-height:0}.lf .f-finish .f-h2{font-size:42px;justify-content:center;margin-top:6px}.lf .f-earned{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}.lf .f-earned span{display:inline-flex;align-items:baseline;gap:6px;padding:10px 16px;border-radius:999px;background:var(--paper);border:1px solid var(--hair);color:var(--ink-2)}.lf .f-earned b{font:900 20px var(--display);color:var(--ink);font-variant-numeric:tabular-nums}.lf .f-save{margin:30px auto 0;max-width:440px;text-align:left;background:var(--paper);border:1.5px solid var(--ink);border-radius:22px;box-shadow:4px 4px 0 var(--shadow);padding:22px 24px}.dark .lf .f-save{border-color:#37464f}.lf .f-save h3{font-size:19px;margin:0}.lf .f-save p{margin:4px 0 16px;color:var(--ink-2)}.lf .f-save .f-row{align-items:center;margin-top:0}.lf .f-next{margin-top:26px;display:grid;justify-items:center;gap:10px}.lf .f-next small{color:var(--ink-2)}.lf .f-finish .f-lead{margin-inline:auto}.f-pop{position:fixed;z-index:9100;background:#332a29;color:#fff;border-radius:14px;padding:10px 8px 10px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 12px 30px #0b14184d;max-width:min(320px,calc(100vw - 16px));font-family:Nunito,system-ui,sans-serif;animation:lf-pop .2s cubic-bezier(.16,1,.3,1)}.f-pop .f-hz{font:500 24px var(--font-chinese, sans-serif)}.f-pop .f-py{font-size:13px;color:#d9ccc3}.f-pop .f-mn{font-size:14px}.f-pop button{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#ffffff1f;border:0;cursor:pointer;flex:none}.f-pop button svg{width:20px;height:20px}@keyframes lf-pop{0%{opacity:0;transform:translateY(4px) scale(.97)}}.lf.is-reveal [data-rv]{opacity:0;transform:translateY(14px)}.lf.is-reveal [data-rv][data-lit]{opacity:1;transform:none;transition:opacity .5s var(--out),transform .6s var(--out);transition-delay:var(--d, 0ms)}@media(min-width:1180px){.lf .f-rail{display:block;position:fixed;top:150px;left:max(28px,calc(50% - 580px));width:200px;z-index:5}}@media(max-width:1179px){.lf .f-where{display:inline-flex}}@media(max-width:640px){.lf .f-top-in{padding-inline:14px;gap:8px;height:58px}.lf .f-ttl{display:none}.lf .f-sheet{top:60px}.lf .f-tgl button{width:42px;height:42px}.lf .f-col{padding-inline:18px}.lf .f-part{padding-top:84px}.lf .f-h2{font-size:27px;gap:12px}.lf .f-h2 .f-num{width:34px;height:34px;font-size:16px}.lf .f-hero{padding-top:56px}.lf .f-hero .f-big{font-size:52px}.lf .f-ln{grid-template-columns:1fr auto;gap:0 6px;padding:10px 12px;margin-inline:-12px;width:calc(100% + 24px)}.lf .f-lnside{grid-column:2;grid-row:1 / span 2;flex-direction:column;padding-top:0}.lf .f-who{padding-top:0;font-size:13px}.lf .f-zhl{font-size:20px}.lf .f-opts{grid-template-columns:1fr}.lf .f-writer{grid-template-columns:1fr;justify-items:center}.lf .f-culture{grid-template-columns:1fr}.lf .f-gram,.lf .f-card .f-in{padding:20px}.lf .f-fb{padding:14px 20px}.lf .f-finish .f-h2{font-size:34px}}@media(prefers-reduced-motion:reduce){.lf.is-reveal [data-rv]{transform:none}.lf.is-reveal [data-rv][data-lit]{transition:opacity .3s}.lf mark.f-v{transition:none}.lf mark.f-v.is-tip,.lf .f-wtip{animation:none}.lf .f-listen.is-playing .f-wave i{animation:none;height:12px}.lf .f-opt.is-wrong{animation:none}.lf .f-ic path{animation:none;stroke-dashoffset:0}.f-pop{animation:none}}.lf.f-session{position:fixed;inset:0;z-index:9500;display:flex;flex-direction:column;min-height:0;animation:lf-sin-up .45s var(--out)}@keyframes lf-sin-up{0%{opacity:0;transform:translateY(28px)}}.lf .s-top{height:68px;flex:none;display:flex;align-items:center;gap:16px;padding-inline:max(18px,calc(50% - 330px))}.lf .s-x{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2);flex:none;transition:background .2s}.lf .s-x:hover{background:var(--wash)}.lf .s-x svg{width:20px;height:20px}.lf .s-prog{flex:1;height:12px;border-radius:8px;background:var(--hair);overflow:hidden}.lf .s-prog i{display:block;height:100%;width:100%;border-radius:8px;background:var(--coral);transform-origin:left;transform:scaleX(0);transition:transform .5s var(--out)}.lf .s-count{font:800 14px var(--display);color:var(--ink-2);font-variant-numeric:tabular-nums;min-width:44px;text-align:right}.lf .s-body{flex:1;overflow-y:auto;padding:22px max(18px,calc(50% - 330px)) 28px}.lf .s-q{animation:lf-sin .4s var(--out)}@keyframes lf-sin{0%{opacity:0;transform:translate(22px)}}.lf .s-h{font:900 26px/1.3 var(--display);text-wrap:balance}.lf .s-sub{color:var(--ink-2);margin-top:4px}.lf .s-word{text-align:center;margin-top:26px}.lf .s-word .f-hz{font:500 66px/1.1 var(--zh)}.lf .s-prompt{font:500 22px/1.7 var(--zh);margin-top:20px}.lf .s-opts{display:grid;gap:10px;margin-top:26px}.lf .s-opts .f-opt{justify-items:start;text-align:left;padding:10px 18px;min-height:60px;font:700 17px var(--body)}.lf .s-opts .f-opt.is-zh{font:500 22px var(--zh)}.lf .s-opts.is-grid2{grid-template-columns:repeat(2,1fr)}.lf .s-opts.is-grid2 .f-opt{justify-items:center;text-align:center}.lf .s-sent{font:400 24px/1.8 var(--zh);margin-top:24px}.lf .s-blank{display:inline-block;min-width:76px;border-bottom:2px solid var(--ink);text-align:center;color:var(--coral-ink)}.lf .s-listen{display:grid;place-items:center;margin-top:26px}.lf .s-listen .f-play{width:92px;height:92px;box-shadow:3px 3px 0 var(--shadow)}.lf .s-listen .f-play svg{width:34px;height:34px}.lf .s-listen .f-play.is-playing{animation:lf-beat .9s var(--out)}@keyframes lf-beat{40%{transform:scale(1.06)}}.lf .s-listen small{margin-top:10px;color:var(--ink-2)}.lf .s-match{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}.lf .s-match>div{display:grid;gap:10px;align-content:start}.lf .s-m{min-height:60px;border:1.5px solid var(--hair);border-radius:16px;background:var(--paper);font:700 16px var(--body);padding:8px 12px;transition:border-color .15s,background .2s,opacity .3s}.lf .s-m.is-zh{font:500 22px var(--zh)}.lf .s-m:hover:not([disabled]){border-color:var(--mist)}.lf .s-m.is-sel{border-color:var(--ink);background:var(--wash)}.lf .s-m.is-good{border-color:var(--ok);background:var(--ok-soft);opacity:.55;cursor:default}.lf .s-m.is-bad{border-color:var(--wrong);background:var(--wrong-soft);animation:lf-nudge .32s var(--out)}.lf .s-ans{min-height:72px;margin-top:26px;padding:10px 0;border-bottom:2px solid var(--hair);display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}.lf .s-bank{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;justify-content:center}.lf .s-tile{font:500 21px var(--zh);padding:10px 14px;min-height:48px;border-radius:14px;background:var(--paper);border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--shadow);transition:transform .15s var(--out),box-shadow .15s var(--out)}.dark .lf .s-tile{border-color:#37464f}.lf .s-tile:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--shadow)}.lf .s-tile.is-used{visibility:hidden}.lf .s-foot{position:relative;flex:none;display:flex;align-items:center;gap:16px;padding:16px max(18px,calc(50% - 330px));border-top:1px solid var(--hair);background:var(--paper);transition:background .3s}.lf .s-foot.is-ok{background:var(--ok-soft);border-color:transparent}.lf .s-foot.is-no{background:var(--wrong-soft);border-color:transparent}.lf .s-msg{flex:1;display:flex;align-items:center;gap:12px;font-weight:700;min-width:0}.lf .s-foot.is-ok .s-msg{color:var(--ok-ink)}.lf .s-foot.is-no .s-msg{color:var(--wrong-ink)}.lf .s-msg .f-zh{font-family:var(--zh)}.lf .s-foot .f-btn{min-width:150px}.lf .s-foot.is-ok .f-btn{background:var(--ok)}.lf .s-end{text-align:center;padding-top:10px}.lf .s-end .f-bao{position:relative;width:160px;height:160px;margin:0 auto;display:grid;place-items:center}.lf .s-cheer{position:absolute;left:50%;top:0;width:0;height:0}.lf .s-end .s-h{font-size:34px;margin-top:4px}.lf .s-dots{display:flex;gap:6px;justify-content:center;margin-top:16px;flex-wrap:wrap}.lf .s-dots i{width:26px;height:6px;border-radius:3px;background:var(--hair)}.lf .s-dots i.is-ok{background:var(--ok)}.lf .s-dots i.is-no{background:var(--wrong)}.lf .s-acts{display:grid;justify-items:center;gap:14px;margin-top:26px}.lf .s-end .f-lead{margin-inline:auto}@media(max-width:640px){.lf .s-h{font-size:22px}.lf .s-word .f-hz{font-size:56px}.lf .s-foot{flex-wrap:wrap}.lf .s-foot .f-btn{width:100%}.lf .s-sent{font-size:21px}.lf .s-opts.is-grid2{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.lf.f-session,.lf .s-q,.lf .s-listen .f-play.is-playing,.lf .s-m.is-bad{animation:none}}.lf .f-h3.is-words{flex-wrap:wrap;row-gap:0}.lf .f-review{margin-top:18px}.lf .c-body{display:flex;flex-direction:column;justify-content:center}.lf .c-card{position:relative;flex:1;min-height:300px;max-height:520px;perspective:1400px;cursor:pointer;border-radius:26px;animation:lf-sin .35s var(--out)}.lf .c-in{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .5s var(--out)}.lf .c-card.is-flip .c-in{transform:rotateY(180deg)}.lf .c-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 24px 76px;text-align:center;overflow-y:auto;border-radius:26px;background:var(--paper);border:1.5px solid var(--ink);box-shadow:4px 4px 0 var(--shadow);backface-visibility:hidden;-webkit-backface-visibility:hidden}.dark .lf .c-face{border-color:#37464f}.lf .c-back{transform:rotateY(180deg)}.lf .c-hz{font:500 96px/1.1 var(--zh)}.lf .c-hint{margin-top:22px;font:700 13px var(--display);color:var(--mist)}.lf .c-bhz{font:500 40px/1.2 var(--zh)}.lf .c-py{font:800 24px var(--display);margin-top:4px}.lf .c-mn{font:600 18px/1.4 var(--body);color:var(--ink-2);margin-top:2px;max-width:32ch}.lf .c-ex{margin-top:20px;padding:12px 18px;border-radius:16px;background:var(--wash);width:100%;max-width:460px}.lf .c-exz{font:400 20px/1.6 var(--zh)}.lf .c-ex mark{background:var(--butter);color:inherit;border-radius:4px;padding:0 2px}.lf .c-exe{font-size:14px;color:var(--ink-2)}.lf .c-spk{position:absolute;right:16px;bottom:16px;z-index:2;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:var(--coral-ink);background:var(--coral-soft);transition:background .2s,color .2s}.lf .c-spk:hover{background:var(--coral);color:#fff}.lf .c-spk svg{width:22px;height:22px}.lf .c-acts{display:flex;gap:10px}.lf .f-btn.is-alt{background:var(--paper);color:var(--ink)}.lf .c-missed{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px}.lf .c-missed span{font:500 20px var(--zh);padding:2px 12px;border-radius:10px;background:var(--wrong-soft)}@media(max-width:640px){.lf .c-card{min-height:260px}.lf .c-hz{font-size:76px}.lf .c-acts{width:100%}.lf .c-acts .f-btn{flex:1;min-width:0}}@media(prefers-reduced-motion:reduce){.lf .c-in{transition:none}.lf .c-card{animation:none}}
