.sp-page{--sp-card:#fff;--sp-ink:#1f2937;--sp-muted:#6b7280;--sp-line:#f1e4d3;--sp-accent:#c1272d;--sp-accent-2:#9f1d22;--sp-gold:#f6c143;--sp-ok:#16a34a;--sp-soft:#fff6ec;--sp-radius:18px;--sp-border:0 0 0 1px var(--sp-line);--sp-shadow:0 8px 24px #78350f12;--sp-node-shadow:0 6px 0 var(--sp-accent-2);color:var(--sp-ink);flex-direction:column;gap:18px;display:flex}.sp-page a{color:inherit;text-decoration:none}.sp-page h1,.sp-page h2,.sp-page h3,.sp-page p{margin:0}.sp-page b,.sp-page strong{color:inherit}.sp-page mark{color:var(--sp-accent);background:0 0}.sp-page .sp-card{background:var(--sp-card);border-radius:var(--sp-radius);box-shadow:var(--sp-border),var(--sp-shadow);padding:18px 20px}.sp-page .sp-empty{text-align:center;color:var(--sp-muted);padding:40px 20px}.sp-page .sp-empty a{color:var(--sp-accent);font-weight:700}.sp-page .sp-muted{color:var(--sp-muted);font-size:14px}.sp-page .sp-link{color:var(--sp-accent);margin-top:10px;font-size:14px;font-weight:700;display:inline-block}.sp-page .sp-bar{background:var(--sp-soft);height:8px;box-shadow:inset 0 0 0 1px var(--sp-line);border-radius:99px;display:block;overflow:hidden}.sp-page .sp-bar em{border-radius:inherit;background:linear-gradient(90deg, var(--sp-accent), var(--sp-gold));height:100%;transition:width .4s;display:block}.sp-page .sp-bar.big{height:12px}.sp-page .sp-btn{background:linear-gradient(180deg, var(--sp-accent), var(--sp-accent-2));color:#fff;white-space:nowrap;text-overflow:ellipsis;border-radius:14px;align-items:center;gap:6px;max-width:100%;padding:12px 20px;font-weight:800;transition:transform .15s;display:inline-flex;overflow:hidden;box-shadow:0 6px 16px #c1272d47}.sp-page .sp-btn:hover{color:#fff;transform:translateY(-1px)}.sp-page .sp-hero{background:radial-gradient(circle at 92% 10%, #f6c14338, transparent 40%),var(--sp-card);align-items:center;gap:22px;padding:22px 26px;display:flex}.sp-page .sp-hero-ico{filter:drop-shadow(0 8px 14px #0000001f);flex-shrink:0}.sp-page .sp-hero-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.sp-page .sp-hero-body small{letter-spacing:.06em;text-transform:uppercase;color:var(--sp-muted);font-size:13px;font-weight:700}.sp-page .sp-hero-body h1{font-size:32px;line-height:1.2}.sp-page .sp-hero-body p{color:var(--sp-muted)}.sp-page .sp-hero-prog{align-items:center;gap:12px;margin-top:8px;display:flex}.sp-page .sp-hero-prog .sp-bar{flex:1;max-width:420px}.sp-page .sp-hero-prog span{color:var(--sp-muted);white-space:nowrap;font-size:14px}.sp-page .sp-hero-prog b{color:var(--sp-ink)}.sp-page .sp-done-all{color:var(--sp-ok);font-weight:800}.sp-page .sp-subjects{gap:8px;padding:2px 2px 6px;display:flex;overflow-x:auto}.sp-page .sp-subjects a{background:var(--sp-card);box-shadow:var(--sp-border);white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:6px 14px 6px 8px;font-size:14px;font-weight:700;display:inline-flex}.sp-page .sp-subjects a:hover{color:var(--sp-accent)}.sp-page .sp-subjects a.on{background:var(--sp-accent);color:#fff;box-shadow:none}.sp-page .sp-columns{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.sp-page .sp-main{flex-direction:column;gap:18px;min-width:0;display:flex}.sp-page .sp-side{flex-direction:column;gap:18px;display:flex;position:sticky;top:20px}.sp-page .sp-side h3{margin-bottom:10px;font-size:16px}.sp-page .sp-stage{background:var(--sp-card);border-radius:var(--sp-radius);box-shadow:var(--sp-border),var(--sp-shadow);padding:18px 22px 22px}.sp-page .sp-stage-head{align-items:flex-start;gap:14px;display:flex}.sp-page .sp-stage-head>div:nth-child(2){flex:1;min-width:0}.sp-page .sp-stage-head small{letter-spacing:.06em;text-transform:uppercase;color:var(--sp-accent);font-size:12px;font-weight:700}.sp-page .sp-stage-head h2{font-size:21px;line-height:1.3}.sp-page .sp-stage-head p{color:var(--sp-muted);margin-top:2px;font-size:14px}.sp-page .sp-stage-no{background:var(--sp-soft);width:44px;height:44px;color:var(--sp-accent);box-shadow:inset 0 0 0 2px var(--sp-accent);border-radius:14px;flex-shrink:0;place-items:center;font-size:20px;font-weight:900;display:grid}.sp-page .sp-stage.done .sp-stage-no{background:var(--sp-ok);color:#fff;box-shadow:none}.sp-page .sp-stage-prog{flex-direction:column;align-items:flex-end;gap:6px;min-width:120px;display:flex}.sp-page .sp-stage-prog b{font-size:15px}.sp-page .sp-stage-prog .sp-bar{width:120px}.sp-page .sp-stage-prog a{color:var(--sp-accent);font-size:13px;font-weight:700}.sp-page .sp-path{flex-direction:column;gap:14px;margin:18px 0 0;padding:0 0 0 8px;list-style:none;display:flex;position:relative}.sp-page .sp-node{padding-left:calc(var(--o)*56px);transition:padding .2s;position:relative}.sp-page .sp-node-link{align-items:center;gap:14px;max-width:560px;display:flex}.sp-page .sp-dot{z-index:1;background:linear-gradient(180deg, #ff6b62, var(--sp-accent));color:#fff;width:62px;height:62px;box-shadow:var(--sp-node-shadow);border-radius:50%;flex-shrink:0;place-items:center;font-size:22px;font-weight:900;transition:transform .15s;display:grid;position:relative}.sp-page .sp-node-card{border-radius:14px;flex-direction:column;flex:1;gap:2px;min-width:0;padding:10px 14px;display:flex;position:relative}.sp-page .sp-node-card b{text-overflow:ellipsis;white-space:nowrap;font-size:15.5px;overflow:hidden}.sp-page .sp-node-card small{color:var(--sp-muted);font-size:12.5px}.sp-page .sp-node-card .sp-best{color:var(--sp-ok);font-size:12px;font-style:normal;font-weight:700}.sp-page .sp-now{background:var(--sp-gold);color:#5a3a00;border-radius:99px;padding:2px 10px;font-size:11.5px;font-style:normal;font-weight:800;position:absolute;top:-10px;right:12px}.sp-page a.sp-node-link:hover .sp-dot{transform:translateY(-2px)}.sp-page a.sp-node-link:hover .sp-node-card b{color:var(--sp-accent)}.sp-page .sp-node.done .sp-dot{background:linear-gradient(180deg, #4ade80, var(--sp-ok));box-shadow:0 6px #11733a}.sp-page .sp-node.locked .sp-dot{color:#6b7280;background:#e5e7eb;font-size:20px;box-shadow:0 6px #c4c8ce}.sp-page .sp-node.locked .sp-node-card{opacity:.65}.sp-page .sp-node.current .sp-dot{animation:1.8s ease-out infinite sp-pulse}.sp-page .sp-node.todo .sp-dot{background:linear-gradient(180deg, #ffd56b, var(--sp-gold));color:#6b4300;box-shadow:0 6px #c48a12}.sp-page .sp-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sp-page .sp-list li+li{border-top:1px dashed var(--sp-line)}.sp-page .sp-list a{flex-direction:column;padding:8px 0;display:flex}.sp-page .sp-list a:hover b{color:var(--sp-accent)}.sp-page .sp-list small{color:var(--sp-muted);font-size:12.5px}.sp-page .sp-tips{color:var(--sp-muted);flex-direction:column;gap:8px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.sp-page .sp-tips li{gap:8px;display:flex}.sp-page .sp-tips span{text-align:center;flex-shrink:0;width:22px}.sp-page .sp-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.sp-page .sp-subject{align-items:center;gap:14px;transition:transform .15s;display:flex}.sp-page .sp-subject>div{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.sp-page .sp-subject b{font-size:18px}.sp-page .sp-subject small{color:var(--sp-muted);font-size:13px}.sp-page .sp-subject .sp-go{color:var(--sp-muted);font-size:26px}.sp-page .sp-subject:hover{transform:translateY(-2px)}.sp-page .sp-subject:hover b{color:var(--sp-accent)}@media (max-width:1100px){.sp-page .sp-columns{grid-template-columns:minmax(0,1fr)}.sp-page .sp-side{position:static}}@media (max-width:640px){.sp-page .sp-hero{flex-direction:column;align-items:flex-start;padding:18px}.sp-page .sp-hero h1{font-size:26px}.sp-page .sp-hero-prog{flex-wrap:wrap}.sp-page .sp-stage{padding:16px}.sp-page .sp-stage-head{flex-wrap:wrap}.sp-page .sp-stage-prog{align-items:flex-start}.sp-page .sp-node{padding-left:calc(var(--o)*18px)}.sp-page .sp-dot{width:52px;height:52px;font-size:19px}}@keyframes sp-pulse{0%{box-shadow:var(--sp-node-shadow),0 0 0 0 #c1272d73}70%{box-shadow:var(--sp-node-shadow),0 0 0 14px #c1272d00}to{box-shadow:var(--sp-node-shadow),0 0 0 0 #c1272d00}}html[data-theme=dark] .sp-page{--sp-card:#1c1f2b;--sp-ink:#eef0f7;--sp-muted:#a3a8bd;--sp-line:#ffffff17;--sp-soft:#ffffff0f;--sp-shadow:0 10px 28px #00000059;--sp-accent:#ff5a5f}html[data-theme=dark] .sp-page .sp-node.locked .sp-dot{color:#9aa0b4;background:#2c3040;box-shadow:0 6px #1a1d28}html[data-skin=hanzi] .sp-page{--sp-card:var(--hz-card);--sp-ink:var(--hz-ink);--sp-muted:var(--hz-ink-2);--sp-line:var(--hz-ink);--sp-accent:var(--hz-red);--sp-accent-2:#a82a2c;--sp-gold:var(--hz-gold);--sp-soft:var(--hz-paper);--sp-radius:10px 14px 9px 13px / 13px 9px 14px 10px;--sp-border:0 0 0 2px var(--hz-ink);--sp-shadow:3px 4px 0 2px var(--hz-shadow);--sp-node-shadow:0 0 0 2px var(--hz-ink), 2px 4px 0 2px var(--hz-shadow)}html[data-skin=hanzi] .sp-page mark{background:linear-gradient(transparent 6%, var(--hz-mark) 6%, var(--hz-mark) 94%, transparent 94%);color:#2a2421;padding:0 .18em}html[data-skin=hanzi] .sp-page .sp-hero{background:var(--hz-card)}html[data-skin=hanzi] .sp-page .sp-dot{background:var(--hz-red);color:var(--hz-gold)}html[data-skin=hanzi] .sp-page .sp-node.todo .sp-dot{background:var(--hz-gold);color:#2a2421;box-shadow:var(--sp-node-shadow)}html[data-skin=hanzi] .sp-page .sp-node.done .sp-dot{color:#fff;box-shadow:var(--sp-node-shadow);background:#2f8f4e}html[data-skin=hanzi] .sp-page .sp-node.locked .sp-dot{background:var(--hz-paper);color:var(--hz-ink-2);box-shadow:var(--sp-node-shadow)}html[data-skin=hanzi] .sp-page .sp-node-card{box-shadow:0 0 0 1.6px var(--hz-ink);border-radius:9px 12px 8px 11px}html[data-skin=hanzi] .sp-page .sp-btn{color:#fff;box-shadow:0 0 0 2px #2a2421,3px 4px 0 2px var(--hz-shadow);background:#2a2421;border-radius:10px}html[data-skin=hanzi] .sp-page .sp-subjects a.on{color:#fff;background:#2a2421}html[data-skin=hanzi] .sp-page .sp-bar{box-shadow:inset 0 0 0 2px var(--hz-ink)}html[data-skin=hanzi] .sp-page .sp-bar em{background:repeating-linear-gradient(-45deg, var(--hz-red), var(--hz-red) 6px, #a82a2c 6px, #a82a2c 12px)}html[data-skin=hanzi] .sp-page .sp-stage-no{background:var(--hz-paper);color:var(--hz-ink);box-shadow:0 0 0 2px var(--hz-ink),2px 3px 0 2px var(--hz-shadow);border-radius:8px 10px 7px 11px}html[data-skin=hanzi] .sp-page .sp-now{background:var(--hz-mark);color:#2a2421;box-shadow:0 0 0 1.5px var(--hz-ink)}html[data-skin=hanzi] .sp-page .sp-list li+li{border-top-color:#2a242140}html[data-skin=hanzi][data-theme=dark] .sp-page .sp-btn,html[data-skin=hanzi][data-theme=dark] .sp-page .sp-subjects a.on{background:var(--hz-gold);color:#2a2421;box-shadow:0 0 0 2px var(--hz-gold),3px 4px 0 2px var(--hz-shadow)}html[data-skin=hanzi][data-theme=dark] .sp-page .sp-list li+li{border-top-color:#ffffff26}.sp-boot{min-height:100vh}.sp-page .sp-sec-title{align-items:center;gap:12px;margin-top:6px;display:flex}.sp-page .sp-sec-title>i{background:linear-gradient(180deg, var(--sp-gold), #e9a521);border-radius:99px;flex-shrink:0;width:6px;height:40px}.sp-page .sp-sec-title h2{font-size:22px;line-height:1.2}.sp-page .sp-sec-title small{color:var(--sp-muted);font-size:13.5px}.sp-page .sp-books{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;display:grid}.sp-page .sp-book{border-radius:var(--sp-radius);box-shadow:var(--sp-border),var(--sp-shadow);flex-direction:column;transition:transform .15s;display:flex;position:relative;overflow:hidden}.sp-page .sp-book:hover{transform:translateY(-3px)rotate(-.4deg)}.sp-page .sp-book.current{outline:3px solid var(--sp-gold);outline-offset:3px}.sp-page .sp-book-face{text-align:center;color:#ffd36b;background:linear-gradient(160deg, #e0453f, var(--sp-accent) 55%, #9f1d22);flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:150px;padding:22px 16px;display:flex;position:relative}.sp-page .sp-book-face small{letter-spacing:.06em;text-transform:uppercase;opacity:.85;color:inherit;font-size:12.5px;font-weight:700}.sp-page .sp-book-face b{color:inherit;text-shadow:1px 2px #5a0a0a59;font-size:28px;line-height:1.2}.sp-page .sp-book-face em{color:#6b2d00;background:#ffd36b;border-radius:99px;padding:2px 10px;font-size:11.5px;font-style:normal;font-weight:800;position:absolute;top:10px;right:10px}.sp-page .sp-book-face em.ok{color:#15803d;background:#dcfce7}.sp-page .sp-book-strip{background:linear-gradient(180deg, #ffd56b, var(--sp-gold));color:#4a2a00;text-align:center;padding:10px 12px;font-size:14px;font-weight:800}@media (max-width:640px){.sp-page .sp-books{grid-template-columns:1fr 1fr;gap:14px}.sp-page .sp-book-face{min-height:110px;padding-top:36px}.sp-page .sp-book-face b{font-size:20px}}html[data-skin=hanzi] .sp-page .sp-sec-title>i{background:var(--hz-gold);width:7px;box-shadow:0 0 0 1.5px var(--hz-ink);border-radius:3px}html[data-skin=hanzi] .sp-page .sp-book{box-shadow:0 0 0 2px var(--hz-ink),3px 4px 0 2px var(--hz-shadow);border-radius:4px 6px 5px 7px}html[data-skin=hanzi] .sp-page .sp-book.current{outline:2.5px dashed var(--hz-red);outline-offset:5px}html[data-skin=hanzi] .sp-page .sp-book-face{color:var(--hz-gold);background-color:var(--hz-red);background-image:radial-gradient(#ffecc88c .8px,#0000 1.3px),radial-gradient(#5a0a0a59 .8px,#0000 1.3px),radial-gradient(#ffffff40 .6px,#0000 1.1px);background-position:0 0,4px 6px,2px 3px;background-size:9px 9px,13px 13px,5px 7px}html[data-skin=hanzi] .sp-page .sp-book-face small{color:var(--hz-gold)}html[data-skin=hanzi] .sp-page .sp-book-face b{color:var(--hz-gold);font-size:32px}html[data-skin=hanzi] .sp-page .sp-book-face em{background:var(--hz-mark);color:#2a2421;box-shadow:0 0 0 1.5px var(--hz-ink)}html[data-skin=hanzi] .sp-page .sp-book-face em.ok{color:#1f6b3a;background:#d9efd9}html[data-skin=hanzi] .sp-page .sp-book-strip{border-top:2px solid var(--hz-ink);color:#2a2421;background:#efb44f}@media (max-width:640px){html[data-skin=hanzi] .sp-page .sp-book-face b{font-size:20px}}html[data-theme=dark] .sp-page .sp-book-strip{color:#2a1a00}.sp-page .sp-book.soon{cursor:default}.sp-page .sp-book.soon:hover{transform:none}.sp-page .sp-book.soon .sp-book-face{filter:saturate(.55)brightness(.97)}.sp-page .sp-book.soon .sp-book-face em.soon{color:#6b4300;background:#ffffffd9}.sp-page .sp-book.soon .sp-book-strip{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.sp-dict-wrap{z-index:400;background:#2a242140;animation:.15s ease-out sp-fade;position:fixed;inset:0}@keyframes sp-fade{0%{opacity:0}}.sp-dict{background:var(--hz-paper,#fff);width:min(440px,100%);color:var(--hz-ink,#1f2937);border-left:2px solid var(--hz-ink,#e5e7eb);flex-direction:column;gap:10px;padding:18px 18px 0;animation:.2s ease-out sp-slide;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-6px 0 #2a242126}.sp-dict header{justify-content:space-between;align-items:center;display:flex}.sp-dict header b{color:inherit;font-size:18px}.sp-dict header button{cursor:pointer;color:inherit;background:0 0;border:0;font-size:18px}@keyframes sp-slide{0%{opacity:0;transform:translate(30px)}}.sp-dict-input{background:var(--hz-card,#fff);width:100%;height:42px;color:inherit;font:inherit;box-shadow:0 0 0 2px var(--hz-ink,#e5e7eb),2px 3px 0 2px var(--hz-shadow,transparent);border:0;border-radius:10px;outline:none;padding:0 14px;font-size:15px}.sp-dict-count{color:var(--hz-ink-2,#6b7280);font-size:12.5px}.sp-dict-list{flex-direction:column;gap:10px;margin:0 -4px;padding:2px 4px 20px;list-style:none;display:flex;overflow-y:auto}.sp-dict-list li{background:var(--hz-card,#fff);box-shadow:0 0 0 1.6px var(--hz-ink,#e5e7eb),2px 3px 0 1.6px var(--hz-shadow,transparent);border-radius:10px 13px 9px 12px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.sp-dict-list li>div{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.sp-dict-list li>div b{color:inherit;font-size:26px;line-height:1.25}.sp-dict-list li>div b.zh{font-family:KaiTi,STKaiti,PingFang SC,Microsoft YaHei,serif!important}.sp-dict-list li>div em{color:var(--hz-red,#c1272d);font-size:15px;font-style:normal}.sp-dict-list li>div span{font-size:15px}.sp-dict-list li>div a{color:var(--hz-ink-2,#6b7280);margin-top:2px;font-size:12.5px;text-decoration:underline}.sp-dict-list .sp-dict-empty{color:var(--hz-ink-2,#6b7280);box-shadow:none;background:0 0;justify-content:center}.sp-dict-say{background:var(--hz-mark,#fde68a);cursor:pointer;width:38px;height:38px;box-shadow:0 0 0 1.6px var(--hz-ink,transparent);border:0;border-radius:50%;flex-shrink:0;font-size:17px}html[data-theme=dark] .sp-dict-wrap{background:#00000080}.sp-page .hr-wrap .sp-main{flex-direction:column;gap:18px;display:flex}.sp-page .hr-muted{color:var(--sp-muted);font-size:14px}.sp-page .hr-now{background:radial-gradient(circle at 96% 0, #f6c14340, transparent 45%),var(--sp-card);flex-direction:column;gap:14px;padding:20px 22px;display:flex}.sp-page .hr-now.done{flex-direction:row;align-items:center;gap:16px}.sp-page .hr-now small{letter-spacing:.04em;text-transform:uppercase;color:var(--sp-accent);font-size:12.5px;font-weight:800}.sp-page .hr-now h3{margin-top:2px;font-size:21px;font-weight:900}.sp-page .hr-now p{color:var(--sp-muted);font-size:14px}.sp-page .hr-now-ico{font-size:40px}.sp-page .hr-now-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.sp-page .hr-go svg{width:18px;height:18px}.sp-page .hr-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.sp-page .hr-steps li>a{background:var(--sp-soft);height:100%;box-shadow:inset 0 0 0 1.5px var(--sp-line);cursor:pointer;border-radius:14px;align-items:flex-start;gap:10px;padding:12px;transition:transform .12s;display:flex}.sp-page .hr-steps li>a:hover{transform:translateY(-2px)}.sp-page .hr-steps li.now>a{box-shadow:inset 0 0 0 2px var(--sp-accent);background:var(--sp-card)}.sp-page .hr-steps li.done>a{opacity:.8}.sp-page .hr-step-ico{background:var(--sp-card);width:36px;height:36px;box-shadow:inset 0 0 0 1.5px var(--sp-line);border-radius:10px;flex-shrink:0;place-items:center;font-size:18px;display:grid}.sp-page .hr-steps li.done .hr-step-ico{color:#fff;box-shadow:none;background:#16a34a;font-weight:900}.sp-page .hr-step-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.sp-page .hr-step-body small{letter-spacing:.03em;color:var(--sp-muted);text-transform:none;font-size:11.5px;font-weight:700}.sp-page .hr-step-body b{font-size:15px}.sp-page .hr-step-body>em{color:var(--sp-muted);font-size:12.5px;font-style:normal}.sp-page .hr-step-body .sp-bar{height:6px}.sp-page .hr-review{flex-direction:column;gap:12px;display:flex}.sp-page .hr-review h3{font-size:17px}.sp-page .hr-review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.sp-page .hr-tile{background:var(--sp-soft);box-shadow:inset 0 0 0 1.5px var(--sp-line);border-radius:14px;flex-direction:column;gap:2px;padding:12px 14px;transition:transform .12s;display:flex}.sp-page .hr-tile b{color:var(--sp-accent);font-size:26px;font-weight:900;line-height:1.1}.sp-page .hr-tile span{color:var(--sp-muted);font-size:13px}.sp-page .hr-tile:hover{transform:translateY(-2px)}.sp-page .hr-tile.empty{opacity:.55}.sp-page .hr-tile.empty b{color:var(--sp-muted)}.sp-page .hr-review-go{align-self:flex-start}.sp-page .hr-path .sp-stage-head p{font-size:13.5px}.sp-page .hr-path button.sp-node-link{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.sp-page .hr-pips{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.sp-page .hr-pips i{background:var(--sp-soft);color:var(--sp-muted);box-shadow:inset 0 0 0 1px var(--sp-line);border-radius:99px;padding:2px 8px;font-size:12px;font-style:normal;font-weight:700}.sp-page .hr-pips i.half{color:var(--sp-ink)}.sp-page .hr-pips i.on{color:#15803d;background:#16a34a24;box-shadow:inset 0 0 0 1px #16a34a66}.sp-page .sp-node.paid .sp-dot{background:linear-gradient(180deg, #ffe08a, var(--sp-gold));color:#8a5a00}.sp-page .sp-node.paid .sp-dot svg{width:26px;height:26px}.sp-page .sp-node.paid .sp-node-card{opacity:.8}.sp-page .sp-node.todo.started .sp-dot{color:#fff;background:linear-gradient(#ffb27a,#f08a3c)}.sp-page .hr-test{padding-left:84px}.sp-page .hr-test-dot{background:linear-gradient(#6b7cff,#4655d8);width:54px;height:54px;font-size:24px;box-shadow:0 5px #2f3aa3}.sp-page .hr-test.done .hr-test-dot{background:linear-gradient(180deg, #ffd56b, var(--sp-gold));box-shadow:0 5px #c48a12}.sp-page .hr-test-card small{color:var(--sp-muted);font-size:12.5px}.sp-page .hr-test-card .sp-best.ok{color:#15803d}.sp-page .hr-test-card .sp-best.soft{color:var(--sp-muted);font-style:normal}.sp-page .hr-sub{margin:22px 0 0;font-size:16px}.sp-page .hr-sub small{color:var(--sp-muted);font-size:13px;font-weight:500}.sp-page .hr-more-title{margin:8px 0 -4px;font-size:18px}.sp-page .hr-more-title small{color:var(--sp-muted);font-size:13.5px;font-weight:500}.sp-page .hr-week{flex-direction:column;gap:12px;display:flex}.sp-page .hr-days{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;margin:0;padding:0;list-style:none;display:grid}.sp-page .hr-days li{color:var(--sp-muted);flex-direction:column;align-items:center;gap:3px;font-size:11.5px;font-weight:700;display:flex}.sp-page .hr-days i{background:var(--sp-soft);width:30px;height:30px;box-shadow:inset 0 0 0 1.5px var(--sp-line);border-radius:50%;place-items:center;font-size:15px;font-style:normal;display:grid}.sp-page .hr-days li.on i{background:#fff1e0;box-shadow:inset 0 0 0 2px #f08a3c}.sp-page .hr-days li.today span{color:var(--sp-accent)}.sp-page .hr-days li.today i{box-shadow:inset 0 0 0 2px var(--sp-accent)}.sp-page .hr-days li.future i{opacity:.5}.sp-page .hr-goal{grid-template-columns:1fr auto;gap:4px 8px;font-size:13.5px;display:grid}.sp-page .hr-goal span{color:var(--sp-muted)}.sp-page .hr-goal .sp-bar{grid-column:1/-1}.sp-page .hr-ok{color:#15803d;font-size:13.5px;font-weight:700}.sp-page .hr-board ol{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.sp-page .hr-board li{border-radius:10px;align-items:center;gap:10px;padding:6px 8px;font-size:14px;display:flex}.sp-page .hr-board li.me{background:var(--sp-soft);box-shadow:inset 0 0 0 1.5px var(--sp-accent)}.sp-page .hr-board img,.sp-page .hr-board .hr-ava{object-fit:cover;border-radius:50%;flex-shrink:0;width:30px;height:30px}.sp-page .hr-board .hr-ava{background:var(--sp-soft);color:var(--sp-accent);place-items:center;font-weight:800;display:grid}.sp-page .hr-board b{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sp-page .hr-board em{color:var(--sp-accent);font-size:13px;font-style:normal;font-weight:800}.sp-page .hr-rank{text-align:center;width:22px;color:var(--sp-muted);font-weight:900}.sp-page .hr-rank.r1{color:#d4a017}.sp-page .hr-rank.r2{color:#9ca3af}.sp-page .hr-rank.r3{color:#b45309}.sp-page .hr-me{color:var(--sp-muted);margin-top:8px;font-size:13px}@media (max-width:720px){.sp-page .hr-steps,.sp-page .hr-review-grid{grid-template-columns:minmax(0,1fr)}.sp-page .hr-test{padding-left:18px}}html[data-theme=dark] .sp-page .hr-days li.on i{background:#3a2a1c}html[data-theme=dark] .sp-page .hr-pips i.on{color:#6ee7a0}html[data-skin=hanzi] .sp-page .hr-steps li>a,html[data-skin=hanzi] .sp-page .hr-tile{box-shadow:0 0 0 1.6px var(--hz-ink);background:var(--hz-paper);border-radius:9px 12px 8px 11px}html[data-skin=hanzi] .sp-page .hr-steps li.now>a{box-shadow:0 0 0 2px var(--hz-red),2px 3px 0 2px var(--hz-shadow);background:var(--hz-card)}html[data-skin=hanzi] .sp-page .hr-step-ico{box-shadow:0 0 0 1.6px var(--hz-ink);border-radius:8px 10px 7px 9px}html[data-skin=hanzi] .sp-page .hr-test-dot{color:var(--hz-gold);box-shadow:var(--sp-node-shadow);background:#2a2421}html[data-skin=hanzi] .sp-page .hr-test.done .hr-test-dot{background:var(--hz-gold);box-shadow:var(--sp-node-shadow)}html[data-skin=hanzi] .sp-page .sp-node.paid .sp-dot{background:var(--hz-mark);color:#2a2421;box-shadow:var(--sp-node-shadow)}html[data-skin=hanzi] .sp-page .sp-node.todo.started .sp-dot{color:#fff;box-shadow:var(--sp-node-shadow);background:#e98a4a}html[data-skin=hanzi] .sp-page .hr-days i{box-shadow:0 0 0 1.6px var(--hz-ink)}html[data-skin=hanzi] .sp-page .hr-now small{color:var(--hz-red)}.sp-page .sp-fold{background:var(--sp-soft);box-shadow:inset 0 0 0 1.5px var(--sp-line);color:var(--sp-ink);font:inherit;white-space:nowrap;cursor:pointer;border:0;border-radius:99px;padding:4px 10px;font-size:12.5px;font-weight:800}.sp-page .sp-fold:hover{color:var(--sp-accent);box-shadow:inset 0 0 0 1.5px var(--sp-accent)}.sp-page .sp-fold-more{background:var(--sp-soft);width:100%;box-shadow:inset 0 0 0 1.5px var(--sp-line);color:var(--sp-accent);font:inherit;cursor:pointer;border:0;border-radius:12px;margin-top:16px;padding:10px;font-size:14px;font-weight:800;display:block}.sp-page .sp-fold-more:hover{background:var(--sp-card)}html[data-skin=hanzi] .sp-page .sp-fold,html[data-skin=hanzi] .sp-page .sp-fold-more{box-shadow:0 0 0 1.6px var(--hz-ink);background:var(--hz-paper);border-radius:9px 12px 8px 11px}html[data-skin=hanzi] .sp-page .sp-fold-more{box-shadow:0 0 0 1.6px var(--hz-ink),2px 3px 0 1.6px var(--hz-shadow)}.sp-page .sp-group{color:#1f2937;align-items:baseline;gap:8px;margin:18px 0 10px;font-size:17px;font-weight:800;display:flex}.sp-page .sp-group small{color:#6b7280;font-size:13px;font-weight:600}.sp-page .sp-group:first-child{margin-top:4px}.sp-page .sp-subject .sp-go svg{display:block}.sp-page .sp-soon{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr))!important}.sp-page .sp-subject.soon{cursor:default;box-shadow:none;background:#fbfaf8;border-style:dashed}.sp-page .sp-subject.soon img{filter:saturate(.55);opacity:.8}.sp-page .sp-subject.soon b{color:#4b5563;font-size:16px}.sp-page .sp-subject.soon:hover{transform:none}.sp-page .sp-subject.soon:hover b{color:#4b5563}.sp-soon-tag{background:#fef3c7;border-radius:99px;align-self:flex-start;align-items:center;gap:4px;padding:1px 8px;font-weight:800;display:inline-flex;color:#b45309!important;font-size:11.5px!important}.sp-soon-tag svg{display:block}.sp-page .sp-hero2{background:radial-gradient(600px 220px at 100% 0%, color-mix(in srgb, var(--sp-gold) 22%, transparent), transparent 70%),radial-gradient(400px 200px at 0% 100%, color-mix(in srgb, var(--sp-accent) 7%, transparent), transparent 70%),var(--sp-card);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:26px 28px;display:grid;position:relative;overflow:hidden}.sp-page .sp-hero2-main{align-items:center;gap:22px;min-width:0;display:flex}.sp-page .sp-hero2-ico{background:linear-gradient(145deg, var(--sp-soft), color-mix(in srgb, var(--sp-gold) 18%, var(--sp-card)));width:116px;height:116px;box-shadow:inset 0 0 0 1px var(--sp-line),0 10px 24px -12px #78350f59;border-radius:30px;flex:none;place-items:center;display:grid}.sp-page .sp-hero2 .sp-hero-body{gap:6px}.sp-page .sp-hero2 .sp-hero-body h1{letter-spacing:-.02em;font-size:clamp(28px,3.4vw,38px)}.sp-page .sp-hero2 .sp-hero-body p{max-width:560px;font-size:15px;line-height:1.55}.sp-page .sp-hero2-acts{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.sp-page .sp-btn.ghost{background:var(--sp-card);color:var(--sp-accent);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--sp-accent) 45%, transparent)}.sp-page .sp-btn.ghost:hover{background:var(--sp-soft)}.sp-page .sp-hero2-stats{grid-template-columns:repeat(2,minmax(110px,1fr));gap:10px;display:grid}.sp-page .sp-stat{background:var(--sp-card);min-height:84px;box-shadow:var(--sp-border);border-radius:16px;flex-direction:column;justify-content:center;gap:2px;padding:12px 16px;display:flex}.sp-page .sp-stat b{color:var(--sp-ink);font-variant-numeric:tabular-nums;font-size:26px;font-weight:900;line-height:1.1}.sp-page .sp-stat small{color:var(--sp-muted);font-size:12.5px;font-weight:700}.sp-page .sp-stat.ring{text-align:center;align-items:center;gap:4px}.sp-page .sp-ring{width:56px;height:56px}.sp-page .sp-ring circle{fill:none;stroke-width:6px}.sp-page .sp-ring .bg{stroke:var(--sp-soft)}.sp-page .sp-ring .fg{stroke:var(--sp-accent);stroke-linecap:round;transform-origin:50%;transition:stroke-dashoffset .5s;transform:rotate(-90deg)}.sp-page .sp-ring text{fill:var(--sp-ink);font-size:13px;font-weight:800}.sp-page .sp-rail{align-items:center;min-width:0;display:flex;position:relative}.sp-page .sp-rail-track{scroll-behavior:smooth;scrollbar-width:none;gap:10px;min-width:0;padding:4px 2px 8px;display:flex;overflow-x:auto}.sp-page .sp-rail-track::-webkit-scrollbar{display:none}.sp-page .sp-rail-track a{background:var(--sp-card);box-shadow:var(--sp-border);color:var(--sp-ink);border-radius:16px;flex:none;align-items:center;gap:10px;padding:8px 16px 8px 8px;transition:transform .15s,box-shadow .15s,background .15s;display:flex}.sp-page .sp-rail-track a span{flex-direction:column;line-height:1.2;display:flex}.sp-page .sp-rail-track a b{white-space:nowrap;font-size:14px;font-weight:800}.sp-page .sp-rail-track a small{color:var(--sp-muted);white-space:nowrap;font-size:11.5px;font-weight:600}.sp-page .sp-rail-track a:hover{box-shadow:var(--sp-border),0 8px 16px -8px #78350f4d;transform:translateY(-2px)}.sp-page .sp-rail-track a.empty{opacity:.72}.sp-page .sp-rail-track a.on{background:linear-gradient(135deg, var(--sp-accent), var(--sp-accent-2));color:#fff;box-shadow:0 8px 18px -8px color-mix(in srgb, var(--sp-accent) 70%, transparent)}.sp-page .sp-rail-track a.on small{color:#ffffffd1}.sp-page .sp-rail:before,.sp-page .sp-rail:after{content:"";z-index:1;pointer-events:none;opacity:0;width:56px;transition:opacity .2s;position:absolute;top:0;bottom:6px}.sp-page .sp-rail:before{background:linear-gradient(90deg, var(--sp-bg,var(--sp-soft)), transparent);left:0}.sp-page .sp-rail:after{background:linear-gradient(270deg, var(--sp-bg,var(--sp-soft)), transparent);right:0}.sp-page .sp-rail.has-l:before,.sp-page .sp-rail.has-r:after{opacity:1}.sp-page .sp-rail-btn{z-index:2;background:var(--sp-card);width:34px;height:34px;box-shadow:var(--sp-border),0 6px 14px -6px #0000004d;color:var(--sp-ink);cursor:pointer;opacity:0;pointer-events:none;border:0;border-radius:50%;place-items:center;margin-top:-21px;font-size:22px;line-height:1;transition:opacity .2s,color .15s;display:grid;position:absolute;top:50%}.sp-page .sp-rail-btn:hover{color:var(--sp-accent)}.sp-page .sp-rail-btn.l{left:-6px}.sp-page .sp-rail-btn.r{right:-6px}.sp-page .sp-rail.has-l .sp-rail-btn.l,.sp-page .sp-rail.has-r .sp-rail-btn.r{opacity:1;pointer-events:auto}.sp-page .sp-empty2{text-align:center;background:radial-gradient(360px 160px at 50% 0%, color-mix(in srgb, var(--sp-gold) 16%, transparent), transparent 70%),var(--sp-card);flex-direction:column;align-items:center;gap:10px;padding:36px 28px 30px;display:flex}.sp-page .sp-empty2 h2{margin:6px 0 0;font-size:22px}.sp-page .sp-empty2 p{max-width:520px;color:var(--sp-muted);margin:0;line-height:1.6}.sp-page .sp-empty2-art{background:var(--sp-soft);width:110px;height:110px;box-shadow:inset 0 0 0 1px var(--sp-line),0 0 0 10px color-mix(in srgb, var(--sp-soft) 50%, transparent);border-radius:50%;place-items:center;display:grid}.sp-page .sp-empty2-acts{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;display:flex}.sp-page .sp-empty2-h{color:var(--sp-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:18px;font-size:12px;font-weight:800}.sp-page .sp-empty2-grid{text-align:left;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;width:100%;display:grid}.sp-page .sp-empty2-grid a{background:var(--sp-card);box-shadow:var(--sp-border);border-radius:14px;align-items:center;gap:10px;padding:10px 12px;transition:transform .15s;display:flex}.sp-page .sp-empty2-grid a span{flex-direction:column;flex:1;min-width:0;display:flex}.sp-page .sp-empty2-grid a b{font-size:14px}.sp-page .sp-empty2-grid a small{color:var(--sp-muted);font-size:12px}.sp-page .sp-empty2-grid a em{background:var(--sp-soft);color:var(--sp-accent);border-radius:99px;flex:none;padding:2px 8px;font-size:11.5px;font-style:normal;font-weight:800}.sp-page .sp-empty2-grid a:hover{transform:translateY(-2px)}.sp-page .sp-empty2-grid a:hover b{color:var(--sp-accent)}@media (max-width:1100px){.sp-page .sp-hero2{grid-template-columns:1fr}.sp-page .sp-hero2-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:640px){.sp-page .sp-hero2{padding:20px 18px}.sp-page .sp-hero2-main{flex-direction:column;align-items:flex-start;gap:14px}.sp-page .sp-hero2-ico{border-radius:22px;width:84px;height:84px}.sp-page .sp-hero2-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-page .sp-hero2-acts .sp-btn{flex:100%;justify-content:center}.sp-page .sp-rail-btn{display:none}}html[data-skin=hanzi] .sp-page .sp-rail-track a.on{background:var(--hz-gold);color:#2a2421;box-shadow:0 0 0 2px var(--hz-ink),3px 4px 0 2px var(--hz-shadow)}html[data-skin=hanzi] .sp-page .sp-rail-track a.on small{color:#5a4630}html[data-skin=hanzi] .sp-page .sp-hero2,html[data-skin=hanzi] .sp-page .sp-empty2{background:var(--hz-card)}html[data-skin=hanzi] .sp-page .sp-hero2-ico,html[data-skin=hanzi] .sp-page .sp-empty2-art{background:var(--hz-paper);box-shadow:0 0 0 2px var(--hz-ink)}html[data-theme=dark] .sp-page .sp-hero2-ico,html[data-theme=dark] .sp-page .sp-empty2-art{box-shadow:inset 0 0 0 1px var(--sp-line)}html[data-theme=dark] .sp-page .sp-ring text{fill:var(--sp-ink)}
