.algorithm-knowledge-graph{
  position:relative;
  margin-bottom:1.65rem;
  padding:1.3rem;
  overflow:hidden;
  border:1px solid #cfe3ef;
  border-radius:24px;
  background:
    radial-gradient(circle at 96% 0,rgba(45,198,198,.16),transparent 30%),
    radial-gradient(circle at 0 100%,rgba(83,139,231,.12),transparent 28%),
    linear-gradient(145deg,#fafdff 0%,#f1f9ff 52%,#f2fbf8 100%);
  box-shadow:0 22px 48px rgba(41,83,116,.12);
}
.algorithm-knowledge-graph::before,.algorithm-knowledge-graph::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.algorithm-knowledge-graph::before{right:-72px;top:-88px;width:210px;height:210px;border:35px solid rgba(48,196,199,.08)}
.algorithm-knowledge-graph::after{left:-45px;bottom:-55px;width:145px;height:145px;background:rgba(86,139,232,.05)}
.algorithm-graph-loading{position:relative;z-index:1;padding:2rem;color:#637f95;text-align:center;font-weight:850}
.algorithm-graph-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1rem}
.algorithm-graph-eyebrow{color:#237fb8;font-size:.8rem;font-weight:950;letter-spacing:.14em}
.algorithm-graph-head h3{margin:.25rem 0 .45rem;color:#173a55;font-size:1.82rem;line-height:1.2}
.algorithm-graph-head p{max-width:760px;margin:0;color:#647e92;font-size:1rem;line-height:1.65}
.algorithm-graph-legend{display:flex;flex:0 0 auto;gap:.9rem;padding:.72rem .9rem;border:1px solid #d8e8f1;border-radius:999px;background:rgba(255,255,255,.82);box-shadow:0 8px 18px rgba(45,88,122,.06)}
.algorithm-graph-legend span{display:flex;align-items:center;gap:.42rem;color:#526f86;font-size:.9rem;font-weight:900;white-space:nowrap}
.algorithm-graph-legend i{width:11px;height:11px;border-radius:50%;background:#c6d0d9;box-shadow:0 0 0 3px rgba(198,208,217,.18)}
.algorithm-graph-legend i.learning{background:#4e91e6;box-shadow:0 0 0 3px rgba(78,145,230,.16)}
.algorithm-graph-legend i.mastered{background:#2bb38a;box-shadow:0 0 0 3px rgba(43,179,138,.16)}
.algorithm-graph-summary{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.65fr);gap:.8rem}
.algorithm-graph-overall,.algorithm-graph-stats{min-height:132px;border:1px solid #d7e7f0;border-radius:17px;background:rgba(255,255,255,.91);box-shadow:0 10px 24px rgba(51,92,125,.07)}
.algorithm-graph-overall{display:flex;align-items:center;gap:1rem;padding:1rem}
.algorithm-graph-ring{display:grid;flex:0 0 92px;width:92px;height:92px;place-items:center;border-radius:50%;background:conic-gradient(#2eb8a5 var(--graph-progress),#e5edf3 0);box-shadow:0 9px 22px rgba(39,145,148,.13)}
.algorithm-graph-ring>div{display:grid;width:68px;height:68px;place-content:center;border-radius:50%;background:white;text-align:center}
.algorithm-graph-ring strong{color:#176c70;font-size:1.5rem;line-height:1}
.algorithm-graph-ring span{margin-top:.3rem;color:#7b8e9e;font-size:.72rem;font-weight:850}
.algorithm-graph-overall>div+div>strong{color:#1d415d;font-size:1.2rem;line-height:1.35}
.algorithm-graph-overall p{margin:.4rem 0 0;color:#718698;font-size:.88rem;line-height:1.55}
.algorithm-graph-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;padding:.65rem}
.algorithm-graph-stats span{display:grid;place-content:center;border-radius:12px;background:#f3f6f8;color:#64798b;text-align:center}
.algorithm-graph-stats span.is-learning{background:#eef6ff;color:#2775b5}
.algorithm-graph-stats span.is-lit{background:#eaf9f3;color:#16805f}
.algorithm-graph-stats strong{font-size:1.55rem;line-height:1}
.algorithm-graph-stats small{margin-top:.45rem;font-size:.8rem;font-weight:850;white-space:nowrap}
.algorithm-graph-workspace{position:relative;z-index:1;display:grid;grid-template-columns:minmax(350px,.42fr) minmax(0,1fr);gap:.9rem;align-items:stretch}
.algorithm-graph-content{display:grid;min-width:0;align-content:start;gap:.9rem}
.algorithm-graph-main,.algorithm-graph-side>section{border:1px solid #d7e6ef;border-radius:18px;background:rgba(255,255,255,.9)}
.algorithm-graph-main{min-width:0;padding:1rem}
.algorithm-graph-section-title,.knowledge-branch-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.algorithm-graph-section-title>div>span,.knowledge-branch-head>div>span,.algorithm-current-card>span,.algorithm-category-progress>div>span{color:#2a82b7;font-size:.66rem;font-weight:950;letter-spacing:.08em}
.algorithm-graph-section-title h4,.knowledge-branch-head h4{margin:.18rem 0 0;color:#213f57;font-size:1rem}
.algorithm-graph-section-title>small{color:#8093a2;font-size:.7rem}
.knowledge-domain-scroll,.knowledge-branch-scroll{overflow:visible}
.knowledge-domain-scroll{margin:.78rem 0 0;padding:.2rem 0 .65rem}
.knowledge-domain-route{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:.65rem}
.knowledge-domain{position:relative;display:grid;width:100%;min-height:88px;padding:.72rem .78rem;border:1px solid #dce5ec;border-radius:13px;background:#f5f7f9;color:#6a7f90;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.knowledge-domain:hover{transform:translateY(-2px);border-color:#93bfdc;box-shadow:0 10px 20px rgba(43,92,128,.1)}
.knowledge-domain>span{font-size:.72rem;font-weight:950;opacity:.75}
.knowledge-domain>strong{margin:.22rem 0;color:#526b7d;font-size:.94rem}
.knowledge-domain>small{font-size:.7rem;font-weight:750;white-space:nowrap}
.knowledge-domain>i{height:5px;margin-top:.45rem;overflow:hidden;border-radius:999px;background:#e1e8ed}
.knowledge-domain>i b{display:block;height:100%;border-radius:inherit;background:#b3c1cb}
.knowledge-domain.learning{border-color:#a8cde8;background:#f1f8ff;color:#2d78ae}.knowledge-domain.learning>strong{color:#276a99}.knowledge-domain.learning>i b{background:linear-gradient(90deg,#588fe6,#31c4ce)}
.knowledge-domain.mastered{border-color:#8bd2bc;background:#edfaf5;color:#19765d}.knowledge-domain.mastered>strong{color:#196c56}.knowledge-domain.mastered>i b{background:#2bb48b}
.knowledge-domain.is-selected{box-shadow:0 0 0 3px rgba(64,142,212,.16),0 12px 24px rgba(45,101,143,.12);transform:translateY(-2px)}
.knowledge-domain.is-selected::before{content:"当前";position:absolute;right:.5rem;top:.45rem;padding:.12rem .28rem;border-radius:999px;background:#dcefff;color:#1e71a8;font-size:.52rem;font-weight:950}
.knowledge-branch-head{margin:.25rem 0 .65rem;padding-top:.85rem;border-top:1px solid #e2ebf1}
.knowledge-branch-head>div>p{margin:.3rem 0 0;color:#70879a;font-size:.72rem;line-height:1.5}
.knowledge-branch-head>strong{display:flex;align-items:flex-end;gap:.5rem;color:#227bab;font-size:1.1rem}
.knowledge-branch-head>strong small{color:#7b8f9f;font-size:.65rem}
.domain-recommended-topics{margin:.2rem 0 .8rem}
.knowledge-branch-scroll{padding:.35rem 0 .8rem}
.knowledge-branch-route{display:grid;width:100%;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:stretch;gap:.7rem;min-height:112px}
.knowledge-node{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);width:100%;min-height:92px;gap:.62rem;align-content:center;padding:.75rem;border:1px solid #d8e2e9;border-radius:14px;background:#f4f6f8;color:#687d8e;box-shadow:0 7px 15px rgba(50,79,101,.05);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.knowledge-node:hover{transform:translateY(-3px);border-color:#8ebbd9;box-shadow:0 13px 25px rgba(41,88,122,.12)}
.knowledge-node-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;background:#e2e8ed;color:#7f909e;font-weight:950}
.knowledge-node-copy{min-width:0}.knowledge-node-copy strong{display:block;overflow:hidden;color:#496273;font-size:.94rem;text-overflow:ellipsis;white-space:nowrap}.knowledge-node-copy small{display:block;margin-top:.23rem;overflow:hidden;color:#8998a4;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}
.knowledge-node-progress{grid-column:1/-1;height:5px;overflow:hidden;border-radius:999px;background:#e0e7ec}.knowledge-node-progress i{display:block;height:100%;border-radius:inherit;background:#b7c3cb}
.knowledge-node.learning{border-color:#8ebdde;border-style:dashed;background:linear-gradient(145deg,#f8fbfe,#edf6fd);color:#2377b0}.knowledge-node.learning .knowledge-node-icon{background:#dfefff;color:#1d72ad}.knowledge-node.learning .knowledge-node-copy strong{color:#256e9f}.knowledge-node.learning .knowledge-node-progress i{background:linear-gradient(90deg,#568ee7,#30c6ce)}
.knowledge-node.mastered{border-color:#71c9aa;background:linear-gradient(145deg,#f4fcf8,#e8f9f2);color:#16775a;box-shadow:0 8px 22px rgba(39,155,117,.1)}.knowledge-node.mastered .knowledge-node-icon{background:#d5f3e7;color:#137455;box-shadow:0 0 0 5px rgba(48,180,139,.08)}.knowledge-node.mastered .knowledge-node-copy strong{color:#176f57}.knowledge-node.mastered .knowledge-node-progress i{background:#2eb58b}
.knowledge-node.is-current{box-shadow:0 0 0 4px rgba(76,148,218,.14),0 13px 28px rgba(38,92,135,.14)}
.knowledge-node.is-current::after{content:"当前位置";position:absolute;right:.55rem;top:-.55rem;padding:.18rem .4rem;border-radius:999px;background:#2d83bc;color:white;font-size:.55rem;font-weight:950;box-shadow:0 5px 12px rgba(33,107,155,.2)}
.algorithm-graph-rule{display:flex;align-items:flex-start;gap:.4rem;margin:.35rem 0 0;padding:.62rem .7rem;border-radius:10px;background:#f1f7fb;color:#668297;font-size:.68rem;line-height:1.5}
.algorithm-graph-rule span{color:#2986bd;font-weight:950}
.algorithm-graph-side{display:block;min-width:0}
.algorithm-graph-side>section{height:100%;padding:1rem}
.algorithm-current-title{display:flex;align-items:center;gap:.65rem;margin:.72rem 0}
.algorithm-current-title>i,.algorithm-current-empty>i{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:linear-gradient(135deg,#568fe6,#30c4cc);color:white;font-style:normal;font-size:.72rem;font-weight:950;box-shadow:0 8px 18px rgba(59,139,196,.2)}
.algorithm-current-title strong{display:block;color:#1e4059}.algorithm-current-title small{display:block;margin-top:.2rem;color:#7990a2;font-size:.65rem}
.algorithm-current-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem}.algorithm-current-progress>span{height:7px;overflow:hidden;border-radius:999px;background:#e2eaf0}.algorithm-current-progress>span i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#568ee7,#31c6ce)}.algorithm-current-progress>strong{color:#287ba9;font-size:.7rem}
.algorithm-current-card>a{display:block;margin-top:.7rem;padding:.55rem .65rem;border-radius:9px;background:#eaf6fd;color:#217aaa;text-align:center;font-size:.72rem;font-weight:950;transition:background .18s ease,transform .18s ease}.algorithm-current-card>a:hover{transform:translateY(-1px);background:#dff1fb}
.algorithm-current-empty{display:grid;justify-items:center;padding:.7rem 0 .15rem;text-align:center}.algorithm-current-empty strong{margin:.5rem 0 .18rem;color:#31546d}.algorithm-current-empty p{margin:0;color:#7b91a2;font-size:.68rem;line-height:1.5}
.domain-quick-check{margin:.85rem 0 1rem;padding:1rem;border:1px solid #cfe3ef;border-radius:16px;background:linear-gradient(135deg,#f5faff,#effaf6);box-shadow:0 8px 20px rgba(45,94,128,.06)}
.quick-check-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.quick-check-head>div>span{color:#2b82b7;font-size:.7rem;font-weight:950;letter-spacing:.08em}.quick-check-head h5{margin:.22rem 0;color:#173f5c;font-size:1.12rem}.quick-check-head>strong{display:grid;min-width:92px;color:#237cac;font-size:.84rem;text-align:right}.quick-check-head>strong small{margin-top:.18rem;color:#748b9c;font-size:.65rem}.quick-check-question{margin:.9rem 0 .7rem;color:#244861;font-size:1rem;font-weight:900;line-height:1.55}.quick-check-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.quick-check-options button{display:flex;align-items:center;gap:.65rem;min-height:52px;padding:.58rem .7rem;border:1px solid #d7e4ed;border-radius:11px;background:rgba(255,255,255,.9);color:#536e82;text-align:left;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.quick-check-options button:hover:not(:disabled),.quick-check-options button.is-selected{border-color:#6eafe0;background:#eaf6ff;color:#216f9f}.quick-check-options button:disabled{cursor:default}.quick-check-options button.is-correct{border-color:#70c7a8;background:#eaf9f3;color:#167458}.quick-check-options button.is-wrong{border-color:#ef9aa5;background:#fff0f2;color:#ad3b4b}.quick-check-options i{display:grid;flex:0 0 29px;width:29px;height:29px;place-items:center;border-radius:8px;background:#e7eef3;color:#637d91;font-style:normal;font-size:.68rem;font-weight:950}.quick-check-options .is-selected i{background:#d8edfc;color:#1f76ad}.quick-check-options .is-correct i{background:#d3f1e4;color:#147354}.quick-check-options .is-wrong i{background:#fadddf;color:#a73343}
.quick-check-explanation{display:grid;gap:.2rem;margin-top:.65rem;padding:.65rem .75rem;border-radius:10px;background:#eef7ff;color:#547084;font-size:.72rem;line-height:1.5}.quick-check-explanation strong{color:#246f9e}.quick-check-explanation.is-correct{background:#edf9f4}.quick-check-explanation.is-correct strong{color:#177358}.quick-check-explanation.is-wrong{background:#fff3f4}.quick-check-explanation.is-wrong strong{color:#ae3d4d}.quick-check-actions{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.75rem}.quick-check-actions>span{color:#71899a;font-size:.86rem;font-weight:850}.quick-check-actions .btn{min-height:38px;padding:.48rem .9rem;font-size:.76rem}.quick-check-result{display:grid;justify-items:center;padding:.35rem;text-align:center}.quick-check-result>span{color:#2b82b7;font-size:.7rem;font-weight:950;letter-spacing:.08em}.quick-check-result>strong{margin:.35rem 0;color:#1d7e91;font-size:2rem}.quick-check-result h5{margin:0;color:#244a65;font-size:1.05rem}.quick-check-result p{max-width:620px;margin:.45rem 0 .8rem;color:#6b8294;font-size:.75rem;line-height:1.55}.quick-check-result>div{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:center}
.algorithm-category-progress{display:grid;grid-template-rows:auto repeat(9,minmax(56px,1fr));gap:.42rem;background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(246,251,253,.94))!important}
.algorithm-category-progress__head{display:grid;margin-bottom:.2rem;padding:.25rem .25rem .8rem;border-bottom:1px solid #e0eaf0}.algorithm-category-progress__head>span{font-size:.74rem}.algorithm-category-progress__head strong{margin-top:.18rem;color:#294b63;font-size:1.2rem}.algorithm-category-progress__head small{margin-top:.42rem;color:#6d8496;font-size:.79rem;line-height:1.55}
.algorithm-category-progress>button{display:grid;width:100%;grid-template-columns:minmax(174px,1.5fr) minmax(44px,.5fr) 42px;align-items:center;gap:.55rem;padding:.58rem .62rem;border:1px solid transparent;border-radius:11px;background:#f5f8fa;color:#5e7485;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}
.algorithm-category-progress>button:hover,.algorithm-category-progress>button:focus-visible{transform:translateX(-2px);border-color:#9bc9e3;background:#f2f9fd;outline:none}
.algorithm-category-progress>button.is-selected{border-color:#75b8df;background:linear-gradient(135deg,#eef7ff,#effaf7);color:#216f9f;box-shadow:0 8px 18px rgba(46,116,162,.1)}
.algorithm-category-progress>button>span{display:flex;align-items:center;gap:.55rem;overflow:hidden;font-size:1.02rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.algorithm-category-progress>button>span b{display:grid;flex:0 0 31px;width:31px;height:31px;place-items:center;border-radius:9px;background:#e7edf1;color:#6f899c;font-size:.69rem}.algorithm-category-progress>button.is-selected>span b{background:#dcefff;color:#2177ab}
.algorithm-category-progress>button>i{height:8px;overflow:hidden;border-radius:999px;background:#e0e8ed}.algorithm-category-progress>button>i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5b90e6,#31c1be)}.algorithm-category-progress>button>strong{display:grid;color:#496b82;font-size:.84rem;text-align:right}.algorithm-category-progress>button>strong small{color:#748b9c;font-size:.68rem}
.section-eyebrow{display:block;margin-bottom:.22rem;color:#2a82b7;font-size:.7rem;font-weight:950;letter-spacing:.08em}.topic-block .section-title>div h3{margin:.05rem 0;color:#183c57;font-size:1.35rem}.topic-block .section-title>div p{margin:.3rem 0 0;color:#688196;font-size:.86rem;line-height:1.55}#featuredTopics .algorithm-chip__text strong{font-size:1.1rem}#featuredTopics .algorithm-chip__text small{font-size:.8rem}
.topic-status.unstarted{border-color:#dce5eb;background:#f6f8fa;color:#8494a1}
@media(max-width:1120px){.algorithm-graph-summary{grid-template-columns:1.2fr .8fr}.algorithm-graph-workspace{grid-template-columns:1fr}.algorithm-category-progress{grid-template-rows:auto;grid-template-columns:repeat(3,minmax(0,1fr))}.algorithm-category-progress__head{grid-column:1/-1}.algorithm-category-progress>button{grid-template-columns:minmax(112px,1fr) 50px 38px}}
@media(max-width:760px){.algorithm-knowledge-graph{padding:1rem;border-radius:19px}.algorithm-graph-head{display:grid}.algorithm-graph-legend{width:max-content;max-width:100%;overflow-x:auto}.algorithm-graph-summary{grid-template-columns:1fr}.algorithm-graph-overall,.algorithm-graph-stats{min-height:auto}.algorithm-graph-section-title>small{display:none}.quick-check-options{grid-template-columns:1fr}.knowledge-domain-route{grid-template-columns:repeat(2,minmax(0,1fr))}.knowledge-branch-route{grid-template-columns:repeat(2,minmax(0,1fr))}.algorithm-category-progress{grid-template-columns:1fr 1fr}.algorithm-graph-main{padding:.8rem}}
@media(max-width:520px){.algorithm-graph-overall{align-items:flex-start}.algorithm-graph-ring{flex-basis:78px;width:78px;height:78px}.algorithm-graph-ring>div{width:58px;height:58px}.algorithm-graph-ring strong{font-size:1rem}.algorithm-graph-head h3{font-size:1.3rem}.algorithm-graph-legend{gap:.48rem;padding:.52rem}.knowledge-branch-head>strong{display:grid;gap:.12rem;text-align:right}.knowledge-domain-route,.knowledge-branch-route,.algorithm-category-progress{grid-template-columns:1fr}}
@media(max-width:520px){.quick-check-head,.quick-check-actions{align-items:flex-start;flex-direction:column}.quick-check-head>strong{text-align:left}.quick-check-actions .btn{width:100%}.knowledge-branch-head{align-items:flex-start;flex-direction:column}.knowledge-branch-head>strong{align-self:flex-end}}
@media(prefers-reduced-motion:reduce){.knowledge-domain,.knowledge-node,.algorithm-current-card>a{transition:none}}
