:root{color:#141821;font-synthesis:none;letter-spacing:0;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;line-height:1.5}*{box-sizing:border-box}html{background:#f4f6f8}body{background:#f4f6f8;min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed}p,h1,h2{margin:0}#root{min-height:100vh}.appShell{color:#141821;min-height:100vh}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-bottom:1px solid #dde2e8;align-items:center;gap:12px;height:58px;padding:0 max(16px,50vw - 640px);display:flex}.iconButton,.chip,.favoriteButton,.playButton,.speed,.modeTabs button,.panelTabs button,.sentenceControls button,.cardFilters button,.vocabRow,.vocabHead button{border:1px solid #0000;border-radius:8px;transition:background-color .16s,border-color .16s,color .16s,transform .16s}.iconButton{color:#4b5563;background:0 0;place-items:center;width:32px;height:32px;font-size:18px;display:grid}.iconButton:hover,.chip:hover,.favoriteButton:hover,.playButton:hover,.speed:hover,.modeTabs button:hover,.panelTabs button:hover,.sentenceControls button:hover,.cardFilters button:hover,.vocabRow:hover,.vocabHead button:hover{background:#eef3f8}.brand{white-space:nowrap;border-right:1px solid #dde2e8;align-items:center;gap:8px;padding-right:12px;font-size:17px;font-weight:700;display:inline-flex}.brandMark{color:#2563eb;background:0 0;font-size:17px}.topbar h1{color:#111827;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:16px;font-weight:500;overflow:hidden}.headerActions{align-items:center;gap:8px;display:inline-flex}.chip,.favoriteButton{color:#374151;background:#fff;border-color:#dde2e8;height:34px;padding:0 12px}.chip.active{color:#fff;background:#4676f4;border-color:#4676f4}.favoriteButton{align-items:center;gap:6px;display:inline-flex}.adminLink{color:#374151;background:#fff;border:1px solid #dde2e8;border-radius:8px;justify-content:center;align-items:center;height:34px;padding:0 12px;font-size:14px;text-decoration:none;display:inline-flex}.adminLink:hover{background:#eef3f8}.authShell{color:#111827;background:linear-gradient(#f8fafceb,#f8fafceb),url(/video/1.mp4);place-items:center;min-height:100vh;padding:24px;display:grid}.adminAuthShell{color:#111827;background:#eef3f8;place-items:center;min-height:100vh;padding:24px;display:grid}.adminAuthPanel{background:#fff;border:1px solid #dfe7f0;border-radius:8px;gap:22px;width:min(420px,100%);padding:30px;display:grid;box-shadow:0 18px 50px #0f172a1f}.authPanel{background:#fff;border:1px solid #e3e8ef;border-radius:8px;gap:22px;width:min(420px,100%);padding:30px;display:grid;box-shadow:0 18px 50px #0f172a1f}.authBrand{color:#111827;font-size:20px;font-weight:800;text-decoration:none}.authBrand span{color:#2563eb}.authHead{gap:6px;display:grid}.authHead h1{margin:0;font-size:24px}.authHead p{color:#64748b;margin:0;font-size:14px}.authForm{gap:14px;display:grid}.authForm label{gap:8px;display:grid}.authForm label span{color:#475569;font-size:13px;font-weight:700}.authForm input{color:#111827;height:40px;font:inherit;border:1px solid #d8e0ea;border-radius:8px;padding:0 12px}.authForm button,.loginButton{cursor:pointer;border:0}.authForm button{color:#fff;background:#4169e1;border-radius:8px;height:42px;font-weight:800}.authForm button:disabled{cursor:not-allowed;background:#94a3b8}.authMessage{color:#be123c;background:#fff1f2;border-radius:8px;margin:0;padding:9px 10px;font-size:13px}.authSwitch p{color:#64748b;margin:0;font-size:14px}.authSwitch a{color:#2563eb;font-weight:700;text-decoration:none}.inviteHint{color:#64748b;background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.inviteHint strong{color:#111827;letter-spacing:.04em}.homeShell{color:#111827;background:#f5f7fb;min-height:100vh}.homeTopbar,.frontTopbar{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border-bottom:1px solid #dfe5ed;align-items:center;gap:24px;height:48px;padding:0 18px;display:flex;position:sticky;top:0}.homeBrand{color:#111827;white-space:nowrap;font-size:18px;font-weight:800;text-decoration:none}.homeBrand span,.homeNav .active{color:#2563eb}.homeNav{flex:1;justify-content:flex-end;align-items:center;gap:22px;display:flex}.homeNav a{color:#475569;white-space:nowrap;font-size:13px;text-decoration:none}.mobileMenuButton,.mobileLoginLink,.mobileLogoutButton{display:none}.mobileMenuButton{cursor:pointer;background:#fff;border:1px solid #d8e0ea;border-radius:8px;justify-content:center;align-items:center;width:36px;height:34px}.mobileMenuButton span{background:#1f2937;border-radius:999px;width:17px;height:2px;transition:transform .16s,opacity .16s;display:block}.mobileMenuButton span+span{margin-top:4px}.mobileMenuButton.active span:first-child{transform:translateY(6px)rotate(45deg)}.mobileMenuButton.active span:nth-child(2){opacity:0}.mobileMenuButton.active span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.frontTopbarTitle{color:#111827;white-space:nowrap;font-size:14px;font-weight:800}.loginButton{color:#fff;background:#4169e1;border-radius:8px;justify-content:center;align-items:center;height:30px;padding:0 15px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.courseHome{grid-template-columns:240px minmax(0,1fr);gap:18px;padding:16px 18px 24px;display:grid}.siteNotice{color:#3154c7;background:#eef5ff;border:1px solid #cfe0ff;border-radius:8px;margin:14px 18px 0;padding:10px 12px;font-size:13px;font-weight:800}.courseFilters{align-content:start;gap:14px;display:grid}.searchBox,.filterSection,.courseStats{background:#fff;border:1px solid #e3e8ef;border-radius:8px}.searchBox{gap:6px;padding:10px 12px;display:grid}.searchBox span{color:#64748b;font-size:12px;font-weight:700}.searchBox input{color:#111827;width:100%;height:30px;font:inherit;border:0;outline:0}.courseStats{gap:1px;display:grid;overflow:hidden}.courseStats div{background:#fff;justify-content:space-between;align-items:center;min-height:48px;padding:0 14px;display:flex}.courseStats span{color:#64748b;font-size:12px}.courseStats strong{color:#4169e1;font-size:18px}.filterSection{gap:14px;padding:16px 14px;display:grid}.filterSection h2{margin:0;font-size:15px}.filterSection label{gap:7px;display:grid}.filterSection label span,.tagFilterGroup>span{color:#475569;font-size:12px;font-weight:700}.filterSection select{color:#111827;height:34px;font:inherit;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:13px}.tagFilterGroup{gap:9px;display:grid}.tagFilterGroup div{flex-wrap:wrap;gap:8px;display:flex}.tagFilterGroup button{color:#64748b;background:#f1f5f9;border:0;border-radius:999px;height:28px;padding:0 10px;font-size:12px}.tagFilterGroup button.active{color:#fff;background:#4169e1}.clearFilters{color:#fff;background:#4169e1;border:0;border-radius:8px;height:36px;font-weight:700}.courseGridArea{gap:18px;min-width:0;display:grid}.homeFeaturedVideo{background:#fff;border:1px solid #dfe6ef;border-radius:8px;grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);display:grid;overflow:hidden}.homeFeaturedMedia{background:#0f172a;min-width:0}.homeFeaturedMedia video{aspect-ratio:16/9;object-fit:cover;background:#0f172a;width:100%;display:block}.homeFeaturedInfo{align-content:center;gap:12px;padding:22px;display:grid}.homeFeaturedInfo>span{color:#4169e1;font-size:12px;font-weight:800}.homeFeaturedInfo h2{color:#111827;margin:0;font-size:24px;line-height:1.2}.homeFeaturedInfo p{color:#64748b;margin:0;font-size:13px;line-height:1.6}.homeFeaturedMeta{flex-wrap:wrap;gap:8px;display:flex}.homeFeaturedMeta strong{color:#475569;background:#f1f5f9;border-radius:6px;padding:5px 8px;font-size:12px}.homeFeaturedInfo button{color:#fff;cursor:pointer;background:#4169e1;border:0;border-radius:8px;justify-self:start;height:36px;padding:0 16px;font-size:13px;font-weight:800}.courseGrid{grid-template-columns:repeat(4,minmax(220px,1fr));gap:18px;display:grid}.courseCard{background:#fff;border:1px solid #e3e8ef;border-radius:8px;overflow:hidden}.courseCard button{width:100%;color:inherit;text-align:left;background:0 0;border:0;padding:0;display:grid}.courseThumb{aspect-ratio:16/9;background:#0f172a;position:relative;overflow:hidden}.courseThumb img,.courseThumb video{object-fit:cover;width:100%;height:100%;display:block}.courseThumb span{color:#fff;background:#0f172ad1;border-radius:5px;padding:3px 7px;font-size:12px;font-weight:700;position:absolute;bottom:8px;left:10px}.courseCardBody{gap:7px;padding:12px;display:grid}.courseCardBody strong{color:#111827;font-size:14px;line-height:1.4}.courseCardBody p{color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:36px;margin:0;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.courseCardBody div{flex-wrap:wrap;gap:7px;display:flex}.courseDifficultyLine{display:block}.courseDifficultyLine span{color:#475569;font-size:12px;font-weight:700}.courseCardBody span{color:#4169e1;font-size:12px;font-weight:700}.emptyCourses{color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:8px;place-items:center;min-height:280px;display:grid}.emptyCourses strong{color:#111827}.emptyCourses p{margin:6px 0 0}.profileShell{color:#111827;background:#f5f7fb;min-height:100vh}.profileLayout{grid-template-columns:220px minmax(0,1fr);gap:18px;padding:18px;display:grid}.profileSidebar,.profileAccount,.profilePanels section,.profileEmpty,.profileStatsGrid div{background:#fff;border:1px solid #e3e8ef;border-radius:8px}.profileSidebar{align-self:start;gap:12px;padding:16px;display:grid}.profileSidebarCard{border-bottom:1px solid #e7edf5;gap:6px;padding-bottom:6px;display:grid}.profileSidebarCard span{color:#64748b;font-size:12px;font-weight:700}.profileSidebarCard strong{overflow-wrap:anywhere;color:#111827;font-size:18px}.profileNav{gap:6px;display:grid}.profileNav a,.profileLogoutButton{color:#334155;border-radius:8px;align-items:center;min-height:38px;padding:0 12px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.profileNav a.active{color:#3154c7;background:#eef3ff}.profileLogoutButton{cursor:pointer;background:#fff;border:1px solid #dbe5f1}.profileAccount{align-self:start;gap:18px;padding:20px;display:grid}.profileAccount>span,.profileHead span,.profileStatsGrid span,.profilePanelHead span{color:#64748b;font-size:12px;font-weight:700}.profileAccount>strong{overflow-wrap:anywhere;color:#111827;font-size:24px}.profileAccount dl{background:#e7edf5;border-radius:6px;gap:1px;margin:0;display:grid;overflow:hidden}.profileAccount dl div{background:#fbfdff;gap:5px;padding:12px;display:grid}.profileAccount dt,.profileAccount dd{margin:0}.profileAccount dt{color:#64748b;font-size:12px}.profileAccount dd{overflow-wrap:anywhere;color:#111827;font-size:13px;font-weight:700}.profileMain{gap:18px;min-width:0;display:grid}.profileHead{justify-content:space-between;align-items:center;gap:14px;display:flex}.profileHead h1{margin:4px 0 0;font-size:26px}.profileHead a,.profileCourseRow a,.profileEmpty a{color:#fff;white-space:nowrap;background:#4169e1;border-radius:8px;justify-content:center;align-items:center;min-height:34px;padding:0 14px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.profileStatsGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.profileStatsGrid div{gap:8px;min-height:92px;padding:16px;display:grid}.profileStatsGrid strong{color:#111827;font-size:28px}.profilePanels{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.profilePanels section{align-content:start;gap:14px;min-height:190px;padding:16px;display:grid}.profilePanelHead{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.profilePanelHead h2{margin:0;font-size:18px}.profileCourseRow{background:#fbfdff;border:1px solid #e7edf5;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.profileCourseRow strong{margin-bottom:6px;display:block}.profileCourseRow p,.profileMuted{color:#64748b;margin:0;font-size:13px;line-height:1.6}.profileAccountCompact{gap:14px;display:grid}.profileAccountCompact>div{gap:6px;display:grid}.profileAccountCompact>div span{color:#64748b;font-size:12px;font-weight:700}.profileAccountCompact>div strong{color:#111827;font-size:20px}.profileAccountCompact dl{background:#e7edf5;border-radius:6px;gap:1px;margin:0;display:grid;overflow:hidden}.profileAccountCompact dl div{background:#fbfdff;gap:4px;padding:10px 12px;display:grid}.profileAccountCompact dt,.profileAccountCompact dd{margin:0}.profileAccountCompact dt{color:#64748b;font-size:12px}.profileAccountCompact dd{color:#111827;font-size:13px;font-weight:700}.profileWordList{flex-wrap:wrap;gap:8px;display:flex}.profileWordList span{color:#334155;background:#f8fafc;border:1px solid #dbe5f1;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}.profileEmpty{gap:10px;width:min(460px,100% - 32px);margin:80px auto;padding:24px;display:grid}.profileEmpty strong{font-size:22px}.profileEmpty p{color:#64748b;margin:0}.profileEmpty div{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.libraryShell{color:#111827;background:#f5f7fb;min-height:100vh}.libraryLayout{grid-template-columns:240px minmax(0,1fr);gap:18px;padding:18px;display:grid}.librarySingle{gap:16px;padding:18px;display:grid}.libraryWithSidebar{grid-template-columns:220px minmax(0,1fr);gap:18px;display:grid}.libraryFilters{align-content:start;gap:14px;display:grid}.libraryMain{align-content:start;gap:16px;min-width:0;display:grid}.vocabWorkspaceTop{grid-template-columns:minmax(320px,1fr) minmax(420px,540px);align-items:stretch;gap:12px;display:grid}.vocabSearchBox,.vocabFilterBar{border-radius:8px}.vocabSearchBox{align-content:center;gap:8px;min-height:78px;padding:12px 14px;display:grid}.vocabSearchBox input{color:#111827;background:#fff;border:1px solid #d8e0ea;border-radius:8px;height:38px;padding:0 12px;font-size:14px}.vocabSearchBox input:focus{border-color:#4169e1;box-shadow:0 0 0 3px #4169e11f}.vocabStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;min-height:78px;display:grid}.vocabStats div{align-content:center;justify-items:center;min-height:78px;padding:10px 12px;display:grid}.vocabFilterBar{grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:10px 14px;display:flex}.vocabFilterBar h2{font-size:14px}.libraryHead{justify-content:space-between;align-items:center;gap:14px;display:flex}.libraryHead span{color:#64748b;font-size:12px;font-weight:800}.libraryHead h1{margin:4px 0 0;font-size:26px}.libraryHead a,.favoriteActions a{color:#fff;white-space:nowrap;background:#4169e1;border-radius:8px;justify-content:center;align-items:center;min-height:34px;padding:0 14px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.libraryCheck{color:#334155;align-items:center;gap:9px;min-height:34px;font-size:13px;font-weight:700;display:flex}.libraryCheck input{accent-color:#4169e1;width:16px;height:16px}.reviewWordGrid{grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px;display:grid}.reviewWordCard{background:#fff;border:1px solid #e3e8ef;border-radius:8px;grid-template-rows:auto auto 1fr;gap:8px;min-height:150px;padding:12px;display:grid}.reviewWordCard div{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.reviewWordCard strong{color:#111827;font-size:18px}.reviewWordCard span{color:#64748b;white-space:nowrap;font-size:11px}.reviewWordCard p{color:#334155;margin:0;font-size:13px;font-weight:700}.reviewWordCard em{color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:38px;font-size:12px;font-style:normal;line-height:1.5;display:-webkit-box;overflow:hidden}.reviewWordCard button,.favoriteActions button{color:#334155;cursor:pointer;min-height:32px;font:inherit;background:#fff;border:1px solid #d6e0eb;border-radius:8px;justify-self:start;font-size:13px;font-weight:800}.reviewWordCard button{justify-self:stretch;padding:0 12px}.reviewWordCard button.active{color:#3154c7;background:#eef3ff;border-color:#4169e1}.favoriteSummary{grid-template-columns:minmax(0,1fr) 180px;gap:12px;display:grid}.favoriteSummary div,.favoriteItem{background:#fff;border:1px solid #e3e8ef;border-radius:8px}.favoriteSummary div{gap:8px;padding:16px;display:grid}.favoriteSummary span{color:#64748b;font-size:12px;font-weight:800}.favoriteSummary strong{overflow-wrap:anywhere;color:#111827;font-size:20px}.favoriteList{gap:10px;display:grid}.favoriteSection{gap:12px;display:grid}.favoriteItem{grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.favoriteItem>span{color:#4169e1;font-size:13px;font-weight:900}.favoriteItem strong{color:#111827;margin-bottom:6px;font-size:15px;line-height:1.45;display:block}.favoriteItem em{color:#4169e1;margin-bottom:6px;font-size:12px;font-style:normal;font-weight:800;display:block}.favoriteItem p{color:#64748b;margin:0;font-size:13px;line-height:1.55}.favoriteActions{align-items:center;gap:8px;display:flex}.favoriteActions button{padding:0 12px}.favoriteWordGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.favoriteWordCard{background:#fff;border:1px solid #e3e8ef;border-radius:8px;gap:10px;padding:14px;display:grid}.favoriteWordCard>div{gap:4px;display:grid}.favoriteWordCard strong{color:#111827}.favoriteWordCard span,.favoriteWordCard em{color:#64748b;font-size:13px}.favoriteWordCard p{color:#334155;margin:0}.favoriteWordCard button{color:#334155;cursor:pointer;min-height:32px;font:inherit;background:#fff;border:1px solid #d6e0eb;border-radius:8px;justify-self:start;padding:0 12px;font-size:13px;font-weight:800}.methodGrid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;display:grid}.methodWorkspace{grid-template-columns:320px minmax(0,1fr);gap:18px;display:grid}.methodNewsList,.methodArticleDetail{align-content:start;gap:16px;display:grid}.methodNewsItems{gap:10px;display:grid}.methodNewsItem{color:#111827;cursor:pointer;text-align:left;background:#fff;border:1px solid #e3e8ef;border-radius:8px;gap:8px;padding:16px;display:grid}.methodNewsItem span{color:#64748b;font-size:12px;font-weight:800}.methodNewsItem strong{font-size:17px;line-height:1.4}.methodNewsItem p{color:#64748b;margin:0;font-size:13px;line-height:1.6}.methodNewsItem.active{background:#eef5ff;border-color:#bfd2ff}.methodArticleDetail{background:#fff;border:1px solid #e3e8ef;border-radius:8px;padding:18px}.methodArticleBody{gap:14px;display:grid}.methodArticleBody p{color:#334155;margin:0;font-size:14px;line-height:1.8}.methodStep,.methodPanel,.feedbackPanel{background:#fff;border:1px solid #e3e8ef;border-radius:8px}.methodStep{align-content:start;gap:16px;min-height:190px;padding:18px;display:grid}.methodStep>span{color:#3154c7;background:#eef3ff;border-radius:999px;place-items:center;width:34px;height:34px;font-size:14px;font-weight:900;display:grid}.methodStep strong{color:#111827;margin-bottom:8px;font-size:18px;display:block}.methodStep p{color:#64748b;margin:0;font-size:13px;line-height:1.7}.methodPanel{gap:14px;padding:16px;display:grid}.methodHabitList{flex-wrap:wrap;gap:9px;display:flex}.methodHabitList span{color:#334155;background:#f8fafc;border:1px solid #dbe5f1;border-radius:999px;padding:8px 11px;font-size:13px;font-weight:800}.feedbackLayout{grid-template-columns:minmax(0,1fr) 360px;gap:18px;padding:18px;display:grid}.feedbackPanel{align-content:start;gap:18px;padding:18px;display:grid}.feedbackForm{gap:14px;display:grid}.feedbackForm label{gap:7px;display:grid}.feedbackForm label span{color:#64748b;font-size:12px;font-weight:800}.feedbackForm input,.feedbackForm select,.feedbackForm textarea{color:#111827;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #d8e0ea;border-radius:8px;font-size:14px}.feedbackForm input,.feedbackForm select{height:40px;padding:0 12px}.feedbackForm textarea{resize:vertical;min-height:180px;padding:12px}.feedbackForm button{color:#fff;cursor:pointer;min-height:38px;font:inherit;background:#4169e1;border:0;border-radius:8px;justify-self:start;padding:0 18px;font-size:14px;font-weight:900}.feedbackMessage{color:#15803d;background:#eefdf4;border-radius:8px;margin:0;padding:10px 12px;font-size:13px;font-weight:700}.feedbackList{gap:10px;display:grid}.feedbackList article{background:#fbfdff;border:1px solid #e7edf5;border-radius:8px;gap:6px;padding:12px;display:grid}.feedbackList span{color:#64748b;font-size:12px;font-weight:800}.feedbackList p{color:#334155;margin:0;font-size:13px;line-height:1.6}.playerToolbar{justify-content:flex-end;align-items:center;padding:12px 18px 0;display:flex}.playerToolbarActions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.workspace{grid-template-columns:minmax(620px,872px) 384px;justify-content:stretch;align-items:start;gap:24px;padding:24px max(16px,50vw - 640px);display:grid}.playerColumn{min-width:0}.videoFrame{aspect-ratio:1292/720;background:#0f172a;border-radius:8px 8px 0 0;position:relative;overflow:hidden;box-shadow:0 14px 35px #0f172a14}.videoFrame video{object-fit:cover;background:#000;width:100%;height:100%;display:block}.previewLockOverlay{z-index:3;color:#fff;text-align:center;background:#020617db;place-content:center;gap:12px;padding:28px;display:grid;position:absolute;inset:0}.previewLockOverlay strong{font-size:24px;line-height:1.2}.previewLockOverlay p{color:#ffffffd1;max-width:420px;margin:0;font-size:14px;line-height:1.6}.previewLockOverlay div{justify-content:center;gap:10px;display:flex}.previewLockOverlay a{color:#111827;background:#fff;border-radius:6px;justify-content:center;align-items:center;height:36px;padding:0 16px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.previewLockOverlay a+a{color:#fff;background:#2563eb}.subtitleOverlay{color:#fff;background:linear-gradient(#0206171a,#020617e0);padding:16px 18px 12px;position:absolute;inset:auto 0 0}.overlayEn{text-shadow:0 2px 10px #00000059;font-size:clamp(19px,2vw,26px);font-weight:700;line-height:1.35}.overlayCn{color:#ffffffe6;margin-top:8px;font-size:14px}.term{color:#7db2ff}.wordActive{color:#ffd166}.captionWord{cursor:pointer;border-radius:4px;transition:background-color .16s,color .16s}.captionWord:hover,.captionWord:focus-visible{background:#3b82f624;outline:none}.wordLookupPopup{z-index:30;background:#f2f5fb;border-radius:18px;width:360px;position:fixed;overflow:hidden;box-shadow:0 18px 42px #0f172a38}.wordPopupHead{color:#111827;background:0 0;grid-template-columns:minmax(0,1fr) 34px 34px;align-items:start;gap:10px;min-height:64px;padding:16px 16px 8px;display:grid}.wordPopupTitle{min-width:0;display:grid}.wordPopupHead strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:34px;font-weight:800;line-height:1;display:block;overflow:hidden}.wordPopupHead button{color:#64748b;background:0 0;border:0;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.wordPopupHead button:hover{background:#0f172a12}.wordPopupHead svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.1px;width:22px;height:22px}.wordPopupFavorite svg{width:24px;height:24px}.wordPopupFavorite.active svg{fill:currentColor}.wordPopupClose svg{width:20px;height:20px}.wordPopupPhonetic{color:#64748b;background:#e4e8f2;border-radius:999px;align-items:center;gap:8px;max-width:calc(100% - 32px);min-height:36px;margin:0 16px 14px;padding:0 12px;font-size:16px;font-weight:700;display:inline-flex}.wordPopupPhonetic button{color:#64748b;background:0 0;border:0;border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.wordPopupPhonetic svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.1px;width:18px;height:18px}.wordPopupBody{background:#fff;border-radius:18px;gap:10px;margin:0 8px 12px;padding:18px 20px;display:grid}.wordPopupBody div{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;display:grid}.wordPopupBody span{color:#8b95a5;background:0 0;border-radius:0;justify-self:start;padding:0;font-size:16px;font-weight:700;line-height:1.55}.wordPopupBody p{color:#1f2937;font-size:16px;line-height:1.55}.wordPopupReview{color:#fff;background:#f97316;border:0;border-radius:8px;width:calc(100% - 32px);height:36px;margin:0 16px 14px;font-size:14px;font-weight:800}.transport{color:#e5edf9;background:#0f1726;border-radius:0 0 8px 8px;margin-top:0;padding:8px 16px 14px;box-shadow:0 14px 35px #0f172a1a}.transport .iconButton{color:#fff;background:0 0;width:24px;height:30px;font-size:24px;line-height:1}.timeRow{color:#e5edf9d9;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:10px;font-size:12px;font-weight:700;display:grid}.timeRow input[type=range]{appearance:none;background:linear-gradient(90deg,#3b82f6 0% 0%,#ffffff2e 0%);border-radius:999px;outline:none;width:100%;height:4px}.timeRow input[type=range]::-webkit-slider-thumb{appearance:none;background:#3b82f6;border:0;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 4px #3b82f62e}.controlRow{align-items:center;gap:18px;margin-top:10px;display:flex}.controlRow:after{content:"⛶";color:#fff;margin-left:6px;font-size:18px;line-height:1}.playButton,.speed,.sentenceControls button,.cardFilters button,.vocabHead button{color:#fff;background:0 0;height:30px;padding:0 10px}.playButton{place-items:center;width:34px;min-width:34px;padding:0;font-size:0;display:inline-grid;position:relative}.playButton svg{fill:currentColor;width:22px;height:22px}.speed.active{color:#fff;background:0 0}.speed{display:none}.speed.active{justify-content:center;align-items:center;margin-left:auto;font-size:14px;display:inline-flex}.studyPanel{background:#fff;border:1px solid #dde2e8;border-radius:8px;flex-direction:column;min-width:0;height:536px;display:flex;overflow:hidden;box-shadow:0 10px 24px #0f172a0f}.panelTabs{background:#fff;border-bottom:1px solid #eef1f5;flex:none;align-items:center;gap:0;height:46px;padding:0;display:flex}.modeTabs button,.panelTabs button{color:#566075;background:0 0;border:0;border-radius:0;height:100%;padding:0 16px;font-size:14px;font-weight:500}.panelTabs button.active{color:#1f55d1;background:0 0;box-shadow:inset 0 -2px #2563eb}.modeTabs{background:#f5f7fb;border-radius:8px;align-items:center;gap:0;height:36px;padding:2px;display:inline-flex}.modeTabs button{color:#4b5563;background:0 0;border:0;border-radius:8px;height:32px;padding:0 14px;font-size:14px}.modeTabs button.active{color:#fff;background:#3f6de5;box-shadow:0 2px 6px #3f6de53d}.captionList{flex-direction:column;flex:1;gap:12px;min-height:0;padding:14px 10px 18px;display:flex;overflow:auto}.captionItem{text-align:left;color:#111827;background:#fff;border:1px solid #e5e9ef;border-radius:8px;flex-direction:column;flex:none;align-items:flex-start;min-height:0;padding:17px 16px 20px;display:flex;position:relative;box-shadow:0 1px 1px #0f172a05}.captionItem.active{border-color:#dbe3ef;box-shadow:0 2px 12px #2563eb14}.captionTime{color:#6b7280;white-space:nowrap;background:#f5f7fb;border-radius:999px;justify-content:center;width:fit-content;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.captionBody{flex-direction:column;gap:14px;width:100%;min-width:0;margin-top:12px;padding-right:22px;display:flex}.captionEn{overflow-wrap:anywhere;font-size:18px;font-weight:700;line-height:1.42}.captionCn{color:#64748b;overflow-wrap:anywhere;font-size:14px;line-height:1.65}.saveMark{color:#a6afbb;text-align:center;padding-top:2px;font-size:18px;line-height:1;position:absolute;top:17px;right:16px}.saveMark.saved{color:#f59e0b}.practicePanel{flex:1;min-height:0;padding:18px;overflow:auto}.cardsPanel{background:#fff;flex:1;min-height:0;padding:0;overflow:auto}.centeredPanel{flex-direction:column;justify-content:center;gap:14px;display:flex}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#6b7280;font-size:12px;font-weight:700}.largeSentence{color:#111827;font-size:24px;font-weight:800;line-height:1.38}.translation{color:#6b7280;font-size:15px}.muted,.hint,.score{color:#6b7280;font-size:14px}.sentenceControls{flex-wrap:wrap;gap:10px;display:flex}.sentenceControls button{color:#2f3b52;background:#f5f7fb;border-color:#d8e0ea}.recordButton.recording{color:#1d4ed8;background:#dbeafe;border-color:#bfdbfe}.practicePanel textarea{resize:vertical;color:#111827;background:#fff;border:1px solid #d9e0ea;border-radius:8px;width:100%;min-height:150px;padding:14px}.practicePanel textarea:focus,.clozeLine input:focus{outline-offset:0;border-color:#8db2ff;outline:2px solid #4676f42e}.clozeLine{flex-wrap:wrap;align-items:center;gap:8px;padding:2px 0 18px;font-size:18px;line-height:1.8;display:flex}.clozeLine input{background:#fff;border:1px solid #d9e0ea;border-radius:8px;width:96px;padding:7px 10px}.cardFilters{z-index:3;background:#fff;border-bottom:1px solid #e5e9ef;gap:10px;padding:14px 12px 10px;display:flex;position:sticky;top:0}.cardFilters button{color:#64748b;white-space:nowrap;background:#f4f5f7;border:0;border-radius:999px;flex:1 1 0;min-width:0;height:30px;padding:0 10px;font-size:12px}.cardFilters button.active{color:#fff;background:#4676f4}.vocabList{background:#fff;display:block}.vocabEmpty{text-align:center;color:#64748b;background:#fff;place-items:center;gap:8px;min-height:220px;padding:24px;display:grid}.vocabEmpty strong{color:#111827;font-size:18px}.vocabEmpty p{max-width:260px;margin:0;font-size:13px;line-height:1.6}.vocabRow{text-align:left;color:#111827;background:#fff;border:0;border-bottom:1px solid #e5e9ef;border-radius:0;grid-template-columns:28px minmax(0,1fr) 36px 24px;align-items:center;column-gap:8px;width:100%;min-height:61px;padding:12px 12px 12px 14px;display:grid}.vocabMeta{gap:4px;min-width:0;display:grid}.vocabHead{align-items:baseline;gap:8px;min-width:0;display:flex}.vocabRow strong{white-space:normal;overflow-wrap:anywhere;min-width:0;font-family:Georgia,Times New Roman,serif;font-size:17px;font-weight:700}.vocabRow em{color:#475569;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;font-style:normal;overflow:hidden}.vocabMeta p{color:#64748b;margin:0;font-size:11px;line-height:1.3;display:none}.vocabIndex{color:#334155;text-align:right;padding-top:0;font-size:12px}.levelBadge{color:#f59e0b;background:#fff4db;border-radius:4px;place-self:start end;min-width:30px;margin-top:0;padding:2px 5px;font-size:12px;line-height:1.2}.levelSpacer{width:30px;height:1px}.soundButton{color:#6b7280;text-align:center;place-self:start end;width:24px;margin-top:0;font-size:16px;line-height:1}.vocabRow.active{background:#eef2ff}.vocabRow.active em,.vocabRow.active .vocabIndex,.vocabRow.active .soundButton{color:#334155}.vocabDetail{color:#0f172a;background:#fff;min-height:100%}.cardDetailBar{z-index:3;background:#fff;border-bottom:1px solid #e5e9ef;justify-content:space-between;align-items:center;height:54px;padding:0 14px;display:flex;position:sticky;top:0}.backButton,.reviewButton,.pager button{color:#2563eb;background:0 0;border:0;border-radius:8px}.reviewButton{color:#fff;background:#2563eb;border-radius:999px;height:32px;padding:0 16px;font-weight:700}.reviewButton.active{color:#1f55d1;background:#eaf1ff}.pager{color:#64748b;justify-content:flex-end;align-items:center;gap:8px;font-size:14px;display:inline-flex}.pager button{color:#64748b;width:24px;height:24px;font-size:18px}.pager button:disabled{color:#cbd5e1}.wordHero{border-bottom:1px solid #e5e9ef;justify-items:center;gap:6px;padding:14px 24px 18px;display:grid}.wordHero h2{font-size:24px;font-weight:800;line-height:1.1}.wordHero p{color:#334155;align-items:center;gap:8px;font-size:14px;display:inline-flex}.wordHero button{color:#2563eb;background:#dbeafe;border:0;border-radius:50%;width:24px;height:24px}.quickDictionaryCard{color:#111827;background:#fff;padding:20px 22px 26px}.quickDictionaryCard h2{margin-bottom:16px;font-size:26px;font-weight:800;line-height:1.15}.quickDictionaryRows{gap:14px;display:grid}.quickDictionaryRows div{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:12px;display:grid}.quickDictionaryRows span{color:#94a3b8;font-size:14px;font-style:italic;line-height:1.7}.quickDictionaryRows p{color:#111827;font-size:17px;font-weight:700;line-height:1.5}.americanSoundButton{color:#334155;background:#f1f5f9;border:0;border-radius:999px;align-items:center;gap:8px;height:32px;padding:0 12px;font-size:14px;font-weight:700;display:inline-flex}.americanSoundButton strong{color:#ef4444;font-size:15px}.definitionList{border-bottom:1px solid #e5e9ef;gap:10px;padding:14px 24px 18px;display:grid}.definitionRow{grid-template-columns:56px minmax(0,1fr);align-items:start;gap:10px;display:grid}.definitionRow span{color:#2563eb;text-align:center;white-space:nowrap;background:#dbeafe;border-radius:6px;justify-self:start;min-width:40px;padding:3px 10px;font-size:12px;font-weight:700}.definitionRow p{color:#020617;font-size:16px;line-height:1.55}.wordRelations{gap:12px;padding:16px 24px 24px;display:grid}.wordRelations p{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wordRelations span{color:#64748b;font-size:14px}.wordRelations em{color:#12865b;background:#e8f5ee;border-radius:999px;padding:2px 8px;font-size:13px;font-style:normal}.wordRelations p:last-child em{color:#e11d48;background:#fff1f2}.adminShell{color:#111827;background:#f5f7fa;min-height:100vh}.adminTopbar{background:#fff;border-bottom:1px solid #dde3ec;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:0 max(20px,50vw - 590px);display:flex}.adminEyebrow{color:#64748b;margin-bottom:3px;font-size:12px;font-weight:700;display:block}.adminTopbar h1{margin:0;font-size:20px;line-height:1.2}.adminActions{align-items:center;gap:10px;display:flex}.adminActions a,.adminActions button,.adminEditorFoot button{color:#334155;background:#fff;border:1px solid #d8e0ea;border-radius:8px;justify-content:center;align-items:center;height:34px;padding:0 14px;font-size:14px;text-decoration:none;display:inline-flex}.adminActions .primary,.adminEditorFoot .primary{color:#fff;background:#2563eb;border-color:#2563eb;font-weight:700}.adminWorkspace{grid-template-columns:196px minmax(0,1fr);gap:24px;max-width:1180px;margin:0 auto;padding:24px 20px;display:grid}.courseAdminWorkspace{grid-template-columns:280px minmax(0,1fr)}.courseListPanel{background:#fff;border:1px solid #dde3ec;border-radius:8px;min-width:0;overflow:hidden}.courseListHead{border-bottom:1px solid #e5eaf0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.courseListHead strong{font-size:14px}.courseListHead span{color:#64748b;text-align:center;background:#eff4fb;border-radius:999px;min-width:24px;padding:2px 8px;font-size:12px;font-weight:700}.courseList{max-height:calc(100vh - 150px);padding:8px;display:grid;overflow:auto}.courseListItem{text-align:left;background:0 0;border:0;border-radius:8px;gap:5px;width:100%;padding:12px;display:grid}.courseListItem:hover,.courseListItem.active{background:#eef4ff}.courseListItem strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.courseListItem span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.adminNav{align-content:start;gap:6px;display:grid}.adminNav button{color:#475569;text-align:left;background:0 0;border:0;border-radius:8px;height:38px;padding:0 12px;font-size:14px}.adminNav button.active{color:#1d4ed8;background:#eaf1ff;font-weight:700}.adminNav button:disabled{color:#9aa5b1;cursor:not-allowed}.adminEditor{background:#fff;border:1px solid #dde3ec;border-radius:8px;min-width:0;overflow:hidden}.adminSectionHead{border-bottom:1px solid #e5eaf0;justify-content:space-between;gap:20px;padding:22px 24px;display:flex}.adminSectionHead h2{margin:0 0 6px;font-size:18px}.adminSectionHead p,.adminEditorFoot p{color:#64748b;margin:0;font-size:14px}.statusPill{color:#64748b;background:#f1f5f9;border-radius:999px;flex:none;align-self:start;padding:4px 10px;font-size:12px;font-weight:700}.statusPill.published{color:#15803d;background:#dcfce7}.adminForm{gap:18px;padding:24px;display:grid}.assetUploadGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px 24px 0;display:grid}.assetUploadBox{cursor:pointer;background:#f8fbff;border:1px dashed #b9c5d6;border-radius:8px;gap:7px;min-height:88px;padding:14px;display:grid;position:relative}.assetUploadBox span{color:#64748b;font-size:12px;font-weight:700}.assetUploadBox strong{color:#111827;font-size:14px;line-height:1.35}.assetUploadBox em{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-style:normal;overflow:hidden}.assetUploadBox small{color:#94a3b8;font-size:12px}.assetUploadBox input{opacity:0;cursor:pointer;position:absolute;inset:0}.adminForm label{gap:8px;display:grid}.adminForm label span{color:#475569;font-size:13px;font-weight:700}.adminForm input,.adminForm select,.adminForm textarea{color:#111827;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #d8e0ea;border-radius:8px;font-size:14px}.adminForm input,.adminForm select{height:38px;padding:0 12px}.adminForm textarea{resize:vertical;min-height:88px;padding:10px 12px;line-height:1.5}.adminTwoCols{grid-template-columns:1fr 180px;gap:16px;display:grid}.adminEditorFoot{background:#fafbfc;border-top:1px solid #e5eaf0;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.adminFootActions{gap:10px;display:flex}.adminFootActions button{color:#334155;background:#fff;border:1px solid #d8e0ea;border-radius:8px;height:34px;padding:0 14px}.adminFootActions button:disabled{opacity:.45;cursor:not-allowed}.adminFootActions .primary{color:#fff;background:#2563eb;border-color:#2563eb;font-weight:700}.invitePanel{gap:14px;display:grid}.inviteFormGrid{background:#fff;border:1px solid #e5eaf0;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:12px;padding:14px;display:grid}.inviteFormGrid label{gap:6px;display:grid}.inviteFormGrid label span{color:#64748b;font-size:12px;font-weight:700}.inviteFormGrid input{color:#111827;width:100%;min-width:0;height:32px;font:inherit;border:1px solid #dce3ec;border-radius:3px;padding:0 9px;font-size:13px}.inviteFormActions{align-items:end;gap:8px;display:flex}.inviteFormActions button{color:#fff;background:#409eff;border:0;border-radius:3px;height:32px;padding:0 12px;font-size:13px}.inviteFormActions .green{background:#67c23a}.inviteTable{min-width:980px}.inviteTable .statusPill{align-items:center;display:inline-flex}.feedbackTable{min-width:1060px}.feedbackTable td:nth-child(3) span{color:#334155;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:460px;line-height:1.5;display:-webkit-box;overflow:hidden}.settingsPanel{gap:14px;display:grid}.settingsActions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.settingsActions button{color:#fff;cursor:pointer;height:32px;font:inherit;background:#409eff;border:0;border-radius:3px;padding:0 12px;font-size:13px;font-weight:700}.settingsActions .green{background:#67c23a}.settingsGrid{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.settingsCard{background:#fff;border:1px solid #e5eaf0;border-radius:6px;align-content:start;gap:16px;padding:16px;display:grid}.settingsFormGrid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.settingsFormGrid label{gap:6px;display:grid}.settingsFormGrid label.wide{grid-column:1/-1}.settingsFormGrid label span{color:#64748b;font-size:12px;font-weight:700}.settingsFormGrid input,.settingsFormGrid select,.settingsFormGrid textarea{color:#111827;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #dce3ec;border-radius:3px;font-size:13px}.settingsFormGrid input,.settingsFormGrid select{height:32px;padding:0 9px}.settingsFormGrid textarea{resize:vertical;min-height:92px;padding:8px 9px}.settingsSwitch{grid-template-columns:18px minmax(0,1fr);align-content:center;min-height:32px}.settingsSwitch input{accent-color:#4169e1;width:16px;height:16px}.settingsInlineActions{align-items:end;display:flex}.settingsInlineActions button{color:#fff;cursor:pointer;min-height:32px;font:inherit;background:#409eff;border:0;border-radius:3px;padding:0 12px;font-size:13px;font-weight:700}.memberSearch{align-items:center;gap:8px;display:flex}.memberSearch span{color:#64748b;font-size:12px;font-weight:700}.memberSearch input{color:#111827;width:220px;height:30px;font:inherit;border:1px solid #dce3ec;border-radius:3px;padding:0 9px;font-size:13px}.memberStatGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.memberStatGrid div{background:#fff;border:1px solid #e5eaf0;gap:6px;padding:16px;display:grid}.memberStatGrid span{color:#64748b;font-size:12px;font-weight:700}.memberStatGrid strong{color:#2563eb;font-size:24px}.memberTable{min-width:980px}.adminEmpty{color:#64748b;background:#fff;border:1px dashed #cbd5e1;place-items:center;gap:6px;min-height:180px;display:grid}.adminEmpty strong{color:#111827}.adminEmpty p{margin:0}.dashboardPanel{gap:16px;display:grid}.dashboardStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.dashboardStats button{color:#111827;text-align:left;background:#fff;border:1px solid #e5eaf0;border-radius:8px;gap:8px;min-height:118px;padding:18px;display:grid}.dashboardStats button:hover{background:#fbfdff;border-color:#bfdbfe}.dashboardStats span{color:#64748b;font-size:13px;font-weight:700}.dashboardStats strong{color:#2563eb;font-size:30px;line-height:1}.dashboardStats em{color:#94a3b8;font-size:13px;font-style:normal}.dashboardColumns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.dashboardList{background:#fff;border:1px solid #e5eaf0;border-radius:8px;min-width:0}.dashboardListHead{border-bottom:1px solid #e5eaf0;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0 14px;display:flex}.dashboardListHead strong{color:#111827;font-size:14px}.dashboardListHead button{color:#2563eb;background:0 0;border:0;height:28px;font-size:13px;font-weight:700}.dashboardList article{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:10px 14px;display:flex}.dashboardList article:last-child{border-bottom:0}.dashboardList article div{min-width:0}.dashboardList article strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.dashboardList article span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;display:block;overflow:hidden}.dashboardList article em{color:#94a3b8;flex:none;font-size:12px;font-style:normal}.dashboardEmptyText{color:#94a3b8;margin:0;padding:24px 14px;font-size:13px}.subtitleAdminPanel{gap:14px;display:grid}.subtitleCourseSelect{align-items:center;gap:8px;display:flex}.subtitleCourseSelect span{color:#64748b;font-size:12px;font-weight:700}.subtitleCourseSelect select{color:#111827;min-width:260px;height:34px;font:inherit;appearance:none;background-color:#fff;background-image:linear-gradient(45deg,#0000 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,#0000 50%);background-position:calc(100% - 18px) 14px,calc(100% - 12px) 14px;background-repeat:no-repeat;background-size:6px 6px,6px 6px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:1px solid #d4dce7;border-radius:8px;padding:0 36px 0 12px;font-size:13px}.subtitleWorkspace{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.subtitleTable{min-width:760px}.subtitleTable td span{color:#334155;white-space:normal;max-width:560px}.subtitleTableWrap{min-height:420px}.subtitleRawPanel{min-width:0}.adminStandalonePanel{background:#fff;border:1px solid #e5eaf0;min-width:0}.subtitleRawPanel>div{border-bottom:1px solid #e5eaf0;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.subtitleRawPanel strong{color:#111827;font-size:14px}.subtitleRawPanel span{color:#94a3b8;font-size:12px}.subtitleRawPanel pre{color:#334155;white-space:pre-wrap;min-height:320px;max-height:420px;margin:0;padding:14px;font:12px/1.6 Consolas,Courier New,monospace;overflow:auto}.vocabAdminPanel{gap:14px;display:grid}.vocabEditorPanel,.vocabListPanel{min-width:0}.vocabFormGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;display:grid}.vocabFormGrid label{gap:6px;display:grid}.vocabFormGrid label.wide{grid-column:1/-1}.vocabFormGrid span{color:#64748b;font-size:12px;font-weight:700}.vocabFormGrid input,.vocabFormGrid select,.vocabFormGrid textarea{color:#111827;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #dce3ec;border-radius:8px;font-size:13px}.vocabFormGrid input,.vocabFormGrid select{height:38px;padding:0 12px}.vocabFormGrid textarea{resize:vertical;min-height:66px;padding:10px 12px}.vocabAdminTable{min-width:860px}.vocabAdminTable td span{white-space:normal;max-width:280px}.categoryAdminPanel{gap:14px;display:grid}.categoryEditorPanel,.categoryListPanel{min-width:0}.categoryFormGrid{grid-template-columns:1fr 100px;gap:12px;padding:14px;display:grid}.categoryFormGrid label{gap:6px;display:grid}.categoryFormGrid label.wide{grid-column:1/-1}.categoryFormGrid span{color:#64748b;font-size:12px;font-weight:700}.categoryFormGrid input,.categoryFormGrid textarea{color:#111827;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #dce3ec;border-radius:8px;font-size:13px}.categoryFormGrid input{height:38px;padding:0 12px}.categoryFormGrid textarea{resize:vertical;min-height:84px;padding:10px 12px}.categoryTable{min-width:860px}.adminForm select,.settingsFormGrid select,.vocabFormGrid select,.editGrid select,.subtitleCourseSelect select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,#0000 50%);background-position:calc(100% - 18px),calc(100% - 12px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:36px}.adminForm select:focus,.settingsFormGrid select:focus,.vocabFormGrid select:focus,.editGrid select:focus,.subtitleCourseSelect select:focus,.adminForm input:focus,.settingsFormGrid input:focus,.vocabFormGrid input:focus,.editGrid input:focus,.categoryFormGrid input:focus,.categoryFormGrid textarea:focus,.vocabFormGrid textarea:focus,.editGrid textarea:focus,.adminForm textarea:focus,.settingsFormGrid textarea:focus{outline-offset:0;border-color:#8db2ff;outline:2px solid #3b82f624}.adminLayout{color:#1f2937;background:#f4f7fb;grid-template-columns:180px minmax(0,1fr);min-height:100vh;display:grid}.adminSidebar{color:#cbd5e1;background:#142033;min-height:100vh}.adminLogo{border-bottom:1px solid #ffffff14;align-items:center;gap:10px;height:56px;padding:0 16px;display:flex}.adminLogo span{color:#fff;background:#2563eb;border-radius:6px;place-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:grid}.adminLogo strong{color:#fff;font-size:14px}.adminMenu{padding:10px 0;display:grid}.adminMenu button{color:#b7c2d2;text-align:left;background:0 0;border:0;height:42px;padding:0 18px;font-size:14px}.adminMenu button.active,.adminMenu button:hover{color:#fff;background:#1d2d45}.adminMain{min-width:0}.adminHeader{background:#fff;border-bottom:1px solid #e5eaf0;justify-content:space-between;align-items:center;height:48px;padding:0 18px;display:flex}.adminHeaderLeft{color:#64748b;align-items:center;gap:12px;font-size:13px;display:flex}.adminHeaderLeft button{color:#475569;background:0 0;border:0;font-size:16px}.adminHeaderLeft strong{color:#111827}.adminUser{color:#475569;align-items:center;gap:8px;font-size:13px;display:flex}.adminUser span{font-weight:800}.adminUser button{color:#334155;cursor:pointer;height:28px;font:inherit;background:#fff;border:1px solid #dce3ec;border-radius:3px;padding:0 9px;font-size:12px;font-weight:700}.adminTabs{background:#f8fafc;border-bottom:1px solid #e5eaf0;align-items:center;gap:4px;height:42px;padding:0 18px;display:flex}.adminTabs span,.adminTabs strong{color:#64748b;background:#fff;border:1px solid #e5eaf0;border-radius:4px 4px 0 0;align-items:center;height:28px;padding:0 12px;font-size:12px;display:inline-flex}.adminTabs strong{color:#2563eb}.adminContent{padding:16px 20px 24px}.adminToolbar{flex-wrap:wrap;align-items:center;gap:8px;min-height:42px;margin-bottom:12px;display:flex}.adminToolbar button{color:#fff;cursor:pointer;background:#409eff;border:0;border-radius:3px;justify-content:center;align-items:center;height:30px;padding:0 12px;font-size:12px;display:inline-flex}.adminToolbar label{color:#64748b;cursor:default;background:0 0;border:0;align-items:center;gap:8px;height:auto;padding:0;font-size:12px;display:inline-flex;position:static}.adminToolbar .green{background:#67c23a}.adminToolbar .orange{background:#e6a23c}.adminToolbar .purple{background:#7c3aed}.adminToolbar input{opacity:1;cursor:text;position:static}.toolbarMessage{color:#64748b;margin-left:auto;font-size:12px}.tableSummary{color:#64748b;justify-content:flex-end;padding:10px 2px 0;font-size:12px;display:flex}.adminTableWrap{background:#fff;border:1px solid #e5eaf0;overflow:auto}.adminTable{border-collapse:collapse;width:100%;min-width:1060px}.adminTable th,.adminTable td{color:#475569;text-align:left;border-bottom:1px solid #edf1f5;border-right:1px solid #edf1f5;height:44px;padding:0 10px;font-size:12px}.adminTable th{color:#64748b;background:#fbfdff;font-weight:700}.adminTable tr.selected td{background:#f1f5f9}.adminTable td strong{color:#111827;font-size:13px;font-weight:700;display:block}.adminTable td span{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;max-width:260px;display:block;overflow:hidden}.adminTable em{color:#fff;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-style:normal;display:inline-flex}.adminTable em.yes{background:#67c23a}.adminTable em.no{background:#909399}.adminSwitch{width:34px;height:18px;display:inline-flex;position:relative}.adminSwitch input{opacity:0}.adminSwitch span{background:#d1d5db;border-radius:999px;position:absolute;inset:0}.adminSwitch span:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px}.adminSwitch input:checked+span{background:#409eff}.adminSwitch input:checked+span:after{transform:translate(16px)}.tableActions{gap:6px;display:flex}.tableActions button{color:#fff;background:#409eff;border:0;border-radius:3px;height:26px;padding:0 8px;font-size:12px}.tableActions .danger{background:#f56c6c}.tableActions button:disabled{opacity:.5}.adminEditPanel{background:#fff;border:1px solid #e5eaf0;margin-top:14px}.editPanelHead{border-bottom:1px solid #e5eaf0;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.editPanelHead>div{gap:3px;display:grid}.editPanelHead strong{font-size:14px}.editPanelHead span{color:#94a3b8;font-size:12px}.editPanelHead button{color:#334155;background:#fff;border:1px solid #d8e0ea;border-radius:3px;height:30px;padding:0 12px}.standaloneEditPanel{margin-top:0}.editToolbar{background:#fbfdff;border-bottom:1px solid #e5eaf0}.editGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:14px;display:grid}.formAssetUploadGrid{grid-column:1/-1;padding:0}.courseAssetInfo{grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.courseAssetInfo div{background:#fbfdff;border:1px solid #e5eaf0;gap:6px;min-height:66px;padding:12px;display:grid}.courseAssetInfo span,.coverPreview span{color:#64748b;font-size:12px;font-weight:700}.courseAssetInfo strong{color:#111827;font-size:14px}.coverPreview{grid-column:1/-1;gap:10px;display:grid}.coverPreview img{aspect-ratio:16/9;object-fit:cover;background:#f8fafc;border:1px solid #e5eaf0;border-radius:6px;width:min(360px,100%)}.editGrid label{gap:6px;display:grid}.editGrid label.wide{grid-column:1/-1}.editGrid label span{color:#64748b;font-size:12px;font-weight:700}.editGrid input,.editGrid select,.editGrid textarea{color:#111827;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #dce3ec;border-radius:3px;font-size:13px}.editGrid input,.editGrid select{height:32px;padding:0 9px}.editGrid textarea{resize:vertical;min-height:64px;padding:8px 9px}@media (width<=1180px){.courseGrid{grid-template-columns:repeat(3,minmax(220px,1fr))}.workspace{grid-template-columns:1fr}.studyPanel{height:620px;min-height:0}}@media (width<=860px){.homeTopbar,.frontTopbar{gap:12px;height:50px;padding:0 12px}.homeBrand{font-size:17px}.frontTopbarTitle{text-overflow:ellipsis;flex:1;overflow:hidden}.mobileMenuButton{margin-left:auto;display:inline-grid}.homeNav{background:#fff;border:1px solid #dfe5ed;border-radius:8px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;padding:8px;display:none;position:absolute;top:50px;left:10px;right:10px;box-shadow:0 18px 40px #0f172a24}.homeNav.open{display:flex}.homeNav a,.mobileLoginLink,.mobileLogoutButton{color:#334155;border-radius:8px;align-items:center;min-height:40px;padding:0 10px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.homeNav a.active{color:#2563eb;background:#eef3ff}.mobileLogoutButton{cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0;border:0}.frontTopbar>.loginButton{display:none}.courseHome{grid-template-columns:1fr;padding:14px}.homeFeaturedVideo{grid-template-columns:1fr}.homeFeaturedInfo{padding:16px}.homeFeaturedInfo h2{font-size:20px}.profileLayout,.profilePanels,.libraryLayout,.feedbackLayout,.libraryWithSidebar,.methodWorkspace{grid-template-columns:1fr}.profileLayout,.libraryLayout,.librarySingle,.feedbackLayout{padding:14px}.profileHead,.profileCourseRow,.libraryHead{flex-direction:column;align-items:stretch}.playerToolbar{padding:12px 14px 0}.playerToolbarActions{justify-content:flex-start}.profileStatsGrid,.favoriteSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.reviewWordGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.vocabWorkspaceTop,.vocabStats{grid-template-columns:1fr}.vocabFilterBar{flex-direction:column;align-items:stretch}.methodGrid,.settingsGrid,.settingsFormGrid{grid-template-columns:1fr}.settingsActions{margin-left:0}.favoriteItem{grid-template-columns:1fr;align-items:stretch}.favoriteActions{flex-wrap:wrap}.favoriteWordGrid,.courseGrid{grid-template-columns:1fr}.topbar{z-index:20;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"back brand""actions actions";align-items:center;gap:8px 10px;height:auto;padding:8px 12px 10px;display:grid;position:sticky;top:0}.topbar>.iconButton{background:#f8fafc;border-color:#e5eaf1;grid-area:back;width:32px;height:32px}.topbar .brand{border-right:0;grid-area:brand;min-width:0;padding-right:0;font-size:16px;overflow:hidden}.topbar .brand span:last-child{text-overflow:ellipsis;overflow:hidden}.topbar h1{display:none}.headerActions{scrollbar-width:none;-webkit-overflow-scrolling:touch;grid-area:actions;gap:8px;width:100%;margin-left:0;padding-bottom:2px;display:flex;overflow-x:auto}.headerActions::-webkit-scrollbar{display:none}.headerActions .chip,.headerActions .favoriteButton{white-space:nowrap;flex:none;min-width:48px;height:34px;padding:0 12px}.workspace{padding:16px}.largeSentence{font-size:20px}.adminTopbar,.adminEditorFoot{flex-direction:column;align-items:stretch}.adminActions{flex-wrap:wrap}.adminWorkspace,.courseAdminWorkspace,.adminTwoCols,.assetUploadGrid,.adminLayout{grid-template-columns:1fr}.adminSidebar{min-height:0}.editGrid{grid-template-columns:1fr}.wordLookupPopup{width:min(360px,100vw - 16px)}}.replayRow{color:#6b7280;align-items:center;gap:10px;margin-top:6px;font-size:14px;display:flex}.scoreCard{background:#f5f7fb;border:1px solid #d8e0ea;border-radius:12px;flex-direction:column;align-items:center;gap:6px;margin-top:10px;padding:16px 20px;display:flex}.scoreBig{color:#4676f4;font-size:44px;font-weight:800;line-height:1}.scoreBig span{color:#6b7280;margin-left:4px;font-size:18px;font-weight:700}.scoreMeta{color:#6b7280;font-size:13px}.wordFeedback{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:4px;display:flex}.wf{color:#475569;background:#eef1f6;border-radius:999px;padding:3px 9px;font-size:13px;font-weight:600}.wf.ok{color:#15803d;background:#dcfce7}.wf.bad{color:#b91c1c;background:#fee2e2}.wf.extra{color:#94a3b8;background:#f1f5f9}.recognized{color:#6b7280;margin-top:4px;font-size:13px}.courseFavButton{z-index:2;color:#fff;cursor:pointer;background:#0f172a9e;border:0;border-radius:50%;place-items:center;width:32px;height:32px;font-size:16px;line-height:1;display:grid;position:absolute;top:8px;right:8px}.courseFavButton.saved{background:#4169e1}.coursePager{border-top:1px solid #e3e8ef;justify-content:center;align-items:center;gap:14px;margin-top:22px;padding:12px;display:flex}.coursePager span{color:#475569;font-size:13px;font-weight:700}.coursePager button{color:#1f2937;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:7px 18px;font-size:13px;font-weight:700}.coursePager button:disabled{opacity:.45;cursor:not-allowed}.favoriteButton.saved{color:#fff;background:#4169e1;border-color:#4169e1}.favoriteCourseGrid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px;display:grid}.favoriteCourseCard{background:#fff;border:1px solid #e3e8ef;border-radius:8px;gap:10px;padding:14px;display:grid}.favoriteCourseCard em{color:#4169e1;font-size:12px;font-style:normal;font-weight:700;display:block}.favoriteCourseCard strong{color:#111827;font-size:15px;line-height:1.4;display:block}.favoriteCourseCard .favoriteActions{align-items:center;gap:10px;display:flex}.favoriteCourseCard .favoriteActions a{color:#fff;background:#4169e1;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:700;text-decoration:none}.favoriteCourseCard .favoriteActions button{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:700}@media (width<=720px){.favoriteCourseGrid{grid-template-columns:1fr}}.subtitleTable .captionTimeInput{border:1px solid #cbd5e1;border-radius:6px;width:92px;padding:4px 6px;font-size:12px}.subtitleTable .captionTextInput{resize:vertical;border:1px solid #cbd5e1;border-radius:6px;width:100%;min-height:46px;padding:4px 6px;font-family:inherit;font-size:13px;line-height:1.35}.feedbackTable .feedbackReplyCell{min-width:240px}.feedbackReplyText{color:#065f46;white-space:pre-wrap;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;margin:0 0 6px;padding:6px 8px;font-size:12px}.feedbackReplyInput{resize:vertical;border:1px solid #cbd5e1;border-radius:6px;width:100%;min-height:52px;margin-bottom:6px;padding:6px 8px;font-family:inherit;font-size:13px;line-height:1.35}.modalOverlay{z-index:50;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modalPanel{background:#fff;border-radius:12px;width:480px;max-width:100%;overflow:hidden;box-shadow:0 20px 48px #0f172a40}.modalHead{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modalHead strong{color:#1e293b;font-size:16px}.modalHead button{color:#64748b;cursor:pointer;background:0 0;border:none;font-size:14px}.modalPanel.wide{width:720px}.memberRecords{max-height:62vh;overflow-y:auto}.recordBlock{border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px}.recordBlock h4{color:#1e293b;margin:0 0 8px;font-size:14px}.recordList{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.recordList li{background:#f8fafc;border-radius:6px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.recordTitle{color:#0f172a;font-size:14px;font-weight:600}.recordMeta{color:#64748b;font-size:12px}.recordEmpty{color:#94a3b8;margin:0;font-size:13px}.errorText{color:#dc2626}.modalForm{flex-direction:column;gap:14px;padding:20px;display:flex}.modalForm label{color:#475569;flex-direction:column;gap:6px;font-size:13px;display:flex}.modalForm label.wide{grid-column:1/-1}.modalForm input,.modalForm select,.modalForm textarea{border:1px solid #cbd5e1;border-radius:6px;padding:8px 10px;font-family:inherit;font-size:14px}.modalForm textarea{resize:vertical;min-height:84px}.modalFoot{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:10px;padding:16px 20px;display:flex}.modalFoot button{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:8px 18px;font-size:14px;font-weight:600}.modalFoot button.primary{color:#fff;background:#4169e1;border-color:#4169e1}@media (width<=860px){.workspace{grid-template-columns:1fr;gap:16px;padding-left:14px;padding-right:14px}.studyPanel{height:auto;min-height:460px}.transport{background:#0f172a;border-radius:0 0 8px 8px;padding:12px 14px 14px}.controlRow{flex-wrap:wrap;justify-content:center;gap:10px}.controlRow .speed{background:#ffffff14;border-radius:6px;justify-content:center;align-items:center;min-width:42px;padding:0 8px;font-size:13px;display:inline-flex}.controlRow .speed.active{color:#fff;background:#2563eb;margin-left:0}.captionItem{padding:14px 12px 16px}.captionBody{gap:10px}}@media (width<=720px){.subtitleOverlay{padding:10px 12px 8px}.overlayEn{font-size:17px}.overlayCn{margin-top:4px;font-size:12px}.timeRow{grid-template-columns:32px minmax(0,1fr) 32px;gap:8px;font-size:11px}.captionEn{font-size:16px}.captionCn{font-size:13px}}.captionWordRow>td{background:#f7f9ff;padding:0}.captionWordEditor{border-top:2px solid #4169e1;padding:14px 16px 18px}.captionWordToolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.captionWordToolbar strong{color:#1f2d5a}.captionWordHint{color:#8a93ab;font-size:12px}.captionWordToolbar .ghost{color:#4a5578;background:#fff;border:1px solid #c4cbe0}.captionWordTableWrap{background:#fff;border:1px solid #e3e8f5;border-radius:8px;max-height:230px;margin-bottom:14px;overflow:auto}.captionWordTable{border-collapse:collapse;width:100%}.captionWordTable th,.captionWordTable td{border-bottom:1px solid #eef1f8;padding:6px 10px;font-size:13px}.captionWordTable th{text-align:left;background:#f1f4fc;position:sticky;top:0}.captionWordInput{border:1px solid #c8d0e6;border-radius:6px;width:160px;padding:5px 8px;font-size:13px}.wordAlignTrack{-webkit-user-select:none;user-select:none;touch-action:none;background:#eef2fb;border:1px solid #d7deef;border-radius:8px;height:56px;position:relative;overflow:hidden}.wordAlignSeg{color:#fff;white-space:nowrap;cursor:grab;background:linear-gradient(#5b7cfa,#4169e1);border-radius:6px;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;top:6px;bottom:6px;overflow:hidden}.wordAlignLabel{pointer-events:none;padding:0 8px}.wordAlignHandle{cursor:ew-resize;background:#ffffff8c;width:9px;position:absolute;top:0;bottom:0}.wordAlignHandle.left{border-radius:6px 0 0 6px;left:0}.wordAlignHandle.right{border-radius:0 6px 6px 0;right:0}.vocabBadge{vertical-align:middle;border-radius:10px;margin-left:8px;padding:1px 8px;font-size:12px;line-height:20px;display:inline-block}.vocabBadge.pending{color:#c77700;background:#fff4e0;border:1px solid #ffd591}.vocabBadge.ok{color:#2f9e57;background:#eaf7ee;border:1px solid #b7e4c7}.vocabPendingToggle{align-items:center;gap:6px;display:inline-flex}.vocabPendingToggle input{width:auto;margin:0}
