:root{--bg:#e9e5dc;--paper:#faf8f3;--surface:#fff;--ink:#1b1a18;--ink-2:#57534c;--ink-3:#9b968d;--line:#e5e0d5;--line-2:#f0ece4;--fill:#f0ece4;--seal:#c23a2b;--seal-soft:#f8e7e2;--seal-ink:#8b2418;--ok:#2f6b4f;--ok-soft:#e6f0ea;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--num:-apple-system, "SF Pro Display", "Helvetica Neue", Arial, sans-serif;--song:"Songti SC", "STSong", "Noto Serif SC", "Source Han Serif SC", serif;--en:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--top:env(safe-area-inset-top,0px);--bot:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-wrap:pretty}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}img,canvas{max-width:100%;display:block}svg{flex:none;display:block}input{font:inherit;color:inherit}.body{flex:1}.bar{padding:calc(var(--top) + 6px) 14px 8px;z-index:20;background:var(--paper);flex:none;align-items:center;gap:6px;display:flex;position:sticky;top:0}.bar .t{text-align:center;flex:1;min-width:0;font-size:16px;font-weight:650;line-height:1.25}.bar .t small{color:var(--ink-3);font-size:11.5px;font-weight:500;display:block}.icb{border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid}.icb:active{background:var(--fill)}.foot{z-index:20;padding:10px 18px calc(var(--bot) + 14px);background:linear-gradient(to bottom, #faf8f300, var(--paper) 30%);flex:none;position:sticky;bottom:0}.btn{background:var(--ink);color:#fff;border-radius:15px;justify-content:center;align-items:center;gap:6px;width:100%;height:52px;font-size:16.5px;font-weight:700;display:flex}.btn small{opacity:.7;font-size:13px;font-weight:500}.btn:active{transform:scale(.985)}.btn.ghost{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.btn.seal-b{background:var(--seal)}.btn-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.foot-note{text-align:center;color:var(--ink-3);margin-top:8px;font-size:12px}.sec-h{justify-content:space-between;align-items:baseline;margin:20px 0 10px;padding:0 20px;display:flex}.sec-h b{font-size:17px;font-weight:750}.sec-h span{color:var(--ink-3);font-size:12px}.chev{width:12px;height:12px}.land-top{justify-content:space-between;align-items:center;padding:4px 20px 0;display:flex}.land-h{padding:16px 20px 0}.land-h h1{letter-spacing:-.02em;font-size:34px;font-weight:900;line-height:1.18}.land-h h1 em{color:var(--seal);font-style:normal}.land-h p{color:var(--ink-2);margin-top:10px;font-size:14.5px;line-height:1.7}.show{scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;padding:18px 20px 6px;scroll-padding:0 20px;display:flex;overflow-x:auto}.show::-webkit-scrollbar{display:none}.sc{scroll-snap-align:start;text-align:left;background:#222;border-radius:20px;flex:none;width:214px;height:280px;position:relative;overflow:hidden;box-shadow:0 16px 30px -22px #00000080}.sc .lab{color:var(--ink);z-index:2;background:#ffffffeb;border-radius:99px;padding:5px 9px;font-size:12px;font-weight:650;position:absolute;top:12px;left:12px}.sc.nov img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.sc.nov .gr{background:linear-gradient(#080a1600 40%,#080a16eb 90%);position:absolute;inset:0}.sc.nov .tx{color:#fff;position:absolute;bottom:16px;left:16px;right:16px}.sc.nov .tx b{font-family:var(--song);letter-spacing:.02em;font-size:19px;font-weight:800;line-height:1.3;display:block}.sc.nov .tx p{font-family:var(--song);color:#e8e3da;margin-top:8px;font-size:12.5px;line-height:1.65}.sc.nov .tx p u{font-family:var(--en);color:#fff;border-bottom:1.5px solid #f08a7c;font-weight:700;text-decoration:none}.sc.pic{background:#f4efe6}.sc.pic .tx{position:absolute;top:46px;left:16px;right:16px}.sc.pic .tx b{font-size:20px;font-weight:850;line-height:1.25;display:block}.sc.pic .im{grid-template-columns:repeat(3,1fr);gap:3px;height:58%;display:grid;position:absolute;bottom:0;left:0;right:0}.sc.pic .im i{background:50%/cover}.sc.pic .cx{font-family:var(--en);background:#fff;border-radius:6px;padding:2px 7px;font-size:11.5px;font-weight:700;position:absolute;box-shadow:0 2px 6px #0003}.sc.wp canvas{width:100%;height:100%;position:absolute;inset:0}.show-hint{text-align:center;color:var(--ink-3);margin-top:2px;font-size:12px}.hd{align-items:center;gap:10px;padding:4px 16px 0;display:flex}.hd-sw{text-align:left;border-radius:14px;flex:1;align-items:center;gap:10px;min-width:0;margin:-4px;padding:4px;display:flex}.hd-sw:active{background:var(--fill)}.hd-sw img{object-fit:cover;border-radius:7px;flex:none;width:38px;height:50px;box-shadow:0 4px 10px -6px #00000080}.hd-sw .tx{min-width:0}.hd-sw b{font-family:var(--song);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;font-size:16.5px;font-weight:800;display:flex;overflow:hidden}.hd-sw .tx>span{color:var(--ink-3);margin-top:2px;font-size:12px;display:block}.today{background:var(--surface);border-radius:18px;margin:16px 16px 0;padding:14px 16px 16px}.today-h{justify-content:space-between;align-items:baseline;display:flex}.today-h b{color:var(--ink-3);font-size:13px;font-weight:600}.today-h span{color:var(--ink-3);font-size:12px}.chs{gap:6px;margin-top:10px;display:flex}.chs button{background:var(--fill);height:32px;color:var(--ink-3);border-radius:9px;flex:1;font-size:12.5px;font-weight:650}.chs button.cur{background:var(--ink);color:#fff}.chs button.done{background:var(--ok-soft);color:var(--ok)}.ch-t{font-family:var(--song);margin-top:14px;font-size:21px;font-weight:800;line-height:1.3}.ch-t small{font-family:var(--font);color:var(--ink-3);margin-bottom:2px;font-size:12px;font-weight:500;display:block}.chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.chip{font-family:var(--en);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);border-radius:10px;padding:5px 10px;font-size:14.5px;font-weight:600}.chip:active{background:var(--fill)}.chip.miss{box-shadow:inset 0 0 0 1.5px var(--seal);color:var(--seal-ink)}.ways{gap:9px;padding:0 16px;display:grid}.way{background:var(--surface);text-align:left;border-radius:18px;align-items:center;gap:14px;padding:9px;display:flex;position:relative}.way:active{transform:scale(.99)}.way .th{background:#ddd;border-radius:12px;flex:none;width:74px;height:74px;position:relative;overflow:hidden}.way .th img,.way .th canvas{object-fit:cover;width:100%;height:100%}.way .th.three{background:var(--paper);grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.way .th.three i{background:50%/cover}.way .tx{flex:1;min-width:0}.way .tx b{font-size:16px;font-weight:750;display:block}.way .tx p{color:var(--ink-2);margin-top:2px;font-size:12.5px;line-height:1.5}.way .tx span{color:var(--ink-3);margin-top:4px;font-size:11.5px;display:inline-block}.review{background:var(--seal-soft);text-align:left;border-radius:18px;align-items:center;gap:12px;width:calc(100% - 32px);margin:14px 16px 0;padding:14px 16px;display:flex}.review .tx{flex:1;min-width:0}.review b{color:var(--seal-ink);font-size:15px;display:block}.review span{color:#a55a4d;margin-top:2px;font-size:12.5px;line-height:1.5;display:block}.review .go{background:var(--seal);color:#fff;border-radius:10px;flex:none;place-items:center;height:36px;padding:0 14px;font-size:13.5px;font-weight:650;display:grid}.sw-sheet{background:var(--paper);visibility:hidden;z-index:61;border-radius:26px 26px 0 0;flex-direction:column;max-width:480px;max-height:88%;margin:0 auto;transition:transform .28s cubic-bezier(.2,.8,.2,1),visibility 0s .28s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(105%)}.sw-sheet.on{visibility:visible;transition:transform .28s cubic-bezier(.2,.8,.2,1);transform:none}.sw-head{flex:none;justify-content:space-between;align-items:center;padding:6px 12px 4px 20px;display:flex}.sw-head b{font-size:18px;font-weight:800}.sw-body{padding:0 16px calc(var(--bot) + 20px);scrollbar-width:none;flex:1;overflow-y:auto}.sw-body::-webkit-scrollbar{display:none}.sw-h{justify-content:space-between;align-items:baseline;gap:8px;margin:16px 4px 8px;display:flex}.sw-h b{flex:none;font-size:14px;font-weight:700}.sw-h span{color:var(--ink-3);text-align:right;font-size:11.5px}.books{background:var(--surface);border-radius:16px;padding:2px 14px}.bk{text-align:left;border-bottom:1px solid var(--line-2);align-items:center;gap:12px;width:100%;padding:12px 0;display:flex}.bk:last-child{border-bottom:0}.bk .tx{flex:1}.bk b{font-size:15.5px;font-weight:700}.bk .tx>span{color:var(--ink-3);margin-top:2px;font-size:12px;display:block}.radio{width:22px;height:22px;box-shadow:inset 0 0 0 1.5px var(--line);border-radius:50%;flex:none;place-items:center;display:grid}.bk.on .radio{background:var(--ink);box-shadow:none}.bk.on .radio:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px}.covers{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cv{aspect-ratio:3/4;text-align:left;background:#222;border-radius:16px;position:relative;overflow:hidden}.cv img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cv .gr{background:linear-gradient(#080a1600 38%,#080a16e6 88%);position:absolute;inset:0}.cv .tx{color:#fff;position:absolute;bottom:12px;left:12px;right:12px}.cv .tx small{opacity:.8;font-size:10.5px}.cv .tx b{font-family:var(--song);margin-top:2px;font-size:16px;font-weight:800;line-height:1.3;display:block}.cv .tx span{opacity:.78;margin-top:4px;font-size:11px;line-height:1.4;display:block}.cv.on{box-shadow:0 0 0 2.5px var(--paper), 0 0 0 4.5px var(--ink)}.cv.on:after{content:"在读";color:var(--ink);background:#fff;border-radius:6px;padding:3px 7px;font-size:11px;font-weight:700;position:absolute;top:10px;right:10px}.more-sr{color:var(--ink-3);text-align:center;margin-top:8px;font-size:12px}.perday{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.perday button{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;padding:9px 4px 8px;line-height:1.25}.perday button b{font-size:15px;display:block}.perday button span{color:var(--ink-3);font-size:11.5px}.perday button.on{box-shadow:inset 0 0 0 2px var(--ink)}.perday-note{color:var(--ink-2);margin:8px 4px 0;font-size:12.5px;line-height:1.6}.perday-note b{color:var(--ink)}.perday-note em{color:var(--seal);font-style:normal}.namebox{background:var(--surface);color:var(--ink-2);border-radius:14px;align-items:center;gap:10px;padding:10px 14px;font-size:14px;display:flex}.namebox input{background:var(--fill);min-width:0;color:var(--ink);border:0;border-radius:8px;outline:none;flex:1;padding:7px 10px;font-size:15px;font-weight:650}.tog{color:var(--ink-2);flex:none;align-items:center;gap:6px;font-size:12px;display:flex}.sw{background:var(--line);border-radius:11px;width:38px;height:22px;transition:background .2s;position:relative}.sw:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.tog.on .sw{background:var(--ink)}.tog.on .sw:after{transform:translate(16px)}.nov-cover{background:#222;border-radius:18px;height:120px;margin:0 16px;position:relative;overflow:hidden}.nov-cover img{object-fit:cover;object-position:center 58%;width:100%;height:100%}.nov-cover .gr{background:linear-gradient(90deg,#080a16d9,#080a161a 80%);position:absolute;inset:0}.nov-cover .tx{color:#fff;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.nov-cover .tx small{opacity:.8;font-size:11.5px}.nov-cover .tx b{font-family:var(--song);margin-top:3px;font-size:19px;font-weight:800;display:block}.stub{background:var(--seal-soft);color:var(--seal-ink);border-radius:12px;margin:10px 16px 0;padding:10px 12px;font-size:12.5px;line-height:1.6}.novel{font-family:var(--song);color:#2a2723;padding:18px 22px 10px;font-size:17px;line-height:2.2}.novel h2{font-family:var(--song);margin-bottom:10px;font-size:21px;font-weight:800;line-height:1.4}.novel h2 small{font-family:var(--font);color:var(--ink-3);font-size:12px;font-weight:500;display:block}.novel p{margin-bottom:10px}.novel ruby{font-family:var(--en);color:var(--ink);border-bottom:1.5px solid var(--seal);cursor:pointer;ruby-position:over;font-weight:700}.novel ruby:active{background:var(--seal-soft)}.novel rt{ruby-align:center;font-family:var(--font);color:var(--seal);font-size:10px;font-weight:500;transition:opacity .15s}.novel.notips rt{opacity:0}.cliff{background:var(--fill);color:var(--ink-2);border-radius:14px;margin:8px 16px 0;padding:14px 16px;font-size:13.5px;line-height:1.6}.cliff b{color:var(--ink)}.panel{margin:0 12px 18px}.panel-h{justify-content:space-between;align-items:baseline;padding:0 6px 8px;display:flex}.panel-h b{font-size:15px;font-weight:750}.panel-h span{color:var(--ink-3);font-size:12px}.pic-wrap{background:#eee;border-radius:16px;position:relative;overflow:hidden}.pic-wrap img{aspect-ratio:2/3;object-fit:cover;width:100%}.cap{background:var(--surface);font-family:var(--song);color:#2a2723;border-radius:12px;margin-top:8px;padding:10px 12px;font-size:14.5px;line-height:1.8}.cap u{font-family:var(--en);color:var(--ink);border-bottom:1.5px solid var(--seal);cursor:pointer;font-weight:700;text-decoration:none}.cap u.nodraw{border-bottom-style:dashed}.tag{font-family:var(--en);color:var(--ink);white-space:nowrap;background:#fff;border-radius:7px;padding:3px 7px;font-size:12px;font-weight:700;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 6px #00000040}.tag:before{content:"";background:#fff;width:6px;height:6px;margin:-3px 0 0 -3px;position:absolute;top:100%;left:50%;transform:rotate(45deg)}.tag.r{transform:translate(-90%,-50%)}.tag.l{transform:translate(-10%,-50%)}.hidetags .tag{color:#0000;min-width:30px}.hidetags .tag:after{content:"?";color:var(--seal);font-family:var(--num);place-items:center;display:grid;position:absolute;inset:0}.hidetags .tag.shown{color:var(--ink)}.hidetags .tag.shown:after{content:none}.pic-tools{justify-content:space-between;align-items:center;padding:2px 18px 12px;display:flex}.pic-tools p{color:var(--ink-3);font-size:12.5px}.tabs{background:var(--fill);border-radius:12px;flex:none;grid-template-columns:1fr 1fr;margin:0 16px;padding:3px;display:grid}.tabs button{height:36px;color:var(--ink-2);border-radius:10px;font-size:14.5px;font-weight:650}.tabs button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #00000014}.pane{display:none}.pane.on{display:block}.wp-stage{justify-content:center;padding:16px 0 2px;display:flex}.wp-phone{aspect-ratio:393/852;background:#111;border-radius:30px;width:184px;overflow:hidden;box-shadow:0 0 0 5px #151413,0 24px 40px -22px #0000008c}.wp-phone canvas{width:100%;height:100%}.styles{scrollbar-width:none;gap:10px;padding:16px 16px 4px;display:flex;overflow-x:auto}.styles::-webkit-scrollbar{display:none}.st{text-align:center;width:54px;color:var(--ink-2);flex:none;font-size:11.5px}.st canvas{width:54px;height:117px;box-shadow:inset 0 0 0 1px var(--line);border-radius:10px}.st span{margin-top:5px;line-height:1.3;display:block}.st span small{color:var(--ink-3);font-size:10.5px;display:block}.st.on canvas{box-shadow:0 0 0 2px var(--paper), 0 0 0 4px var(--ink)}.st.on span{color:var(--ink);font-weight:650}.how-set{background:var(--surface);color:var(--ink-2);border-radius:14px;margin:14px 16px 0;padding:12px 14px;font-size:12.5px;line-height:1.65}.how-set b{color:var(--ink)}.pics{scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;padding:18px 16px 6px;scroll-padding:0 16px;display:flex;overflow-x:auto}.pics::-webkit-scrollbar{display:none}.pics canvas{aspect-ratio:9/16;scroll-snap-align:start;background:#eee;border-radius:14px;flex:none;width:210px;box-shadow:0 14px 26px -18px #00000080}.pics-note{color:var(--ink-2);background:var(--surface);border-radius:14px;margin:12px 16px 0;padding:12px 14px;font-size:12.5px;line-height:1.65}.pics-note b{color:var(--ink)}.qprog{background:var(--line);border-radius:2px;flex:none;height:4px;margin:0 20px;overflow:hidden}.qprog i{background:var(--ink);height:100%;transition:width .25s;display:block}.q-card{background:var(--surface);text-align:center;border-radius:22px;flex-direction:column;justify-content:center;min-height:190px;margin:18px 16px 0;padding:26px 22px 22px;display:flex}.q-kind{color:var(--ink-3);font-size:12px}.q-word{font-family:var(--en);margin-top:8px;font-size:44px;font-weight:600;line-height:1.1}.q-ipa{font-family:var(--en);color:var(--ink-2);justify-content:center;align-items:center;gap:8px;margin-top:8px;font-size:16px;display:inline-flex}.spk{background:var(--fill);border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.q-sent{font-family:var(--song);text-align:left;margin-top:10px;font-size:19px;font-weight:600;line-height:1.85}.blank{border-bottom:2px solid var(--ink);text-align:center;min-width:92px;font-family:var(--en);color:var(--ink);line-height:1.3;display:inline-block}.blank.ok{color:var(--ok);border-color:var(--ok)}.blank.bad{color:var(--seal);border-color:var(--seal)}.opts{gap:9px;margin:14px 16px 0;display:grid}.opt{background:var(--surface);min-height:54px;box-shadow:inset 0 0 0 1px var(--line);text-align:left;border-radius:15px;justify-content:space-between;align-items:center;padding:0 18px;font-size:16px;font-weight:600;display:flex}.opt.en{font-family:var(--en);font-size:18px}.opt.ok{background:var(--ok);color:#fff;box-shadow:none}.opt.bad{background:var(--seal);color:#fff;box-shadow:none}.opt.dim{color:var(--ink-3)}.fb{border-radius:15px;margin:12px 16px 0;padding:13px 15px;font-size:13.5px;line-height:1.65}.fb.ok{background:var(--ok-soft);color:#2b523e}.fb.bad{background:var(--seal-soft);color:var(--seal-ink)}.fb b{font-size:14.5px}.fb .tg{background:#ffffffb3;border-radius:5px;margin-right:5px;padding:2px 6px;font-size:11px;font-weight:600;display:inline-block}.score{text-align:center;padding:20px 20px 0}.score .big{font:800 64px/1 var(--num);letter-spacing:-.03em}.score .big small{color:var(--ink-3);font-size:26px;font-weight:700}.score p{color:var(--ink-2);margin-top:8px;font-size:15px}.score p b{color:var(--ink)}.dots{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:16px;padding:0 16px;display:flex}.dots i{background:var(--ok);border-radius:5px;width:15px;height:15px}.dots i.x{background:var(--seal)}.miss-list{background:var(--surface);border-radius:18px;margin:0 16px;padding:4px 16px}.miss-list div{border-bottom:1px solid var(--line-2);cursor:pointer;padding:12px 0}.miss-list div:last-child{border-bottom:0}.miss-list b{font-family:var(--en);font-size:18px}.miss-list span{color:var(--ink-2);margin-left:8px;font-size:13px}.miss-list p{color:var(--seal-ink);margin-top:3px;font-size:12.5px;line-height:1.55}.allgood{background:var(--ok-soft);color:#2b523e;border-radius:18px;margin:18px 16px 0;padding:16px;font-size:14px;line-height:1.7}.prod{background:var(--surface);border-radius:18px;margin:16px 20px 0;padding:16px 16px 14px}.prod-h{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.prod-h b{font-size:16.5px;font-weight:800}.prod-h span{font:800 26px var(--num);color:var(--seal);letter-spacing:-.02em;white-space:nowrap}.prod-h span small{margin-right:1px;font-size:14px}.prod ul{gap:7px;margin-top:10px;list-style:none;display:grid}.prod li{color:var(--ink-2);gap:8px;font-size:13.5px;line-height:1.5;display:flex}.prod li:before{content:"✓";color:var(--ok);flex:none;font-weight:800}.prod li b{color:var(--ink);font-weight:650}.prod .soon{border-top:1px dashed var(--line);color:var(--ink-3);margin-top:10px;padding-top:10px;font-size:12px}.link-btn{text-align:center;width:100%;color:var(--ink-2);margin-top:12px;padding:4px;font-size:14px;font-weight:600;display:block}.viewer{z-index:70;background:#0e0d0c;flex-direction:column;max-width:480px;margin:0 auto;display:none;position:fixed;inset:0}.viewer.on{display:flex}.vtop{padding:calc(var(--top) + 4px) 14px 8px 20px;color:#fff;flex:none;justify-content:space-between;align-items:center;display:flex}.vtop b{font-size:16px}.vtop .icb{color:#fff}.vimgs{scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;align-items:center;min-height:0;display:flex;overflow-x:auto}.vimgs::-webkit-scrollbar{display:none}.vimgs img{object-fit:contain;scroll-snap-align:start;flex:none;width:100%;max-height:100%}.vhint{text-align:center;color:#9b968d;flex:none;padding:8px 0 0;font-size:12px}.vfoot{padding:12px 18px calc(var(--bot) + 16px);flex:none}.act-h{padding:22px 20px 0}.act-h h1{letter-spacing:-.01em;font-size:30px;font-weight:900;line-height:1.25}.act-h p{color:var(--ink-2);margin-top:8px;font-size:14.5px;line-height:1.6}.code-box{background:var(--surface);border-radius:18px;margin:20px 16px 0;padding:16px 18px}.code-box small{color:var(--ink-3);font-size:12px}.code-box b{letter-spacing:.06em;margin-top:4px;font:700 26px/1.3 ui-monospace,SF Mono,Menlo,monospace;display:block}.code-box span{color:var(--ok);margin-top:6px;font-size:13px;font-weight:600;display:block}.code-box input{background:var(--fill);letter-spacing:.06em;text-transform:uppercase;border:0;border-radius:12px;outline:none;width:100%;margin-top:8px;padding:12px 14px;font:600 18px ui-monospace,SF Mono,Menlo,monospace}.act-steps{gap:10px;margin:14px 16px 0;display:grid}.act-steps div{background:var(--surface);border-radius:14px;align-items:flex-start;gap:12px;padding:12px 14px;font-size:14.5px;font-weight:650;display:flex}.act-steps i{background:var(--ink);color:#fff;width:22px;height:22px;font-style:normal;font:600 12px/22px var(--num);text-align:center;border-radius:50%;flex:none;margin-top:1px}.act-steps span{color:var(--ink-3);margin-top:2px;font-size:12.5px;font-weight:500;display:block}.ok-big{text-align:center;padding:56px 24px 0}.ok-big .ring{background:var(--ok);color:#fff;border-radius:50%;place-items:center;width:76px;height:76px;margin:0 auto;display:grid}.ok-big .ring.bad{background:var(--seal)}.ok-big h1{margin-top:18px;font-size:26px;font-weight:900}.ok-big p{color:var(--ink-2);margin-top:8px;font-size:14.5px;line-height:1.7}.ok-big p b{color:var(--ink)}.got{background:var(--surface);border-radius:18px;margin:22px 16px 0;padding:4px 16px}.got div{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:baseline;padding:12px 0;font-size:14px;display:flex}.got div:last-child{border-bottom:0}.got div span{color:var(--ink-3);font-size:13px}.me-hd{align-items:center;gap:12px;padding:8px 20px 0;display:flex}.avatar{width:52px;height:52px;font:700 20px var(--song);color:#6e5a44;background:#e8dccb;border-radius:50%;flex:none;place-items:center;display:grid}.me-hd b{font-size:18px;font-weight:800;display:block}.me-hd>span:last-child>span{color:var(--ink-3);margin-top:2px;font-size:12.5px;display:block}.own{background:var(--ink);color:#f3f0ea;border-radius:18px;margin:16px 16px 0;padding:16px}.own small{color:#bdb8ae;font-size:12px}.own b{margin-top:4px;font-size:18px;display:block}.own span{color:#bdb8ae;margin-top:6px;font-size:12.5px;display:block}.stat3{background:var(--surface);border-radius:18px;grid-template-columns:repeat(3,1fr);margin:12px 16px 0;padding:14px 0;display:grid}.stat3 div{text-align:center;border-right:1px solid var(--line-2)}.stat3 div:last-child{border-right:0}.stat3 b{font:800 24px var(--num);display:block}.stat3 span{color:var(--ink-3);font-size:12px}.rows{background:var(--surface);border-radius:18px;margin:12px 16px 0;padding:2px 16px}.row{border-bottom:1px solid var(--line-2);text-align:left;align-items:center;gap:10px;width:100%;padding:14px 0;font-size:15px;display:flex}.row:last-child{border-bottom:0}.row span{flex:1}.row small{color:var(--ink-3);font-size:12.5px}.row svg{color:var(--ink-3)}.today-h .cd2{color:var(--ink-3);font-size:12px}.today-h .cd2 b{font:800 18px var(--num);color:var(--seal);margin:0 2px}.mask{opacity:0;pointer-events:none;z-index:60;background:#14120f66;transition:opacity .2s;position:fixed;inset:0}.mask.on{opacity:1;pointer-events:auto}.sheet{background:var(--surface);max-width:480px;padding:10px 22px calc(var(--bot) + 22px);visibility:hidden;z-index:61;border-radius:26px 26px 0 0;margin:0 auto;transition:transform .26s cubic-bezier(.2,.8,.2,1),visibility 0s .26s;position:fixed;bottom:0;left:0;right:0;transform:translateY(105%)}.sheet.on{visibility:visible;transition:transform .26s cubic-bezier(.2,.8,.2,1);transform:none}.grab{background:var(--line);border-radius:3px;width:40px;height:5px;margin:0 auto 14px}.sh-w{justify-content:space-between;align-items:baseline;display:flex}.sh-w b{font-family:var(--en);font-size:40px;font-weight:600;line-height:1.1}.sh-ipa{font-family:var(--en);color:var(--ink-2);align-items:center;gap:8px;margin-top:6px;font-size:16px;display:flex}.sh-src{color:var(--ink-3);margin-top:3px;font-size:11px}.sh-hook{border-top:1px dashed var(--line);margin-top:16px;padding-top:14px}.sh-hook .tg{background:var(--seal-soft);color:var(--seal-ink);border-radius:6px;padding:3px 8px;font-size:11.5px;font-weight:600;display:inline-block}.sh-hook p{margin-top:8px;font-size:17px;font-weight:600;line-height:1.6}.sh-in{background:var(--fill);font-family:var(--song);color:var(--ink-2);border-radius:12px;margin-top:14px;padding:10px 12px;font-size:14px;line-height:1.65}.sh-in small{font-family:var(--font);color:var(--ink-3);font-size:11px;display:block}.sh-in u{font-family:var(--en);color:var(--ink);font-weight:700;text-decoration:none}.toast{color:#fff;text-align:center;opacity:0;pointer-events:none;z-index:95;background:#1b1a18eb;border-radius:14px;width:max-content;max-width:300px;padding:11px 16px;font-size:13.5px;line-height:1.55;transition:all .2s;position:fixed;bottom:120px;left:50%;transform:translate(-50%,10px)}.toast.on{opacity:1;transform:translate(-50%)}.brand{align-items:center;gap:8px;font-size:17px;font-weight:750;display:inline-flex}.seal{background:var(--seal);color:#fff;font-family:var(--song);text-align:center;border-radius:4px;place-items:center;font-weight:800;line-height:1.05;display:inline-grid}.brand .seal{width:32px;height:32px;padding:2px;font-size:13px}.pg{background:var(--paper);flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex;position:relative}@media (max-width:480px){body{background:var(--paper)}}.top-pad{height:calc(var(--top) + 10px)}.loading{text-align:center;color:var(--ink-3);padding:60px 20px;font-size:13px}.err-box{background:var(--seal-soft);color:var(--seal-ink);border-radius:14px;margin:20px 16px 0;padding:14px 16px;font-size:14px;line-height:1.6}.login-box{background:var(--surface);text-align:center;border-radius:18px;margin:18px 16px 0;padding:20px 18px}.login-box img{border-radius:10px;width:200px;height:200px;margin:0 auto}.login-box .ph{background:var(--fill);border-radius:10px;width:200px;height:200px;margin:0 auto}.login-box p{color:var(--ink-2);margin-top:12px;font-size:14px;line-height:1.7}.login-box .btn{margin-top:14px}.btn-wx{background:#07c160}.btn:disabled{opacity:.5}a{color:inherit;text-decoration:none}.q-zh{margin-top:10px;font-size:26px;font-weight:750;line-height:1.35}.q-play{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:76px;height:76px;margin:12px auto 0;display:grid}.q-play svg{width:30px;height:30px}.q-peek{color:var(--ink-3);margin-top:12px;font-size:13px}.q-peek button{color:var(--ink-3);text-underline-offset:3px;font-size:13px;text-decoration:underline}.q-peek b{font-family:var(--en);color:var(--ink);font-size:26px}.q-peek b small{color:var(--ink-2);font-size:15px;font-weight:400}.spell{margin:16px 16px 0}.slots{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.slot{background:var(--surface);width:34px;height:44px;box-shadow:inset 0 -2px 0 var(--line);font:600 22px var(--en);border-radius:10px;place-items:center;display:grid}.slot.on{box-shadow:inset 0 -2px 0 var(--ink)}.slot.fixed{box-shadow:none;background:0 0;width:14px}.slots.ok .slot.on{background:var(--ok-soft);color:var(--ok);box-shadow:none}.slots.bad .slot.on{background:var(--seal-soft);color:var(--seal);box-shadow:none}.tiles{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.tile{background:var(--surface);width:46px;height:50px;box-shadow:inset 0 0 0 1px var(--line), 0 2px 0 var(--line);font:600 22px var(--en);border-radius:12px}.tile:active{transform:translateY(1px)}.tile.used{opacity:.25}.perday button{position:relative}.perday .tip{background:var(--seal);color:#fff;border-radius:6px;padding:2px 6px;font-size:10.5px;font-style:normal;font-weight:700;position:absolute;top:-8px;right:6px}.base-row{background:var(--surface);text-align:left;border-radius:16px;align-items:center;gap:12px;width:calc(100% - 32px);margin:16px 16px 0;padding:14px 16px;display:flex}.base-row .tx{flex:1}.base-row b{font-size:15px;display:block}.base-row .tx span{color:var(--ink-3);margin-top:3px;font-size:12.5px;line-height:1.5;display:block}.base-row.on .sw{background:var(--ink)}.base-row.on .sw:after{transform:translate(16px)}.rows a.row{color:var(--ink)}.done-card{background:var(--ok-soft);border-radius:18px;align-items:center;gap:12px;margin:14px 16px 0;padding:14px 16px;display:flex}.done-card .tx{flex:1}.done-card b{color:var(--ok);font-size:15px;display:block}.done-card span{color:#5e8a72;margin-top:2px;font-size:12.5px;line-height:1.5;display:block}.done-card .go{background:var(--ok);color:#fff;border-radius:10px;flex:none;place-items:center;height:36px;padding:0 14px;font-size:13.5px;font-weight:650;display:grid}.wrong-link{background:var(--surface);color:var(--ink-2);border-radius:14px;justify-content:space-between;align-items:center;margin:10px 16px 0;padding:11px 16px;font-size:13.5px;display:flex}.wrong-link b{color:var(--ink)}.stub-book{background:var(--surface);color:var(--ink-2);border-radius:18px;margin:14px 16px 0;padding:16px;font-size:14px;line-height:1.7}.stub-book b{color:var(--ink)}.toc-list{background:var(--surface);border-radius:18px;margin:0 16px;padding:2px 14px}.toc-row{border-bottom:1px solid var(--line-2);align-items:center;gap:10px;padding:12px 0;font-size:14.5px;display:flex}.toc-row:last-child{border-bottom:0}.toc-row .no{font:600 13px var(--num);color:var(--ink-3);flex:none;width:28px}.toc-row .tt{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-family:var(--song);flex:1;font-weight:700;overflow:hidden}.toc-row .tt.na{font-family:var(--font);color:var(--ink-3);font-weight:400}.toc-row .st{color:var(--ink-3);flex:none;font-size:12px}.toc-row .st.ok{color:var(--ok);font-weight:600}.toc-row .st.bad{color:var(--seal);font-weight:600}.toc-row .st.now{color:#fff;background:var(--ink);border-radius:6px;padding:2px 7px}.seg4{background:var(--fill);border-radius:12px;grid-template-columns:repeat(4,1fr);margin:4px 16px 14px;padding:3px;display:grid}.seg4 button,.seg4 a{height:36px;color:var(--ink-2);border-radius:10px;place-items:center;font-size:13.5px;font-weight:600;display:grid}.seg4 .on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #00000014}.wl{background:var(--surface);border-radius:18px;margin:0 16px;padding:2px 16px}.wl>div{border-bottom:1px solid var(--line-2);cursor:pointer;align-items:baseline;gap:8px;padding:12px 0;display:flex}.wl>div:last-child{border-bottom:0}.wl b{font-family:var(--en);font-size:17px}.wl .m{min-width:0;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.tabbar{z-index:30;padding:6px 8px calc(var(--bot) + 6px);border-top:1px solid var(--line-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#faf8f3f7;grid-template-columns:repeat(4,1fr);display:grid;position:sticky;bottom:0}.tabbar a{color:var(--ink-3);justify-items:center;gap:2px;padding:2px 0;font-size:10.5px;display:grid}.tabbar a.on{color:var(--ink);font-weight:650}.tabbar .ic{position:relative}.tabbar .badge{background:var(--seal);color:#fff;min-width:16px;height:16px;font:700 10px/16px var(--num);text-align:center;border-radius:8px;padding:0 4px;font-style:normal;position:absolute;top:-4px;left:15px}.foot.tabbed{bottom:calc(57px + var(--bot));padding-bottom:10px}.tab-h{padding:calc(var(--top) + 14px) 20px 10px;justify-content:space-between;align-items:baseline;display:flex}.tab-h h1{font-size:24px;font-weight:850}.tab-h span{color:var(--ink-3);font-size:12.5px}.dlg-mask{z-index:100;opacity:0;pointer-events:none;background:#14120f73;place-items:center;padding:24px;transition:opacity .18s;display:grid;position:fixed;inset:0}.dlg-mask.on{opacity:1;pointer-events:auto}.dlg{background:var(--paper);border-radius:22px;width:100%;max-width:340px;padding:22px 18px 16px;transition:transform .18s;transform:scale(.96);box-shadow:0 24px 60px -20px #00000073}.dlg-mask.on .dlg{transform:none}.dlg>b{text-align:center;padding:0 6px;font-size:18px;font-weight:800;line-height:1.4;display:block}.dlg>p{color:var(--ink-2);text-align:center;white-space:pre-line;margin-top:8px;padding:0 6px;font-size:14px;line-height:1.7}.dlg .btn-row{margin-top:18px}.dlg .btn{height:46px;font-size:15.5px}.cliff small{color:var(--ink-3);margin-top:4px;font-size:12px;line-height:1.6;display:block}.cliff.next-ch{color:var(--ink-2);align-items:center;gap:12px;display:flex}.cliff.next-ch>span{flex:1;min-width:0}.cliff.next-ch i{color:#fff;background:var(--ink);border-radius:10px;flex:none;padding:8px 12px;font-size:13.5px;font-style:normal;font-weight:700}.read-tip{color:var(--ink-3);text-align:center;margin:10px 20px 0;font-size:12px;line-height:1.6}.novel ruby.old{color:var(--ink-2);border-bottom:1.5px dashed var(--ink-3);font-weight:600}.novel ruby.old rt{color:var(--ink-3)}button.wp-phone{padding:0;display:block}.wp-pager{justify-content:center;gap:6px;margin-top:12px;display:flex}.wp-pager button{height:28px;color:var(--ink-2);background:var(--fill);border-radius:14px;padding:0 12px;font-size:12.5px}.wp-pager button.on{background:var(--ink);color:var(--paper);font-weight:600}.wp-per{grid-template-columns:1fr 1fr;margin:0 16px}.wp-per button b{font-size:14px}.sh-d{margin-top:12px}.sh-d>div{color:var(--ink-2);margin-top:3px;font-size:14.5px;line-height:1.55}.sh-d>div:first-child{color:var(--ink);margin-top:0;font-size:18px;font-weight:650}.sh-d small,.q-zh small{font-family:var(--en);color:var(--ink-3);margin-right:6px;font-size:13px;font-style:italic;font-weight:500}.q-zh small{display:inline}.q-zh>div+div{color:var(--ink-2);margin-top:6px;font-size:18px;font-weight:600;line-height:1.4}.opt:not(.en){padding-top:10px;padding-bottom:10px;font-size:15px;line-height:1.45}.sheet{max-height:88vh;overflow-y:auto}.sh-add{height:46px;margin-top:16px;font-size:15px}.sh-inbook{background:var(--seal-soft);color:var(--seal-ink);border-radius:12px;justify-content:space-between;align-items:center;margin-top:16px;padding:12px 14px;font-size:13.5px;display:flex}.sh-inbook b{color:var(--seal-ink)}.sh-inbook button{color:var(--ink-3);padding:2px 4px;font-size:13px}.wb-stats{background:var(--surface);border-radius:16px;grid-template-columns:repeat(3,1fr);margin:2px 16px 0;padding:12px 4px;display:grid}.wb-stats>div{text-align:center}.wb-stats>div+div{border-left:1px solid var(--line-2)}.wb-stats b{font-size:22px;font-weight:800;line-height:1.2;display:block}.wb-stats span{color:var(--ink-3);font-size:11.5px}.wb-stats .hot b{color:var(--seal)}.wl>.wr{padding:11px 0;display:block}.wr .l1{align-items:baseline;gap:8px;min-width:0;display:flex}.wr .l2{color:var(--ink-3);justify-content:space-between;align-items:center;margin-top:4px;font-size:11.5px;display:flex}.wr .m.hid{color:#0000;background:var(--line);border-radius:6px;flex:0 55%;align-self:center;height:15px}.wr .steps{color:var(--line);flex:none}.wr .steps i{color:var(--ink-3);margin:0 3px;font-style:normal}.wr .steps i.done{color:var(--ink-2);text-decoration:line-through;-webkit-text-decoration-color:var(--ink-3);text-decoration-color:var(--ink-3)}.wr .steps i.on{color:var(--seal);font-weight:650}.pic-end{background:var(--surface);text-align:center;border-radius:16px;margin:18px 16px 0;padding:16px 18px}.pic-end small{color:var(--ink-3);letter-spacing:.08em;font-size:11.5px}.pic-end p{font-family:var(--song);color:var(--ink);margin-top:6px;font-size:19px;font-weight:800;line-height:1.55}.pic-end+.cliff{margin-top:10px}.mask.top{z-index:71}.sheet.top{z-index:72}.sheet-h{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.sheet-h b{font-size:18px;font-weight:800}.set-guide .tabs{margin:8px 0 0}.set-guide ol{counter-reset:s;margin-top:10px;list-style:none}.set-guide li{counter-increment:s;color:var(--ink-2);gap:10px;padding:6px 0;font-size:13.5px;line-height:1.65;display:flex}.set-guide li:before{content:counter(s);background:var(--fill);width:20px;height:20px;color:var(--ink);border-radius:50%;flex:none;place-items:center;margin-top:2px;font-size:11px;font-weight:700;display:grid}.fold{background:var(--surface);border-radius:14px;margin:12px 16px 0;overflow:hidden}.fold>button{justify-content:space-between;align-items:center;width:100%;height:48px;padding:0 14px;font-size:14.5px;font-weight:650;display:flex}.fold>button svg{color:var(--ink-3);transition:transform .2s}.fold.open>button svg{transform:rotate(180deg)}.fold .set-guide{padding:0 14px 12px}.kefu{text-align:center;padding:4px 0 6px}.kefu p{color:var(--ink-2);font-size:13.5px}.kefu img{width:200px;height:200px;box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;margin:14px auto 8px;display:block}.kefu small{color:var(--ink-3);font-size:12px}.vguide{color:#cfcac0;text-underline-offset:3px;margin:6px auto 0;font-size:13px;text-decoration:underline;display:block}.own-renew{width:100%;height:40px;color:var(--ink);background:#f3f0ea;border-radius:11px;margin-top:12px;font-size:14px;font-weight:700;display:block}.rows.dim .row span{color:var(--ink-3);font-size:14px}.adm-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:0 16px;display:grid}.adm-stats>div{background:var(--surface);text-align:center;border-radius:14px;padding:12px 10px}.adm-stats b{font-size:19px;font-weight:800;display:block}.adm-stats span{color:var(--ink-3);font-size:11.5px}.adm-inc span small{margin-top:2px;display:block}.adm-inc b{font-size:15px}.adm-card{background:var(--surface);border-radius:18px;margin:0 16px;padding:14px 16px 16px}.adm-card>b{font-size:15px}.adm-chips{flex-wrap:wrap;gap:6px;margin:10px 0 12px;display:flex}.adm-chips button{background:var(--fill);height:32px;color:var(--ink-2);border-radius:16px;padding:0 12px;font-size:13.5px}.adm-chips button.on{background:var(--ink);color:var(--paper);font-weight:650}.adm-form{grid-template-columns:1fr 1fr;gap:10px;display:grid}.adm-form label,.adm-note{color:var(--ink-3);font-size:12px;display:block}.adm-form input,.adm-note input{background:var(--fill);width:100%;height:40px;color:var(--ink);border:0;border-radius:10px;outline:none;margin-top:4px;padding:0 12px;font-size:16px;display:block}.adm-note{margin:10px 0 12px}.adm-batch{background:var(--surface);border-radius:16px;margin:0 16px 10px;padding:12px 14px}.adm-batch .hd{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.adm-batch .hd>span{flex:1;min-width:0}.adm-batch .hd b{font-size:14px;display:block}.adm-batch .hd small{color:var(--ink-3);margin-top:3px;font-size:12px;line-height:1.5;display:block}.adm-batch .hd em{color:var(--seal);font-style:normal;font-weight:650}.adm-batch .hd i{color:var(--ink-2);flex:none;font-size:12.5px;font-style:normal}.adm-batch .btn-row{margin-top:10px}.adm-batch .btn-row .btn{height:40px;font-size:14px}.adm-codes{border-top:1px solid var(--line-2);margin-top:10px}.adm-codes>div{border-bottom:1px solid var(--line-2);align-items:center;gap:8px;padding:8px 0;font-size:12.5px;display:flex}.adm-codes code{letter-spacing:.02em;font-size:13px;font-weight:600}.adm-codes span{color:var(--ink-3);text-align:right;flex:1}.adm-codes button{color:var(--seal);padding:2px 4px;font-size:12.5px}.adm-copy{background:var(--fill);width:100%;height:160px;color:var(--ink);border:0;border-radius:10px;margin:10px 0 14px;padding:10px;font-size:13px;line-height:1.5;display:block}.pay-qr{text-align:center;padding:4px 0 2px}.pay-qr img{width:200px;height:200px;box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;margin:0 auto 10px;display:block}.pay-qr b{font-size:15px}.pay-qr p,.pay-tip p{color:var(--ink-3);margin-top:4px;font-size:12.5px;line-height:1.6}.pay-tip{padding:2px 0 6px}.pay-tip b{font-size:15px}.pay-tip .btn{margin-top:12px}.pay-msg{color:var(--seal-ink);text-align:center;margin-top:10px;font-size:13px;line-height:1.6}.renew p{color:var(--ink-2);margin:2px 0 14px;font-size:13.5px;line-height:1.7}.renew p b{color:var(--seal);font-size:15px}.renew .link-btn{margin-top:8px}.renew-bar{background:var(--seal-soft);border-radius:12px;align-items:center;margin:0 16px 10px;display:flex}.renew-bar button{text-align:left;color:var(--seal-ink);flex:1;padding:10px 12px;font-size:13px}.renew-bar button b{color:var(--seal-ink)}.renew-bar .x{color:var(--ink-3);flex:none;padding:10px 14px;font-size:16px}img.avatar{object-fit:cover;display:block}
