.course-search_backdrop__nP63t{position:fixed;inset:0;z-index:100;background:color-mix(in oklab,var(--background) 65%,transparent);backdrop-filter:blur(4px)}.course-search_popup__I2qLP{position:fixed;top:min(10dvh,80px);left:50%;transform:translateX(-50%);z-index:101;width:720px;max-width:calc(100vw - 32px);max-height:calc(100dvh - min(10dvh, 80px) - 24px);outline:none;display:flex;flex-direction:column;overflow:hidden;background:var(--background);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow-md);color:var(--foreground)}.course-search_search__Yru9E{display:flex;align-items:center;gap:9px;padding:12px 16px;flex-shrink:0;border-bottom:1px solid var(--border);background:var(--bg-2);color:var(--fg-3)}.course-search_search__Yru9E input{flex:1;min-width:0;border:0;outline:none;background:transparent;font-size:13.5px;color:var(--foreground)}.course-search_search__Yru9E:focus-within{box-shadow:inset 0 -2px var(--primary)}.course-search_search__Yru9E button{font-family:var(--font-mono);font-size:10.5px;cursor:pointer}.course-search_close__cMskG{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:6px}.course-search_close__cMskG:hover{background:var(--bg-3);color:var(--foreground)}.course-search_list__B12B8{min-height:0;max-height:min(560px,65dvh);overflow-y:auto;overscroll-behavior:contain;padding:5px}.course-search_row__O71FY{display:flex;align-items:center;gap:11px;width:100%;padding:8px 9px;border-radius:6px;font-size:13.5px;color:var(--fg-2);text-align:left}.course-search_row__O71FY:hover,.course-search_row__O71FY[data-active=true]{background:var(--bg-2);color:var(--foreground)}.course-search_row__O71FY[aria-current=page]{background:var(--primary-soft)}.course-search_row__O71FY[aria-current=page] .course-search_title__Dv3wL{color:var(--primary-ink);font-weight:600}.course-search_more__LZgbB:focus-visible,.course-search_row__O71FY:focus-visible,.course-search_search__Yru9E button:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.course-search_number__3z0Zd{width:20px;flex:none;font:11px var(--font-mono);color:var(--fg-3)}.course-search_title__Dv3wL{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--foreground)}.course-search_status__ov4b_{width:66px;flex:none;text-align:right;font:10px var(--font-mono);color:var(--fg-3)}.course-search_state__zhVnk{width:6px;height:6px;border-radius:2px;background:var(--border-strong);flex:none}.course-search_state__zhVnk[data-completed=true]{background:var(--success)}.course-search_locked__xLexa{opacity:.5;cursor:not-allowed}.course-search_locked__xLexa .course-search_state__zhVnk{background:transparent;border:1px solid var(--border-strong)}.course-search_group___uX_w{padding:10px 9px 4px;color:var(--fg-3);font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.09em}.course-search_row__O71FY mark{background:transparent;color:var(--primary-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}.course-search_hit__5UDir{align-items:flex-start}.course-search_kind___DfYK{width:72px;flex:none;margin-top:1px;padding:2px 4px;border:1px solid var(--border);border-radius:4px;font:9px var(--font-mono);text-transform:uppercase;text-align:center;color:var(--fg-3)}.course-search_material__I_1yw{display:flex;flex-direction:column;gap:3px;min-width:0}.course-search_snippet__eYQrN{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;color:var(--foreground)}.course-search_context__SMfe9{font:10.5px/1.5 var(--font-mono);color:var(--fg-3);overflow-wrap:anywhere}.course-search_tip__rG_kq{padding:10px 9px 6px;font-size:12px;color:var(--fg-3);border-top:1px dashed var(--border);margin-top:6px}.course-search_legend__SndTz{flex-shrink:0;border-top:1px solid var(--border);padding:8px 12px;font:10px/1.5 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3)}.course-search_message__Vlj_C{padding:18px 12px;text-align:center;font-size:12.5px;color:var(--fg-3)}.course-search_message__Vlj_C:empty{display:none}.course-search_more__LZgbB{width:100%;padding:8px;border-radius:6px;font-size:12px;cursor:pointer}.course-search_more__LZgbB:hover{background:var(--bg-2)}@media (max-width:420px){.course-search_row__O71FY{gap:7px}.course-search_status__ov4b_{width:58px;font-size:9px}.course-search_kind___DfYK{width:62px}}@media (max-width:560px){.course-search_popup__I2qLP{top:16px;max-height:calc(100dvh - 32px)}.course-search_search__Yru9E input{font-size:16px}.course-search_list__B12B8{max-height:65dvh}}.chapter-progress-summary_track__UoNMx{position:relative}.chapter-progress-summary_celebrating__2ffoI .chapter-progress-summary_track__UoNMx{animation:chapter-progress-summary_glow__ZFQab 2s ease-out}.chapter-progress-summary_celebrating__2ffoI .chapter-progress-summary_track__UoNMx:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent,color-mix(in oklab,white 75%,transparent) 50%,transparent);background-size:40% 100%;background-repeat:no-repeat;animation:chapter-progress-summary_sweep__yp5nF 1.1s ease-in-out .45s both}.chapter-progress-summary_celebrating__2ffoI .chapter-progress-summary_percentage__diOAk{animation:chapter-progress-summary_pop__SC3qX .6s cubic-bezier(.3,1.6,.5,1) .4s both}@keyframes chapter-progress-summary_sweep__yp5nF{0%{background-position:-60% 0}to{background-position:160% 0}}@keyframes chapter-progress-summary_glow__ZFQab{0%,to{box-shadow:0 0 0 0 transparent}35%{box-shadow:0 0 10px 1px color-mix(in oklab,var(--success) 55%,transparent)}}@keyframes chapter-progress-summary_pop__SC3qX{0%,to{transform:scale(1)}50%{transform:scale(1.18);text-shadow:0 0 8px color-mix(in oklab,var(--success) 60%,transparent)}}@media (prefers-reduced-motion:reduce){.chapter-progress-summary_celebrating__2ffoI .chapter-progress-summary_percentage__diOAk,.chapter-progress-summary_celebrating__2ffoI .chapter-progress-summary_track__UoNMx,.chapter-progress-summary_celebrating__2ffoI .chapter-progress-summary_track__UoNMx:after{animation:none}}