:root{--bg:#f5f4ee;--card:#fffefa;--ink:#2b2724;--ink-2:#5d564f;--muted:#958e84;--line:#e7e3da;--accent:#b9845a;--accent-bg:#f4e3d1;--dark:#3a3430;--green:#6f8f6a;--serif:"Playfair Display", Georgia, serif;--reading:"Source Serif 4", Georgia, serif;--safe-b:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--ink);margin:0}body{font:15px/1.6 -apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,sans-serif}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:disabled{opacity:.5;cursor:default}a{color:inherit;text-decoration:none}.app{max-width:640px;min-height:100vh;padding-bottom:calc(72px + var(--safe-b));margin:0 auto}.top{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f5f4eeeb;justify-content:space-between;align-items:center;height:52px;padding:0 20px;display:flex;position:sticky;top:0}.logo{font-family:var(--serif);font-size:19px;font-style:italic}.icon-btn{border-radius:50%;place-items:center;width:36px;height:36px;font-size:18px;display:grid}.icon-btn.dark{background:var(--dark);color:#fff;font-size:20px}.tabs{z-index:20;padding:7px 0 calc(6px + var(--safe-b));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);background:#faf9f4f0;justify-content:center;gap:56px;display:flex;position:fixed;bottom:0;left:0;right:0}.tabs a{min-width:48px;color:var(--muted);flex-direction:column;align-items:center;gap:3px;font-size:10.5px;transition:color .15s;display:flex}.tabs a.active{color:var(--ink)}.tabs a.active svg{stroke-width:2.1px}.pad{padding:0 20px}.muted{color:var(--muted);font-size:13px}.hl{font-family:var(--serif);background:linear-gradient(transparent 58%, var(--accent-bg) 58%);padding:0 4px;font-style:italic}.empty{text-align:center;color:var(--muted);margin:40px 20px;font-size:14px;line-height:1.8}.empty .btn{margin-top:14px}.banner{background:#fbf1e6;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin:12px 20px 0;padding:10px 14px;font-size:13.5px;display:flex}.banner .btn{padding:6px 14px;font-size:13px}.linkish{color:var(--accent);font-size:13px}.issue-head{padding:14px 20px 4px}.issue-head .kicker{letter-spacing:1.5px;color:var(--accent);font-size:11px}.issue-head h1{font-family:var(--serif);margin:2px 0 4px;font-size:26px;font-weight:500;line-height:1.2}.issue-head h1.short{font-size:34px;font-style:italic}.alist{background:var(--card);border:1px solid var(--line);border-radius:16px;margin:14px 20px 0;overflow:hidden}.arow{border-top:1px solid var(--line);align-items:flex-start;gap:14px;padding:15px 16px;transition:background .15s;display:flex}.arow:first-child{border-top:0}.arow:hover,.arow:active{background:#fbf9f3}.arow .d{height:20px;color:var(--ink-2);background:var(--bg);white-space:nowrap;border-radius:6px;flex:none;margin-top:2px;padding:0 6px;font-size:11px;line-height:20px}.arow.done .d{color:var(--green);background:#eef3ea}.arow .b{flex:1;min-width:0}.arow h3{font-family:var(--serif);margin:0;font-size:16.5px;font-weight:500;line-height:1.35}.arow.done h3{color:var(--ink-2)}.arow .zh{color:var(--ink-2);margin-top:3px;font-size:13px}.arow .m{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:6px;font-size:11.5px;display:flex}.level{vertical-align:middle;gap:2px;display:inline-flex}.level i{background:var(--line);border-radius:50%;width:5px;height:5px}.level i.on{background:var(--accent)}.kicker .level{margin-left:8px}.st.done{color:var(--green)}.st.go{color:var(--accent)}.shelf{margin:28px 20px 0}.shelf h2{color:var(--muted);letter-spacing:1px;margin:0 0 8px 4px;font-size:12px;font-weight:500}.plist{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.prow{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 16px;font-size:14px;display:flex}.prow+.prow{border-top:1px solid var(--line)}.prow:hover{background:#fbf9f3}.prow .wk{font-family:var(--serif);font-size:16px;font-style:italic}.prow .lname{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.prow .muted{white-space:nowrap;font-size:12px}.pmeta{align-items:center;gap:8px;display:flex}.pbar{background:var(--line);border-radius:3px;width:48px;height:3px;overflow:hidden}.pbar i{background:var(--green);height:100%;display:block}.miss{color:var(--accent);font-size:11.5px}.rbar{justify-content:space-between;align-items:center;display:flex}.rbar .ttl,.ttl{color:var(--muted);font-size:13px}.toggle{border:1px solid var(--line);background:var(--card);color:var(--ink-2);border-radius:999px;padding:5px 12px;font-size:13px}.toggle.on{background:var(--dark);color:#fff;border-color:var(--dark)}.rbtns{gap:6px;display:flex}.rbtns b{opacity:.7;font-weight:500}.v{background:linear-gradient(transparent 62%, var(--accent-bg) 62%);cursor:pointer}.v.saved{background:linear-gradient(#0000 62%,#dbe6d3 62%)}.v.flash{animation:1.8s flash}@keyframes flash{0%,40%{background:#ecc9a6;box-shadow:0 0 0 3px #ecc9a6}to{box-shadow:0 0 0 3px #0000}}.vitem{border-top:1px solid var(--line);align-items:center;gap:8px;padding:12px 0;display:flex}.vmain{text-align:left;flex:1;min-width:0}.vdel,.wdel{width:26px;height:26px;color:var(--muted);opacity:.5;border-radius:50%;flex:none;font-size:16px;line-height:1;transition:all .15s}.vitem:hover .vdel,.whd:hover .wdel,.vdel.active,.wdel.active{opacity:1}.vdel:hover,.wdel:hover,.vdel.active,.wdel.active{color:#b0533c;background:#f6e9e4}.whd{align-items:center;display:flex}.whd .wrow{flex:1;min-width:0}.whd .wdel{margin-right:10px}.whd:has(.wdel) .wrow{padding-right:6px}.popc{z-index:50;background:var(--card);border:1px solid var(--line);transform-origin:100% 0;border-radius:14px;width:248px;padding:14px 14px 12px;animation:.14s ease-out popin;position:fixed;box-shadow:0 10px 30px #32231429,0 2px 6px #3223140f}.popc.up{transform-origin:100% 100%}@keyframes popin{0%{opacity:0;transform:scale(.94)translateY(-4px)}}.popc-t{color:var(--ink);font-size:14px;line-height:1.45}.popc-t b{font-family:var(--serif);font-weight:500}.popc-d{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.55}.popc-b{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.popc-b button{border-radius:999px;justify-content:center;align-items:center;min-width:60px;height:30px;padding:0 14px;font-size:12.5px;display:inline-flex}.popc-no{color:var(--ink-2);border:1px solid var(--line);background:var(--card)}.popc-no:hover{background:var(--bg)}.popc-ok{color:#fff;background:#b0533c}.popc-ok:hover{background:#9c4632}.popc-ok .spin{border-color:#fff #fff6 #fff6}.vitem:first-child{border-top:0}.vitem .w{font-family:var(--serif);font-size:16px}.vitem .d{color:var(--ink-2);font-size:13px}.vside{display:none}@media (width>=1100px){.vside{width:240px;padding-right:8px;display:block;position:fixed;top:72px;bottom:24px;left:calc(50% - 590px);overflow:auto}.vside h4{color:var(--muted);letter-spacing:1px;margin:0 0 6px;font-size:12px;font-weight:500}.vside .vitem{padding:9px 0}.vside .vitem .w{font-size:15px}.vocab-btn{display:none}}.selbar{z-index:25;background:var(--card);border:1px solid var(--line);-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;padding:3px;display:flex;position:fixed;box-shadow:0 6px 20px #281e1424}.selbar button{color:var(--ink-2);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:13px}.selbar button:hover{background:var(--bg);color:var(--ink)}.selbar i{background:var(--line);width:1px;height:14px}.para.flash{animation:1.8s pflash}@keyframes pflash{0%,40%{background:#f6e4cf;box-shadow:0 0 0 8px #f6e4cf}}.en ::selection{background:#f0d3b4}.progress{z-index:9;height:2px;position:sticky;top:52px}.progress i{background:var(--accent);width:0;height:100%;display:block}.article{padding:8px 22px 40px}.kicker{color:var(--muted);font-size:12.5px}.article h1{font-family:var(--serif);margin:8px 0 6px;font-size:30px;font-weight:500;line-height:1.2}.sub{font-family:var(--reading);color:var(--ink-2);font-size:17px;font-style:italic}.zht{color:var(--muted);margin:4px 0 26px;font-size:14px}.para{border-radius:8px;margin:0 0 22px;transition:background .15s}.para.sel{background:#f8ede0;box-shadow:0 0 0 8px #f8ede0}.para.h{margin:34px 0 14px}.para.h .en{font-family:var(--serif,Georgia, serif);font-size:1.15em;font-weight:700}.para.h .cn{font-weight:600}.en{font-family:var(--reading);font-size:18px;line-height:1.78}.cn{color:var(--ink-2);margin-top:8px;font-size:14.5px;line-height:1.7;display:none}.show-cn .cn{display:block}.end{text-align:center;border-top:1px solid var(--line);padding:24px 0 8px}.end p{margin:0 0 12px}.btn{white-space:nowrap;background:var(--dark);color:#fff;border-radius:999px;padding:10px 22px;font-size:14px;display:inline-block}.btn.ghost{background:var(--card);color:var(--ink-2);border:1px solid var(--line)}.btn.block{text-align:center;width:100%;display:block}.fab{z-index:15;right:max(20px,50% - 300px);bottom:calc(24px + var(--safe-b));background:var(--dark);color:#fff;border-radius:999px;padding:12px 18px;font-size:14px;position:fixed;box-shadow:0 8px 24px #281e1440}.mask{z-index:30;opacity:0;pointer-events:none;background:#1e181247;transition:all .2s;position:fixed;inset:0}.mask.on{opacity:1;pointer-events:auto}.sheet{z-index:31;background:var(--card);max-width:640px;padding:10px 20px calc(18px + var(--safe-b));border-radius:22px 22px 0 0;flex-direction:column;max-height:86vh;margin:0 auto;transition:transform .25s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(105%)}.sheet.on{transform:none}.grab{background:var(--line);border-radius:4px;flex:none;width:36px;height:4px;margin:0 auto 12px}.sheet-scroll{min-height:0;overflow:auto}.az{z-index:9;scrollbar-width:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#f5f4eef2;gap:2px;padding:6px 14px 8px;display:flex;position:sticky;top:52px;overflow-x:auto}.az button,.az span{border-radius:8px;flex:none;place-items:center;width:26px;height:26px;font-size:13px;display:grid}.az button{color:var(--ink);font-weight:500}.az button:hover{background:var(--card)}.az span{color:var(--line)}.wentry .entry{background:0 0;border:0;border-radius:0;margin:0;padding:0 16px 14px}.witem.open .wrow{padding-bottom:6px}.witem.open .wrow .d,.wentry .sall,.wentry .whead{display:none}.wrow .ph{color:var(--muted);margin-left:8px;font-family:system-ui,sans-serif;font-size:12.5px}.az.lists{gap:8px}.az.lists .chip{width:auto;height:auto}.az.lists .chip.on{background:var(--dark);border-color:var(--dark);color:var(--card)}.letter .lsub{color:var(--muted);margin-left:8px;font-family:system-ui,sans-serif;font-size:13px;font-style:normal}.letter{font-family:var(--serif);color:var(--accent);margin:22px 20px 8px;font-size:26px;font-style:italic;font-weight:500}.vpage{padding:8px 0 24px}.family-head{color:var(--accent);margin:4px 24px 12px;font-size:13px}.flist{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:4px 20px 0;overflow:hidden}.flist button{text-align:left;border-bottom:1px solid var(--line);align-items:baseline;gap:8px;width:100%;padding:8px 14px;display:flex}.flist button:last-child{border-bottom:0}.flist button:hover{background:#00000004}.flist button.on{background:#fcf8f0}.flist .w{font-family:var(--serif);flex:none;font-size:15px}.flist button.on .w{color:var(--accent)}.flist .ph{color:var(--muted);flex:none;font:12px/1 system-ui,sans-serif}.flist .g{min-width:0;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;overflow:hidden}.rel .flist{margin:0 0 8px}.vpage .entry{margin-top:4px}.entry{background:var(--card);border:1px solid var(--line);border-radius:16px;margin:0 20px 12px;padding:14px 18px;overflow:hidden}.entry.flash{animation:2s eflash}@keyframes eflash{0%,50%{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}}.esrc{color:var(--muted);margin-top:10px;font-size:11px}.elinks{flex-direction:column;align-items:flex-start;gap:4px;margin-top:8px;display:flex}.elinks button{max-width:100%;color:var(--accent,#8a5a2a);text-align:left;background:0 0;border:0;padding:0;font-size:12px}.words .wadd{border:1px solid var(--line);background:var(--card);border-radius:12px;margin:14px 20px 0}.words .wadd input{height:36px;font-size:16px}.words .wadd input::placeholder{color:var(--muted);font-size:14px}.words .wadd button{height:32px;padding:0 14px;font-size:13px}.words .wadd button:disabled{background:var(--line);color:var(--muted)}.eacts{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.eacts button{border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:4px 10px;font-size:11.5px}.eacts button.on{color:var(--green);background:#f1f5ee;border-color:#cfdcc8}.eacts button.del{color:var(--muted);border-color:#0000;margin-left:auto}.eacts button.del:hover{color:#b0533c}.dict{padding-bottom:40px}.unote-add{border:1px dashed var(--line);color:var(--muted);border-radius:999px;margin-top:10px;padding:2px 12px;font-size:12.5px}.unote-add:hover{border-color:var(--accent);color:var(--accent)}.unote{text-align:left;color:var(--ink);white-space:pre-wrap;background:#f7f3ea;border-radius:12px;margin-top:12px;padding:8px 52px 8px 12px;font-size:13.5px;line-height:1.6;position:relative}.unote .lbl{margin:0 0 3px;display:block}.unote>button{color:var(--accent);font-size:12px;position:absolute;top:8px;right:10px}.unote-edit{margin-top:12px}.unote-edit .lbl{margin:0 0 6px;display:block}.wrow .d.note{color:var(--accent)}.unote-edit textarea{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);font:inherit;resize:vertical;border-radius:12px;padding:8px 12px;font-size:13.5px;line-height:1.6;display:block}.unote-edit textarea:focus{border-color:var(--accent);outline:0}.unote-acts{justify-content:flex-end;gap:6px;margin-top:6px;display:flex}.unote-acts button{border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:4px 12px;font-size:12px}.unote-acts button.on{background:var(--dark);border-color:var(--dark);color:#fff}.rel{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.rel-h{color:var(--muted);letter-spacing:1px;margin-bottom:8px;font:500 10.5px/1 system-ui,sans-serif}.pairs{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.pair{background:var(--bg);border:1px solid var(--line);border-radius:12px;overflow:hidden}.pair-line{align-items:center;display:flex}.pair-line+.pair-line{border-top:1px dashed var(--line)}.pair-line .retry{flex:none;margin-right:10px;font-size:12px}.pair-row{text-align:left;flex:1;grid-template-columns:auto 2.6em auto minmax(0,1fr);align-items:baseline;column-gap:8px;min-width:0;padding:5px 12px;display:grid}.pair-row .g.wait{color:var(--muted)}.rel .pair .w{font-family:var(--serif);font-size:14px;line-height:1.3}.rel .pair .pos{color:var(--accent);font:italic 11px/1 system-ui,sans-serif}.rel .pair .ph{color:var(--muted);font:11px/1 system-ui,sans-serif}.rel .pair .g{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.pair.on{box-shadow:inset 2px 0 0 var(--accent);background:#fcf8f0}.pair-more{border-top:1px dashed var(--line);padding:2px 10px 6px 12px}.pair-more .sense{padding:5px 0}.pair-more .pat{font-size:13.5px}.pair-more .szh{font-size:12.5px}.pair-more .sdetail{gap:4px;margin-left:26px}.pair-word+.pair-word{border-top:1px dashed var(--line);margin-top:4px;padding-top:4px}.pair-word>.w{margin-bottom:2px;display:block}.pair-word>.w .ph{margin-left:6px}.rel-item{background:var(--bg);border-radius:12px;margin-bottom:6px}.rel-row{text-align:left;align-items:baseline;gap:8px;width:100%;padding:9px 12px;display:flex}.rel .rel-row .w{font-family:var(--serif);flex:none;font-size:14.5px}.rel-row .ph{color:var(--muted);margin-left:6px;font-family:system-ui,sans-serif;font-size:12px;font-weight:400}.rel-sum{min-width:0;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.rel-item.open .rel-sum{visibility:hidden}.rel-item.pending .rel-sum,.rel-item.failed .rel-sum{color:var(--muted)}.chev{color:var(--muted);flex:none;font-family:system-ui,sans-serif;transition:transform .2s}.rel-item.open .chev,.witem.open .wrow .chev{transform:rotate(90deg)}.rel-body{padding:0 12px 10px}.rel-body .whead{display:none}.rel-body .sense{padding:6px 0}.rel-body .pat{font-size:14px}.rel-body .szh{font-size:12.5px}.rel-body .num{background:var(--card);width:16px;height:16px;font-size:9.5px}.rel-body .sdetail{margin-left:26px}.rel-body .sex{border-left-color:var(--line)}.rel-foot{justify-content:flex-end;margin-top:4px;display:flex}.rel-foot button{color:var(--muted);font-size:11.5px}.rel-foot button:hover{color:#b0533c}.rel-add{border:1px dashed var(--line);background:0 0;border-radius:12px;gap:6px;margin-top:2px;padding:3px 3px 3px 12px;display:flex}.rel-add input{min-width:0;font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:13.5px}.rel-add button{background:var(--dark);color:#fff;border-radius:8px;padding:4px 11px;font-size:11.5px}.whead{margin-bottom:2px}.word .w{font-family:var(--serif);font-size:22px}.word .pos{color:var(--muted);margin-left:8px;font-size:12.5px}.word .kind{color:var(--muted);border:1px solid var(--line);vertical-align:4px;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:11px}.sense{padding:8px 0}.sall{color:var(--ink-2);margin:2px 0 8px;font-size:13.5px;line-height:1.5}.shead{text-align:left;align-items:flex-start;gap:10px;width:100%;display:flex}.num{width:18px;height:18px;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:50%;flex:none;place-items:center;margin-top:2px;font:500 10.5px/1 system-ui,sans-serif;display:grid}.sense.here .num{color:#fff;background:var(--accent);border-color:var(--accent)}.sbody{flex:1;min-width:0}.pat{font-family:var(--serif);font-size:15px;line-height:1.4}.spos{color:var(--muted);margin-left:6px;font-family:system-ui,sans-serif;font-size:11.5px;font-style:italic}.here-tag{color:var(--accent);vertical-align:1px;white-space:nowrap;background:#fbf1e6;border-radius:999px;margin-left:8px;padding:0 7px;font:10px/16px system-ui,sans-serif}.szh{color:var(--ink-2);margin-top:1px;font-size:13.5px;line-height:1.5}.sdetail{flex-direction:column;gap:6px;margin:6px 0 4px 28px;display:flex}.sline{color:var(--ink-2);font-size:12.5px;line-height:1.6}.lbl{color:var(--muted);letter-spacing:.5px;text-transform:uppercase;margin-right:8px;font:500 10px/1 system-ui,sans-serif}.snote{color:var(--ink-2);margin-top:6px;font-size:12.5px;line-height:1.6}.sex{border-left:2px solid var(--accent-bg);padding:1px 0 1px 11px}.sen{font-family:var(--reading);color:var(--ink);font-size:13.5px;font-style:italic;line-height:1.55}.sby{color:var(--muted);white-space:nowrap;font-family:system-ui,sans-serif;font-size:11px;font-style:normal}.scn{color:var(--muted);margin-top:2px;font-size:12px;line-height:1.5}.pdef{margin:6px 0 0;font-size:15px}.pdef+.snote{margin-left:0}.rawdef{color:var(--ink-2);margin-top:8px;font-size:14px;line-height:1.7}.rawdef .tag{color:var(--muted);border:1px solid var(--line);border-radius:999px;margin-right:6px;padding:0 7px;font-size:11px}.pending-text{color:var(--muted);align-items:center;gap:6px;margin-top:8px;font-size:13px;display:flex}.toggle .spin{vertical-align:-1px;display:inline-block}.retry{color:var(--accent);align-items:center;gap:5px;margin-left:6px;font-size:13px;display:inline-flex}.retry:disabled{color:var(--muted);cursor:default}.spin{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chat{height:78vh}.chat-h{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.chat-h b{font-weight:500}.msgs{flex-direction:column;flex:1;gap:12px;padding:4px 0 10px;display:flex;overflow:auto}.msg{max-width:88%;font-size:14.5px;line-height:1.7}.msg.me{background:var(--dark);color:#fff;border-radius:16px 16px 4px;align-self:flex-end;padding:8px 13px}.msg.ai{background:var(--bg);border-radius:16px 16px 16px 4px;align-self:flex-start;padding:10px 13px}.msg.ai p{margin:0 0 8px}.msg.ai p:last-child{margin-bottom:0}.msg.ai ul,.msg.ai ol{margin:4px 0 8px;padding-left:20px}.msg.ai blockquote,.quote{font-family:var(--reading);color:var(--ink-2);border-left:2px solid var(--accent);margin:2px 0 8px;padding-left:8px;font-size:14px;font-style:italic}.msg.me .quote{color:#e9e2d9}.msg.ai code{background:var(--card);border-radius:4px;padding:0 4px;font-size:13px}.chips{scrollbar-width:none;flex:none;gap:8px;padding:4px 0 10px;display:flex;overflow-x:auto}.chip{border:1px solid var(--line);color:var(--ink-2);background:var(--card);border-radius:999px;flex:none;padding:6px 12px;font-size:13px}.composer{border:1px solid var(--line);border-radius:16px;flex:none;align-items:center;gap:8px;padding:6px 6px 6px 14px;display:flex}.composer input{font:inherit;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:16px}.composer button{background:var(--dark);color:#fff;border-radius:11px;width:34px;height:34px}.imp h2{margin:0 0 4px;font-size:20px;font-weight:500}.dz{text-align:center;color:var(--muted);border:1.5px dashed #d8d1c4;border-radius:16px;width:100%;margin-top:16px;padding:30px 16px}.dz b{color:var(--ink);margin-bottom:2px;font-weight:500;display:block}.file{margin-top:16px;font-size:14px}.stp{color:var(--muted);align-items:flex-start;gap:10px;padding:7px 0;font-size:14px;display:flex}.stp i{border:1.5px solid var(--line);border-radius:50%;flex:none;place-items:center;width:18px;height:18px;margin-top:2px;font-size:10px;font-style:normal;display:grid}.stp small{color:var(--muted);font-size:12px;display:block}.stp.run{color:var(--ink)}.stp.run i{border-color:var(--accent);border-top-color:#0000;animation:.8s linear infinite spin}.stp.ok{color:var(--ink-2)}.stp.ok i{background:var(--green);border-color:var(--green);color:#fff}.stp.skip i{border-style:dashed}.stp.error i{color:#fff;background:#c0634a;border-color:#c0634a}.warn{background:#fbf1e6;border-radius:12px;margin-top:14px;padding:12px 14px;font-size:14px}.warn.err{color:#8a3b28;background:#f8e6e1}.warn .acts{gap:8px;margin-top:10px;display:flex}.warn .btn{text-align:center;flex:1;padding:8px}.words-h{justify-content:space-between;align-items:baseline;padding:20px 20px 0;display:flex}.words-h h1{margin:0;font-size:28px;font-weight:500}.wtools{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f5f4eef0;align-items:center;gap:8px;padding:12px 20px;display:flex;position:sticky;top:0}.wsearch{flex:1;align-items:center;display:flex;position:relative}.wsearch .ico{color:var(--muted);pointer-events:none;position:absolute;left:11px}.wsearch input{border:1px solid var(--line);background:var(--card);width:100%;height:36px;color:var(--ink);border-radius:10px;outline:none;padding:0 32px;font-size:16px;transition:border-color .15s}.wsearch input:focus{border-color:var(--accent)}.wsearch input::placeholder{color:var(--muted);font-size:14px}.wsearch .clear{width:24px;height:24px;color:var(--muted);border-radius:50%;font-size:16px;line-height:1;position:absolute;right:6px}.wsort{background:var(--line);border-radius:10px;flex:none;padding:2px;display:flex}.wsort button{height:32px;color:var(--muted);border-radius:8px;padding:0 11px;font-size:12.5px}.wsort button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px #0000000f}.wlist{flex-direction:column;gap:8px;margin:4px 20px 0;transition:opacity .15s;display:flex}.wlist.stale{opacity:.55}.wlist.pinned{margin-bottom:12px}.wlist.pinned .witem{border-color:var(--accent)}.witem{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.witem.open{box-shadow:inset 3px 0 0 var(--accent);background:#fcf8f0;border-color:#e6d8c6;margin:4px 0}.wentry .efoot{border-top:1px dashed var(--line);margin-top:14px;padding-top:10px}.wentry .efoot .esrc,.wentry .efoot .eacts:first-child{margin-top:0}.wrow{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:11px 16px;display:flex}.wrow:hover{background:#00000004}.wmain{flex:1;min-width:0}.wrow .w{font-family:var(--serif);font-size:16px;line-height:1.3}.wrow .d{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12.5px;overflow:hidden}.wrow .r{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:none;max-width:30%;font-size:11px;overflow:hidden}.wload{padding:6px 16px 14px}.wkind{color:var(--muted);border:1px solid var(--line);vertical-align:2px;border-radius:999px;margin-left:8px;padding:0 6px;font-family:system-ui,sans-serif;font-size:10.5px}.witem.flash{animation:1.8s wflash}@keyframes wflash{0%,40%{background:#f8ecdd}}.wsec{color:var(--ink);align-items:baseline;gap:8px;margin:18px 24px 8px;font-size:13px;font-weight:600;display:flex}.wsec span{color:var(--muted);font-size:12px;font-weight:400}section:first-of-type>.wsec{margin-top:6px}.chips{scrollbar-width:none;gap:6px;padding:12px 20px 0;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips button{text-overflow:ellipsis;white-space:nowrap;max-width:220px;height:30px;color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-radius:999px;flex:none;padding:0 12px;font-size:12.5px;overflow:hidden}.chips button.on{background:var(--dark);border-color:var(--dark);color:#fff}.pager{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;margin:16px 20px 0;font-size:12px;display:flex}.pg-nums{align-items:center;gap:4px;display:flex}.pg-nums button{border:1px solid var(--line);background:var(--card);min-width:30px;height:30px;color:var(--ink-2);border-radius:8px;padding:0 8px;font-size:12.5px}.pg-nums button:hover:not(:disabled):not(.on){border-color:var(--accent);color:var(--accent)}.pg-nums button.on{background:var(--dark);border-color:var(--dark);color:#fff}.pg-nums button:disabled{opacity:.4}.pg-gap{padding:0 2px}.pager select{border:1px solid var(--line);height:30px;color:var(--ink-2);font:inherit;appearance:none;background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23958e84' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 10px center;border-radius:8px;padding:0 26px 0 10px;font-size:12px}.pg-jump{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.pg-jump input{border:1px solid var(--line);background:var(--card);width:44px;height:30px;color:var(--ink);font:inherit;text-align:center;-moz-appearance:textfield;border-radius:8px;padding:0 6px;font-size:12.5px}.pg-jump input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pg-jump input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pg-jump input:focus{border-color:var(--accent);outline:0}.pg-jump button{border:1px solid var(--line);background:var(--card);height:30px;color:var(--ink-2);border-radius:8px;padding:0 10px;font-size:12px}.pg-jump button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.pg-jump button:disabled{opacity:.4}@media (width<=520px){.pg-info{text-align:center;width:100%}.pager{justify-content:center}}.wstats{background:var(--card);border:1px solid var(--line);border-radius:14px;grid-template-columns:1fr auto;align-items:end;gap:10px 16px;margin:12px 20px 0;padding:14px 16px;display:grid}.ws-num b{font-family:var(--serif);font-size:30px;font-weight:500;line-height:1}.ws-num span{color:var(--muted);margin-left:6px;font-size:13px}.ws-week{color:var(--muted);margin-top:6px;font-size:12px}.ws-week em{color:var(--green);font-style:normal;font-weight:600}.ws-bars{align-items:flex-end;gap:4px;height:44px;padding-bottom:14px;display:flex;position:relative}.ws-bars i{background:var(--accent-bg);border-radius:3px 3px 1px 1px;width:10px}.ws-bars i.now{background:var(--accent)}.ws-bars span{color:var(--muted);font-size:10px;line-height:1;position:absolute;bottom:0;right:0}.ws-split{border-top:1px dashed var(--line);flex-wrap:wrap;grid-column:1/-1;gap:6px;padding-top:10px;display:flex}.ws-split span{color:var(--ink-2);background:var(--bg);border-radius:999px;padding:3px 10px;font-size:11.5px}.ws-split b{color:var(--ink);margin-left:2px;font-weight:600}.toast{left:50%;bottom:calc(90px + var(--safe-b));background:var(--dark);color:#fff;opacity:0;pointer-events:none;z-index:60;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:90vw;padding:8px 16px;font-size:13px;transition:all .2s;position:fixed;overflow:hidden;transform:translate(-50%)}.toast.show{opacity:1}@media (width>=720px){.issue-head h1,.words-h h1{font-size:34px}.article h1{font-size:36px}.en{font-size:19px}}
