:root{font-family:"Microsoft YaHei","Segoe UI",sans-serif;color:#243c55;background:#f5f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:#2569b9;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #d6e0eb;background:#fff;color:#466582;border-radius:6px;padding:8px 12px}button:hover{background:#eef5ff}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #88b6ed;outline-offset:3px}header{display:flex;align-items:center;gap:13px;height:78px;padding:0 30px;background:#fff;border-bottom:1px solid #e0e6ee}.brand{width:40px;height:40px;border-radius:9px;background:#2763af;color:white;display:grid;place-items:center;font-size:23px}header strong{font-size:17px}header small{display:block;font-size:11px;color:#8291a1;margin-top:4px}.free{margin-left:auto;background:#edf6f0;color:#53826a;padding:6px 10px;border-radius:5px;font-size:11px}.manual{font-size:12px;margin-left:15px}.layout{display:grid;grid-template-columns:260px minmax(0,1fr);max-width:1750px;margin:auto}aside{padding:28px 18px 25px;border-right:1px solid #e0e6ee;background:#f9fbfd;min-height:calc(100vh - 78px)}.nav-label{font-size:11px;letter-spacing:2px;color:#91a0b0;margin:0 12px 15px}nav{display:flex;flex-direction:column;gap:5px}nav button{border:0;background:transparent;text-align:left;font-size:12px;display:flex;align-items:center;gap:8px;line-height:1.6;padding:10px 12px}nav button span{flex:1}nav button small{color:#96a6b9;font-size:10px}nav button.active{background:#e8f1fe;color:#2468b6;font-weight:600}.local-note{border-top:1px solid #e0e7ef;margin:25px 8px 0;padding-top:20px;font-size:11px;color:#8394a7;line-height:1.8}.local-note strong{color:#61778e}.backup{display:flex;gap:8px}.backup button{font-size:10px;padding:5px 8px}#storage-state{color:#397e5c}main{padding:32px 38px;min-width:0}.eyebrow{font-size:11px;color:#3378c7;letter-spacing:1px}h1{font-size:28px;margin:13px 0 10px;letter-spacing:1px}.intro p{font-size:13px;color:#7d8fa2;line-height:1.8}.metrics{display:flex;gap:36px;margin:23px 0 29px}.metrics span{display:flex;align-items:baseline;gap:8px;font-size:11px;color:#8999aa}.metrics strong{font-size:24px;font-weight:600;color:#315a82}.resume{display:flex;align-items:center;justify-content:space-between;background:#eaf2fc;border:1px solid #d6e5f7;border-radius:9px;padding:17px 22px;margin-bottom:25px}.resume span,.resume small{display:block;color:#6885a6;font-size:11px}.resume strong{display:block;font-size:15px;margin:6px 0}.primary{background:#286abc;color:#fff;border-radius:6px;padding:10px 15px;font-size:12px;display:inline-block}.tools{display:flex;gap:12px}.search{flex:1;display:flex;align-items:center;gap:12px;border:1px solid #dce5ef;background:#fff;border-radius:7px;padding:0 14px}.search span{font-size:25px;color:#8396ac}.search input{width:100%;height:44px;border:0;background:transparent;font-size:12px;color:#284460;min-width:0}select{border:1px solid #dce5ef;border-radius:7px;background:#fff;padding:0 14px;font-size:12px;color:#5e758d}.list-head{display:flex;align-items:center;justify-content:space-between;margin:24px 0 16px}.list-head h2{font-size:17px;margin:0}.list-head span{font-size:11px;color:#8a9aab}.chapter{margin-bottom:25px}.chapter-heading{display:flex;align-items:center;gap:10px;border-bottom:1px solid #dfe6ee;padding-bottom:10px;margin:0 0 13px;font-size:13px;font-weight:600}.chapter-heading small{font-weight:400;color:#8fa0b1;font-size:10px}.section-label{color:#8294a9;font-size:11px;margin:15px 0 10px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.course-card{text-align:left;background:#fff;border:1px solid #dfe7ef;border-radius:8px;padding:17px;display:flex;flex-direction:column;min-height:145px;color:inherit;transition:border-color .15s,box-shadow .15s}.course-card:hover{background:#fff;border-color:#a4c5ed;box-shadow:0 4px 15px #1e517f0a}.card-meta{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#91a1b2}.state{font-size:10px;border-radius:4px;padding:3px 6px;background:#f0f3f7;color:#8898aa}.state.ready{background:#eaf2fe;color:#3980c4}.state.done{background:#eaf5ed;color:#4c8861}.state.started{background:#fff3df;color:#ad8340}.course-card h3{font-size:14px;line-height:1.7;margin:11px 0 7px;font-weight:600}.card-bottom{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#97a6b5}.card-bottom .arrow{color:#6d9bc9}.mini-progress{height:3px;background:#e9eef5;margin-top:12px;border-radius:4px}.mini-progress div{height:100%;background:#5396d7;border-radius:4px}#empty{text-align:center;border:1px dashed #d6e2ee;padding:50px;border-radius:8px;color:#7d90a5}#empty p{font-size:12px}footer{margin-top:32px;border-top:1px solid #e0e7ef;padding-top:18px;font-size:10px;line-height:1.8;color:#91a0b0}dialog{border:1px solid #d9e4ef;border-radius:12px;width:min(620px,calc(100% - 32px));padding:32px;color:#2f4860;box-shadow:0 12px 70px #193c5730}dialog::backdrop{background:#19304b5e}.close{position:absolute;top:12px;right:12px;border:0;font-size:23px;padding:2px 10px}dialog h2{font-size:22px;line-height:1.6;margin:14px 0}dialog p{font-size:13px;line-height:1.8;color:#7a8b9e}dialog h3{font-size:13px;border-top:1px solid #e5ecf3;padding-top:20px;margin-top:22px}#detail-source{font-size:11px;color:#8c9bac;margin-top:18px}.method{border:1px solid #dce7f2;border-radius:7px;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:15px}.method strong{font-size:13px}.method small{display:block;color:#8598ac;font-size:11px;margin-top:7px}.pending-method{background:#f4f7fb;border-radius:7px;padding:20px;color:#7a8da1;font-size:12px;line-height:1.8}.detail-note{font-size:11px;line-height:1.9;margin-top:20px;color:#95a3b3}[hidden]{display:none!important}@media(max-width:1250px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:230px minmax(0,1fr)}main{padding:28px 24px}.metrics{gap:22px}}@media(max-width:760px){header{padding:0 16px}.manual{display:none}.free{font-size:9px}.layout{grid-template-columns:1fr}aside{min-height:0;border-right:0;border-bottom:1px solid #e0e6ee;padding:16px}nav{flex-direction:row;overflow:auto}nav button{white-space:nowrap}nav button small{display:none}.nav-label{margin-bottom:8px}.local-note{margin-top:15px;padding-top:12px}.local-note p{margin:5px 0}.backup{display:inline-flex}main{padding:24px 16px}h1{font-size:23px}.metrics{gap:18px;flex-wrap:wrap}.metrics strong{font-size:20px}.tools{flex-direction:column}select{height:40px}.cards{grid-template-columns:1fr}.resume{padding:15px;gap:12px}.resume strong{font-size:13px}dialog{padding:25px}.method{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.brand{background:transparent!important}.brand img{width:100%;height:100%}.records-button{font-size:12px;white-space:nowrap;border-color:#cdddef;color:#3579b9}.records-button span{font-size:10px;color:#94a4b5;margin-left:5px}.record-row{margin-bottom:12px}.brand-divider{font-size:14px;font-weight:500}#records-dialog{max-width:620px}#records-dialog p{font-size:12px;line-height:1.8} @media(max-width:1000px){.brand-divider{display:none}header .records-button span{display:none}header .records-button{font-size:11px;padding:7px}header .free{display:none}header .records-button{margin-left:auto}}
/* Operation search links keep short lessons one click away. */
.operation-results{margin:22px 0 32px;padding:22px;background:#f1f7ff;border:1px solid #c8dcf4;border-radius:16px}
.operation-results .list-head{margin-top:0}.operation-results>p{font-size:14px;color:#53667e}
.operation-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px}
.operation-card{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:#183653;background:white;border:1px solid #d6e1ec;border-radius:12px;padding:18px}
.operation-card:hover{border-color:#237ad0;box-shadow:0 4px 16px #153c6912}.operation-card:focus-visible{outline:3px solid #237ad0;outline-offset:3px}
.operation-card strong{font-size:17px}.operation-card small{color:#63768b}.operation-card span{font-size:13px;color:#63768b}.operation-card .operation-action{color:#1767b3;font-weight:700}
