:root{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#17233a;background:#f2f4f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 85% 0,#dfeafb 0,transparent 30rem),#f2f4f8}button,input,textarea,select{font:inherit}button{border:0;background:none;cursor:pointer;color:inherit}.app-shell{min-height:100vh;display:flex}aside{width:230px;padding:30px 18px;position:fixed;inset:0 auto 0 0;background:#fafcffad;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-right:1px solid rgba(42,73,122,.08);display:grid;grid-template-columns:42px 1fr;grid-template-rows:45px 1fr auto;gap:12px}.brand-mark{width:39px;height:39px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#2c6db9,#153e78);color:#fff;font-weight:800;box-shadow:0 8px 20px #245da63d}.brand{line-height:1.1;padding-top:3px}.brand b{display:block;font-size:18px}.brand span{font-size:11px;color:#71809a;letter-spacing:.5px}aside nav{grid-column:1/3;display:grid;align-content:start;gap:5px;margin-top:22px}aside nav button{display:flex;align-items:center;gap:12px;text-align:left;border-radius:11px;padding:11px 12px;color:#61708a;transition:.2s}aside nav button:hover,aside nav button.active{background:#e7effb;color:#174d91;font-weight:650}.side-tip{grid-column:1/3;padding:14px;background:#eaf1fb;border-radius:15px;color:#527097;font-size:12px;line-height:1.5;display:flex;gap:8px;align-items:start}main{margin-left:230px;width:calc(100% - 230px);min-height:100vh}.page{max-width:1020px;margin:0 auto;padding:46px 40px 70px}.topbar{display:flex;justify-content:space-between;align-items:start;margin-bottom:28px}.eyebrow{color:#5280b7;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;font-size:11px;margin:0 0 7px}.topbar h1,.detail-header h1{font-size:32px;letter-spacing:-1px;margin:0 0 7px;display:flex;align-items:center;gap:8px}.muted{color:#76839a;margin:0;font-size:14px;line-height:1.6}.avatar{width:39px;height:39px;border-radius:50%;background:#d6e4f5;color:#315d91;font-weight:750}.hero{background:linear-gradient(120deg,#16467f,#2866ae 60%,#4a8bc9);color:#fff;border-radius:26px;min-height:250px;padding:34px 40px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 18px 38px #1c579736;position:relative;overflow:hidden}.hero:after{content:"";width:270px;height:270px;background:#fff;opacity:.06;border-radius:50%;position:absolute;right:-80px;top:-120px}.hero-kicker{font-size:13px;opacity:.72}.hero strong{font-size:64px;line-height:1;letter-spacing:-3px;display:block;margin:10px 0 4px}.hero em{font-size:23px;font-style:normal;letter-spacing:0}.hero p{opacity:.8;font-size:14px}.primary{background:#fff;color:#174b8f;border-radius:11px;font-weight:700;padding:11px 15px;display:inline-flex;align-items:center;gap:7px;margin-top:10px;box-shadow:0 4px 12px #0d326033}.progress-ring{width:145px;height:145px;border-radius:50%;background:conic-gradient(#fff var(--p),#ffffff38 0);display:grid;place-items:center;z-index:1}.progress-ring>div{height:122px;width:122px;border-radius:50%;background:#235e9f;display:grid;place-content:center;text-align:center}.progress-ring b{font-size:29px}.progress-ring small{opacity:.75;font-size:11px}.capacity{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.capacity>div,.metric{background:#ffffffad;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(48,80,129,.07);border-radius:16px;padding:17px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.capacity svg{color:#3475ba}.capacity span,.metric span{font-size:12px;color:#77849a}.capacity b{grid-column:2;font-size:17px}.calm-note{padding:12px 15px;border-radius:12px;background:#e8f2fb;color:#4a7098;font-size:13px;display:flex;gap:8px;margin-bottom:24px}.task-section{margin:27px 0}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.section-head h2,.panel h2,.learning-path h2{font-size:16px;margin:0}.section-head span{font-size:12px;color:#8491a6}.task-card{position:relative;display:flex;align-items:center;gap:13px;padding:14px 13px;margin:8px 0;background:#ffffffa1;border:1px solid rgba(43,75,122,.08);border-radius:15px;box-shadow:0 5px 16px #1d427609;transition:transform .18s,background .18s;animation:rise .38s ease both}.task-card:hover{transform:translateY(-2px);background:#fff}.task-check{width:25px;height:25px;border:1.5px solid #b4c2d5;border-radius:9px;flex:none;display:grid;place-items:center;color:#fff}.task-main{min-width:0;text-align:left;flex:1}.task-main strong{display:block;font-size:14px;margin:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-meta,.task-main small{display:flex;gap:6px;align-items:center;color:#75839a;font-size:11px}.subject{font-size:10px;padding:3px 6px;border-radius:6px;font-weight:700}.subject.physiology{background:#fbe9df;color:#a85c37}.subject.pathology{background:#eee5f7;color:#744c9f}.subject.english{background:#e2effb;color:#2865a5}.subject.politics{background:#eee5f7;color:#794c99}.overdue{color:#bf543f;background:#fbe7e3;padding:2px 5px;border-radius:5px}.icon-btn{color:#8a9ab0;padding:7px}.chev{color:#aab7c9}.extra{padding:16px 18px;border-radius:15px;background:#e9eef4;color:#61718b}.extra p{font-size:13px;margin:0}.map-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.map-card{padding:17px;text-align:left;border-radius:17px;background:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid #e7edf5}.map-card svg{color:#b9623d}.map-card.pathology svg,.map-card.politics svg{color:#8161a5}.map-card.english svg{color:#3976b3}.map-card b,.map-card span{display:block}.map-card span{font-size:11px;color:#7d8ba0;margin-top:4px}.map-card strong{font-size:13px;color:#50729b}.muted-card{opacity:.75}.filter-row,.plan-tabs{display:flex;gap:8px;margin:26px 0 14px}.filter-row button,.plan-tabs button{padding:8px 12px;border-radius:9px;color:#6f7d92;font-size:13px}.filter-row button.selected,.plan-tabs .selected{background:#dfeafa;color:#215c9c;font-weight:700}.chapter-list{background:#ffffff82;border-radius:17px;border:1px solid #e7ecf4;overflow:hidden}.chapter-row{width:100%;display:grid;grid-template-columns:10px 1fr auto auto;gap:11px;align-items:center;text-align:left;padding:13px 16px;border-bottom:1px solid #e8edf4}.chapter-row:last-child{border-bottom:0}.chapter-row b{font-size:14px}.chapter-row small{display:block;color:#7b899f;font-size:11px;margin-top:4px}.risk{width:8px;height:8px;border-radius:50%;background:#aab6c8}.risk.学习中{background:#4381c4}.risk.待复习{background:#e8a44e}.risk.复习完成{background:#53a078}.chapter-status{text-align:right}.chapter-status span{font-size:12px;color:#5f718b}.back{display:flex;gap:7px;color:#56708f;margin-bottom:22px}.detail-header{margin-bottom:24px}.detail-header p{color:#72819a;font-size:13px}.learning-path{padding:18px;background:#eaf1fa;border-radius:17px;margin-bottom:16px}.learning-path h2{margin-bottom:13px}.path-step{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#8390a3;margin:0 16px 11px 0}.path-step span{border-radius:50%;background:#c5d1df;width:21px;height:21px;display:grid;place-items:center;color:#fff;font-size:10px}.path-step.active{color:#2d659e}.path-step.active span{background:#3172b9}.panel,.chart-panel{padding:20px;border-radius:17px;background:#ffffffa8;border:1px solid #e5ecf4;margin:15px 0}.outline{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #e9eef4;font-size:14px}.outline input{accent-color:#2865aa}.outline button{margin-left:auto;color:#a1adbd}.add-line{display:flex;margin-top:13px}.add-line input,.search,textarea{width:100%;border:1px solid #d9e2ee;border-radius:10px;padding:10px 12px;outline:none;background:#fff;color:inherit}.add-line input:focus,.search:focus,textarea:focus{border-color:#6f9ed0;box-shadow:0 0 0 3px #dbeafa}.add-line button{background:#e4effb;color:#2864a5;margin-left:7px;border-radius:9px;padding:0 12px}.years{display:flex;gap:8px;flex-wrap:wrap}.years button{border:1px solid #cbdcf0;background:#f5f9fe;color:#3670ad;border-radius:8px;padding:7px 9px;font-size:12px;display:inline-flex;gap:4px;align-items:center}.years .reviewed{background:#ecf7f0;border-color:#b5ddc4;color:#40825b}textarea{height:82px;resize:vertical;margin-top:13px}.plan-hero{display:flex;gap:14px;align-items:start;background:linear-gradient(120deg,#e6f0fc,#f6f9fd);padding:20px;border-radius:17px;color:#305b8d}.plan-hero b,.plan-hero span{display:block}.plan-hero p{font-size:12px;color:#7288a2;margin:5px 0 0}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:16px 0}.metric{display:block}.metric b{display:block;margin:9px 0 3px;font-size:19px}.metric small{color:#8794a7;font-size:11px}.month-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin:17px 0;font-size:13px}.month-row i{grid-column:1/3;background:#e7edf5;height:7px;border-radius:9px;overflow:hidden}.month-row em{height:100%;background:#3d78bd;display:block;border-radius:inherit}.chart-panel{height:300px}.settings{background:#ffffffa6;border:1px solid #e6edf5;border-radius:17px;overflow:hidden}.setting{padding:15px 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9eef4;gap:12px}.setting:last-of-type{border-bottom:0}.setting b,.setting small{display:block}.setting b{font-size:14px}.setting small{font-size:11px;color:#7e8da3;margin-top:4px}.setting-control{display:flex;gap:7px;align-items:center;font-size:12px;color:#78869a}.setting input[type=number],.setting input[type=date],.setting select{border:1px solid #d5dfec;border-radius:8px;padding:7px;background:#fff;color:inherit;width:110px}.switch input{display:none}.switch span{width:37px;height:21px;border-radius:20px;background:#c8d1dd;display:block;padding:2px;transition:.2s}.switch span:after{content:"";display:block;width:17px;height:17px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+span{background:#3374b8}.switch input:checked+span:after{transform:translate(16px)}.setting-actions{display:flex;gap:10px;padding:16px}.setting-actions button,.import-actions label{padding:10px;border-radius:10px;background:#e8f0fa;color:#396493;display:flex;gap:6px;align-items:center;font-size:13px}.import-area{text-align:center;background:#ffffff9a;border:1px solid #e2eaf3;border-radius:19px;padding:28px}.import-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:#e4effb;color:#2e6bae;margin:0 auto 12px}.import-area h2{font-size:18px;margin:0 0 7px}.import-area p{font-size:13px;line-height:1.6;color:#738199}.import-area textarea{text-align:left;margin:15px 0}.import-actions{display:flex;justify-content:center;gap:9px}.import-actions label input{display:none}.import-actions .primary{margin:0;background:#2769b0;color:#fff}.template{margin-top:22px;padding:15px;text-align:left;background:#f1f5fa;border-radius:12px;font-size:12px;color:#718097}.template b,.template span{display:block;margin-bottom:5px}.template button{color:#2d69a8;text-decoration:underline}.wrong .search{margin-bottom:12px}.wrong-row{background:#fff;border:1px solid #e4ebf3;border-radius:14px;padding:15px;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:15px}.wrong-row .subject{margin-right:7px}.wrong-row b{font-size:14px}.focus-overlay{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 20%,#326cac,#0f315d);color:#fff;display:grid;place-content:center;text-align:center;padding:25px}.close-focus{position:absolute;top:25px;right:25px;color:#fff;background:#fff2;padding:10px;border-radius:50%}.focus-overlay>.eyebrow{position:absolute;top:40px;left:40px;color:#b9d4ee}.focus-card{width:min(500px,90vw);padding:36px;border:1px solid #ffffff31;background:#ffffff12;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:27px;box-shadow:0 20px 60px #06193250}.focus-card h1{font-size:27px;line-height:1.35}.focus-card p{display:flex;gap:7px;justify-content:center;color:#c7dcef}.timer{font-size:65px;letter-spacing:3px;font-variant-numeric:tabular-nums;margin:22px}.timer small{opacity:.6}.focus-actions{display:flex;justify-content:center;gap:10px}.focus-actions button{background:#fff2;color:#fff;border-radius:11px;padding:12px 15px;display:flex;gap:7px;align-items:center}.focus-actions .primary{background:#fff;color:#174b8f;margin:0}.skip{color:#c1d7ed;text-decoration:underline;font-size:13px;margin-top:18px}@keyframes rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.bottom-nav{display:none}.dark{background:#101827;color:#e6edf7}.dark body{background:radial-gradient(circle at 90% 0,#142947,#101827 50rem)}.dark aside,.dark .task-card,.dark .panel,.dark .chart-panel,.dark .chapter-list,.dark .map-card,.dark .settings,.dark .wrong-row,.dark .import-area{background:#18253ac7;border-color:#33455f}.dark .muted,.dark .task-meta,.dark .task-main small,.dark .chapter-row small{color:#9baac0}.dark .capacity>div,.dark .metric{background:#1a2940;border-color:#33445d}.dark input,.dark textarea,.dark select{background:#15243a;color:#e7effa!important;border-color:#3a4f6e!important}@media(max-width:760px){aside{display:none}main{margin:0;width:100%;padding-bottom:76px}.page{padding:26px 17px 32px}.topbar{margin-bottom:20px}.topbar h1,.detail-header h1{font-size:26px}.hero{padding:25px;min-height:220px}.hero strong{font-size:53px}.progress-ring{width:105px;height:105px}.progress-ring>div{width:87px;height:87px}.progress-ring b{font-size:21px}.capacity{gap:7px}.capacity>div{padding:12px 8px;display:block}.capacity svg{width:17px}.capacity span,.capacity b{display:block;margin-top:4px;font-size:11px}.capacity b{font-size:14px}.task-card{padding:12px 10px}.task-main strong{font-size:13px}.map-cards{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.bottom-nav{z-index:5;display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;padding:8px 7px calc(8px + env(safe-area-inset-bottom));background:#fafcffdb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid #dde6f0}.bottom-nav button{color:#7b899c;font-size:10px;display:grid;place-items:center;gap:3px}.bottom-nav button.active{color:#1e62a6}.dark .bottom-nav{background:#111c2ee6;border-color:#30435d}.learning-path{padding:15px}.path-step{margin-right:10px}.setting{padding:13px}.wrong-row{display:block}.wrong-row .years{margin-top:12px}.hero .primary{padding:9px 11px}.focus-overlay>.eyebrow{top:25px;left:25px}.focus-card{padding:28px 18px}.focus-card h1{font-size:23px}}.subject-section{margin:27px 0;padding:20px;border-radius:20px;background:#ffffff61;border:1px solid rgba(63,97,143,.08)}.subject-title{display:flex;align-items:start;justify-content:space-between;margin-bottom:14px}.subject-title h2{margin:0;font-size:20px}.subject-title p{margin:5px 0 0;font-size:12px;color:#74839a}.subject-title>span{font-size:12px;color:#7286a2;background:#e8f0fb;padding:5px 8px;border-radius:7px}.subject-task-group{margin:16px 0}.subject-task-group:last-child{margin-bottom:0}.subject-task-group h3{font-size:12px;margin:0 0 8px;color:#4c6f9b;letter-spacing:.4px}.politics-placeholder{display:flex;align-items:center;min-height:104px;background:linear-gradient(115deg,#f2edf9e6,#ffffff4d)}.politics-placeholder .subject-title{width:100%;margin:0}.politics-placeholder svg{color:#9a7ab4}.rest-note{display:flex;align-items:start;gap:11px;margin:20px 0;padding:18px;border-radius:16px;background:#edf3f9;color:#527092}.rest-note b,.rest-note span{display:block}.rest-note b{font-size:14px;margin-bottom:4px}.rest-note span{font-size:12px;line-height:1.55}.hero .primary:disabled{opacity:.58;cursor:not-allowed}.target-settings{margin:18px 0}.target-settings>div:first-child{padding:0 2px 10px}.target-settings h2{margin:0;font-size:16px}.target-settings p{margin:5px 0 0;font-size:12px;color:#77869c}.rest-calendar{margin:18px 0;padding:19px;border-radius:17px;background:#ffffffa8;border:1px solid #e2eaf3}.rest-calendar .section-head{align-items:start}.rest-calendar .section-head p{margin:4px 0 0;font-size:12px;color:#77869c}.calendar-nav{display:flex;gap:8px;align-items:center;font-size:12px}.calendar-nav button{width:25px;height:25px;border-radius:7px;background:#e8f0fb;color:#386a9f;font-size:19px;line-height:1}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}.weekdays{font-size:11px;color:#8996a9;margin:14px 0 7px}.calendar-days i{min-height:31px}.calendar-days button{height:31px;border-radius:9px;font-size:12px;color:#596c86}.calendar-days button:hover{background:#e8f0fb}.calendar-days button.rest-selected{background:#346fae;color:#fff;box-shadow:0 4px 9px #2b63a338}.rest-count{margin:14px 0 0;font-size:12px;color:#74849a}.dark .subject-section,.dark .rest-calendar{background:#18253ac7;border-color:#33455f}.dark .target-settings p,.dark .subject-title p,.dark .rest-calendar .section-head p{color:#9baac0}.dark .calendar-days button{color:#bdcbe0}.dark .calendar-days button:hover{background:#263c5a}.task-card.done{background:linear-gradient(105deg,#ecf9f0eb,#ffffffb8);border-color:#c3e6ce;box-shadow:none}.task-card.done .task-check{background:#42a269;border-color:#42a269}.task-card.done strong{text-decoration:line-through;text-decoration-color:#9fcdb0;color:#728b7b}.task-card.done small{color:#4c9667}.completed-mark{font-size:11px;color:#458962;background:#e4f5e8;padding:5px 7px;border-radius:7px;white-space:nowrap}.rest-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.rest-footer .rest-count{margin:0}.rest-footer>div{display:flex;gap:8px}.rest-footer button{font-size:12px;border-radius:8px;padding:8px 10px;background:#edf2f8;color:#60748f}.rest-footer .confirm-rest{background:#2d6daf;color:#fff}.rest-footer button:disabled{opacity:.45;cursor:not-allowed}.week-board{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));gap:10px;overflow-x:auto;padding-bottom:8px;margin:18px 0}.day-column{min-height:145px;border-radius:14px;padding:11px;background:#ffffff9e;border:1px solid #e2eaf3}.day-column header{display:flex;justify-content:space-between;font-size:12px;color:#496989;padding-bottom:8px;border-bottom:1px solid #e8eef5}.day-column>p{font-size:11px;color:#98a5b7;text-align:center;padding-top:21px}.planner-list{margin:22px 0;padding:19px;border-radius:18px;background:#ffffff8c;border:1px solid #e2eaf3}.planner-list .section-head{align-items:start}.planner-list .section-head p{font-size:12px;line-height:1.5;color:#74849a;margin:5px 0 0;max-width:620px}.planner-task{border:1px solid #e4ebf3;border-radius:12px;background:#fff;margin:8px 0;overflow:hidden}.planner-task summary{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:9px;padding:11px 12px;cursor:pointer;list-style:none}.planner-task summary::-webkit-details-marker{display:none}.planner-task summary b{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-task summary small{font-size:11px;color:#7c8ba1;white-space:nowrap}.planner-task summary svg{transition:.18s;color:#8ea0b5}.planner-task[open] summary svg{transform:rotate(90deg)}.planner-actions{padding:11px 12px;border-top:1px solid #e8eef4;display:flex;align-items:center;gap:9px;font-size:12px;color:#667991}.planner-actions input{border:1px solid #d7e1ed;border-radius:7px;padding:6px;background:#fff;color:inherit}.planner-actions button{font-size:12px;background:#e5effa;color:#2864a4;border-radius:7px;padding:7px 9px}.planner-task.completed{opacity:.72}.planner-task.completed summary b{text-decoration:line-through}.day-column .planner-task{margin:7px 0}.day-column .planner-task summary{display:block;padding:8px}.day-column .planner-task .subject{font-size:9px}.day-column .planner-task summary b{display:block;margin-top:5px;white-space:normal;font-size:11px;line-height:1.35}.day-column .planner-task summary small{display:none}.day-column .planner-task summary svg{display:none}.dark .planner-list,.dark .day-column,.dark .planner-task{background:#18253ac7;border-color:#33455f}.dark .planner-actions{border-color:#33455f}.dark .planner-actions input{background:#15243a;border-color:#3a4f6e;color:#e7effa}.task-detail{display:grid;place-items:center;color:#91a5be;padding:6px}.task-card.done .task-main{opacity:.72}.subject-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.subject-progress>div{padding:15px 16px;border-radius:16px;background:#ffffffb8;border:1px solid rgba(48,80,129,.08);display:grid;grid-template-columns:1fr auto;gap:6px}.subject-progress span{font-size:13px;color:#46658a;font-weight:700}.subject-progress b{font-size:13px;color:#2e5f95}.subject-progress i{grid-column:1/3;height:6px;border-radius:8px;background:#e3ebf4;overflow:hidden}.subject-progress em{display:block;height:100%;border-radius:inherit;background:#4b86c4}.subject-progress small{grid-column:1/3;color:#8290a4;font-size:11px}.task-library{margin:20px 0;padding:19px;border:1px solid #e0eaf3;border-radius:18px;background:#ffffff9e}.task-library .section-head{align-items:start}.task-library .section-head p{font-size:12px;line-height:1.5;color:#74849a;margin:5px 0 0}.library-filters{display:flex;gap:7px;overflow:auto;padding:4px 0 11px;margin-top:11px}.library-filters button{white-space:nowrap;border-radius:8px;padding:7px 9px;background:#edf2f8;color:#61738c;font-size:12px}.library-filters button.selected{background:#dceafa;color:#245f9e;font-weight:700}.library-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:300px;overflow:auto;padding-right:2px}.library-item{min-width:0;text-align:left;display:grid;grid-template-columns:auto auto auto 1fr auto;align-items:center;gap:7px;padding:10px;border-radius:11px;border:1px solid #e3eaf3;background:#fff;color:#60728b;cursor:grab}.library-item:hover,.library-item.chosen{border-color:#76a6d5;background:#eff6ff}.library-item.chosen{box-shadow:0 0 0 2px #d9eafc}.library-item b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#2b405e}.library-item small{font-size:10px;color:#8291a4;white-space:nowrap}.library-check{width:18px;height:18px;border-radius:6px;border:1.5px solid #b8c7d9;color:#fff;display:grid;place-items:center}.library-item.chosen .library-check{border-color:#43a269;background:#43a269}.empty-category{grid-column:1/-1;padding:17px;background:#f4f7fb;border-radius:10px;color:#8493a8;font-size:12px;text-align:center}.schedule-board{display:grid;gap:10px;margin:18px 0}.schedule-board.day{grid-template-columns:minmax(0,1fr)}.schedule-board.week{grid-template-columns:repeat(7,minmax(135px,1fr));overflow:auto;padding-bottom:8px}.schedule-board.month{grid-template-columns:repeat(7,minmax(120px,1fr));overflow:auto;padding-bottom:8px;max-height:620px}.drop-day{min-height:144px;border:1.5px dashed #c5d5e7;border-radius:14px;padding:11px;background:#ffffff75;transition:.18s}.drop-day:hover{background:#f0f7ff;border-color:#7cadd8}.drop-day header{display:flex;justify-content:space-between;padding-bottom:8px;color:#426890;font-size:12px;border-bottom:1px solid #e6edf5}.drop-day>p{margin:25px 0 0;text-align:center;color:#99a8ba;font-size:11px}.scheduled-item{display:block;margin-top:8px;padding:8px;border-radius:8px;background:#fff;border:1px solid #e4ebf3}.scheduled-item .subject{margin-right:5px}.scheduled-item b{display:block;font-size:11px;line-height:1.4;margin-top:5px}.scheduled-item small{display:block;color:#8190a4;font-size:10px;margin-top:3px}.scheduled-item.done{opacity:.62;background:#edf8f0}.selection-bar{position:sticky;bottom:16px;z-index:3;border-radius:14px;padding:12px 14px;background:#174b8f;color:#fff;box-shadow:0 10px 28px #174b8f44;display:flex;align-items:center;gap:11px;font-size:12px}.selection-bar span{opacity:.75;flex:1}.selection-bar button{background:#fff;color:#1e5e9f;border-radius:8px;padding:8px 10px;font-size:12px}.selection-bar button:last-child{background:#ffffff24;color:#fff}.setting-actions label{padding:10px;border-radius:10px;background:#e8f0fa;color:#396493;display:flex;gap:6px;align-items:center;font-size:13px}.setting-actions label input{display:none}.dark .task-library,.dark .drop-day,.dark .library-item{background:#18253ac7;border-color:#33455f}.dark .library-item b{color:#e6edf7}.dark .library-filters button{background:#263c5a;color:#bdcbe0}.dark .library-filters button.selected{background:#285d96;color:#fff}.dark .scheduled-item{background:#1a2940;border-color:#33455f}.dark .subject-progress>div{background:#1a2940;border-color:#33445d}@media(max-width:760px){.subject-progress{gap:7px}.subject-progress>div{padding:11px 9px}.subject-progress span,.subject-progress b{font-size:11px}.library-items{grid-template-columns:1fr}.schedule-board.week,.schedule-board.month{grid-template-columns:repeat(7,minmax(125px,1fr))}.selection-bar{bottom:78px;flex-wrap:wrap}.selection-bar span{display:none}.selection-bar b{flex:1}.task-library{padding:14px}.subject-progress small{font-size:10px}}.chapter-row{border:0;color:inherit}.chapter-detail .back{font-size:13px}.chapter-detail .detail-header h1{margin-top:9px}.study-timeline{padding:4px 0}.study-timeline>div{display:grid;grid-template-columns:14px 92px 1fr;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #e8eef5;font-size:13px}.study-timeline>div:last-child{border-bottom:0}.study-timeline i{width:9px;height:9px;border-radius:50%;background:#3e7fbe;box-shadow:0 0 0 4px #e0effb}.study-timeline b{font-size:12px;color:#5e7392}.study-timeline span{color:#384e6d}.outline{display:block}.outline label{display:flex;align-items:start;gap:9px;padding:10px 0;border-bottom:1px solid #e9eef4;font-size:13px;line-height:1.5}.outline label:last-child{border:0}.outline input{accent-color:#34805a;margin-top:3px}.progress-calendar{margin:20px 0;padding:20px;border-radius:18px;background:#ffffff9e;border:1px solid #e1eaf3}.progress-calendar .section-head{align-items:start}.progress-calendar .section-head p{margin:5px 0 0;color:#74849a;font-size:12px}.progress-days{display:grid;grid-template-columns:repeat(7,1fr);gap:9px}.progress-days>i{min-height:83px}.progress-day{min-height:83px;display:grid;place-items:center;align-content:center;gap:5px}.mini-ring{--p:0deg;width:48px;height:48px;border-radius:50%;background:conic-gradient(#3a7dbd var(--p),#e7edf5 0);display:grid;place-items:center;position:relative}.mini-ring:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;background:#fff}.mini-ring b,.mini-ring small{position:relative;z-index:1;line-height:1}.mini-ring b{font-size:12px}.mini-ring small{font-size:8px;color:#5980aa}.progress-day>span{font-size:9px;color:#8593a7}.dark .progress-calendar,.dark .mini-ring:after{background:#1a2940;border-color:#33455f}.dark .study-timeline>div,.dark .outline label{border-color:#33455f}.dark .study-timeline span{color:#d3ddec}.dark .mini-ring{background:conic-gradient(#4d95d8 var(--p),#33455f 0)}@media(max-width:760px){.progress-calendar{padding:15px}.progress-days{gap:4px}.progress-days>i,.progress-day{min-height:66px}.mini-ring{width:38px;height:38px}.mini-ring:after{top:4px;right:4px;bottom:4px;left:4px}.mini-ring b{font-size:10px}.mini-ring small{font-size:7px}.progress-day>span{font-size:8px}.study-timeline>div{grid-template-columns:13px 80px 1fr;font-size:12px}}.task-library-v2{background:linear-gradient(160deg,#fffdfb,#f7fbff)}.subject-block-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.subject-block{border-radius:16px;overflow:hidden;border:1px solid}.western-block{border-color:#f1c5a9;background:#fff9f4}.english-block{border-color:#bdd8f2;background:#f5faff}.subject-block summary{list-style:none;cursor:pointer;padding:16px;display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}.subject-block summary::-webkit-details-marker{display:none}.western-block summary{background:#de7c45;color:#fff}.english-block summary{background:#4e8ac4;color:#fff}.subject-block summary b{font-size:18px}.subject-block summary span{font-size:11px;opacity:.88}.subject-block summary svg{transition:.2s}.subject-block[open] summary svg{transform:rotate(90deg)}.western-columns{display:grid;grid-template-columns:1fr 1fr;gap:0}.western-columns>div{padding:13px;min-width:0}.western-columns>div+div{border-left:1px solid #f0d5c3}.western-columns h3{margin:0 0 8px;font-size:12px;color:#9d552d}.western-columns>div+div h3{color:#b27553}.western-columns p,.english-tasks p{font-size:11px;line-height:1.5;color:#9b826f;margin:8px 0}.compact-library-task{width:100%;text-align:left;display:grid;grid-template-columns:auto 1fr;gap:7px;align-items:center;margin:6px 0;padding:8px;border-radius:9px;border:1px solid transparent;font-size:11px}.compact-library-task small{grid-column:2;color:#7d8ba0;font-size:10px}.compact-library-task.course-tone{background:#f7c2a2;color:#733315}.compact-library-task.practice-tone{background:#fff1e5;color:#9a5d38}.compact-library-task.english-tone{background:#e2effc;color:#286299}.compact-library-task.chosen{box-shadow:0 0 0 2px #3ea467;border-color:#3ea467}.compact-library-task .library-check{width:16px;height:16px;background:#fff8;border-color:currentColor}.english-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.english-tasks{padding:10px}.dark .task-library-v2{background:#18253a}.dark .western-block{background:#3d2b24;border-color:#754a36}.dark .english-block{background:#1d324a;border-color:#355d83}.dark .western-columns>div+div{border-color:#754a36}.dark .compact-library-task.course-tone{background:#7d4327;color:#fff0e7}.dark .compact-library-task.practice-tone{background:#54382c;color:#ffd9c4}.dark .compact-library-task.english-tone{background:#254f76;color:#e3f2ff}@media(max-width:900px){.subject-block-grid{grid-template-columns:1fr}.english-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.western-columns{grid-template-columns:1fr}.western-columns>div+div{border-left:0;border-top:1px solid #f0d5c3}.english-grid{grid-template-columns:1fr}.subject-block summary b{font-size:16px}}.task-card.done .task-check{display:flex;align-items:center;justify-content:center}.task-card.done .task-check svg{stroke-width:3;transform:translateY(-.5px)}.subject-block-grid{grid-template-columns:repeat(3,minmax(160px,1fr));overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity}.subject-block{scroll-snap-align:start}.subject-block summary{padding:10px 12px}.subject-block summary b{font-size:15px}.subject-block[open]{min-width:min(680px,100%)}.subject-block[open] .western-columns{max-height:260px;overflow-y:auto}.subject-block[open] .english-tasks{max-height:220px;overflow-y:auto}.western-columns>div{min-width:155px}@media(max-width:900px){.subject-block-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}.english-grid{grid-template-columns:repeat(5,minmax(145px,1fr))}}@media(max-width:520px){.subject-block-grid{grid-template-columns:repeat(3,minmax(145px,1fr))}.english-grid{grid-template-columns:repeat(5,minmax(135px,1fr))}.western-columns{grid-template-columns:1fr 1fr}.western-columns>div+div{border-left:1px solid #f0d5c3;border-top:0}}.task-library-reference{background:#fbfdff}.reference-tabs{display:flex;gap:9px;overflow-x:auto;padding:2px 0 14px}.reference-tabs button{flex:0 0 auto;border-radius:9px;padding:8px 16px;background:#fff0e7;color:#ad5e35;font-weight:750;font-size:13px;border:1px solid #f2d2be}.reference-tabs button.selected{background:#e28049;color:#fff;border-color:#e28049}.reference-tabs button.english{background:#e8f2fd;color:#3472ad;border-color:#d2e4f6}.reference-tabs button.english.selected{background:#4d8bca;color:#fff;border-color:#4d8bca}.reference-panel{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e1eaf4;border-radius:16px;overflow:hidden;background:#fff;max-height:430px}.reference-column{padding:14px;overflow:auto}.reference-column+.reference-column{border-left:1px solid #e8edf3;background:#fffaf7}.reference-column h3{font-size:13px;margin:0 0 10px;color:#a85c37}.reference-column+.reference-column h3{color:#bd8261}.reference-task,.reference-placeholder{width:100%;text-align:left;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:10px;margin:7px 0;border-radius:10px;font-size:12px}.reference-task b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reference-task small{font-size:10px;white-space:nowrap}.course-card{background:#f9c9ad;color:#713414;border:1px solid #f0b994}.practice-card,.reference-placeholder{background:#fff2e7;color:#986142;border:1px solid #f6d9c5}.english-card{background:#e8f3ff;color:#2e679f;border:1px solid #d6e8fa}.reference-task.chosen{box-shadow:0 0 0 2px #40a06a;border-color:#40a06a}.reference-placeholder{grid-template-columns:1fr;opacity:.82}.english-panel{grid-template-columns:minmax(0,1fr)}.english-panel .reference-column{max-height:390px}.dark .reference-panel{background:#1a2940;border-color:#33455f}.dark .reference-column+.reference-column{background:#2f2420;border-color:#5c4032}.dark .course-card{background:#7c4328;color:#fff0e8}.dark .practice-card,.dark .reference-placeholder{background:#53382c;color:#ffd9c4}.dark .english-card{background:#254f76;color:#e1f0ff}@media(max-width:600px){.reference-panel{grid-template-columns:1fr}.reference-column+.reference-column{border-left:0;border-top:1px solid #e8edf3}.reference-column{max-height:260px}.reference-task{padding:9px;font-size:11px}}.task-library-reference{background:#fbfefc;border-color:#cfe5d8}.reference-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 14px}.reference-tabs button{flex:0 0 auto;border:1px solid #c7e5d2;border-radius:9px;padding:8px 15px;background:#edf8f1;color:#387b5b;font-size:13px;font-weight:750}.reference-tabs button.selected{background:#3f9b67;border-color:#3f9b67;color:#fff}.reference-tabs i{width:1px;flex:0 0 1px;background:#cfe4d8;margin:5px 3px}.paired-panel{max-height:500px;overflow-y:auto;border:1px solid #cfe5d8;border-radius:16px;background:#fff}.paired-panel.single{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}.paired-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;padding:12px 14px;border-bottom:1px solid #e0eee5}.paired-row:last-child{border-bottom:0}.practice-stack{display:grid;gap:8px}.paired-task{width:100%;min-width:0;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:46px;padding:10px 12px;border-radius:11px;text-align:left;font-size:13px}.paired-task b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paired-task small{font-size:11px;white-space:nowrap}.paired-task .library-check{width:19px;height:19px}.course-card{background:#c6ead3!important;border:1px solid #a8dcbc!important;color:#205f40!important}.practice-card{background:#f0faf3!important;border:1px solid #d2ebdb!important;color:#4f7f64!important}.english-paper{background:#d9f0e3;border:1px solid #b8dfc9;color:#286d4a}.english-analysis,.english-tone{background:#f1faf4;border:1px solid #d1eadb;color:#4c7f63}.paired-task.chosen{box-shadow:0 0 0 2px #2e9a61;border-color:#2e9a61!important}@media(max-width:680px){.paired-row{grid-template-columns:1fr;gap:8px}.practice-stack{border-top:1px solid #e0eee5;padding-top:8px}.paired-panel.single{grid-template-columns:1fr}}.english-map{display:grid;gap:18px}.english-map-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border:1px solid #d7eadf;border-radius:20px;background:linear-gradient(120deg,#f4fbf6,#fff)}.english-map-intro h2{margin:2px 0 5px;font-size:20px}.english-map-intro p{margin:0;color:#668174;font-size:13px}.english-map-intro>span{flex:none;padding:8px 12px;border-radius:999px;background:#dff3e6;color:#267149;font-weight:700;font-size:13px}.english-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.english-module{display:flex;align-items:center;gap:15px;min-width:0;padding:18px;border:1px solid #dbece1;border-radius:18px;background:#fff;box-shadow:0 7px 22px #2671490a}.english-progress-ring{--progress: 0%;position:relative;display:grid;place-items:center;flex:none;width:62px;aspect-ratio:1;border-radius:50%;background:conic-gradient(#38a768 var(--progress),#e7f2eb 0)}.english-progress-ring:before{content:"";position:absolute;width:50px;aspect-ratio:1;border-radius:50%;background:#fff}.english-progress-ring b{z-index:1;color:#237048;font-size:12px}.english-module-copy{min-width:0;flex:1}.english-module h3{margin:0 0 4px;font-size:16px;color:#1f4530}.english-module p{margin:0 0 8px;color:#71877b;font-size:13px}.english-module p b{color:#258250}.english-progress-track{height:6px;overflow:hidden;border-radius:999px;background:#e8f3eb}.english-progress-track i{display:block;height:100%;min-width:0;border-radius:inherit;background:#41aa6c}.english-module small{display:block;overflow:hidden;margin-top:8px;color:#83958a;text-overflow:ellipsis;white-space:nowrap;font-size:11px}@media(max-width:680px){.english-map-intro{align-items:flex-start;flex-direction:column}.english-module-grid{grid-template-columns:1fr}}.task-start{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:10px;background:#e2f5e9;color:#278553;transition:.18s}.task-start:hover{background:#39a969;color:#fff;transform:translateY(-1px)}.focus-picker{position:fixed;z-index:9;left:50%;bottom:28px;width:min(560px,calc(100vw - 34px));max-height:min(65vh,520px);overflow:auto;padding:16px;border:1px solid #cfe7d8;border-radius:18px;background:#fffffff7;box-shadow:0 18px 50px #164a2f33;transform:translate(-50%)}.focus-picker>div{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 10px;color:#245b3b}.focus-picker>div button{color:#788d81;font-size:12px}.focus-picker>button{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:11px 8px;text-align:left;border-top:1px solid #e6f0e9;color:#2d6143}.focus-picker>button:hover{background:#f0faf3}.focus-picker>button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.focus-picker>button small{color:#82978a;font-size:11px}.focus-overlay{z-index:30}.focus-card .subject{display:inline-block;margin-bottom:10px}.focus-card .primary{min-width:112px;justify-content:center}@media(max-width:680px){.task-start{width:29px;height:29px}.focus-picker{bottom:78px}}
