:root{--page-bg: #f4f8fd;--page-bg-strong: #eaf2fb;--card: #ffffff;--card-soft: #f8fbff;--line: #dce8f5;--line-strong: #b7cde5;--blue: #6f9dce;--blue-strong: #4f84bd;--text: #26394d;--muted: #6b7d90;--faint: #91a2b3;--shadow: 0 22px 55px rgba(77, 118, 164, .16);--kw-teal: #477d76;--kw-teal-bg: #e5f5f2;--kw-teal-border: #add7d0;--kw-amber: #926335;--kw-amber-bg: #fff1df;--kw-amber-border: #efcda8;--kw-blue: #356d9d;--kw-blue-bg: #e4f1ff;--kw-blue-border: #b9d6ef;--kw-violet: #695f9f;--kw-violet-bg: #eeecff;--kw-violet-border: #cbc7f5;--kw-rose: #9c5a6a;--kw-rose-bg: #ffedf1;--kw-rose-border: #efbfcb;--kw-green: #497a4e;--kw-green-bg: #eaf8ec;--kw-green-border: #b9d9bd;--kw-purple: #7a5a9e;--kw-purple-bg: #f3edfa;--kw-purple-border: #cbb8e5;--kw-emerald: #3a7a5a;--kw-emerald-bg: #e8f5ee;--kw-emerald-border: #b0d4be;--kw-sky: #3d7a9e;--kw-sky-bg: #e8f2f8;--kw-sky-border: #b0c8da;--font-foreign: Inter, "Microsoft YaHei", "Noto Sans JP", sans-serif;--font-chinese: "Microsoft YaHei", sans-serif;--font-body: var(--font-foreign);--font-subtitle: var(--font-foreign);--font-size-base: 14px;--font-size-sm: 13px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--dialog-radius: 24px;--dialog-bg: rgba(255, 255, 255, .92);--dialog-shadow: 0 30px 90px rgba(15, 23, 32, .28);--dialog-backdrop: rgba(15, 23, 32, .4);--dialog-blur: blur(16px);--dialog-padding: 24px;--dialog-padding-sm: 16px;--dialog-border: 1px solid var(--line);font-family:var(--font-body);color:var(--text);background:var(--page-bg);--el-font-family: var(--font-foreign);--el-font-size-base: var(--font-size-base)}:lang(ja){--font-foreign: Inter, "Noto Sans JP", "Microsoft YaHei", sans-serif;--font-subtitle: Inter, "Noto Sans JP", "Microsoft YaHei", sans-serif;--el-font-family: Inter, "Noto Sans JP", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;overflow:hidden}body{margin:0;background:radial-gradient(circle at 14% 0%,rgba(111,157,206,.24),transparent 28%),linear-gradient(180deg,#f8fbff 0%,var(--page-bg) 50%,#ffffff 100%)}button,input,select,textarea{font:inherit}.app-shell{position:relative;height:var(--app-height, 100dvh);min-height:0;display:grid;grid-template-rows:52px minmax(0,1fr) 96px;align-content:start;overflow:hidden;contain:layout style}.learning-top-nav{grid-row:1;min-width:0;min-height:0;padding:8px 16px;border-bottom:1px solid var(--line);background:#ffffffeb;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 10px 24px #4d76a414;z-index:12}.learning-top-nav button{min-width:78px;min-height:34px;padding:6px 18px;border:1px solid var(--line);border-radius:999px;background:var(--card-soft);color:var(--text);font-weight:900;cursor:pointer}.learning-top-nav button:hover,.learning-top-nav button:focus-visible{border-color:var(--blue);color:var(--blue-strong);background:#eef6ff}.learning-top-nav.with-tools{position:relative;padding:8px 20px;display:flex;justify-content:center}.learning-top-nav-left{display:flex;align-items:center;justify-content:center;gap:10px}.learning-top-nav-right{position:absolute;right:20px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:10px}.learning-top-nav-right .catalog-search{width:200px;min-width:0}.learning-top-nav-right .catalog-search-input{min-width:0}.workspace{grid-row:2;min-width:0;min-height:0;height:100%;position:relative;display:grid;grid-template-columns:minmax(500px,.98fr) minmax(460px,1.02fr);gap:14px;padding:10px 16px;overflow:hidden;align-items:stretch}.hero-area,.study-panel{min-width:0;min-height:0}.hero-area{display:flex;flex-direction:column;height:100%;gap:0}.title-row{min-height:40px;display:flex;align-items:center;gap:12px;font-size:12px}.title-row>div{min-width:0}.title-catalog-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;outline:0;box-shadow:none;cursor:pointer}.title-catalog-button:hover{cursor:pointer}.title-catalog-button:focus-visible{box-shadow:0 0 0 3px #6f9dce47}.auth-page,.catalog-page{min-height:100dvh;background:var(--page-bg);color:var(--text)}.auth-page{display:grid;place-items:center;padding:24px}.auth-panel{width:min(960px,100%);min-height:480px;display:grid;grid-template-columns:1fr 420px;gap:32px;align-items:center;padding:42px;border:1px solid var(--line);border-radius:8px;background:#ffffffeb;box-shadow:var(--shadow)}.auth-copy{display:grid;gap:14px}.auth-copy h1{font-size:34px}.auth-copy p,.catalog-header p,.course-head p{color:var(--muted)}.auth-form{padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--card-soft)}.wide-primary{width:100%}.catalog-page{height:100dvh;overflow:auto}.catalog-header{max-width:1180px;margin:0 auto 24px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.catalog-header-left{display:flex;flex-direction:column}.catalog-header-left h1{margin-top:8px;font-size:28px;font-weight:700}.catalog-subtitle{margin-top:4px;color:var(--muted);font-size:13px}.catalog-header-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.catalog-search{position:relative;display:flex;align-items:center}.catalog-search-icon{position:absolute;left:10px;width:16px;height:16px;color:var(--muted);pointer-events:none}.catalog-search-input{width:200px;height:36px;padding:0 12px 0 34px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text);font-size:14px;transition:border-color .2s,box-shadow .2s}.catalog-search-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #4d76a41f}.catalog-search-input::placeholder{color:var(--muted)}.catalog-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.catalog-page-header{max-width:1180px;margin:0 auto 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:0 16px}.catalog-page-header-left h1{font-size:24px;font-weight:700;margin:0}.catalog-page-header-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.my-page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}.my-page-title{font-size:24px;font-weight:700;margin:0}.my-page-subtitle{color:var(--muted);font-size:13px;margin:0;flex:1}.review-page-header{max-width:640px;margin:0 auto 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px}.review-page-title{font-size:20px;font-weight:700;margin:0}.review-page-subtitle{color:var(--muted);font-size:13px;margin:0;flex:1}.catalog-content{max-width:1180px;margin:0 auto;padding:22px;display:grid;gap:20px}.course-section{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:#fffffff2;box-shadow:0 8px 24px #4d76a414;overflow:hidden;transition:box-shadow .2s}.course-section:hover{box-shadow:0 12px 32px #4d76a41f}.course-banner{position:relative;min-height:140px;background:linear-gradient(135deg,#4d76a4,#6b9bc7);background-size:cover;background-position:center;display:flex;align-items:flex-end}.course-banner-overlay{position:relative;flex:1;display:flex;align-items:flex-end;gap:16px;padding:20px 24px;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,.2) 60%,transparent 100%);color:#fff}.course-banner-letter{font-size:56px;font-weight:900;opacity:.3;line-height:1;position:absolute;top:16px;left:24px}.course-banner-info{flex:1;min-width:0}.course-banner-info h2{font-size:22px;font-weight:700;margin-bottom:6px;text-shadow:0 1px 3px rgba(0,0,0,.3)}.course-banner-info p{font-size:14px;opacity:.9;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-meta{display:flex;align-items:center;gap:12px;margin-top:10px;font-size:13px}.course-video-count{opacity:.85;padding:2px 8px;background:#fff3;border-radius:4px}.course-progress-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#ffffff40;border-radius:4px}.course-progress-badge svg{width:14px;height:14px}.course-status-tag{padding:2px 8px;border-radius:4px;font-size:12px}.course-status-tag.published{background:#67c23a4d}.course-status-tag.draft{background:#fff3}.course-banner-actions{display:flex;flex-direction:column;gap:4px}.course-banner-actions .el-button{color:#fff;background:#ffffff26;border-radius:6px}.course-banner-actions .el-button:hover{background:#ffffff40}.course-progress-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:#fff3}.course-progress-fill{height:100%;background:linear-gradient(90deg,#67c23a,#85ce61);transition:width .3s ease}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:16px 20px}.video-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card-soft);cursor:pointer;transition:all .2s}.video-card:hover{border-color:var(--blue);background:#fff;box-shadow:0 4px 12px #4d76a41a}.video-card.completed{border-color:#67c23a66;background:#67c23a0a}.video-card.completed .video-card-index{background:#67c23a;color:#fff}.video-card-index{flex-shrink:0;width:32px;height:32px;border-radius:8px;background:var(--line);color:var(--muted);font-size:13px;font-weight:600;display:grid;place-items:center}.video-card-body{flex:1;min-width:0}.video-card-title{display:block;font-size:14px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px}.video-card-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.video-duration{display:inline-flex;align-items:center;gap:3px}.video-duration svg{width:12px;height:12px}.video-completed-tag{display:inline-flex;align-items:center;gap:3px;color:#67c23a;font-weight:500}.video-completed-tag svg{width:12px;height:12px}.video-in-progress-tag{color:var(--blue);font-weight:500}.video-status-tag{padding:1px 6px;border-radius:3px;font-size:11px}.video-status-tag.published{background:#67c23a26;color:#67c23a}.video-status-tag.draft{background:#0000000f;color:var(--muted)}.video-status-tag.error{background:#f56c6c26;color:#f56c6c}.video-card-actions{display:flex;gap:2px;opacity:0;transition:opacity .2s}.video-card:hover .video-card-actions{opacity:1}.course-admin-actions{display:flex;gap:10px;padding:12px 20px;border-top:1px solid var(--line);background:var(--card-soft)}.episode-pill{padding:6px 14px;border-radius:999px;background:#dcecfb;color:var(--blue-strong);font-weight:800;font-size:18px;line-height:1}h1,h2,p{margin:0}h1{font-size:18px;line-height:1.2}.title-row p{color:var(--muted);margin-top:4px;font-size:13px}.file-button{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:34px;max-width:220px;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:#ffffffe6;color:var(--muted);font-size:14px;font-weight:800;cursor:pointer;overflow:hidden;box-shadow:0 12px 30px #4d76a41f}.file-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.file-button svg{width:18px;height:18px;flex:0 0 auto}.player-card{flex:1;height:100%;min-height:0;padding:12px;border-radius:26px;background:#ffffffe6;border:1px solid var(--line);box-shadow:var(--shadow);display:grid;grid-template-rows:minmax(0,3.4fr) minmax(150px,1.15fr);align-content:start;gap:8px}.player-card--video-hidden{grid-template-rows:auto}.player-card--video-hidden .current-card{height:100%;min-height:180px;align-content:center}.media-frame{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;border-radius:20px;background:#0e1724}.media-frame--audio{display:grid;place-items:center;background:linear-gradient(135deg,#dbeafe,#eff6ff)}video,audio{width:100%;height:100%;display:block;object-fit:contain}audio{width:min(82%,720px);height:54px}.empty-media{position:absolute;top:0;right:0;bottom:0;left:0;color:#dbeafe;display:grid;place-content:center;gap:8px;text-align:center}.empty-media svg{width:52px;height:52px;margin:0 auto}.play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:82px;height:82px;display:grid;place-items:center;border-radius:999px;border:4px solid #ffffff;background:#ffffff1f;color:#fff;cursor:pointer;transition:opacity .16s ease,background .16s ease,transform .16s ease}.play-overlay svg{width:42px;height:42px}.play-overlay--hidden{opacity:0}.play-overlay--hidden:hover,.play-overlay--hidden:focus-visible{opacity:.82}.subtitle-mask{position:absolute;left:0;right:0;z-index:3;min-height:18px;background:#050505;cursor:ns-resize;touch-action:none;box-shadow:0 -1px #ffffff24,0 1px #ffffff24}.subtitle-mask:before,.subtitle-mask:after{content:"";position:absolute;left:0;right:0;height:8px}.subtitle-mask:before{top:-4px}.subtitle-mask:after{bottom:-4px}.subtitle-mask-handle{position:absolute;top:50%;left:50%;width:54px;height:5px;border-radius:999px;background:#ffffff52;transform:translate(-50%,-50%)}.current-card{height:100%;min-height:0;padding:8px 18px;border-radius:20px;border:1px solid var(--line);background:var(--card-soft);display:grid;grid-template-rows:minmax(0,1fr) auto;gap:4px}.current-text{text-align:center;min-height:0;overflow:auto;scrollbar-width:none;display:grid;align-content:center}.current-text::-webkit-scrollbar{display:none}.source-line{font-family:var(--font-subtitle);color:var(--text);font-size:clamp(15px,1.25vw,19px);line-height:1.42;font-weight:800}.target-line{margin-top:5px;color:var(--muted);font-size:clamp(13px,1vw,16px);line-height:1.42;font-weight:700}.muted-line{color:var(--faint)}.current-meta,.subtitle-card footer,.keyword-card footer,.keyword-card header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--faint);font-weight:700}.current-meta{justify-content:center;min-height:26px;overflow:hidden;font-size:12px}.current-meta span:first-child{background:#e4f0fb;color:var(--blue-strong);border-radius:999px;padding:4px 10px}.current-meta--empty{visibility:hidden;pointer-events:none}.study-panel{border-radius:28px;background:#ffffffdb;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;height:100%;will-change:transform;transform:translateZ(0)}.panel-header{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-header-left{display:flex;align-items:center;gap:12px;min-width:0}.panel-header-divider{color:var(--line);font-weight:300;font-size:20px;-webkit-user-select:none;user-select:none;flex-shrink:0}.panel-header .keyword-count{font-size:12px;font-weight:500;color:var(--muted);margin-left:2px}.cycle-btn-small{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted);cursor:pointer;transition:all .15s ease;flex-shrink:0;padding:0}.cycle-btn-small svg{width:14px;height:14px}.cycle-btn-small:hover{border-color:var(--blue);color:var(--blue-strong)}.cycle-btn-small.active{background:var(--blue);border-color:var(--blue);color:#fff}.badge-top{position:absolute;top:-4px;right:-4px;background:var(--blue);color:#fff;font-size:10px;font-weight:600;min-width:16px;height:16px;line-height:16px;text-align:center;border-radius:8px;padding:0 4px;pointer-events:none}.panel-header h2{font-size:16px;white-space:nowrap;display:flex;align-items:center;gap:6px}.panel-tab{font-size:14px;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--muted);cursor:pointer;padding:3px 6px;border-radius:6px;transition:all .15s ease}.panel-tab:hover{color:var(--text);background:var(--hover-bg, rgba(0,0,0,.04))}.panel-tab.active{color:var(--blue-strong);background:rgba(var(--blue-rgb, 59,130,246),.08)}.panel-tab .keyword-count{font-size:12px;font-weight:500;color:var(--muted);margin-left:2px}.panel-tab .cycle-btn-small{margin-left:4px}.panel-tabs{display:flex;gap:14px;flex-wrap:nowrap;overflow-x:auto;max-width:100%}.panel-tabs button{border:0;background:transparent;color:var(--muted);font-weight:900;display:inline-flex;align-items:center;gap:5px;cursor:pointer;padding:7px 2px;border-bottom:3px solid transparent;white-space:nowrap;flex:0 0 auto;font-size:14px}.panel-tabs svg{width:16px;height:16px}.panel-tabs button.active{color:var(--text);border-color:var(--blue)}.subtitle-list,.keyword-list{flex:1;min-height:0;overflow:auto;padding:12px 16px 28px;display:flex;flex-direction:column;gap:10px}.subtitle-list--virtual{gap:0}.subtitle-list--virtual .subtitle-card{margin-bottom:10px}.subtitle-virtual-spacer{flex:0 0 auto}.subtitle-card,.keyword-card{border:1px solid var(--line);border-left:3px solid transparent;border-radius:18px;padding:14px 16px;background:#ffffffc7;box-shadow:0 2px 8px #4d76a40f;cursor:pointer}.subtitle-card.active{background:#eaf4ff;border-color:#9fc4e8;border-left:3px solid var(--blue);box-shadow:0 4px 12px #4d76a41f}.keyword-card.active.keyword-card--teal{border-left-color:var(--kw-teal)}.keyword-card.active.keyword-card--amber{border-left-color:var(--kw-amber)}.keyword-card.active.keyword-card--rose{border-left-color:var(--kw-rose)}.keyword-card.active.keyword-card--blue{border-left-color:var(--kw-blue)}.keyword-card.active.keyword-card--emerald{border-left-color:var(--kw-emerald)}.keyword-card.active.keyword-card--purple{border-left-color:var(--kw-purple)}.keyword-card.active.keyword-card--violet{border-left-color:var(--kw-violet)}.keyword-card.active.keyword-card--sky{border-left-color:var(--kw-sky)}.keyword-card.active.keyword-card--green{border-left-color:var(--kw-green)}.subtitle-card footer,.keyword-card footer{margin-top:8px;font-size:12px}.keyword-card header{justify-content:space-between}.keyword-timeline-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:24px;padding:3px 0;border-radius:8px;color:var(--faint);font-weight:700;cursor:pointer;font-size:12px}.keyword-timeline-row:hover,.keyword-timeline-row.active{background:#eef6ff;color:var(--blue-strong)}.keyword-timeline-row strong{color:var(--faint);font-size:inherit;line-height:inherit;min-width:86px}.keyword-timeline-row .el-button{padding:0;min-height:24px;width:24px;color:var(--muted);font-size:14px}.keyword-timeline-list{display:grid;gap:4px;margin-top:8px}.keyword-timeline-row .favorite-inline{width:24px;height:24px}.keyword-timeline-row .favorite-inline svg{width:17px;height:17px}.keyword-explanation{margin-top:8px;color:var(--text);font-family:var(--font-subtitle);font-size:13px;line-height:1.7;font-weight:400}.keyword-explanation p,.keyword-tooltip-text p,.keyword-detail-explanation p{margin:0 0 10px}.keyword-explanation p:last-child,.keyword-tooltip-text p:last-child,.keyword-detail-explanation p:last-child{margin-bottom:0}.keyword-explanation strong,.keyword-tooltip-text strong,.keyword-detail-explanation strong{font-weight:900}.keyword-explanation ul,.keyword-explanation ol,.keyword-detail-explanation ul,.keyword-detail-explanation ol{margin:8px 0 12px;padding-left:1.35em}.keyword-explanation li,.keyword-detail-explanation li{margin:4px 0}.keyword-explanation hr,.keyword-detail-explanation hr{border:0;border-top:1px solid var(--line-strong);margin:14px 0}.keyword-cue-times{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.keyword-cue-times span{padding:3px 8px;border-radius:999px;background:#eef5fc;color:var(--faint);font-size:12px;font-weight:800}.keyword-chip{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;border:0;font-weight:inherit;font-style:normal;cursor:pointer;font-size:inherit;line-height:inherit;vertical-align:baseline}.keyword-chip--teal{color:var(--kw-teal);background:var(--kw-teal-bg)}.keyword-chip--amber{color:var(--kw-amber);background:var(--kw-amber-bg)}.keyword-chip--blue{color:var(--kw-blue);background:var(--kw-blue-bg)}.keyword-chip--violet{color:var(--kw-violet);background:var(--kw-violet-bg)}.keyword-chip--rose{color:var(--kw-rose);background:var(--kw-rose-bg)}.keyword-chip--green{color:var(--kw-green);background:var(--kw-green-bg)}.cloze-hidden{color:transparent!important;cursor:pointer}.favorite-toggle,.favorite-inline{border:0;background:transparent;color:var(--faint);cursor:pointer;font-weight:900;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1}.favorite-toggle{width:30px;height:30px;border-radius:999px}.favorite-inline{width:24px;height:24px;border-radius:999px}.favorite-toggle svg,.favorite-inline svg{display:block;width:17px;height:17px;fill:transparent;stroke-width:2.4}.favorite-toggle svg{width:19px;height:19px}.favorite-toggle.active,.favorite-inline.active{color:#d59a2f;background:#fff3c4}.favorite-toggle.active svg,.favorite-inline.active svg{fill:currentColor}.current-edit-button{width:24px;height:24px;min-height:24px;padding:0;border:0;background:transparent;font-size:16px;color:var(--muted)}.current-edit-button:hover,.current-edit-button:focus{background:transparent;color:var(--blue-strong)}.favorite-card{border-color:#e2b35f;background:#fffaf0}.keyword-tooltip{position:absolute;z-index:80;width:min(240px,calc(100vw - 24px));max-height:min(160px,calc(100vh - 32px));padding:10px 12px;border-radius:14px;background:#fffffff5;border:1px solid var(--line-strong);box-shadow:0 14px 30px #26394d2e;pointer-events:none;font-family:var(--font-subtitle);overflow-y:auto;overscroll-behavior:contain;--tooltip-accent: #5f927f}.keyword-tooltip:before{content:"";display:block;height:3px;background:var(--tooltip-accent);margin:-10px -12px 8px}.keyword-tooltip header{display:flex;align-items:center;gap:6px;color:var(--tooltip-accent);font-size:13px;flex-wrap:wrap}.keyword-tooltip-pronunciation{color:var(--muted);font-size:12px;font-weight:500}.keyword-tooltip-type{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:6px;background:var(--tooltip-accent);color:#fff;font-size:11px;font-weight:600;text-transform:capitalize}.keyword-tooltip--teal{--tooltip-accent: var(--kw-teal)}.keyword-tooltip--amber{--tooltip-accent: var(--kw-amber)}.keyword-tooltip--blue{--tooltip-accent: var(--kw-blue)}.keyword-tooltip--violet{--tooltip-accent: var(--kw-violet)}.keyword-tooltip--rose{--tooltip-accent: var(--kw-rose)}.keyword-tooltip--green{--tooltip-accent: var(--kw-green)}.keyword-tooltip p{margin-top:8px;color:var(--text);line-height:1.38;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.glass-dialog.el-overlay{background:var(--dialog-backdrop);-webkit-backdrop-filter:var(--dialog-blur);backdrop-filter:var(--dialog-blur)}.glass-dialog .el-dialog{position:fixed;top:50%;left:50%;margin:0!important;transform:translate(-50%,-50%);border-radius:var(--dialog-radius);background:var(--dialog-bg);overflow:hidden;box-shadow:var(--dialog-shadow);-webkit-backdrop-filter:var(--dialog-blur);backdrop-filter:var(--dialog-blur);border:var(--dialog-border);font-family:var(--font-body)}.glass-dialog .el-dialog__header{display:none}.glass-dialog .el-dialog__body{padding:0}.dialog-close-btn{position:absolute;top:20px;right:20px;z-index:2;width:40px;height:40px;border:0;border-radius:999px;background:#0000000a;color:var(--muted);font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.dialog-close-btn:hover{background:#00000014;color:var(--text)}.dialog-title{font-size:var(--font-size-xl);font-weight:600;color:var(--text);margin:0 0 16px;font-family:var(--font-body)}.dialog-btn{height:40px;border-radius:12px;font-weight:500;font-size:var(--font-size-base);font-family:var(--font-body)}.dialog-btn--primary{background:var(--blue);border-color:var(--blue);color:#fff}.dialog-btn--primary:hover{background:var(--blue-strong);border-color:var(--blue-strong)}.dialog-input .el-input__wrapper,.dialog-input .el-textarea__inner{border-radius:12px;font-family:var(--font-body);font-size:var(--font-size-base)}.dialog-label{font-size:var(--font-size-sm);font-weight:500;color:var(--muted);margin-bottom:8px;font-family:var(--font-body)}.keyword-detail-dialog.el-overlay{background:#0f172075;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.keyword-detail-dialog .el-dialog{position:fixed;top:50%;left:50%;margin:0!important;transform:translate(-50%,-50%);border-radius:30px;background:#ffffffd1;overflow:hidden;box-shadow:0 30px 90px #0f172052;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.keyword-detail-dialog .el-dialog__header{display:none}.keyword-detail-dialog .el-dialog__body{padding:0}.keyword-detail-close{position:absolute;top:26px;right:26px;z-index:2;width:54px;height:54px;border:0;border-radius:999px;background:#ffffffdb;color:var(--muted);font-size:36px;line-height:1;cursor:pointer}.keyword-detail-card{--detail-accent: var(--kw-teal);max-height:min(78vh,720px);overflow:auto;padding:38px 34px 34px;border-top:5px solid var(--detail-accent);background:linear-gradient(135deg,#ffffffb8,#f8fbffe6),var(--card)}.keyword-detail-handle{display:block;width:74px;height:6px;margin:-22px auto 22px;border-radius:999px;background:#91a2b380}.keyword-detail-card--teal{--detail-accent: var(--kw-teal)}.keyword-detail-card--amber{--detail-accent: var(--kw-amber)}.keyword-detail-card--blue{--detail-accent: var(--kw-blue)}.keyword-detail-card--violet{--detail-accent: var(--kw-violet)}.keyword-detail-card--rose{--detail-accent: var(--kw-rose)}.keyword-detail-card--green{--detail-accent: var(--kw-green)}.detail-eyebrow{color:var(--faint);font-size:14px;font-weight:900}.keyword-detail-title-row{display:flex;align-items:center;gap:12px;margin:12px 0 26px}.keyword-detail-card h3{margin:12px 0 14px;color:var(--text);font-size:clamp(34px,4vw,54px);line-height:1;font-family:var(--font-subtitle)}.keyword-detail-title-row h3{margin:0;min-width:0;font-family:var(--font-subtitle)}.keyword-detail-edit{width:38px;height:38px;border:0;border-radius:999px;background:#e4f0fbd1;color:var(--blue-strong);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}.keyword-detail-edit svg{width:18px;height:18px}.keyword-detail-definition{border-top:4px solid var(--detail-accent);border-radius:22px;padding:22px 24px 26px;background:#ffffffc7;box-shadow:inset 0 0 0 1px var(--line)}.keyword-detail-definition strong{display:inline-block;margin-bottom:6px;color:var(--detail-accent);font-size:24px;font-family:var(--font-subtitle)}.keyword-detail-meta{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.keyword-detail-pronunciation{font-family:var(--font-body);font-size:15px;color:var(--muted);font-style:italic}.keyword-detail-pronunciation-inline{font-family:var(--font-subtitle);font-size:16px;color:var(--muted);font-weight:400;margin-left:6px}.keyword-detail-level{display:inline-block;padding:2px 8px;border-radius:4px;font-size:13px;font-weight:600;color:#fff;background:var(--blue);line-height:1.4}.keyword-detail-explanation{overflow-wrap:anywhere;color:var(--text);font-family:var(--font-subtitle);font-size:18px;line-height:1.65}.control-bar{grid-row:3;position:relative;z-index:10;min-width:0;min-height:0;border-top:1px solid var(--line);background:#ffffffed;box-shadow:0 -18px 45px #4d76a41f;padding:4px 16px 8px;display:grid;grid-template-rows:12px 18px 52px;gap:2px;overflow:visible;contain:layout style;will-change:transform;transform:translateZ(0)}.timeline{width:100%;height:12px;accent-color:var(--blue);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent}.timeline::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(90deg,var(--blue-strong) 0%,var(--blue-strong) var(--progress, 0%),#ffffff var(--progress, 0%),#ffffff 100%);border:1px solid var(--line)}.timeline::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:11px;height:11px;border-radius:50%;background:var(--blue);border:2px solid #fff;margin-top:-4px;box-shadow:0 2px 8px #4f84bd59}.timeline::-moz-range-track{height:4px;border-radius:999px;background:#fff;border:1px solid var(--line)}.timeline::-moz-range-progress{height:4px;border-radius:999px;background:var(--blue-strong)}.control-topline{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px}.time-readout{white-space:nowrap;color:var(--muted);font-weight:800}.time-readout strong{color:var(--text);font-size:16px}.repeat-readout{display:flex;gap:10px;align-items:center;color:var(--blue-strong);font-weight:900}.muted-repeat{color:var(--faint)}.control-actions{min-width:0;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;padding-bottom:0;scrollbar-width:thin;contain:layout style}.tool-button,.primary-control{border:0;background:transparent;color:var(--muted);cursor:pointer;font-weight:800;flex:0 0 auto}.tool-button{min-width:52px;min-height:42px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:12px}.tool-button:hover,.tool-button.active{color:var(--blue-strong);background:#edf5fd}.tool-button:not(.active):focus:not(:focus-visible),.mobile-catalog-list button:focus:not(:focus-visible),.segment-cue-list button:focus:not(:focus-visible){outline:0;background:transparent}.tool-button:active:not(.active){background:transparent}.tool-button svg{width:18px;height:18px}.tool-button span{font-size:11px}.tool-value{font-size:13px!important;color:var(--text)}.compact{min-width:56px}.primary-control{width:50px;height:50px;border-radius:999px;background:linear-gradient(135deg,var(--blue),var(--blue-strong));color:#fff;box-shadow:0 12px 24px #4f84bd47;display:inline-grid;place-items:center}.primary-control svg{width:24px;height:24px}.primary-control span{display:none}.control-divider{width:1px;height:34px;background:var(--line-strong);flex:0 0 auto}.mobile-more-button{display:none}.mobile-catalog{display:inline-flex}.mobile-catalog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#0f172a52;padding:20px}.mobile-catalog-sheet{width:min(620px,100%);max-height:min(76vh,680px);padding:18px 16px;border-radius:24px;background:#fffffff0;border:1px solid rgba(220,232,245,.92);box-shadow:0 24px 70px #26394d3d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px}.mobile-catalog-sheet header{display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-catalog-sheet header div{display:grid;gap:4px}.mobile-catalog-sheet header strong{font-size:20px}.mobile-catalog-sheet header span{color:var(--muted);font-size:13px;font-weight:800}.mobile-catalog-sheet header button{width:42px;height:42px;border:0;border-radius:999px;background:#f3f6fa;color:var(--text);font-size:28px;line-height:1;cursor:pointer}.mobile-catalog-list{min-height:0;overflow:auto;display:grid;gap:10px;padding-right:2px}.mobile-catalog-list button{min-height:74px;width:100%;border:1px solid var(--line);border-radius:18px;background:#f8fbffeb;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;color:var(--text);text-align:left;cursor:pointer}.mobile-catalog-list button.active{border-color:var(--blue);background:#f0f7ff}.mobile-catalog-list button>span{width:46px;height:46px;border-radius:14px;background:#dcecfb;color:var(--blue-strong);display:grid;place-items:center;font-weight:900}.mobile-catalog-list strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.mobile-catalog-list em{font-style:normal;color:var(--muted);font-size:12px;font-weight:800}.mobile-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mobile-more-grid .tool-button{min-width:0;min-height:48px;width:100%}.import-dialog-panel{display:grid;gap:12px}.import-file-button{width:100%;max-width:none;min-height:48px;border-radius:16px;justify-content:flex-start;padding:10px 14px;box-shadow:none}.batch-file-button{width:100%;max-width:none;min-height:40px;border-radius:8px;box-shadow:none}.batch-import-note{color:var(--muted);font-size:13px;font-weight:700}.subtitle-line--hidden{visibility:hidden;pointer-events:none}.import-order-row{min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:16px;background:#f8fbffc7;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-weight:900}.font-size-panel{display:grid;gap:18px}.font-size-preview{min-height:118px;border:1px solid var(--line);border-radius:22px;background:#f8fbffc7;display:grid;place-items:center;align-content:center;gap:8px;color:var(--text);text-align:center}.font-size-preview span{font-size:22px;font-weight:900}.font-size-preview strong{font-size:18px;font-weight:900}.font-size-preview p{color:var(--muted);font-weight:800}.font-size-tabs,.font-size-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.font-size-tabs button,.font-size-presets button{border:1px solid var(--line-strong);border-radius:999px;min-height:44px;background:#ffffffe0;color:var(--muted);font-weight:900;cursor:pointer}.font-size-tabs button.active,.font-size-presets button.active{color:#fff;border-color:transparent;background:var(--blue);box-shadow:0 12px 24px #4f84bd38}.font-size-range{width:100%;accent-color:var(--blue)}.font-size-scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));color:var(--faint);font-size:12px;font-weight:800}.font-size-scale span:nth-child(2),.font-size-scale span:nth-child(3),.font-size-scale span:nth-child(4){text-align:center}.font-size-scale span:last-child{text-align:right}.font-size-presets{grid-template-columns:repeat(4,minmax(0,1fr))}.dialog-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 10px}.cue-editor-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:12px}.cue-editor-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.cue-editor-index{font-size:13px;font-weight:600;color:var(--muted);flex-shrink:0}.cue-editor-time{display:flex;align-items:center;gap:4px;flex:1}.cue-editor-time .el-input-number{width:80px}.cue-editor-time .time-sep{color:var(--muted);font-size:12px}.cue-editor-delete{margin-left:auto;flex-shrink:0}.cue-editor-body{display:flex;flex-direction:column;gap:10px}.cue-editor-field{display:flex;flex-direction:column;gap:4px}.cue-editor-label{font-size:12px;color:var(--muted);font-weight:500}.cue-editor-body .el-textarea__inner{font-family:var(--font-subtitle);font-size:12px;min-height:32px!important}.keyword-draft-section{margin-top:8px}.keyword-draft-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.keyword-draft-header strong{font-size:13px;font-weight:600;color:var(--text)}.keyword-draft-list{display:grid;gap:8px}.keyword-draft{display:flex;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}.keyword-draft-bar{width:4px;flex-shrink:0;background:var(--kw-teal)}.keyword-draft--amber .keyword-draft-bar{background:var(--kw-amber)}.keyword-draft--blue .keyword-draft-bar{background:var(--kw-blue)}.keyword-draft--violet .keyword-draft-bar{background:var(--kw-violet)}.keyword-draft--rose .keyword-draft-bar{background:var(--kw-rose)}.keyword-draft--green .keyword-draft-bar{background:var(--kw-green)}.keyword-draft-content{flex:1;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.keyword-draft-top,.keyword-draft-row{display:flex;align-items:flex-end;gap:8px}.keyword-draft-row--main{align-items:flex-end}.keyword-draft-row--meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;align-items:flex-end}.keyword-draft-row--meta .keyword-draft-field{min-width:0}.keyword-draft-row--meta .el-input__inner,.keyword-draft-row--meta .el-select .el-input__inner{font-family:var(--font-subtitle);font-size:13px}.keyword-draft-fields{flex:1;display:flex;gap:10px}.keyword-draft-field{flex:1;display:flex;flex-direction:column;gap:3px}.keyword-draft-field .el-input__inner,.keyword-draft-field .el-textarea__inner{font-family:var(--font-subtitle);font-size:13px}.keyword-draft-field .el-select .el-input__inner{font-family:var(--font-body);font-size:13px}.keyword-draft-label{font-size:11px;color:var(--muted);font-weight:500}.keyword-draft-word,.keyword-draft-headword,.keyword-draft-keyword-input{flex:1}.keyword-draft-word .el-input__inner,.keyword-draft-headword .el-input__inner,.keyword-draft-keyword-input .el-input__inner{font-family:var(--font-subtitle);font-size:14px;padding:4px 8px;height:32px}.keyword-draft-headword .el-input__inner{font-weight:600}.keyword-draft-actions{display:flex;align-items:center;gap:2px;flex-shrink:0;padding-bottom:4px}.keyword-draft-explanation .el-textarea__inner{font-family:var(--font-subtitle);font-size:12px;line-height:1.5;padding:6px 8px;background:transparent;border:1px solid var(--line);border-radius:6px;height:32px}.keyword-draft-explanation .el-textarea__inner:focus{border-color:var(--blue)}.keyword-draft-empty{color:var(--muted);font-size:12px;text-align:center;padding:16px;border:1px dashed var(--line-strong);border-radius:8px}.vocab-extract-button{cursor:pointer;background:linear-gradient(135deg,#f0f4ff,#e8eeff);border:1.5px dashed var(--blue);color:var(--blue-strong)}.vocab-extract-button:hover{background:linear-gradient(135deg,#e4ecff,#dce6ff)}.vocab-extract-panel{margin-top:14px;padding:16px;background:#5b6cff0a;border-radius:12px;border:1px solid rgba(91,108,255,.12);display:flex;flex-direction:column;gap:14px}.vocab-extract-lang-row{display:flex;align-items:center;gap:12px}.vocab-extract-label{font-size:13px;color:var(--muted);font-weight:500;min-width:36px}.vocab-extract-lang-tabs{display:flex;background:var(--bg);border-radius:20px;padding:3px;gap:2px}.vocab-extract-lang-tabs button{padding:5px 18px;border:none;border-radius:17px;font-size:13px;cursor:pointer;background:transparent;color:var(--muted);transition:all .2s;font-weight:500}.vocab-extract-lang-tabs button.active{background:var(--blue);color:#fff;box-shadow:0 2px 8px #5b6cff4d}.vocab-extract-srt-row{display:flex}.vocab-extract-srt-info{flex:1;display:flex;align-items:center;gap:8px;padding:12px 16px;border:1px solid var(--green, #55C59D);border-radius:12px;font-size:13px;color:var(--text);background:#55c59d0f}.vocab-extract-srt-count{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap}.vocab-extract-srt-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:14px 16px;border:2px dashed var(--line);border-radius:12px;font-size:13px;color:var(--muted)}.vocab-extract-filename{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}font-size: 18px; cursor: pointer; padding: 0 4px; line-height: 1; } .vocab-extract-results{display:flex;flex-direction:column;gap:10px}.vocab-extract-result-header{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted)}.vocab-extract-result-header strong{color:var(--blue-strong)}.vocab-extract-result-list{max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-right:4px}.vocab-extract-result-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--bg);border-radius:10px;border:1px solid var(--line);transition:all .2s}.vocab-extract-cue-row{display:flex;align-items:flex-start;gap:6px;padding:5px 10px;margin:4px 0;background:var(--bg-blue-light, #f0f4ff);border-radius:6px;font-size:12px;line-height:1.5;transition:opacity .15s,background .15s}.vocab-extract-cue-row.unchecked{opacity:.45;background:var(--bg-gray, #f7f8fa)}.vocab-extract-cue-row .el-checkbox{--el-checkbox-font-size: 13px}.vocab-extract-cue-text{flex:1;color:var(--text-secondary, #555);word-break:break-word}.vocab-extract-result-item.unchecked{opacity:.45}.vocab-extract-result-content{flex:1;min-width:0}.vocab-extract-result-top{display:flex;align-items:center;gap:8px;margin-bottom:4px}.vocab-entry-delete-btn{margin-left:auto;background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;transition:color .15s,background .15s}.vocab-entry-delete-btn:hover{color:#e74c3c;background:#e74c3c14}.vocab-extract-result-word{font-weight:600;font-size:15px;color:var(--text)}.vocab-extract-result-type{font-size:11px;padding:1px 8px;border-radius:10px;font-weight:500}.vocab-extract-result-type.type-word,.vocab-extract-result-type.type-noun{background:#0080801a;color:teal}.vocab-extract-result-type.type-grammar,.vocab-extract-result-type.type-verb{background:#5b6cff1a;color:var(--blue-strong)}.vocab-extract-result-type.type-phrase,.vocab-extract-result-type.type-adjective{background:#55c59d1a;color:#55c59d}.vocab-extract-result-type.type-idiom,.vocab-extract-result-type.type-adverb{background:#8b5cf61a;color:#8b5cf6}.vocab-extract-result-type.type-phrasal_verb{background:#ffd16626;color:#c89000}.vocab-extract-result-count{font-size:11px;color:var(--muted);margin-left:auto}.vocab-extract-result-explanation{font-size:12px;color:var(--muted);line-height:1.4;margin-bottom:4px}.vocab-extract-result-forms{display:flex;flex-wrap:wrap;gap:4px}.vocab-extract-form-tag{font-size:11px;padding:1px 8px;background:#5b6cff0f;border-radius:8px;color:var(--blue-strong)}.vocab-extract-result-cues{margin-top:8px;padding-top:8px;border-top:1px dashed rgba(91,108,255,.1)}.vocab-extract-result-cues-label{font-size:11px;color:var(--muted);margin-bottom:6px;display:flex;align-items:center;gap:4px}.vocab-extract-result-cues-label i{font-size:12px;color:var(--blue)}.vocab-extract-cue-text{font-size:12px;color:var(--text);line-height:1.6;padding:4px 8px;background:#5b6cff08;border-radius:6px;margin-bottom:4px;word-break:break-word}.vocab-extract-cue-more{font-size:11px;color:var(--muted);padding:2px 8px;text-align:center}.vocab-extract-empty{text-align:center;padding:24px;color:var(--muted);font-size:13px}.keyword-draft-field--headword{flex:1.5}.keyword-draft-field--keyword{flex:1}.keyword-draft-field--keyword .el-input__inner{font-family:var(--font-subtitle);font-size:13px;color:var(--text)}.keyword-draft-field--type{min-width:80px;max-width:100px}.keyword-draft-field--pronunciation{flex:1}.keyword-draft-field--pronunciation .el-input__inner{font-family:var(--font-subtitle);font-size:13px}.keyword-draft-field--level{min-width:80px;max-width:120px}.keyword-draft-headword-wrap{position:relative;display:flex;align-items:center;gap:6px;flex:1;min-width:0}.headword-dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px #0000001f;max-height:200px;overflow-y:auto;margin-top:2px}.headword-dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:13px;transition:background .15s}.headword-dropdown-item:hover{background:#5b6cff0f}.headword-dropdown-word{font-weight:600;color:var(--text)}.headword-dropdown-type{font-size:10px;padding:1px 6px;border-radius:8px;flex-shrink:0}.headword-dropdown-type.type-word,.headword-dropdown-type.type-noun{background:#0080801a;color:teal}.headword-dropdown-type.type-grammar,.headword-dropdown-type.type-verb{background:#5b6cff1a;color:var(--blue-strong)}.headword-dropdown-type.type-phrase,.headword-dropdown-type.type-adjective{background:#55c59d1a;color:#55c59d}.headword-dropdown-type.type-idiom,.headword-dropdown-type.type-adverb{background:#8b5cf61a;color:#8b5cf6}.headword-dropdown-type.type-phrasal_verb{background:#ffd16626;color:#c89000}.headword-dropdown-explanation{flex:1;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.headword-dropdown-new{color:var(--blue);font-weight:500;justify-content:center}.keyword-draft-type-select{width:100%}.keyword-draft-type-select .el-input__inner{font-size:12px;padding:4px 8px;height:32px}.keyword-draft-forms{display:flex;flex-direction:column;gap:4px}.keyword-draft-forms-list{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.keyword-draft-form-tag{display:inline-flex;align-items:center;gap:2px;font-size:12px;padding:2px 8px;background:#5b6cff0f;border-radius:8px;color:var(--blue-strong)}.keyword-draft-form-remove{background:none;border:none;color:var(--muted);font-size:14px;cursor:pointer;padding:0 2px;line-height:1}.keyword-draft-form-remove:hover{color:#f56c6c}.keyword-draft-form-add{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1.5px dashed var(--line);border-radius:8px;background:none;color:var(--muted);font-size:14px;cursor:pointer;transition:all .2s}.keyword-draft-form-add:hover{border-color:var(--blue);color:var(--blue)}.export-summary{display:grid;gap:8px;color:var(--muted);font-weight:700}.glass-dialog .el-dialog{border-radius:24px;overflow:hidden;background:#ffffffe6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.segment-dialog,.loop-dialog{display:grid;gap:18px}.range-pill{padding:14px 18px;border:1px solid var(--line);border-radius:999px;background:#f8fbffe6;color:var(--muted);font-weight:900}.range-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wide-primary{min-height:48px;border-radius:14px;font-weight:900}.dialog-footer-flex{display:flex;flex-direction:column;gap:10px;padding-top:10px}.dialog-footer-flex .el-button{width:100%;min-height:48px;border-radius:14px;font-weight:900;margin:0}.dialog-btn-secondary{background-color:#f0f2f5;color:#1f2433;border:none}.segment-cue-list{max-height:300px;overflow:auto;display:grid;gap:10px}.segment-cue-list button{border:1px solid var(--line);border-radius:14px;background:#ffffffd1;color:var(--text);display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;padding:12px 14px;text-align:left;cursor:pointer}.segment-cue-list button.selected{border-color:#9fc4e8;background:#eaf4ff}.segment-cue-list button.boundary-start,.segment-cue-list button.boundary-end{border-color:var(--blue-strong)}.segment-cue-list span{color:var(--blue-strong);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:800}.segment-cue-list em{min-width:42px;padding:4px 8px;border-radius:999px;background:#dcecfb;color:var(--blue-strong);font-size:12px;font-style:normal;font-weight:900;text-align:center}.loop-mode-row,.loop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.loop-mode-row button,.loop-grid button{border:1px solid var(--line);border-radius:14px;min-height:46px;background:#ffffffdb;color:var(--muted);font-weight:900;cursor:pointer}.loop-mode-row button.active,.loop-grid button.active{background:var(--blue);color:#fff;border-color:transparent}.loop-dialog p{color:var(--muted);font-weight:700}.loop-range{width:100%;accent-color:var(--blue)}.loop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1180px){.workspace{grid-template-columns:1fr;overflow:auto}.study-panel{min-height:520px}}@media(max-width:760px){.auth-panel{grid-template-columns:1fr;padding:22px}.auth-copy h1{font-size:26px}.catalog-page{padding:16px}.catalog-header{flex-direction:column;gap:12px;margin-bottom:16px}.catalog-header-left h1{font-size:22px}.catalog-header-right{width:100%;flex-direction:column;align-items:stretch;gap:10px}.catalog-search,.catalog-search-input{width:100%}.catalog-actions{justify-content:flex-start}.course-section{border-radius:10px}.course-banner{min-height:100px}.course-banner-overlay{padding:14px 16px;gap:10px}.course-banner-letter{font-size:40px;top:10px;left:16px}.course-banner-info h2{font-size:17px;margin-bottom:4px}.course-banner-info p{font-size:12px;-webkit-line-clamp:1}.course-meta{margin-top:6px;font-size:11px;gap:8px}.course-banner-actions{flex-direction:row;position:absolute;top:8px;right:8px}.course-banner-actions .el-button{padding:4px 8px;font-size:11px}.video-grid{grid-template-columns:1fr;gap:8px;padding:12px 14px}.video-card{padding:10px 12px;gap:10px}.video-card-index{width:28px;height:28px;font-size:12px;border-radius:6px}.video-card-title{font-size:13px;margin-bottom:2px}.video-card-meta{font-size:11px;gap:8px}.video-card-actions{opacity:.7}.course-admin-actions{padding:10px 14px;flex-wrap:wrap}.course-admin-actions .el-button{flex:1;min-width:120px}.app-shell{height:var(--app-height, 100dvh);grid-template-rows:minmax(0,1fr) 108px}.learning-top-nav{display:none}.workspace{grid-row:1;height:100%;padding:0 0 8px;grid-template-rows:auto minmax(0,1fr);align-content:start;align-items:stretch;overflow:hidden}.hero-area{min-height:0;gap:0}.title-row{display:none}.player-card{height:auto;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;gap:0;grid-template-rows:auto}.player-card--video-hidden{height:190px}.media-frame{aspect-ratio:16 / 9;width:100%;min-height:0;border-radius:0}.media-frame video{object-fit:contain;object-position:center center}.current-card{display:none}.current-text{align-content:center;overflow:auto}.file-button{min-height:28px;max-width:min(46vw,190px);padding:5px 10px;gap:5px;font-size:12px;box-shadow:0 8px 20px #4d76a41a}.file-button svg{width:15px;height:15px}.import-file-button{max-width:none;min-height:46px;padding:10px 12px;font-size:13px;box-shadow:none}.study-panel{min-height:0;height:100%;border-radius:0;border-left:0;border-right:0;box-shadow:none}.subtitle-list,.keyword-list{flex:1 1 auto;padding:12px 10px 20px;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding-top:10px}.panel-header{padding:8px 10px;gap:8px}.panel-header h2{width:46px;flex:0 0 46px;font-size:16px;line-height:1.05}.panel-tabs{gap:8px}.panel-tabs button{gap:3px;padding:5px 1px;font-size:12px;border-bottom-width:2px}.panel-tabs svg{width:14px;height:14px}.control-bar{grid-row:2;padding:2px 6px 4px;grid-template-rows:10px 16px 70px;gap:1px}.control-topline{font-size:11px}.time-readout strong{font-size:15px}.control-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:26px 40px;justify-content:normal;align-items:center;gap:4px 4px;overflow:visible}.control-actions>*{justify-self:center}.mobile-secondary,.control-actions>.control-divider{display:none}.mobile-primary,.mobile-catalog,.mobile-more-button{display:inline-flex}.mobile-speed{grid-column:1;grid-row:1}.mobile-segment{grid-column:2;grid-row:1}.mobile-loop{grid-column:3;grid-row:1}.mobile-prev{grid-column:2;grid-row:2}.primary-control.transport-control{grid-column:3;grid-row:2}.mobile-next{grid-column:4;grid-row:2}.mobile-auto{grid-column:4;grid-row:1}.mobile-catalog{grid-column:5;grid-row:1}.mobile-more-button{grid-column:5;grid-row:2}.tool-button{min-width:0;width:100%;min-height:26px;gap:1px;padding:0;border-radius:8px}.tool-button:hover:not(.active){color:var(--muted);background:transparent}.tool-button svg{width:16px;height:16px}.tool-button span{font-size:9px;line-height:1.12}.primary-control{width:40px;height:40px}.transport-control.tool-button{min-height:40px}.font-size-dialog .el-dialog,.keyword-detail-dialog .el-dialog,.el-dialog{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px);margin:8vh auto 0!important;border-radius:22px}.font-size-dialog .el-dialog__body,.el-dialog__body{max-height:min(70vh,620px);overflow:auto;padding:14px 16px}.font-size-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.cue-editor-dialog .el-dialog__body{padding:12px 14px}.cue-editor-dialog .el-form-item{margin-bottom:12px}.cue-editor-dialog .el-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cue-editor-dialog .el-col{max-width:none;flex:none;width:100%}.cue-editor-dialog .el-input-number{width:100%}.dialog-section-head{align-items:flex-start;flex-direction:column;gap:8px}.keyword-draft-word .el-input__inner{font-size:13px}.keyword-field>span{font-size:11px}.keyword-field .el-textarea__inner{max-height:180px}.subtitle-card,.keyword-card{padding:9px 10px;border-radius:14px}.subtitle-content{gap:3px}.source-line{line-height:1.34}.target-line{line-height:1.32;margin-top:3px}.subtitle-card footer,.keyword-card footer{gap:8px;margin-top:6px;font-size:11px}.favorite-inline{width:20px;height:20px}.favorite-inline svg{width:15px;height:15px}.keyword-draft-content{padding:8px 10px}.cue-editor-time .el-input-number{width:80px}.keyword-tooltip{width:min(300px,calc(100vw - 20px));max-height:min(280px,calc(100vh - 28px));padding:12px 14px;border-radius:14px;font-size:12px}.keyword-tooltip:before{margin:-12px -14px 10px}.keyword-detail-close{top:12px;right:12px;width:40px;height:40px;font-size:28px}.keyword-detail-card{max-height:78vh;padding:26px 22px 30px}.keyword-detail-card h3{font-size:34px}.keyword-detail-title-row{gap:8px;margin-bottom:20px}.keyword-detail-edit{width:34px;height:34px}.keyword-detail-card p{font-size:15px;line-height:1.55}}.panel-actions{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}.pill-button{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:#ffffffe6;color:var(--muted);font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap;transition:all .18s ease}.pill-button svg{width:15px;height:15px}.pill-button:hover,.pill-button:focus-visible{border-color:var(--blue);color:var(--blue-strong);background:#eef6ff}.pill-button.active{border-color:var(--blue);background:#eef6ff;color:var(--blue-strong)}.pill-button .badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--blue);color:#fff;font-size:11px;font-weight:900;line-height:1}.mode-button{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:#ffffffe6;color:var(--text);font-size:13px;font-weight:900;cursor:pointer;white-space:nowrap;transition:all .18s ease}.mode-button svg{width:15px;height:15px}.mode-button:hover,.mode-button:focus-visible{border-color:var(--blue-strong);background:#fff;box-shadow:0 2px 8px #4d76a41f}.subtitle-list--cloze .subtitle-card{cursor:default}.subtitle-list--cloze .subtitle-card.active{cursor:pointer}.vocab-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#1a273947;display:flex;justify-content:flex-end;animation:fade-in .18s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.vocab-drawer{width:min(420px,100vw);max-width:100%;height:100%;background:#fffffff5;border-left:1px solid var(--line);box-shadow:-14px 0 34px #4d76a42e;display:flex;flex-direction:column;animation:slide-in .22s ease}@keyframes slide-in{0%{transform:translate(100%);opacity:.5}to{transform:translate(0);opacity:1}}.vocab-drawer-header{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ffffffeb}.vocab-drawer-tabs{display:flex;align-items:center;gap:12px}.vocab-drawer-tabs button{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap;transition:all .18s ease}.vocab-drawer-tabs button svg{width:16px;height:16px}.vocab-drawer-tabs button:hover,.vocab-drawer-tabs button:focus-visible{border-color:var(--blue);color:var(--blue-strong)}.vocab-drawer-tabs button.active{border-color:var(--blue);background:#eef6ff;color:var(--blue-strong)}.vocab-drawer-tabs button .badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--blue);color:#fff;font-size:11px;font-weight:900;line-height:1}.vocab-drawer-close{width:36px;height:36px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:24px;font-weight:400;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .18s ease}.vocab-drawer-close:hover,.vocab-drawer-close:focus-visible{border-color:var(--blue-strong);color:var(--blue-strong);background:#fff}.vocab-drawer-content{flex:1;min-height:0;overflow:auto;padding:14px 16px 28px;display:flex;flex-direction:column;gap:12px}.vocab-drawer-content .keyword-card,.vocab-drawer-content .subtitle-card{border:1px solid var(--line);border-radius:18px;padding:12px 14px;background:#ffffffc7;box-shadow:0 12px 28px #4d76a414;cursor:pointer}.vocab-drawer-content .keyword-card.active,.vocab-drawer-content .subtitle-card.active{box-shadow:0 14px 30px #4d76a442}@media(max-width:760px){.vocab-drawer{width:100%;max-width:100%;border-radius:0;border-left:none}.vocab-drawer-overlay{justify-content:center}.vocab-drawer-header{padding:12px 14px}.vocab-drawer-tabs{gap:8px}.vocab-drawer-tabs button{padding:6px 12px;font-size:12px}.vocab-drawer-tabs button svg{width:14px;height:14px}.vocab-drawer-close{width:32px;height:32px;font-size:22px}.vocab-drawer-content{padding:12px 14px 24px;gap:10px}}.keyword-drawer-toggle{display:flex;align-items:center;gap:6px}.keyword-drawer-toggle .badge{background:var(--blue);color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:10px;margin-left:4px}.keyword-drawer .vocab-drawer-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--text)}.keyword-drawer .vocab-drawer-title svg{width:18px;height:18px;color:var(--blue)}.keyword-card-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;margin:-14px -16px 10px;border-radius:6px 6px 0 0;background:var(--kw-teal-bg);font-family:var(--font-subtitle)}.keyword-card-header--teal{background:var(--kw-teal-bg)}.keyword-card-header--amber{background:var(--kw-amber-bg)}.keyword-card-header--rose{background:var(--kw-rose-bg)}.keyword-card-header--blue{background:var(--kw-blue-bg)}.keyword-card-header--purple{background:var(--kw-purple-bg)}.keyword-card-header--violet{background:var(--kw-violet-bg)}.keyword-card-header--emerald{background:var(--kw-emerald-bg)}.keyword-card-header--sky{background:var(--kw-sky-bg)}.keyword-card-header--green{background:var(--kw-green-bg)}.keyword-title{font-family:var(--font-subtitle);font-size:clamp(15px,1.25vw,19px);font-weight:800;line-height:1.42;color:var(--text);background:transparent}.keyword-title-group{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.keyword-type-tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:9999px;background:#fff9;color:var(--text);white-space:nowrap}.keyword-meta{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.keyword-pronunciation{font-family:var(--font-body);font-size:12px;color:var(--muted);font-style:italic}.keyword-pronunciation-inline{font-family:var(--font-subtitle);font-size:13px;color:var(--muted);margin-bottom:4px}.keyword-content{padding:0 16px 14px}.keyword-level{display:inline-block;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:600;color:#fff;background:var(--blue);line-height:1.4}.keyword-card-actions{display:flex;gap:4px}.vocab-add-btn{width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.vocab-add-btn.active{color:#d59a2f;background:#fff3c4}.vocab-add-btn svg{width:16px;height:16px}.keyword-sentences-section{border-top:1px solid var(--line);background:var(--kw-teal-bg);margin:12px -16px -14px;padding:10px 16px 14px;border-radius:0 0 16px 16px}.keyword-card--teal .keyword-sentences-section{background:var(--kw-teal-bg)}.keyword-card--amber .keyword-sentences-section{background:var(--kw-amber-bg)}.keyword-card--rose .keyword-sentences-section{background:var(--kw-rose-bg)}.keyword-card--blue .keyword-sentences-section{background:var(--kw-blue-bg)}.keyword-card--emerald .keyword-sentences-section{background:var(--kw-emerald-bg)}.keyword-card--purple .keyword-sentences-section{background:var(--kw-purple-bg)}.keyword-card--violet .keyword-sentences-section{background:var(--kw-violet-bg)}.keyword-card--sky .keyword-sentences-section{background:var(--kw-sky-bg)}.keyword-card--green .keyword-sentences-section{background:var(--kw-green-bg)}.keyword-sentences-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border:none;border-radius:8px;background:#fffc;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.keyword-sentences-toggle:hover{background:#fff;color:var(--text)}.toggle-icon{font-size:10px;transition:transform .15s ease}.keyword-sentences-list{margin-top:8px;display:flex;flex-direction:column;gap:6px}.keyword-sentence-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:transparent;border:none;cursor:pointer}.keyword-sentence-item:hover,.keyword-sentence-item.active{background:transparent}.sentence-index{font-size:12px;color:var(--muted);min-width:32px}.sentence-text{flex:1;font-family:var(--font-subtitle);font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sentence-edit-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s ease;opacity:0}.sentence-edit-btn svg{width:14px;height:14px}.keyword-sentence-item:hover .sentence-edit-btn{opacity:1}.sentence-edit-btn:hover{background:var(--blue);color:#fff}.keyword-card-edit-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s ease;opacity:0}.keyword-card-edit-btn svg{width:14px;height:14px}.keyword-card:hover .keyword-card-edit-btn{opacity:1}.keyword-card-edit-btn:hover{background:var(--blue);color:#fff}.play-all-sentences-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border:none;border-radius:10px;background:var(--blue);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;margin-top:8px}.play-all-sentences-btn:hover{background:var(--blue-strong)}.play-all-sentences-btn svg{width:14px;height:14px}.keyword-loop-btn{display:flex;align-items:center;gap:4px}.keyword-loop-btn .tool-badge{background:#6f9dce33;color:var(--blue-strong);font-size:11px;font-weight:600;padding:2px 6px;border-radius:8px;margin-left:2px}.keyword-loop-btn.active .tool-badge{background:#ffffff4d;color:#fff}.study-panel-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.study-panel{display:flex;flex-direction:column;flex:1;min-height:0;position:relative}.study-panel .panel-header{flex-shrink:0}.subtitle-area{flex:1;min-height:0;display:flex;flex-direction:column;overflow:visible}.subtitle-area .subtitle-list{flex:1;min-height:0;height:100%;overflow:auto}.keyword-area{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.keyword-area .keyword-list{flex:1;min-height:0;overflow:auto}.keyword-panel-content{flex:1;overflow-y:auto;padding:12px 16px}.keyword-sentences-list{width:100%;overflow:hidden}.keyword-sentence-item{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:8px;background:transparent;margin-bottom:6px;cursor:pointer;width:100%;box-sizing:border-box}.keyword-card--teal .keyword-sentence-item:hover{background:var(--kw-teal-bg)}.keyword-card--amber .keyword-sentence-item:hover{background:var(--kw-amber-bg)}.keyword-card--rose .keyword-sentence-item:hover{background:var(--kw-rose-bg)}.keyword-card--blue .keyword-sentence-item:hover{background:var(--kw-blue-bg)}.keyword-card--emerald .keyword-sentence-item:hover{background:var(--kw-emerald-bg)}.keyword-card--purple .keyword-sentence-item:hover{background:var(--kw-purple-bg)}.keyword-card--violet .keyword-sentence-item:hover{background:var(--kw-violet-bg)}.keyword-card--sky .keyword-sentence-item:hover{background:var(--kw-sky-bg)}.keyword-card--green .keyword-sentence-item:hover{background:var(--kw-green-bg)}.sentence-index{font-size:11px;color:var(--muted);min-width:24px}.sentence-text{flex:1;font-family:var(--font-subtitle);font-size:13px;color:var(--text);word-break:break-word;overflow-wrap:break-word;white-space:normal;line-height:1.4}@media(max-width:760px){.keyword-area .keyword-list{padding:8px 10px 20px}.keyword-card{padding:10px 12px}.sentence-edit-btn,.keyword-card-edit-btn{opacity:.6}}.keyword-card{cursor:pointer}.keyword-item-clickable{cursor:pointer;padding:4px 6px;border-radius:4px;transition:background .15s ease}.keyword-item-clickable:hover{background:var(--muted, #f1f5f9)}.my-view{min-height:100vh;background:var(--page-bg, #f4f8fd)}.my-main{max-width:800px;margin:0 auto;padding:28px 24px}.my-entry-card{background:var(--white);border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000f;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-bottom:20px;border:1px solid rgba(111,157,206,.1)}.my-entry-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}.my-entry-card-inner{display:flex;gap:20px;align-items:flex-start}.my-entry-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#55c59d1a;color:var(--green);font-size:24px}.my-entry-info{flex:1;min-width:0}.my-entry-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.my-entry-title{font-size:18px;font-weight:700;color:var(--text);margin:0}.my-entry-badge{font-size:12px;color:var(--muted);background:var(--page-bg);padding:3px 10px;border-radius:12px}.my-entry-pending{font-size:14px;color:var(--muted);margin:6px 0 16px}.my-entry-btn{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--white);background:var(--green);padding:10px 20px;border-radius:10px;border:none;cursor:pointer;text-decoration:none;transition:background .15s,transform .15s}.my-entry-btn:hover{background:#4aad89;transform:translateY(-1px)}.my-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.my-stat-card{background:var(--white);border-radius:14px;padding:18px 16px;text-align:center;box-shadow:0 1px 4px #0000000d;border:1px solid rgba(0,0,0,.03)}.my-stat-label{font-size:12px;color:var(--muted);margin:0 0 6px}.my-stat-value{font-size:28px;font-weight:700;color:var(--text);line-height:1.2}.my-stat-unit{font-size:12px;color:var(--muted);margin-left:2px}.my-recent{margin-bottom:24px}.my-recent-card{background:var(--white);border-radius:14px;box-shadow:0 1px 4px #0000000d;overflow:hidden;border:1px solid rgba(0,0,0,.03)}.my-recent-tabs{display:flex;border-bottom:1px solid var(--line)}.my-recent-tab{flex:1;padding:14px 16px;font-size:14px;color:var(--muted);text-align:center;cursor:pointer;background:none;border:none;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.my-recent-tab.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.my-recent-list{padding:0}.my-recent-empty{padding:36px 16px;text-align:center;font-size:14px;color:var(--muted)}.my-recent-item{display:flex;align-items:center;padding:14px 18px;border-bottom:1px solid rgba(0,0,0,.04);transition:background .15s}.my-recent-item:last-child{border-bottom:none}.my-recent-item:hover{background:var(--page-bg)}.my-recent-item-main{flex:1;min-width:0}.my-recent-word{font-size:14px;font-weight:600;color:var(--text);margin-right:8px}.my-recent-meaning{font-size:13px;color:var(--muted)}.my-recent-time{font-size:11px;color:var(--muted);opacity:.6;white-space:nowrap;margin-left:12px}.my-account{text-align:center;padding:20px 0}.my-logout-btn{font-size:13px;color:var(--muted);cursor:pointer;background:none;border:none;padding:8px 16px;border-radius:8px;transition:color .15s,background .15s}.my-logout-btn:hover{color:var(--red);background:#ef44440f}.review-view{min-height:100vh;background:var(--page-bg);color:var(--text)}.review-header-back{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--muted);background:none;border:1px solid var(--line);border-radius:8px;padding:6px 12px;cursor:pointer;transition:all .15s;font-family:var(--font-chinese)}.review-header-back:hover{background:var(--page-bg);color:var(--text);border-color:var(--blue)}.review-mode-bar{max-width:600px;margin:0 auto;padding:8px 24px;display:flex;gap:14px;background:var(--white);border-bottom:1px solid var(--line)}.review-mode-btn{flex:1;padding:3px 6px;border:none;border-radius:6px;background:none;color:var(--muted);font-size:14px;font-weight:600;font-family:var(--font-chinese);cursor:pointer;transition:all .15s ease;white-space:nowrap}.review-mode-btn:hover:not(.active){color:var(--text);background:#0000000a}.review-mode-btn.active{color:var(--blue-strong);background:rgba(var(--blue-rgb, 59, 130, 246),.08)}.flashcard-cloze{font-family:var(--font-subtitle)!important;line-height:1.8}.review-main{max-width:600px;margin:0 auto;padding:24px 16px}.review-progress{margin-bottom:24px}.review-progress-bar{height:4px;background:var(--line);border-radius:2px;overflow:hidden}.review-progress-fill{height:100%;background:var(--blue);border-radius:2px;transition:width .3s ease}.review-progress-text{text-align:center;font-size:13px;color:var(--muted);margin-top:8px}.flashcard-wrapper{perspective:1000px;margin-bottom:24px}.flashcard{position:relative;width:100%;min-height:280px;transition:transform .6s ease;transform-style:preserve-3d;cursor:pointer}.flashcard.flipped{transform:rotateY(180deg)}.flashcard-star{position:absolute;top:12px;right:12px;z-index:10;width:32px;height:32px;border-radius:999px;border:none;background:#ffffffd9;color:#d59a2f;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 1px 4px #0000001a}.flashcard-star svg{width:16px;height:16px;fill:currentColor}.flashcard-star:hover{background:#fff3c4;transform:scale(1.1)}.flashcard-star.active{color:#f7ba1e;background:#f7ba1e26}.flashcard.rate-animating.rate-forget .flashcard-front,.flashcard.rate-animating.rate-forget .flashcard-back{animation:flash-red .5s ease}@keyframes flash-red{0%{background:var(--white)}15%{background:#fee2e2}30%{background:#fff1f1}45%{background:#fee2e2}60%{background:#fff5f5}to{background:var(--white)}}.flashcard.rate-animating.rate-vague .flashcard-front,.flashcard.rate-animating.rate-vague .flashcard-back{animation:flash-amber .5s ease}@keyframes flash-amber{0%{background:var(--white)}20%{background:#fef3c7}40%{background:#fffbeb}60%{background:#fef3c7}to{background:var(--white)}}.flashcard.rate-animating.rate-know .flashcard-front,.flashcard.rate-animating.rate-know .flashcard-back{animation:flash-green .4s ease}@keyframes flash-green{0%{background:var(--white)}20%{background:#dcfce7}40%{background:#f0fdf4}60%{background:#dcfce7}to{background:var(--white)}}.flashcard-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border-radius:16px;padding:32px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 16px #00000014}.flashcard-front{background:var(--white);color:var(--text)}.flashcard-back{background:var(--white);color:var(--text);transform:rotateY(180deg)}.flashcard-label{font-size:12px;letter-spacing:.05em;opacity:.5;margin-bottom:16px;font-family:var(--font-chinese);color:var(--muted)}.flashcard-word{font-size:28px;font-weight:700;text-align:center;line-height:1.4;margin-bottom:16px;word-break:break-word;font-family:var(--font-subtitle);color:var(--text)}.flashcard-meaning{font-size:22px;font-weight:600;text-align:center;line-height:1.4;margin-bottom:16px;word-break:break-word}.flashcard-hint{font-size:12px;opacity:.4;margin-top:auto;font-family:var(--font-chinese);color:var(--muted)}.flashcard-divider{width:40px;height:1px;background:var(--line);margin:12px 0}.flashcard-example{width:100%;text-align:center}.flashcard-example-label{font-size:11px;color:var(--muted);margin-bottom:6px;display:block;font-family:var(--font-chinese)}.flashcard-example-text{font-size:14px;color:var(--muted);line-height:1.5;word-break:break-word}.flashcard-source{display:flex;align-items:center;justify-content:center;gap:4px;font-size:12px;color:var(--muted);margin-top:10px;font-family:var(--font-chinese);text-decoration:none;padding:4px 12px;border-radius:999px;background:#5b6cff0f;transition:all .15s}.flashcard-source:hover{background:#5b6cff1f;color:var(--blue)}.flashcard-source .el-icon{color:var(--blue)}.review-rating{display:flex;gap:10px;justify-content:center}.review-rate-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 20px 10px;border-radius:14px;border:2px solid transparent;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:var(--font-chinese);min-width:88px}.review-rate-btn:hover{transform:translateY(-2px)}.review-rate-icon{font-size:22px;line-height:1;margin-bottom:2px}.review-rate-text{font-size:14px;font-weight:600}.review-rate-sub{font-size:11px;opacity:.6;font-weight:400}.review-rate-btn--forget{background:#fef2f2;color:#dc2626;border-color:#fecaca}.review-rate-btn--forget:hover{background:#fee2e2;border-color:#f87171;box-shadow:0 4px 12px #dc262626}.review-rate-btn--forget:active{transform:scale(.95);background:#fecaca}.review-rate-btn--vague{background:#fffbeb;color:#d97706;border-color:#fde68a}.review-rate-btn--vague:hover{background:#fef3c7;border-color:#fbbf24;box-shadow:0 4px 12px #d9770626}.review-rate-btn--vague:active{transform:scale(.95);background:#fde68a}.review-rate-btn--know{background:#f0fdf4;color:#16a34a;border-color:#bbf7d0}.review-rate-btn--know:hover{background:#dcfce7;border-color:#4ade80;box-shadow:0 4px 12px #16a34a26}.review-rate-btn--know:active{transform:scale(.95);background:#bbf7d0}.review-complete{text-align:center;padding:48px 24px}.review-complete-icon{margin-bottom:16px}.review-complete-title{font-size:22px;font-weight:700;color:var(--text);margin-bottom:12px}.review-complete-stats{font-size:14px;color:var(--muted);margin-bottom:24px;line-height:1.8}.review-complete-divider{margin:0 6px;opacity:.4}.review-complete-btn{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--white);background:var(--blue);padding:10px 24px;border-radius:10px;text-decoration:none;transition:background .15s}.review-complete-btn:hover{background:var(--blue-strong)}.review-loading-spinner{width:40px;height:40px;border:3px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:review-spin .8s linear infinite;margin:0 auto 8px}@keyframes review-spin{to{transform:rotate(360deg)}}@media(max-width:760px){.my-content{padding:16px}.my-entry-row{grid-template-columns:1fr;gap:12px}.my-stats-row{gap:10px}.my-stat-value{font-size:20px}.flashcard-face{padding:24px 16px;min-height:240px}.flashcard-word{font-size:22px}.flashcard-meaning{font-size:18px}.review-rate-btn{padding:8px 14px;font-size:13px}.review-rating{gap:8px}.review-mode-bar{padding:6px 16px;gap:10px}.review-mode-btn{font-size:13px;padding:3px 6px}}.keyword-preview-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.keyword-preview-chip{display:inline-flex;align-items:center;gap:2px;font-size:11px;padding:1px 7px;border-radius:8px;cursor:pointer;transition:opacity .15s;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.keyword-preview-chip:hover{opacity:.8}.keyword-preview-chip .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.keyword-draft-row{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap}.keyword-draft-row .el-input,.keyword-draft-row .el-select{flex-shrink:0}.keyword-draft-headword-wrap{position:relative;flex:1;min-width:120px}.vocab-entry-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-left:auto}.glossary-editor-card{display:flex;flex-direction:column;gap:14px}.glossary-editor-field{display:flex;flex-direction:column;gap:6px}.glossary-editor-field label{font-size:12px;color:var(--muted);font-weight:500}.glossary-editor-hint{font-weight:400;color:var(--muted);font-size:11px}.glossary-editor-dialog .el-dialog__body{padding:16px 20px}.glossary-editor-field .el-input__inner,.glossary-editor-field .el-textarea__inner{font-family:var(--font-subtitle);font-size:13px}.glossary-editor-field .el-select .el-input__inner{font-family:var(--font-body);font-size:13px}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:16px}.page-loading-spinner{width:36px;height:36px;border:3px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:page-loading-spin .8s linear infinite}.page-loading-text{font-family:var(--font-chinese);font-size:14px;color:var(--muted);letter-spacing:.5px}@keyframes page-loading-spin{to{transform:rotate(360deg)}}.export-dialog-panel{padding:8px 0}.export-section{margin-bottom:24px}.export-section-label{display:block;font-family:var(--font-chinese);font-size:13px;font-weight:600;color:var(--text);margin-bottom:12px}.export-hint{font-weight:400;color:var(--muted);font-size:12px}.export-format-tabs{display:flex;gap:12px}.export-format-tabs button{flex:1;padding:10px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface-container);font-family:var(--font-chinese);font-size:14px;font-weight:500;color:var(--text);cursor:pointer;transition:all .2s ease}.export-format-tabs button:hover{border-color:var(--blue);color:var(--blue)}.export-format-tabs button.active{border-color:var(--blue);background:var(--blue);color:#fff;font-weight:600}.export-content-tabs{display:flex;gap:12px}.export-content-tabs button{flex:1;padding:10px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface-container);font-family:var(--font-chinese);font-size:14px;font-weight:500;color:var(--text);cursor:pointer;transition:all .2s ease}.export-content-tabs button:hover{border-color:var(--blue);color:var(--blue)}.export-content-tabs button.active{border-color:var(--blue);background:#5b6cff1a;color:var(--blue);font-weight:600}.export-content-tabs button:disabled{opacity:.4;cursor:not-allowed}
