:root{--paper:#f5f0e6;--paper-2:#fbf8f1;--card:#fffdf8;--ink:#1d1b17;--ink-2:#4a453c;--muted:#8a8273;--line:#1d1b171c;--line-2:#1d1b1733;--tone1:#d63b3b;--tone2:#2e9e5b;--tone3:#2f6fd6;--tone4:#8a49c9;--tone5:#8a8f98;--grid:#d63b3b61;--masc:var(--tone3);--fem:var(--tone1);--han:"Kaiti SC", "STKaiti", "KaiTi", "BiauKai", "Noto Serif SC", "Songti SC", "SimSun", serif;--sun:#f2b53a;--sun-soft:#f2b53a3d;--sun-strong:#f2b53a80;--ending:#c2630f;--ok:#2f8f5b;--bad:#c9402f;--glass:#fffdf8b8;--shadow:0 1px 0 #00000008, 0 18px 50px -24px #3c280a59;--serif:"Newsreader", "Iowan Old Style", Georgia, serif;--display:"Instrument Serif", "Newsreader", Georgia, serif;--sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--r:22px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#15140f;--paper-2:#1b1a15;--card:#211f19;--ink:#f1ebdf;--ink-2:#cfc7b7;--muted:#8f8778;--line:#f1ebdf1a;--line-2:#f1ebdf33;--tone1:#ff7a7a;--tone2:#5fd08e;--tone3:#7ea8ff;--tone4:#c79bff;--tone5:#9aa0aa;--grid:#ff7a7a66;--sun-soft:#f2b53a29;--sun-strong:#f2b53a57;--ending:#f0a35a;--glass:#211f19b8;--shadow:0 1px 0 #0003, 0 24px 60px -28px #000c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}html,body{color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background:var(--paper)!important}body:before{content:"";pointer-events:none;z-index:0;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.4 0 0 0 0 0.33 0 0 0 0 0.2 0 0 0 .08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}#root{z-index:1;position:relative}button{font:inherit;color:inherit}a{color:inherit}.kicker{font:600 11px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0}.display{font-family:var(--display);letter-spacing:-.01em;margin:0;font-weight:400;line-height:.95}.display em{font-style:italic}.lede{font:400 19px/1.55 var(--serif);color:var(--ink-2);margin:0}.serif{font-family:var(--serif)}.shell{max-width:1440px;margin:0 auto;padding:0 28px 120px}.topbar{align-items:center;gap:16px;height:68px;display:flex}.wordmark{font:italic 400 30px/1 var(--display);color:var(--ink);align-items:baseline;gap:2px;text-decoration:none;display:flex}.wordmark i{color:var(--fem);font-style:normal}.topbar .spacer{flex:1}.chip{border:1px solid var(--line-2);height:34px;font:500 13px/1 var(--sans);color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:0 14px;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.chip:hover{background:var(--card)}.chip.is-on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dot.m{background:var(--masc)}.dot.f{background:var(--fem)}.labels{pointer-events:none;z-index:4;position:absolute;inset:0;overflow:hidden}.lbl-pos{opacity:0;will-change:transform;transition:opacity .3s;position:absolute;top:0;left:0}.stage{border-radius:var(--r);isolation:isolate;position:relative;overflow:hidden}.stage canvas{touch-action:pan-y}.tag{-webkit-backdrop-filter:blur(8px);font:500 14px/1 var(--serif);color:#1d1b17;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#fffdf7db;border-radius:999px;align-items:baseline;gap:5px;padding:5px 11px 6px;transition:transform .35s cubic-bezier(.2,1.4,.4,1),background .3s,box-shadow .3s;animation:.6s cubic-bezier(.2,1.4,.4,1) tag-in;display:inline-flex;transform:translateY(0)scale(1);box-shadow:0 6px 18px -8px #28190573,inset 0 0 0 1px #0000000d}.tag .art{font-style:italic}.genders .tag .art.m,.genders .tag.m{color:var(--masc-on-light,#2f62d8)}.genders .tag .art.f{color:#d8395b}.tag-sub{font:500 10px/1 var(--sans);color:#8a8273;letter-spacing:.04em}.tag.is-active{color:#fff8ea;background:#1d1b17;transform:translateY(-4px)scale(1.12);box-shadow:0 10px 28px -8px #f2b53ae6,0 0 0 3px #f2b53a8c}.genders .tag.is-active .art.m{color:#9fbaff}.genders .tag.is-active .art.f{color:#ff97ab}.tag.is-active .tag-sub{color:#cfc7b7}.tag.sea{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;font:italic 400 18px/1 var(--display);color:#285b93;letter-spacing:.02em;background:0 0}.tag.sea.is-active{color:#fff;background:#1d1b17}.tag.big{font:400 26px/1 var(--display);letter-spacing:.06em;padding:8px 16px 10px}@keyframes tag-in{0%{opacity:0;transform:translateY(8px)scale(.7)}}.price{color:#f7f3ea;font:600 13px/1 var(--sans);background:#2b2c2a;border:2px solid #8b6a48;border-radius:6px;padding:5px 9px;display:inline-block;transform:rotate(-4deg);box-shadow:0 6px 14px -6px #00000080}.bubble{color:#1d1b17;max-width:190px;font:500 15px/1.3 var(--serif);white-space:normal;background:#fff;border-radius:16px 16px 16px 4px;width:max-content;padding:10px 14px;animation:.6s cubic-bezier(.2,1.4,.4,1) tag-in;display:inline-block;box-shadow:0 10px 30px -10px #0006}.zzz{font:italic 600 15px/1 var(--display);color:#6b6f8a;letter-spacing:2px}.zzz i{font-size:19px}.zzz b{font-size:24px;font-weight:400}.hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);align-items:center;gap:48px;min-height:min(78vh,760px);padding:12px 0 40px;display:grid}.hero-copy{flex-direction:column;gap:22px;display:flex}.hero h1{font-size:clamp(64px,8.4vw,132px)}.hero h1 span{animation:.9s cubic-bezier(.2,.9,.2,1) both rise;display:block}.hero h1 span:nth-child(2){animation-delay:80ms}.hero h1 span:nth-child(3){animation-delay:.16s}@keyframes rise{0%{opacity:0;transform:translateY(30px)}}.hero-en{font:400 14px/1.55 var(--sans);color:var(--muted);max-width:44ch;margin:0}.hero-stage{height:min(72vh,680px);box-shadow:var(--shadow);position:relative}.hero-stage .stage{height:100%}.hero-caption{z-index:5;pointer-events:none;flex-direction:column;gap:4px;display:flex;position:absolute;bottom:20px;left:22px}.hero-caption .display{color:#1d1b17;font-size:34px}.hero-caption .kicker{color:#6f6758}.cta-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.cta{background:var(--ink);height:56px;color:var(--paper);font:500 16px/1 var(--sans);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:12px;padding:0 26px 0 28px;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 14px 30px -14px #0009}.cta:hover{transform:translateY(-2px);box-shadow:0 20px 40px -16px #0009}.cta .arrow{transition:transform .2s}.cta:hover .arrow{transform:translate(4px)}.legend{font:400 15px/1 var(--serif);color:var(--ink-2);gap:18px;display:inline-flex}.legend b{font-style:italic;font-weight:500}.legend .m{color:var(--masc)}.legend .f{color:var(--fem)}.sommaire{border-top:1px solid var(--line-2);margin-top:24px}.sommaire-head{justify-content:space-between;align-items:baseline;padding:26px 0 8px;display:flex}.toc{margin:0;padding:0;list-style:none}.toc li{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:110px minmax(0,1fr) minmax(0,1.1fr) 170px;align-items:center;gap:24px;padding:22px 8px;transition:padding .35s cubic-bezier(.2,.9,.2,1),background .3s;display:grid;position:relative}.toc li:hover,.toc li.is-hover{background:linear-gradient(90deg, var(--card), transparent 80%);padding-left:22px}.toc .num{font:italic 400 58px/.9 var(--display);color:var(--muted);transition:color .3s}.toc li:hover .num,.toc li.is-hover .num{color:var(--fem)}.toc .title{font:400 38px/1 var(--display)}.toc .teaser{font:italic 400 17px/1.4 var(--serif);color:var(--ink-2)}.toc .status{font:500 12px/1 var(--sans);color:var(--muted);justify-content:flex-end;align-items:center;gap:10px;display:flex}.ring{width:34px;height:34px}.chap-head{flex-direction:column;gap:10px;padding:8px 0 18px;display:flex}.chap-head h1{font-size:clamp(48px,6vw,84px)}.chap-nav{scrollbar-width:none;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;gap:4px;width:max-content;max-width:100%;margin:6px 0 0;padding:4px;display:flex;overflow-x:auto}.chap-nav::-webkit-scrollbar{display:none}.chap-nav button{height:36px;font:500 13.5px/1 var(--sans);color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:0 16px;transition:background .25s,color .25s}.chap-nav button:hover{color:var(--ink)}.chap-nav button.is-on{background:var(--ink);color:var(--paper)}.reader{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start;gap:44px;display:grid}.theatre{border-radius:var(--r);height:min(100vh - 96px,660px);min-height:460px;box-shadow:var(--shadow);position:sticky;top:16px}.theatre .stage{height:100%}.theatre-top{z-index:6;pointer-events:none;align-items:center;gap:12px;display:flex;position:absolute;top:16px;left:18px;right:18px}.theatre-top .kicker{color:#6f6758;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf7b3;border-radius:999px;padding:8px 12px}.bar{flex:1;gap:3px;display:flex}.bar span{background:#1d1b171f;border-radius:2px;flex:1;height:3px;transition:background .4s}.bar span.done{background:#1d1b178c}.bar span.cur{background:var(--sun)}.hint{z-index:6;font:500 11px/1 var(--sans);color:#6f6758;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#fffdf7b3;border-radius:999px;padding:7px 11px;position:absolute;bottom:96px;right:18px}.transport{z-index:10;background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(1.4);border-radius:999px;align-items:center;gap:4px;padding:6px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 16px 40px -18px #0000008c,inset 0 0 0 1px #ffffff59}.tbtn{cursor:pointer;width:44px;height:44px;color:var(--ink);background:0 0;border:0;border-radius:50%;place-items:center;transition:background .2s,transform .15s;display:grid}.tbtn:hover{background:var(--line)}.tbtn:active{transform:scale(.92)}.tbtn:disabled{opacity:.3;cursor:default}.tbtn.play{background:var(--ink);width:54px;height:54px;color:var(--paper)}.tbtn.play:hover{background:var(--ink-2)}.tbtn.is-on{background:var(--sun);color:#1d1b17}.tbtn.mic.is-live{background:var(--fem);color:#fff;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 8px #d8395b2e}}.tsep{background:var(--line-2);width:1px;height:26px;margin:0 4px}.tpill{border:1px solid var(--line-2);height:32px;font:600 12px/1 var(--sans);cursor:pointer;color:var(--ink-2);background:0 0;border-radius:999px;padding:0 12px}.tpill.is-on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.page{min-width:0;padding-top:6px}.para{grid-template-columns:minmax(0,1fr) 176px;gap:30px;margin:0 0 30px;display:grid}.prose{font:400 23px/1.72 var(--serif);color:var(--ink);font-optical-sizing:auto;margin:0}.para+.para .prose{text-indent:1.3em}.s{cursor:pointer;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:6px;transition:color .5s,background-color .4s,opacity .5s}.s.next{color:var(--ink)}.s.cur{background:linear-gradient(transparent 62%, var(--sun-soft) 62%)}.s:hover{opacity:1}.w{border-radius:4px;transition:background-color .18s,color .18s,box-shadow .18s}.w.speaking{background:var(--sun-strong);box-shadow:0 0 0 2px var(--sun-strong)}.w.heard{color:var(--ok)}.w.missed{color:var(--bad);text-underline-offset:5px;-webkit-text-decoration:underline wavy;text-decoration:underline wavy;text-decoration-thickness:1px}.lk{text-underline-offset:6px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);border-radius:4px;transition:background .2s}.lk:hover{background:var(--sun-soft)}.lk.is-focus{background:var(--sun-strong)}.genders .lk.m{-webkit-text-decoration-color:var(--masc);text-decoration-color:var(--masc)}.genders .lk.f{-webkit-text-decoration-color:var(--fem);text-decoration-color:var(--fem)}.genders .w.art.m{color:var(--masc)}.genders .w.art.f{color:var(--fem)}.marg{border-left:1px solid var(--line-2);flex-direction:column;gap:12px;padding:6px 0 0 16px;transition:border-color .5s;display:flex}.para.is-cur .marg{opacity:1;border-color:var(--sun)}.note-t{font:italic 500 15.5px/1.25 var(--serif);color:var(--ink)}.note-g{font:400 13px/1.45 var(--sans);color:var(--ink-2);margin-top:2px}.end{border-top:1px solid var(--line);align-items:center;gap:16px;padding:20px 0 0;display:flex}.end p{font:italic 400 18px/1.4 var(--serif);color:var(--ink-2);margin:0}.rich-end{color:var(--ending);font-style:normal;font-weight:700}.swatch{vertical-align:-2px;border-radius:4px;width:13px;height:13px;margin-right:4px;display:inline-block;box-shadow:inset 0 0 0 1px #00000026}.wcard{background:var(--card);min-width:230px;max-width:300px;color:var(--ink);flex-direction:column;gap:10px;padding:16px 18px 14px;display:flex}.wcard-word .art{font-style:italic}.genders .wcard-word .art.m,.wcard-g.m{color:var(--masc)}.genders .wcard-word .art.f,.wcard-g.f{color:var(--fem)}.wcard-g{font:600 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.wcard-actions{gap:6px;display:flex}.wcard-note{border-top:1px solid var(--line);padding-top:10px}.toast{z-index:50;background:var(--ink);color:var(--paper);font:500 14px/1.35 var(--sans);text-align:center;border-radius:16px;max-width:min(92vw,520px);padding:12px 18px;animation:.45s cubic-bezier(.2,1.3,.4,1) toast;position:fixed;bottom:110px;left:50%;transform:translate(-50%);box-shadow:0 20px 50px -20px #000000b3}.toast b{font:italic 400 20px/1 var(--display);margin-right:6px}.toast .heard-text{font:italic 400 14px/1.4 var(--serif);opacity:.7;margin-top:4px;display:block}@keyframes toast{0%{opacity:0;transform:translate(-50%,16px)scale(.95)}}.sheet{max-width:1100px}.gram{columns:2 420px;column-gap:22px}.gcard{break-inside:avoid;border-radius:var(--r);background:var(--card);box-shadow:inset 0 0 0 1px var(--line), 0 10px 30px -22px #3c280a66;margin:0 0 22px;padding:24px 26px}.gcard h3{font:400 30px/1.05 var(--display);margin:0 0 14px}.gtable{border-collapse:collapse;width:100%;font:400 18px/1.3 var(--serif)}.gtable th{font:600 10.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;padding:0 10px 10px}.gtable td{border-top:1px solid var(--line);cursor:pointer;padding:9px 10px;transition:background .2s}.gtable td:hover{background:var(--sun-soft)}.gline{font:400 19px/1.5 var(--serif);cursor:pointer;margin:10px 0 0}.gline:hover{color:var(--ink-2)}.ex{flex-direction:column;gap:22px;max-width:860px;display:flex}.excard{border-radius:var(--r);background:var(--card);box-shadow:inset 0 0 0 1px var(--line);padding:26px 28px}.excard h3{font:400 30px/1 var(--display);margin:0}.excard .hint-line{font:400 13px/1.4 var(--sans);color:var(--muted);margin:8px 0 16px}.q{font:400 21px/2.2 var(--serif);align-items:baseline;gap:14px;display:flex}.q .n{font:500 12px/1 var(--sans);color:var(--muted);min-width:16px}.blank{font:600 20px/1 var(--serif);border:0;border-bottom:2px solid var(--ink-2);background:var(--paper-2);color:var(--ink);text-align:center;border-radius:6px 6px 0 0;outline:none;margin:0 3px;padding:6px 4px 5px;transition:border-color .2s,background .2s}.blank:focus{border-color:var(--sun);background:var(--sun-soft)}.blank.ok{border-color:var(--ok);color:var(--ok)}.blank.accent{border-color:var(--sun);color:var(--ending)}.blank.no{border-color:var(--bad);color:var(--bad)}.fix{font:italic 400 16px/1 var(--serif);color:var(--ok);margin-left:4px}.choices{flex-wrap:wrap;gap:8px;margin:4px 0 18px 30px;display:flex}.choice{border:1px solid var(--line-2);font:400 17px/1.2 var(--serif);cursor:pointer;text-align:left;background:0 0;border-radius:14px;padding:10px 16px;transition:background .2s,border-color .2s,transform .15s}.choice:hover{background:var(--paper-2)}.choice.picked{border-color:var(--ink);background:var(--ink);color:var(--paper)}.choice.right{border-color:var(--ok);background:var(--ok);color:#fff}.choice.wrong{border-color:var(--bad);color:var(--bad);background:0 0;text-decoration:line-through}.score{border-radius:var(--r);background:var(--ink);color:var(--paper);align-items:center;gap:22px;padding:22px 26px;display:flex}.score .big{font:400 64px/.9 var(--display)}.score p{font:400 16px/1.4 var(--serif);flex:1;margin:0}.vocab{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.vcard{background:var(--card);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;text-align:left;border:0;border-radius:18px;width:100%;padding:18px 18px 16px 22px;transition:transform .25s cubic-bezier(.2,1.3,.4,1),box-shadow .25s;position:relative;overflow:hidden}.vcard:hover{box-shadow:inset 0 0 0 1px var(--line-2), 0 14px 30px -20px #3c280a80;transform:translateY(-2px)}.vcard:before{content:"";background:var(--line-2);border-radius:0 4px 4px 0;width:4px;position:absolute;top:14px;bottom:14px;left:0}.genders .vcard.m:before{background:var(--masc)}.genders .vcard.f:before{background:var(--fem)}.vcard .fr{font:400 21px/1.2 var(--serif);display:block}.vcard .en{font:400 13.5px/1.35 var(--sans);color:var(--muted);filter:blur(5px);margin-top:6px;transition:filter .3s;display:block}.vcard.show .en{filter:none}.next-chap{font:italic 400 28px/1 var(--display);cursor:pointer;color:var(--ink);background:0 0;border:0;align-items:center;gap:14px;margin-top:40px;padding:0;display:inline-flex}.next-chap:hover{color:var(--fem)}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (width<=1100px){.para{grid-template-columns:minmax(0,1fr) 150px;gap:22px}.prose{font-size:21px}.toc li{grid-template-columns:80px minmax(0,1fr) 120px}.toc .teaser{display:none}}@media (width<=900px){.theatre .tag:not(.is-active){display:none}.tag{padding:4px 9px 5px;font-size:12px}.tag.big{font-size:19px}.tag.sea{font-size:14px}.price{padding:4px 6px;font-size:11px}.shell{padding:0 16px 140px}.topbar{height:58px}.hero{grid-template-columns:1fr;gap:24px;min-height:0}.hero-stage{border-radius:0 0 var(--r) var(--r);order:-1;height:58vh;margin:0 -16px}.hero-stage .stage{border-radius:0 0 var(--r) var(--r)}.reader{display:block}.theatre{z-index:20;border-radius:0 0 var(--r) var(--r);height:30vh;min-height:190px;max-height:290px;margin:0 -16px 14px;position:sticky;top:0}.theatre .stage{border-radius:0 0 var(--r) var(--r)}.transport{padding:8px 14px calc(8px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;justify-content:space-around;position:fixed;bottom:0;left:0;right:0;transform:none;box-shadow:0 -10px 30px -18px #00000073,inset 0 1px #fff6}.tsep{display:none}.theatre-top{top:10px;left:12px;right:12px}.theatre-top .kicker{display:none}.chap-head{gap:6px;padding:0 0 12px}.chap-head h1{font-size:40px}.toast{bottom:calc(92px + env(safe-area-inset-bottom))}.hint{display:none}.para{margin-bottom:22px;display:block}.prose{font-size:20px;line-height:1.68}.marg{border-left:2px solid var(--sun);margin-top:12px;display:none}.para.is-cur .marg{display:flex}.toc li{grid-template-columns:56px minmax(0,1fr) auto;gap:14px;padding:18px 4px}.toc .num{font-size:40px}.toc .title{font-size:28px}.toc .status .label{display:none}.q{flex-wrap:wrap;font-size:19px;line-height:2.1}.choices{margin-left:0}.excard,.gcard{padding:20px}}@media (hover:none){.prose{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.lk:hover{background:0 0}}@media (prefers-reduced-motion:reduce){*,:before{transition-duration:10ms!important;animation:none!important}}.han{font-family:var(--han)}.prose{font:400 30px/2.35 var(--han)}ruby{ruby-position:over;ruby-align:center}rt{font:500 .42em/1 var(--sans);letter-spacing:0;color:var(--muted);transition:color .2s,opacity .2s}.tones .t1>rt{color:var(--tone1)}.tones .t2>rt{color:var(--tone2)}.tones .t3>rt{color:var(--tone3)}.tones .t4>rt{color:var(--tone4)}.tones .t5>rt{color:var(--tone5)}.no-pinyin rt{visibility:hidden}.no-pinyin .prose{line-height:1.9}.w.lk{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);text-underline-offset:8px}.en-hint{display:none}.en .en-hint{font:400 15px/1.45 var(--sans);color:var(--muted);margin:-6px 0 6px;display:block}.wcard-word{font:400 48px/1.5 var(--han)}.wcard-word rt{font-size:.32em}.wcard-py{font:500 15px/1 var(--sans);color:var(--ink-2)}.wcard-en{font:400 14px/1.4 var(--sans);color:var(--muted)}.wcard-write{flex-wrap:wrap;gap:6px;display:flex}.chip.write .han{font-size:18px}.chip:disabled{opacity:.45;cursor:not-allowed}.legend b{font:600 15px/1 var(--sans)}.legend .t1{color:var(--tone1)}.legend .t2{color:var(--tone2)}.legend .t3{color:var(--tone3)}.legend .t4{color:var(--tone4)}.legend .t5{color:var(--tone5)}.note-t,.note-g{line-height:2}.vcard .fr{font-size:30px;line-height:1.9}@media (width<=1100px){.prose{font-size:28px}}@media (width<=700px){.prose{font-size:26px;line-height:2.3}}.wordmark .han{font:600 26px/1 var(--han);white-space:nowrap;font-style:normal}.prose .w{white-space:nowrap}.writer-back{z-index:1500;background:#14100a73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.writer{background:var(--card);color:var(--ink);border-radius:var(--r);box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:14px;max-width:100%;padding:16px 20px 20px;display:flex}.writer-head{align-items:center;gap:12px;width:100%;display:flex}.writer-char{color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;padding:0 6px;font-size:34px;line-height:1.1;display:flex}.writer-py{font:600 14px/1 var(--sans);color:var(--muted)}.tones .writer-py.t1{color:var(--tone1)}.tones .writer-py.t2{color:var(--tone2)}.tones .writer-py.t3{color:var(--tone3)}.tones .writer-py.t4{color:var(--tone4)}.writer-steps{flex:1;justify-content:center;gap:6px;display:flex}.writer-steps .chip{font:500 18px/1 var(--han)}.writer-pad{touch-action:none;background:var(--paper-2);border-radius:6px;position:relative}.writer-pad .tzg,.writer-host{position:absolute;inset:0}.writer-foot{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;min-height:48px;display:flex}.writer-foot p{text-align:center;width:100%;margin:0;font-size:20px}.stars{color:var(--sun);letter-spacing:4px;font-size:34px}.stars span{color:var(--line-2)}.xiezi{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px;display:grid}.xiezi button{background:var(--card);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:12px 6px 10px;display:flex}.xiezi .big{font:400 46px/1.45 var(--han)}.xiezi .mini-stars{color:var(--sun);letter-spacing:2px;font-size:15px}.xiezi .mini-stars span{color:var(--line-2)}.excard .q{font-size:24px;line-height:2.3}.slot{vertical-align:-.2em;border:0;border-bottom:3px solid var(--sun);background:var(--sun-soft);min-width:1.6em;height:1.5em;font:inherit;color:var(--ink);cursor:pointer;border-radius:6px 6px 0 0;place-items:center;margin:0 4px;display:inline-grid;position:relative}.slot.right{border-color:var(--ok);color:var(--ok)}.slot.wrong{border-color:var(--bad);color:var(--bad);text-decoration:line-through}.slot .fix{color:var(--ok);font-size:.6em;text-decoration:none;position:absolute;top:100%}.tiles{flex-wrap:wrap;gap:8px;margin:4px 0 18px 36px;display:flex}.tile{border:1px solid var(--line-2);background:var(--card);min-width:52px;color:var(--ink);cursor:pointer;border-radius:12px;padding:2px 12px;font-size:24px;line-height:2.1}.tile:disabled{opacity:.3}.choice.han{font-size:22px;line-height:2}.dict{flex-direction:column;gap:12px;display:flex}.dict-word{align-items:center;gap:10px;display:flex}.dict-box{border:2px dashed var(--grid);background:var(--paper-2);width:64px;height:64px;color:var(--muted);cursor:pointer;border-radius:10px;place-items:center;font-size:26px;line-height:1;display:grid}.dict-box.done{color:var(--ink);border-style:solid;font-size:34px}.dict-box .mini-stars{color:var(--sun);font-size:11px}@media (width<=700px){.tiles{margin-left:0}}.choice.right rt,.choice.wrong rt,.choice.picked rt{opacity:.85;color:inherit!important}.no-voice{background:var(--sun-soft);color:var(--ink-2);font:400 14px/1.45 var(--sans);border-radius:12px;margin:0 0 18px;padding:10px 14px}.no-voice .han{color:var(--ink);font-size:16px}
