.rcContainer{padding:0;max-width:1200px;margin:0 auto}.rcTopbar{gap:16px;margin-bottom:20px;flex-wrap:wrap}.rcCourseSelect,.rcTopbar{display:flex;align-items:center}.rcCourseSelect{gap:8px}.rcCourseSelect label{font-size:13px;color:#64748b;font-weight:500}.rcCourseSelect select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff;cursor:pointer;min-width:160px}.rcCourseSelect select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.rcSearchBox{flex:1 1;display:flex;gap:0;min-width:300px}.rcSearchBox input{flex:1 1;padding:10px 16px;border:1px solid #e2e8f0;border-right:none;border-radius:8px 0 0 8px;font-size:14px;outline:none;transition:border-color .2s}.rcSearchBox input:focus{border-color:#2563eb}.rcSearchBox button{padding:10px 24px;background:#2563eb;color:#fff;border:none;border-radius:0 8px 8px 0;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.rcSearchBox button:hover{background:#1d4ed8}.rcSearchBox button:disabled{background:#94a3b8;cursor:not-allowed}.rcTabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:2px solid #e2e8f0}.rcTabs button{padding:10px 20px;background:none;font-size:15px;font-weight:500;color:#64748b;cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s;display:flex;align-items:center;gap:6px}.rcTabs button:hover{color:#2563eb}.rcTabs button.active{color:#2563eb;border-bottom-color:#2563eb}.rcCount{background:#f1f5f9;color:#64748b;font-size:12px;padding:2px 8px;border-radius:10px;font-weight:600}.rcTabs button.active .rcCount{background:#dbeafe;color:#2563eb}.rcCardGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:16px;gap:16px}.rcBookCard{display:flex;gap:16px;padding:20px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s}.rcBookCard:hover{border-color:#2563eb;box-shadow:0 4px 12px rgba(37,99,235,.1);transform:translateY(-2px)}.rcBookCover{width:56px;height:72px;background:linear-gradient(135deg,#2563eb,#14b8a6);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:2px 2px 8px rgba(0,0,0,.1)}.rcBookSymbol{color:#fff;font-size:24px;font-weight:700}.rcBookInfo{flex:1 1;min-width:0}.rcBookInfo h3{font-size:16px;font-weight:600;color:#0f172a;margin:0 0 4px}.rcBookMeta{font-size:13px;color:#64748b;margin:0 0 4px}.rcBookStats{font-size:12px;color:#94a3b8;margin:0 0 8px}.rcBookAction{font-size:13px;color:#2563eb;font-weight:500}.rcExamCard{padding:20px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s}.rcExamCard:hover{border-color:#14b8a6;box-shadow:0 4px 12px rgba(20,184,166,.1);transform:translateY(-2px)}.rcExamHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.rcExamYear{font-size:24px;font-weight:700;color:#0f172a}.rcExamType{font-size:11px;padding:3px 10px;border-radius:10px;font-weight:600}.rcExamType.final{background:#fef3c7;color:#b45309}.rcExamType.mid{background:#dbeafe;color:#2563eb}.rcExamCard h3{font-size:15px;font-weight:600;color:#0f172a;margin:0 0 4px}.rcExamMeta{font-size:13px;color:#64748b;margin:0 0 8px}.rcExamAnswer{font-size:12px;font-weight:500;margin:0}.rcExamAnswer.yes{color:#059669}.rcEmpty,.rcExamAnswer.no{color:#94a3b8}.rcEmpty{text-align:center;padding:60px 20px}.rcEmpty p{margin:4px 0}.rcEmptyHint{font-size:13px}.rcLoading{text-align:center;padding:40px;color:#64748b}.rcError{background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.rcSearchHeader{display:flex;align-items:center;gap:16px;margin-bottom:20px}.rcSearchHeader span{color:#64748b;font-size:14px}.rcBackBtn{background:none;border:1px solid #e2e8f0;color:#475569;padding:6px 14px;border-radius:8px;font-size:13px;cursor:pointer;transition:all .2s}.rcBackBtn:hover{border-color:#2563eb;color:#2563eb}.rcSearchResults{display:flex;flex-direction:column;gap:12px}.rcSearchItem{padding:16px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s}.rcSearchItem:hover{border-color:#2563eb;background:#f8fafc}.rcSearchMeta{font-size:12px;color:#14b8a6;font-weight:600;margin-bottom:4px}.rcSearchTitle{font-size:14px;font-weight:600;color:#0f172a;margin-bottom:6px;line-height:1.5}.rcSearchSnippet{font-size:13px;color:#475569;line-height:1.6;margin-bottom:6px}.rcSearchJump{font-size:12px;color:#2563eb;font-weight:500}.rcHighlight{background:#fef08a;padding:0 2px;border-radius:2px}.rcReader{display:flex;gap:0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;min-height:600px}.rcReaderSidebar{width:240px;flex-shrink:0;border-right:1px solid #e2e8f0;padding:20px 16px;background:#f8fafc}.rcReaderSidebar .rcBackBtn{margin-bottom:16px}.rcReaderSidebar h3{font-size:14px;font-weight:600;color:#0f172a;margin:0 0 12px;line-height:1.4}.rcChapterList{display:flex;flex-direction:column;gap:2px}.rcChapterList button{text-align:left;padding:8px 12px;background:none;border:none;border-radius:6px;font-size:13px;color:#475569;cursor:pointer;transition:all .15s;line-height:1.4}.rcChapterList button:hover{background:#e2e8f0;color:#0f172a}.rcChapterList button.active{background:#dbeafe;color:#2563eb;font-weight:600}.rcReaderContent{flex:1 1;padding:28px 36px;overflow-y:auto;max-height:75vh}.rcReaderContent h2{font-size:22px;font-weight:700;color:#0f172a;margin:0 0 24px;padding-bottom:14px;border-bottom:2px solid #e2e8f0}.rcBookContent{line-height:1.9;color:#1e293b;font-size:15px}.rcBookBlock{margin-bottom:22px}.rcBookBlock:last-child{margin-bottom:0}.rcBlockLabel{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.rcLabelTag{display:inline-block;background:#2563eb;color:#fff;font-size:12px;font-weight:700;padding:2px 10px;border-radius:4px;letter-spacing:.5px;flex-shrink:0}.rcBlockName{font-size:15px;font-weight:600;color:#0f172a}.rcBlockBody{font-size:15px;line-height:1.9}.rcBlockBody p{margin:8px 0}.rcType-corollary,.rcType-definition,.rcType-lemma,.rcType-property,.rcType-proposition,.rcType-theorem{background:#f8fafc;border-left:3px solid #2563eb;padding:14px 18px;border-radius:0 8px 8px 0}.zjuSchedule{--zju-blue:#315ee7;--zju-ink:#15203a;color:var(--zju-ink)}.zjuScheduleHero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:28px;border:1px solid #d8e0f0;border-radius:22px;background:linear-gradient(120deg,#f8fbff,#f8fbff 68%,#e4f5ef 0,#e4f5ef)}.zjuScheduleEyebrow{margin:0 0 8px!important;color:#2f6b5a!important;font:700 11px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.15em}.zjuScheduleHero h2{margin:0;font-size:30px;letter-spacing:-.04em}.zjuScheduleHero p:not(.zjuScheduleEyebrow){max-width:610px;margin:10px 0 0;color:#5e687d;line-height:1.7}.zjuScheduleActions{display:grid;min-width:190px;grid-gap:8px;gap:8px}.zjuScheduleActions button,.zjuScheduleMeta button{height:42px;border:1px solid #cdd7ea;border-radius:11px;background:#fff;color:#26334f;font-weight:700;cursor:pointer}.zjuScheduleActions .zjuConnectButton{border-color:var(--zju-blue);background:var(--zju-blue);color:#fff;box-shadow:0 8px 20px rgba(49,94,231,.2)}.zjuHiddenInput{display:none}.zjuPrivacyRail{display:flex;gap:0;margin:14px 0 22px;border:1px solid #dce3ef;border-radius:12px;background:#fff;overflow:hidden}.zjuPrivacyRail span{flex:1 1;padding:10px 14px;color:#486050;font-size:12px;text-align:center;border-right:1px solid #e5eaf2}.zjuPrivacyRail span:last-child{border-right:0}.zjuScheduleNotice{padding:11px 14px;border-radius:10px;background:#e8f6ef;color:#146b4c;font-weight:650}.zjuScheduleEmpty{position:relative;min-height:320px;padding:60px 32px;text-align:center;border:1px dashed #bdc9dc;border-radius:18px;background:#fbfcff;overflow:hidden}.zjuScheduleEmpty h3{position:relative;margin:20px 0 8px;font-size:22px}.zjuScheduleEmpty p{position:relative;max-width:580px;margin:0 auto;color:#667087;line-height:1.75}.zjuScheduleFallback{margin-top:12px!important;font-size:13px}.zjuEmptyWeek{position:relative;display:flex;justify-content:center;gap:5px;color:#fff;font:800 18px/1 ui-monospace,monospace}.zjuEmptyWeek,.zjuEmptyWeek span{width:44px;height:58px;padding-top:20px;border-radius:5px;background:#315ee7}.zjuEmptyWeek span{margin-top:-20px;background:#c9d6fb;color:#315ee7}.zjuEmptyWeek span:nth-child(3){margin-top:-10px;background:#80b8a7;color:#fff}.zjuEmptyWeek span:nth-child(4){margin-top:-24px}.zjuEmptyWeek span:nth-child(5){margin-top:-4px}.zjuScheduleMeta{display:grid;grid-template-columns:1.2fr .45fr 1fr auto;grid-gap:1px;gap:1px;margin:0 0 14px;border:1px solid #d9e1ee;border-radius:14px;background:#d9e1ee;overflow:hidden}.zjuScheduleMeta>div{padding:13px 16px;background:#fff}.zjuScheduleMeta span{display:block;margin-bottom:3px;color:#788296;font-size:11px;text-transform:uppercase}.zjuScheduleMeta strong{font-size:14px}.zjuScheduleMeta button{height:auto;margin:0;padding:0 18px;border:0;border-radius:0;background:#f6f8fc;color:#6c3440}.zjuWeekGrid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));grid-gap:10px;gap:10px;overflow-x:auto;padding:4px 0 14px}.zjuDayColumn{min-width:150px;padding:10px;border:1px solid #dfe5ef;border-radius:14px;background:#f8faff}.zjuDayColumn h3{margin:0 0 10px;padding:4px 2px 10px;border-bottom:1px solid #dfe5ef;font-size:14px}.zjuCourseSlip{margin:0 0 9px;padding:12px;border-left:4px solid var(--zju-blue);border-radius:9px;background:#fff;box-shadow:0 4px 12px rgba(30,50,90,.07)}.zjuCourseSlip:nth-of-type(3n+2){border-left-color:#2c8c6d}.zjuCourseSlip:nth-of-type(3n){border-left-color:#c77852}.zjuCourseSlip h4{margin:5px 0 8px;font-size:14px;line-height:1.4}.zjuCourseSlip p{margin:2px 0;color:#677287;font-size:12px}.zjuCourseSlip>span{display:inline-block;margin-top:9px;padding:3px 7px;border-radius:999px;background:#eef2fb;color:#53617c;font-size:10px}.zjuCoursePeriods{color:var(--zju-blue);font:750 11px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}.zjuNoCourse{margin:32px 0;color:#a0a8b5;text-align:center;font-size:12px}@media(max-width:800px){.zjuScheduleHero{align-items:stretch;flex-direction:column;background:linear-gradient(155deg,#f8fbff,#f8fbff 76%,#e4f5ef 0)}.zjuScheduleActions{min-width:0}.zjuPrivacyRail{flex-direction:column}.zjuPrivacyRail span{border-right:0;border-bottom:1px solid #e5eaf2}.zjuScheduleMeta{grid-template-columns:1fr 1fr}.zjuScheduleMeta>div:first-child{grid-column:1/-1}.zjuScheduleMeta button{min-height:44px}.zjuWeekGrid{scroll-snap-type:x proximity}.zjuDayColumn{scroll-snap-align:start}}.rcType-corollary .rcLabelTag,.rcType-definition .rcLabelTag,.rcType-lemma .rcLabelTag,.rcType-property .rcLabelTag,.rcType-proposition .rcLabelTag,.rcType-theorem .rcLabelTag{background:#2563eb}.rcType-example{background:#f0fdfa;border-left:3px solid #14b8a6;padding:14px 18px;border-radius:0 8px 8px 0}.rcType-example .rcLabelTag{background:#14b8a6}.rcType-exercise{background:#fffbeb;border-left:3px solid #f59e0b;padding:14px 18px;border-radius:0 8px 8px 0}.rcType-exercise .rcLabelTag{background:#f59e0b}.rcType-proof{padding-left:20px;border-left:2px solid #cbd5e1;margin-left:4px}.rcType-proof .rcLabelTag{background:#64748b}.rcType-explanation{background:transparent;border:none;padding:0}.rcType-explanation .rcBlockLabel{display:none}.rcType-explanation .rcBlockBody{font-size:15px;line-height:1.9}.rcExamDetail{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px 32px}.rcExamDetail .rcBackBtn{margin-bottom:16px}.rcExamDetailHeader{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e2e8f0}.rcExamDetailHeader h2{font-size:20px;font-weight:700;color:#0f172a;margin:0 0 6px}.rcExamDetailHeader p{font-size:14px;color:#64748b;margin:0}.rcQuestionList{display:flex;flex-direction:column;gap:24px}.rcQuestion{padding-bottom:20px;border-bottom:1px solid #f1f5f9}.rcQuestion:last-child{border-bottom:none}.rcQuestionHeader{display:flex;align-items:center;gap:10px;margin-bottom:10px}.rcQNumber{background:#2563eb;color:#fff;font-size:13px;font-weight:600;padding:3px 10px;border-radius:6px}.rcQScore{font-size:12px;color:#64748b}.rcQStatement{font-size:14px;line-height:1.8;color:#334155;margin-bottom:10px}.rcQSolution{margin-top:8px}.rcQSolution summary{font-size:13px;color:#14b8a6;cursor:pointer;font-weight:500;padding:6px 0}.rcQSolution summary:hover{color:#0d9488}.rcQSolution[open] summary{margin-bottom:8px}@media(max-width:768px){.rcReader{flex-direction:column}.rcReaderSidebar{width:100%;border-right:none;border-bottom:1px solid #e2e8f0}.rcChapterList{flex-direction:row;flex-wrap:wrap}.rcChapterList button{font-size:12px}.rcCardGrid{grid-template-columns:1fr}.rcSearchBox{min-width:100%}}.loginPage{min-height:100dvh;max-width:none;width:100%;margin:0;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(ellipse at 15% 10%,#e5efff,transparent 55%),linear-gradient(140deg,#f4f8fe,#f8fbfc);color:#20344f;box-sizing:border-box}.loginSurface{width:100%;max-width:440px;padding:36px;background:#fff;border:1px solid #e0e8f3;border-radius:20px;box-shadow:0 16px 60px #25446d0a;box-sizing:border-box}.loginIdentity{display:flex;align-items:center;gap:12px;margin-bottom:30px}.loginIdentity>span{display:grid;place-items:center;width:46px;height:46px;background:linear-gradient(145deg,#2868d9,#20a4bc);color:white;border-radius:12px;font-size:24px;font-weight:700}.loginIdentity strong{font-size:23px}.loginIdentity p{margin:2px 0 0;color:#64748b}.loginSurface h1{font-size:25px;margin:0 0 24px}.loginSurface form{display:grid;grid-gap:18px;gap:18px}.loginSurface label{display:grid;grid-gap:8px;gap:8px;font-weight:500}.loginSurface input,.loginSurface select{box-sizing:border-box;width:100%;min-width:0;padding:12px;border:1px solid #cfdaeb;border-radius:8px;background:white;color:inherit;font:inherit}.loginSurface button{font:inherit;cursor:pointer;min-height:46px;border-radius:8px}.loginSubmit{background:#2865d8;color:#fff;border:0;margin-top:4px}.loginToggle{width:100%;margin-top:14px;background:transparent;color:#245bb9;border:0}.loginSurface button:disabled{opacity:.6;cursor:wait}.loginError{color:#a92e37;background:#fff2f3;padding:12px;border-radius:8px;line-height:1.6}.loginPrivacy{color:#63748a;line-height:1.6;margin:0}.loginSurface :focus-visible{outline:3px solid #97b8f5;outline-offset:2px}@media(max-width:480px){.loginPage{padding:20px 14px}.loginSurface{padding:26px 22px}}