@font-face{font-family:GeistMono;src:url(/_next/static/media/f5cb94a89b585f0b.p.woff2) format("woff2");font-display:swap;font-weight:100 900}.__className_de43f5{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.__variable_de43f5{--font-geist-mono:"GeistMono",ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}@font-face{font-family:GeistSans;src:url(/_next/static/media/e91e1ff17da97c42-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}.__className_b3532f{font-family:GeistSans,GeistSans Fallback}.__variable_b3532f{--font-geist-sans:"GeistSans","GeistSans Fallback"}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/instrument-serif-latin-400-normal.e872e3f2.woff2) format("woff2"),url(/_next/static/media/instrument-serif-latin-400-normal.4ace7644.woff) format("woff")}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/_next/static/media/instrument-serif-latin-400-italic.7cb8e1b9.woff2) format("woff2"),url(/_next/static/media/instrument-serif-latin-400-italic.4acb39b8.woff) format("woff")}@font-face{font-family:Noto Sans SC;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/noto-sans-sc-400.woff2) format("woff2")}@font-face{font-family:Noto Sans SC;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/noto-sans-sc-500.woff2) format("woff2")}@font-face{font-family:Noto Sans SC;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/noto-sans-sc-600.woff2) format("woff2")}:root{--ink:#171717;--g1:#444;--g2:#555;--g3:#666;--g4:#767676;--line:#ebebeb;--line2:#efefef;--tile:#f3f3f3;--ml:max(16px,calc(50vw - 420px));--sans:var(--font-geist-sans),"Noto Sans SC","PingFang SC","Hiragino Sans GB",system-ui,sans-serif;--mono:var(--font-geist-mono),ui-monospace,"SF Mono",Menlo,monospace;--serif:"Instrument Serif","Times New Roman",serif;--ease-out:cubic-bezier(0.23,1,0.32,1);--bg-page:#fff}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a,button{color:inherit}button{font:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:3px}.mono{font-family:var(--mono)}.skip{position:absolute;left:16px;top:-60px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;z-index:100;font-size:14px}.skip:focus{top:12px}.shell{position:relative;margin-left:var(--ml);width:600px;padding:72px 0 96px}.lang{position:absolute;top:30px;right:0;display:flex;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.04em}.lang a{text-decoration:none;color:var(--g4)}.lang a.on{color:var(--ink);font-weight:500}.lang a.zh{font-family:var(--sans)}.lang span{color:#d4d4d4}.nav{display:flex;gap:20px;font-size:14px}.nav a{color:var(--g3);text-decoration:none;text-underline-offset:6px;transition:color .2s}.nav a.on,.nav a:hover{color:var(--ink)}.nav:not(.placed) a.on{text-decoration:underline}.nav{position:relative}.nav-ul{position:absolute;left:0;top:calc(100% + 3px);height:1px;background:var(--ink);pointer-events:none;transition:translate .36s var(--ease-out),width .36s var(--ease-out)}.nav:not(.placed) .nav-ul{visibility:hidden}.shell>.nav+*{margin-top:28px}.shell .hero{margin:8px 0 0;font-size:20px;font-weight:450;line-height:40px;letter-spacing:-.4px}.is-zh .hero{font-weight:500;line-height:42px;letter-spacing:0}.hero .avatar{display:inline-block;width:84px;height:84px;vertical-align:-14px;margin:-44px -6px 0}.kw-ic{vertical-align:-8px;margin:0 6px}.kw{text-decoration:none}.social{display:flex;gap:14px;margin-top:28px}.social,.social a{align-items:center}.social a{display:inline-flex;width:18px;height:18px;justify-content:center}.stats{display:flex;justify-content:space-between;gap:16px;margin-top:36px}.stats .n{font-size:22px;font-weight:500;letter-spacing:-.4px}.is-zh .stats .n{letter-spacing:0}.stats .l{margin-top:4px;font-size:13px;line-height:18px;color:var(--g3);white-space:nowrap}.rule{border:0;height:1px;background:var(--line);margin:40px 0 0}.rule+.nav{margin-top:40px}.prose{display:flex;flex-direction:column;gap:16px;margin-top:32px;font-size:16px;line-height:24px;color:var(--g3)}.is-zh .prose{line-height:28px}.prose p{margin:0}.prose .cipher{color:#b3b3b3}.fade{animation:fadein .5s ease-out .15s both}@keyframes fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:44px 40px;gap:44px 40px;width:min(1012px,calc(100vw - var(--ml) - 32px))}.pcard{display:flex;flex-direction:column;gap:14px;text-decoration:none;min-width:0}.pcover{transition:transform .2s ease-out,box-shadow .2s ease-out;border-radius:10px}.pcard:focus-visible .pcover,.pcard:hover .pcover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(0,0,0,.06),0 16px 32px -12px rgba(0,0,0,.28)}.cover{position:relative;width:100%;overflow:hidden}.pmeta{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.pname{font-size:18px;line-height:24px;color:var(--ink)}.arrow{display:inline-block;opacity:0;transform:translateX(-4px);transition:opacity .2s ease-out,transform .2s ease-out}.pcard:focus-visible .arrow,.pcard:hover .arrow{opacity:1;transform:none}.prole{font-size:13px;white-space:nowrap}.pblurb,.prole{color:var(--g3)}.pblurb{margin:-6px 0 0;font-size:15px;line-height:24px}.is-zh .pblurb{line-height:26px}.pagehead{display:flex;flex-direction:column;gap:12px}.pagehead h2{margin:0;font-size:32px;font-weight:500;letter-spacing:-.6px}.is-zh .pagehead h2{letter-spacing:0}.pagehead p{margin:0;font-size:16px;line-height:26px;color:var(--g1)}.lcards{display:flex;flex-direction:column;gap:14px;margin-top:32px}.lcard{display:flex;align-items:center;gap:18px;height:108px;padding:0 22px;border:0;border-radius:16px;background:var(--tint);color:var(--ink);text-align:left;cursor:pointer;transition:transform .2s ease-out,box-shadow .2s ease-out}.lcard:focus-visible,.lcard:hover{transform:translateY(-2px);box-shadow:0 12px 28px -14px rgba(0,0,0,.3)}.logos{display:flex;align-items:center;flex:none}.logos img{width:60px;height:60px;border-radius:14px;object-fit:cover;box-shadow:0 0 0 3px rgba(255,255,255,.9);position:relative}.logos img.two{width:46px;height:46px;border-radius:11px}.lc-text{flex:1 1;display:flex;flex-direction:column;gap:6px}.lc-title{font-family:var(--serif);font-size:27px;line-height:30px;letter-spacing:-.4px}.dlg h2 i,.lc-title i{font-style:italic}.lc-count{font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.88}.plus{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid;opacity:.6;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:18px;transition:transform .2s ease-out}.lcard.open .plus,.lcard:focus-visible .plus,.lcard:hover .plus{transform:rotate(45deg)}.dlg-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,15,15,.42);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:ofade .22s ease-out both}.dlg{display:flex;flex-direction:column;width:580px;max-width:100%;height:min(840px,calc(100dvh - 32px));overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.04),0 2px 6px rgba(0,0,0,.06),0 24px 60px -12px rgba(0,0,0,.35),0 60px 120px -30px rgba(0,0,0,.3);animation:rise .22s cubic-bezier(.2,.8,.2,1) both}@keyframes ofade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.dlg-head{flex:none;display:flex;align-items:center;gap:16px;padding:24px 28px;background:var(--tint);color:var(--ink)}.dlg-head .logos img{width:52px;height:52px;border-radius:12px}.dlg-titles{flex:1 1;display:flex;flex-direction:column;gap:8px}.dlg h2{margin:0;font-family:var(--serif);font-weight:400;font-size:30px;line-height:33px;letter-spacing:-.4px}.dlg-meta{display:flex;gap:12px;align-items:baseline;font-size:13px}.dlg-meta .mono{font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.88}.dlg-meta a{color:var(--ink);opacity:.85}.dlg-close{flex:none;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.7);font-size:18px;cursor:pointer;transition:background .2s}.dlg-close:hover{background:#fff}.dlg-body{position:relative;flex:1 1;min-height:0;overflow-y:auto;padding:10px 28px 24px;overscroll-behavior:contain}.dlg-body.more{-webkit-mask-image:linear-gradient(#000 calc(100% - 56px),transparent);mask-image:linear-gradient(#000 calc(100% - 56px),transparent)}.dlg-body ol{list-style:none;margin:0;padding:0}.dlg-body li{display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--line2);animation:rise .3s ease-out both}.dlg-body li:first-child{border-top:0}.num{flex:none;width:26px;height:26px;border-radius:50%;background:var(--tint);color:var(--ink);font-size:11px;display:flex;align-items:center;justify-content:center}.l-head{font-size:16px;font-weight:600}.l-body,.l-head{line-height:24px}.l-body{margin-top:6px;font-size:15px;color:var(--g2)}.is-zh .l-body{line-height:26px}.dlg-foot{flex:none;display:flex;align-items:center;justify-content:space-between;padding:16px 28px;border-top:1px solid var(--line2);background:#fff}.dlg-foot button{border:0;background:none;padding:4px 0;font-size:14px;color:var(--g3);cursor:pointer}.dlg-foot button:hover{color:var(--ink)}.dots{display:flex;gap:6px}.dots i{width:6px;height:6px;border-radius:3px;background:#d9d9d9;transition:width .2s}.dots i.on{width:18px;background:var(--ink)}.chead{display:flex;flex-direction:column;gap:10px}.kicker{font-size:12px;letter-spacing:.08em;color:var(--g3);text-transform:uppercase}.is-zh .kicker{font-family:var(--sans)}.chead h1{margin:0;font-size:32px;font-weight:500;letter-spacing:-.6px}.is-zh .chead h1{letter-spacing:0}.crole{font-size:14px;color:var(--g3)}.ccover,.cintro,.csec,.pn{margin-top:28px}.cintro{margin-bottom:0;font-size:17px;line-height:28px;color:#333}.csec h2{margin:0 0 12px;font-size:18px;font-weight:600}.csec ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px;font-size:16px;line-height:26px;color:var(--g1)}.is-zh .csec ul{line-height:28px}.csec b{color:var(--ink);font-weight:600}.lessons-link{display:inline-block;margin-top:12px;padding:0;border:0;background:none;font-size:14px;color:var(--g3);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.lessons-link:hover{color:var(--ink)}.press{gap:20px}.press,.press a,.press figure{display:flex;flex-direction:column}.press a,.press figure{gap:8px;margin:0;text-decoration:none}.press img{display:block;width:100%;height:auto;border:1px solid #e5e5e5;border-radius:8px}.press span{font-size:13px;color:var(--g3)}.press a:hover span{color:var(--ink)}.press.row{flex-direction:row;align-items:flex-start;gap:20px}.press.row a,.press.row figure{flex:1 1;min-width:0}.pn{justify-content:space-between;padding-top:20px;border-top:1px solid var(--line)}.pn,.pn a{display:flex}.pn a{flex-direction:column;gap:4px;text-decoration:none}.pn a.r{align-items:flex-end}.pn .mono{font-size:11px;letter-spacing:.08em;color:#767676;text-transform:uppercase}.is-zh .pn .mono{font-family:var(--sans);letter-spacing:.04em}.pn span:last-child{font-size:16px}.clead{margin:24px 0 0;font-size:20px;font-weight:450;line-height:32px;letter-spacing:-.4px}.is-zh .clead{letter-spacing:0;font-weight:500;line-height:34px}.crows{margin-top:24px;font-size:16px;line-height:24px}.crow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line2)}.crow .k{color:var(--g3)}.crow .v{display:flex;align-items:center;gap:10px}.crow a{text-decoration:none}.crow a.u{text-decoration:underline;text-underline-offset:3px}.crow .muted{color:var(--g4)}.crow small{font-size:12px;padding:1px 7px;border-radius:4px;background:var(--tile);color:var(--g3)}.qr{width:88px;height:88px;border-radius:6px}.crow:has(.qr) .v{gap:12px}.pill{padding:3px 10px;border:1px solid #ddd;border-radius:12px;background:none;font-size:12px;color:var(--g2);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.pill.done,.pill:hover{border-color:var(--ink)}.pill.done{background:var(--ink);color:#fff}@media (max-width:900px){.shell{margin:0 16px;width:auto;padding-top:72px}.lang{right:0}.pgrid{grid-template-columns:1fr;width:100%}.stats{flex-wrap:wrap;row-gap:20px}.stats>div{flex:1 1 40%}.stats .l{white-space:normal}.nav{flex-wrap:wrap}.press.row{flex-direction:column}}@media (max-width:640px){.dlg-overlay{align-items:flex-end;padding:0}.dlg{border-radius:24px 24px 0 0;height:min(86dvh,840px);animation-name:sheet}.dlg-head{touch-action:none}.dlg-body,.dlg-foot,.dlg-head{padding-left:20px;padding-right:20px}.dlg h2{font-size:26px;line-height:29px}.lc-title{font-size:23px;line-height:26px}.lcard{padding:0 16px;gap:14px}}@keyframes sheet{0%{transform:translateY(40px);opacity:0}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important}.dlg-body li,.fade{animation:none}.dlg,.dlg-overlay{animation:ofade .15s linear both}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}html.decode-pending [data-decode]{visibility:hidden;animation:reveal 0s 1.5s forwards}@keyframes reveal{to{visibility:visible}}html.dragging,html.dragging *{cursor:-webkit-grabbing!important;cursor:grabbing!important;-moz-user-select:none!important;user-select:none!important;-webkit-user-select:none!important}.about-root.away{visibility:hidden}.avatar-wrap{display:inline-block;position:relative;width:84px;height:84px;vertical-align:-14px;margin:-44px -6px 0;cursor:-webkit-grab;cursor:grab;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:12px}.avatar-svg{display:block}.avatar-svg .head{transform-box:view-box;transform-origin:100px 150px}.avatar-svg .bang,.avatar-svg .eye{transform-box:fill-box;transform-origin:center}.avatar-svg .bang{animation:pop .28s cubic-bezier(.3,1.8,.5,1) both}@keyframes pop{0%{transform:scale(.2);opacity:0}}.tip{top:-34px;transform:translate(-50%,4px);padding:7px 11px;border-radius:8px;color:#fff;font:400 12px/1 var(--sans);letter-spacing:0;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s ease-out,transform .2s ease-out;z-index:5}.tip,.tip:after{position:absolute;left:50%;background:var(--ink)}.tip:after{content:"";bottom:-4px;width:8px;height:8px;transform:translateX(-50%) rotate(45deg);border-radius:1px}.tip.show{opacity:1;transform:translate(-50%)}.glass-layer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:60}.glasses{position:absolute;left:0;top:0;will-change:transform;touch-action:none}.glasses.held,.glasses.rest{pointer-events:auto;cursor:-webkit-grab;cursor:grab}.glasses.held .glasses-svg{filter:drop-shadow(0 8px 10px rgba(0,0,0,.18))}.glasses.rest .glasses-svg{filter:drop-shadow(0 2px 3px rgba(0,0,0,.14))}.glasses-svg{display:block;width:100%;height:100%;overflow:visible}.cipher{margin:0;color:#b3b3b3;transition:color .4s}.cipher.decoded{color:#444}.cipher .word{display:inline-block;white-space:nowrap}.cipher .ch{display:inline-block;text-align:center;white-space:pre;transition:color .15s}.cipher .ch[data-m=l]{color:var(--ink)}.cipher .ch[data-m=d]{color:#444}.cipher-box.pointing,.cipher-box.pointing .cipher{cursor:none}.cipher-box:hover .cipher:not(.decoded) .ch[data-m=s]{color:var(--ink)}.gl-cursor{position:fixed;left:0;top:0;z-index:60;width:55px;height:40px;fill:none;stroke:var(--ink);stroke-width:.8px;stroke-linecap:round;pointer-events:none;overflow:visible}.gl-cursor .halo{stroke:#fff;stroke-width:2.2px;stroke-opacity:.9}.gl-cursor .point{stroke-width:1.5px}.gl-cursor .rim{stroke-dasharray:1;animation:gl-rim .26s var(--ease-out) calc(var(--i, 0) * 70ms) backwards}.gl-cursor .bridge,.gl-cursor .halo{animation:gl-appear .16s var(--ease-out) 60ms backwards}.gl-cursor .query{transform-box:fill-box;transform-origin:bottom;animation:gl-pop .56s cubic-bezier(.34,1.4,.64,1) .28s backwards}@keyframes gl-rim{0%{stroke-dashoffset:1px}}@keyframes gl-appear{0%{opacity:0}}@keyframes gl-pop{0%{opacity:0;transform:translateY(2px) scale(.5)}}@media (prefers-reduced-motion:reduce){.gl-cursor .bridge,.gl-cursor .halo,.gl-cursor .query,.gl-cursor .rim{animation:none}}.social{z-index:5}.em,.social,.wx{position:relative}.em,.sbtn,.wx{display:inline-flex}.sbtn{width:18px;height:18px;padding:0;border:0;background:none;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;transition:transform .2s}.sbtn:hover{transform:translateY(-1px)}.qrcard{position:absolute;top:calc(100% + 12px);left:-10px;width:144px;padding:12px 12px 10px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 14px 32px -10px rgba(0,0,0,.22);font-size:12px;line-height:18px;color:var(--g3);opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .2s ease-out,transform .2s ease-out;z-index:30}.qrcard:before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}.qrcard:after{content:"";position:absolute;left:15px;top:-5px;width:10px;height:10px;background:#fff;transform:rotate(45deg);box-shadow:-1px -1px 0 rgba(0,0,0,.05)}.qrcard.show{opacity:1;transform:none;pointer-events:auto}.qrcard img{display:block;width:120px;height:120px;border-radius:6px;margin-bottom:8px}.bubble{position:absolute;top:calc(100% + 10px);left:50%;padding:5px 10px;border-radius:12px;background:var(--ink);color:#fff;font-size:12px;line-height:16px;white-space:nowrap;opacity:0;transform:translate(-50%,-4px);pointer-events:none;transition:opacity .2s ease-out,transform .2s ease-out;z-index:30}.bubble.show{opacity:1;transform:translate(-50%)}.kwgroup{white-space:nowrap}.kwgroup,.kwicon{position:relative}.kwicon{display:inline-block;width:32px;height:32px;vertical-align:-8px;margin:0 5px 0 1px}.kwgroup.hot{z-index:3}.kwicon .kw-ic{margin:0;vertical-align:top}.kwstatic{position:absolute;inset:0;display:block;opacity:clamp(0,calc(1 - var(--k) * 4),1)}.kwlabel{transform:translateX(calc(var(--k) * var(--dx)));will-change:transform}.kw,.kwlabel{display:inline-block}.kw{position:relative;cursor:default;padding:0 3px;margin:0 -3px;line-height:1.3}.kw:after{content:attr(data-label);inset:0;padding:inherit;color:#fff;background:var(--ink);-webkit-clip-path:inset(0 calc(var(--wipe) * 1%) 0 0);clip-path:inset(0 calc(var(--wipe) * 1%) 0 0);pointer-events:none}.kw:after,.kwbox{position:absolute}.kwbox{left:0;top:0;width:var(--bw);height:var(--bh);transform-origin:0 0;transform:scale(calc(var(--s0) + (1 - var(--s0)) * var(--k)));opacity:clamp(0,calc((var(--k) - .12) * 3),1);background:var(--bg-page,#fff);border-radius:6px}.kwin{inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:10px;font-size:12px;line-height:1.2;letter-spacing:0;font-weight:400}.kwframe,.kwin{position:absolute}.kwframe{left:calc(var(--pop) * -1px);top:calc(var(--pop) * -1px);width:calc(32px + (var(--bw) - 32px) * var(--k) + var(--pop) * 2px);height:calc(32px + (var(--bh) - 32px) * var(--k) + var(--pop) * 2px);opacity:clamp(0,calc(var(--pop) / 3),1)}.kwframe .br{position:absolute;width:10px;height:10px;border:0 solid var(--ink)}.kwframe .br.tl{left:0;top:0;border-width:1.6px 0 0 1.6px}.kwframe .br.tr{right:0;top:0;border-width:1.6px 1.6px 0 0}.kwframe .br.bl{left:0;bottom:0;border-width:0 0 1.6px 1.6px}.kwframe .br.brr{right:0;bottom:0;border-width:0 1.6px 1.6px 0}.kwframe .badge{position:absolute;top:-16px;right:-14px;display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:12px;border:1px solid var(--ink);background:#fff;font:500 11px/14px var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}.phone{position:relative;width:28px;height:50px;border:1.6px solid var(--ink);border-radius:7px;background:#fff;display:flex;align-items:center;justify-content:center;transition:background .45s ease-out .1s}.phone svg{opacity:0;transition:opacity .3s .4s}.phone .bar{position:absolute;left:5px;bottom:6px;height:2px;width:0;background:#fff;border-radius:1px}.kwgroup.hot .phone{background:var(--ink)}.kwgroup.hot .phone svg{opacity:1}.kwgroup.hot .phone .bar{animation:prog 2.4s linear .6s infinite}@keyframes prog{to{width:16px}}.ring{display:grid;grid-template-columns:repeat(3,22px);grid-auto-rows:22px;color:var(--ink)}.ring .p{display:flex;align-items:center;justify-content:center;opacity:0;transform:translate(var(--dx),var(--dy)) scale(.3);transition:transform .45s cubic-bezier(.2,.9,.3,1.2) var(--d),opacity .2s var(--d)}.kwgroup.hot .p{opacity:1;transform:none}.s-agents .kwin{align-items:stretch}.term{padding:8px 10px 10px;border-radius:8px;background:#0e0f0e;color:#d9ddd9;font:400 10px/15px var(--mono);text-align:left}.term .dots{display:flex;gap:4px;align-items:center;margin-bottom:4px}.term .dots i{width:5px;height:5px;border-radius:50%;background:#4a4d4a}.term .dots b{margin-left:auto;color:#7ee787;font-weight:400}.term .ln{display:flex;justify-content:space-between;opacity:0;transition:opacity .12s}.term .ln em{font-style:normal;color:#7ee787}.term .run{margin-top:4px;color:#fff;justify-content:flex-start;align-items:center}.cur{display:inline-block;width:6px;height:11px;margin-left:3px;background:#7ee787;animation:blink 1s steps(2,start) infinite}@keyframes blink{to{visibility:hidden}}.tools{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.tool{display:inline-flex;align-items:center;gap:4px;padding:3px 8px 3px 6px;border:1px solid #e3e3e3;border-radius:11px;background:#fff;font:400 11px/14px var(--sans);color:var(--ink);transition:opacity .2s,transform .25s}.tool img{display:block}.garden{position:fixed;inset:0;z-index:80;overflow:hidden;background:transparent;transition:opacity .25s ease-out}.garden.leaving{opacity:0}.gcanvas{inset:0;width:100%;height:100%;display:block;cursor:-webkit-grab;cursor:grab;touch-action:none}.g-fade,.gcanvas{position:absolute}.g-fade{left:0;right:0;top:0;height:22vh;background:linear-gradient(#fff,rgba(255,255,255,0));pointer-events:none;animation:gfade .6s ease-out 1s both}@keyframes gfade{0%{opacity:0}}.g-back,.g-list{position:absolute;top:24px;z-index:95;padding:8px 14px;border:1px solid #e5e5e5;border-radius:8px;background:rgba(255,255,255,.92);font-size:13px;line-height:18px;cursor:pointer;transition:border-color .2s,background .2s;animation:fadein .4s ease-out 1.2s both}.g-back{left:24px}.g-list{right:24px;padding:6px 10px;font-size:12px;color:var(--g3);border-color:transparent}.g-back:hover,.g-list:hover{border-color:var(--ink);color:var(--ink)}.g-anchors a{position:fixed;display:block;pointer-events:none;border-radius:14px}.g-anchors a:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.gcard{position:fixed;left:0;top:0;z-index:90;width:232px;overflow:hidden;border-radius:14px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 18px 40px -12px rgba(0,0,0,.28);color:var(--ink);text-decoration:none;animation:cardin .18s ease-out both;will-change:transform}@keyframes cardin{0%{opacity:0}}.gc-head{display:flex;align-items:center;justify-content:center;height:96px}.gc-head img{width:56px;height:56px;object-fit:contain;border-radius:14px;box-shadow:0 6px 14px -6px rgba(0,0,0,.3)}.gc-body{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 14px 15px;text-align:center}.gc-body strong{font-size:15px;font-weight:600;line-height:20px}.gc-body span{color:var(--g3)}.gc-body em,.gc-body span{font-size:12px;line-height:16px}.gc-body em{font-style:normal}.glist{position:absolute;inset:0;z-index:85;display:flex;flex-direction:column;gap:12px;padding:96px max(16px,calc(50vw - 300px)) 40px;overflow-y:auto;background:#fff;animation:fadein .25s ease-out both}.glist-row{display:flex;align-items:center;gap:16px;padding:14px 18px;border:1px solid var(--line2);border-radius:16px;color:var(--ink);text-decoration:none;transition:border-color .2s,transform .2s}.glist-row:hover{border-color:#cfcfcf;transform:translateY(-1px)}.gl-icon{flex:none;display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:16px}.gl-icon img{width:44px;height:44px;object-fit:contain;border-radius:11px}.gl-text{flex:1 1;display:flex;flex-direction:column;gap:2px}.gl-text strong{font-size:16px;font-weight:600}.gl-text span{font-size:13px;color:var(--g3)}.gl-text em{font-size:14px;font-style:normal}.flat{position:absolute;inset:0;background:#fff}.flat-ground{position:absolute;left:0;right:0;bottom:0;height:50%;background:linear-gradient(#fff 3px,transparent 0) 0 0 /88px 88px,linear-gradient(90deg,#fff 3px,transparent 0) 0 0 /88px 88px,#f1f1f1;-webkit-mask-image:linear-gradient(transparent,#000 40%);mask-image:linear-gradient(transparent,#000 40%)}.flat-flower{position:absolute;display:block;transform:translateX(-50%);transition:transform .2s ease-out}.flat-flower:focus-visible,.flat-flower:hover{transform:translateX(-50%) translateY(-6px) scale(1.06)}.flat-flower img{display:block;height:100%;width:auto;max-width:none;transform-origin:48% 82%;animation:sway 4.6s ease-in-out infinite alternate}@keyframes sway{0%{transform:rotate(-1.4deg)}to{transform:rotate(1.4deg)}}@media (prefers-reduced-motion:reduce){.flat-flower img,.g-back,.g-fade,.g-list{animation:none}}@media (max-width:640px){.g-back{left:12px;top:14px}.g-list{right:12px;top:14px}}.g-back:focus-visible,.g-list:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.stage{transition:opacity .17s ease,transform .17s ease}.stage.out{opacity:0;transform:translateY(8px)}.stage.in{animation:stagein .38s cubic-bezier(.2,.8,.2,1) both}@keyframes stagein{0%{opacity:0;transform:translateY(14px)}}.pc-overlay{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(246,245,242,.78);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:ofade .3s ease-out both}.pc-overlay.closing{opacity:0;transition:opacity .32s ease-out}.pc-stage{display:flex;flex-direction:column;gap:14px}.pc-card{--cw:min(1040px,94vw,calc((100dvh - 170px) * 1.6));width:var(--cw);height:calc(var(--cw) * .625);perspective:2200px;border-radius:18px;background:var(--bg);box-shadow:0 0 0 1px rgba(0,0,0,.05),0 40px 90px -28px rgba(0,0,0,.4)}.pc-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.2,.8,.2,1)}.pc-inner.flipped{transform:rotateY(180deg)}.pc-face{position:absolute;inset:0;overflow:hidden;border-radius:18px;-webkit-backface-visibility:hidden;backface-visibility:hidden}.pc-front{display:flex;align-items:center;background:var(--bg);cursor:pointer}.pc-front .cover{border-radius:0}.pc-back{background:#fff;transform:rotateY(180deg)}.pc-scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:36px 44px 48px}.pc-cols{display:grid;grid-template-columns:minmax(0,1fr) 210px;grid-gap:48px;gap:48px}.pc-main{min-width:0;max-width:640px}.pc-title{margin:8px 0 0;font-size:40px;font-weight:500;line-height:1.1;letter-spacing:-.8px}.is-zh .pc-title{letter-spacing:0}.pc-main .cbody{display:flex;flex-direction:column;gap:26px;margin-top:18px}.pc-main .cintro,.pc-main .csec{margin-top:0}.pc-side dl{margin:4px 0 0;font-size:14px;line-height:20px}.pc-side dt{margin-top:18px;color:var(--g3)}.pc-side dd{margin:3px 0 0}.pc-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.pc-bar button{border:0;background:none;padding:6px 2px;color:var(--ink);cursor:pointer}.pc-pager{display:flex;gap:18px}.pc-pager button{color:var(--g3);transition:color .2s}.pc-link:hover,.pc-pager button:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}@media (max-width:760px){.pc-card{height:min(80dvh,660px)}.pc-cols{grid-template-columns:minmax(0,1fr);gap:20px}.pc-side{order:-1}.pc-scroll{padding:26px 22px 40px}.pc-title{font-size:30px}.pc-pager{display:none}}.dlg-foot button:active,.g-back:active,.g-list:active,.lang a:active,.lessons-link:active,.nav a:active,.pc-bar button:active,.pill:active,.sbtn:active{opacity:.55}.avatar-svg{overflow:visible}.avatar-svg .wonder-marks{opacity:0;transform-box:fill-box;transform-origin:50% 100%;transform:translateY(6px) scale(.5);transition:opacity .16s var(--ease-out),transform .5s cubic-bezier(.34,1.4,.64,1)}.avatar-svg.wonder .wonder-marks{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.avatar-svg .wonder-marks{transition:none}}.kwwrap{display:inline-block;white-space:nowrap}.avatar-svg .alarm-marks,.avatar-svg .sweat-drop{opacity:0;transform-box:fill-box;transform-origin:50% 100%;transform:scale(.4);transition:opacity .14s var(--ease-out),transform .45s cubic-bezier(.34,1.6,.64,1);pointer-events:none}.avatar-svg.alarm .alarm-marks,.avatar-svg.sweat .sweat-drop{opacity:1;transform:none}.avatar-svg.sweat .sweat-drop{animation:sweat-drip 1.4s ease-in infinite}@keyframes sweat-drip{0%{translate:0 -4px}70%{translate:0 6px;opacity:1}to{translate:0 14px;opacity:0}}@media (prefers-reduced-motion:reduce){.avatar-svg .alarm-marks,.avatar-svg .sweat-drop{transition:none}.avatar-svg.sweat .sweat-drop{animation:none}}.panel{margin-top:28px}.panel>.prose{margin-top:0}.panel.out{opacity:0;transform:translateY(6px);transition:opacity .17s ease,transform .17s ease}.panel.in{animation:stagein .38s cubic-bezier(.2,.8,.2,1) both}.is-zh .kwwrap .lead{margin:0 .2em 0 .3em}