:root{--color-paper: oklch(96% .018 55);--color-paper-2: oklch(92% .025 78);--color-paper-3: oklch(89% .032 70);--color-surface: oklch(98% .012 58);--color-ink: oklch(35% .04 42);--color-ink-2: oklch(47% .028 42);--color-muted: oklch(49% .024 42);--color-neutral: oklch(42% .025 42);--color-rule: oklch(84% .045 75);--color-rule-2: oklch(70% .045 66);--color-primary: oklch(53% .105 17);--color-primary-foreground: oklch(98% .012 58);--color-primary-soft: oklch(91% .035 18);--color-accent: var(--color-primary);--color-accent-ink: var(--color-primary-foreground);--color-accent-soft: var(--color-primary-soft);--color-focus: oklch(49% .105 320);--color-nav: oklch(32% .045 40);--color-nav-ink: oklch(92% .025 72);--color-nav-muted: oklch(73% .035 62);--color-sage: oklch(77% .045 120);--color-sage-soft: oklch(92% .025 120);--color-lilac: oklch(76% .045 310);--color-lilac-soft: oklch(92% .025 310);--color-sand: oklch(82% .05 72);--color-sand-soft: oklch(94% .025 72);--keyword-word-ink: #4e6b60;--keyword-word-surface: #e8eee9;--keyword-word-rule: #7e9a8d;--keyword-expression-ink: #855f35;--keyword-expression-surface: #f2e7d7;--keyword-expression-rule: #b28756;--keyword-grammar-ink: #755e6c;--keyword-grammar-surface: #eee7ea;--keyword-grammar-rule: #9b7e8f;--color-keyword-word: var(--keyword-word-ink);--color-keyword-word-background: var(--keyword-word-surface);--color-keyword-word-border: var(--keyword-word-rule);--color-keyword-expression: var(--keyword-expression-ink);--color-keyword-expression-background: var(--keyword-expression-surface);--color-keyword-expression-border: var(--keyword-expression-rule);--color-keyword-grammar: var(--keyword-grammar-ink);--color-keyword-grammar-background: var(--keyword-grammar-surface);--color-keyword-grammar-border: var(--keyword-grammar-rule);--color-danger: oklch(51% .16 25);--color-backdrop: oklch(25% .04 40 / .42);--color-nav-hover: oklch(100% .005 58 / .08);--color-focus-soft: oklch(49% .105 320 / .18);--color-course-overlay: oklch(28% .04 40 / .78);--font-chinese-fallback: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Noto Sans SC", system-ui, sans-serif;--font-display: "Noto Serif SC", "Songti SC", STSong, var(--font-chinese-fallback);--font-body: Inter, var(--font-chinese-fallback);--font-japanese-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--font-japanese-display: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-outlier: "IBM Plex Mono", Consolas, ui-monospace, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-display: 2.25rem;--space-3xs: .25rem;--space-2xs: .5rem;--space-xs: .75rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 8rem;--space-5xl: 10rem;--rule-hair: 1px;--rule-fine: 2px;--radius-card: 8px;--radius-input: 8px;--radius-control: 8px;--radius-compact: 6px;--radius-pill: 999px;--shadow-card: 0 10px 28px oklch(35% .04 42 / .08);--shadow-float: 0 18px 48px oklch(30% .045 40 / .16);--shadow-control: 0 8px 18px oklch(53% .105 17 / .24);--shadow-deck: 0 -10px 28px oklch(35% .04 42 / .08);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .18s;--dur-long: .42s}:root{--page-bg: #f4f8fd;--page-bg-strong: #eaf2fb;--card: #ffffff;--card-soft: #f8fbff;--bg: var(--page-bg);--surface: var(--card);--surface-container: var(--card-soft);--white: #ffffff;--green: #55a982;--red: #c95763;--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:color .2s,background-color .2s,border-color .2s,box-shadow .2s,transform .2s,opacity .2s}.video-card:hover{border-color:var(--blue);background:#fff;box-shadow:0 4px 12px #4d76a41a}.video-card-open{min-width:0;flex:1 1 auto;display:flex;align-items:center;gap:var(--space-xs);border-radius:var(--radius-compact);color:inherit;text-decoration:none}.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:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .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:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .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-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}.subtitle-list{padding:0;gap:0}.subtitle-list--virtual .subtitle-card{margin-block-end:0}.subtitle-list .subtitle-card{padding:var(--space-sm) var(--space-md);border-radius:0}.favorite-toggle,.favorite-inline{color:var(--color-muted);background:transparent}.favorite-toggle.active,.favorite-inline.active{color:var(--color-primary);background:var(--color-primary-soft)}.keyword-type-tag{border-radius:2px}.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--word,.keyword-chip--teal{color:var(--kw-teal);background:var(--kw-teal-bg)}.keyword-chip--expression,.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--grammar,.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}.keyword-tooltip--word{--tooltip-accent: var(--keyword-word-ink)}.keyword-tooltip--expression{--tooltip-accent: var(--keyword-expression-ink)}.keyword-tooltip--grammar{--tooltip-accent: var(--keyword-grammar-ink)}.keyword-detail-card--word{--detail-accent: var(--keyword-word-ink)}.keyword-detail-card--expression{--detail-accent: var(--keyword-expression-ink)}.keyword-detail-card--grammar{--detail-accent: var(--keyword-grammar-ink)}.keyword-card.active.keyword-card--word{border-inline-start-color:var(--keyword-word-rule)}.keyword-card.active.keyword-card--expression{border-inline-start-color:var(--keyword-expression-rule)}.keyword-card.active.keyword-card--grammar{border-inline-start-color:var(--keyword-grammar-rule)}.keyword-card-header--word{background:var(--keyword-word-surface)}.keyword-card-header--expression{background:var(--keyword-expression-surface)}.keyword-card-header--grammar{background:var(--keyword-grammar-surface)}.keyword-card--word .keyword-sentences-section,.keyword-card--word .keyword-sentence-item:hover{background:var(--keyword-word-surface)}.keyword-card--expression .keyword-sentences-section,.keyword-card--expression .keyword-sentence-item:hover{background:var(--keyword-expression-surface)}.keyword-card--grammar .keyword-sentences-section,.keyword-card--grammar .keyword-sentence-item:hover{background:var(--keyword-grammar-surface)}.keyword-draft--word .keyword-draft-bar{background:var(--keyword-word-rule)}.keyword-draft--expression .keyword-draft-bar{background:var(--keyword-expression-rule)}.keyword-draft--grammar .keyword-draft-bar{background:var(--keyword-grammar-rule)}.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}.keyword-detail-example{margin-block-start:var(--space-sm);padding-block-start:var(--space-sm);border-block-start:var(--rule-hair) solid var(--color-rule)}.keyword-detail-example p{margin-block-start:var(--space-2xs);color:var(--color-ink);font-family:var(--font-subtitle);font-size:var(--text-base);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;position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;justify-content:stretch;gap:10px;overflow:visible;padding-bottom:0;contain:layout style}.control-group{min-width:0;display:flex;align-items:center;gap:10px}.control-group--leading{justify-content:flex-end}.control-group--transport{justify-content:center}.control-group--trailing{justify-content:flex-start}.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:not(.selected):not(.boundary-start):not(.boundary-end):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(2,minmax(0,1fr));gap:8px}.mobile-more-grid .tool-button{min-width:0;min-height:58px;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 .el-input{width:150px}.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}.cue-editor-field--source .el-textarea__inner,.cue-editor-field--target .el-textarea__inner{font-size:var(--text-md);line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap;resize:none}.cue-editor-field--source .el-textarea__inner{font-family:var(--font-display);font-weight:500;overflow-y:hidden}.cue-editor-field--target .el-textarea__inner{font-family:var(--font-display);font-weight:400;line-height:1.65;overflow-y:hidden}.cue-editor-field--source:lang(ja) .el-textarea__inner{font-family:var(--font-japanese-display)}.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-label{font-family:var(--font-display)}.keyword-draft-content[lang=ja] .keyword-draft-field .el-input__inner,.keyword-draft-content[lang=ja] .keyword-draft-field .el-textarea__inner,.keyword-draft-content[lang=ja] .keyword-draft-field .el-select .el-input__inner{font-family:var(--font-japanese-sans)}.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:4px;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:auto;overflow-y:hidden;white-space:pre-wrap;overflow-wrap:anywhere}.keyword-draft-example .el-textarea__inner{height:auto;min-height:56px;overflow-y:hidden;white-space:pre-wrap;overflow-wrap:anywhere;resize:none}.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:color .2s,background-color .2s,border-color .2s,box-shadow .2s,transform .2s,opacity .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}.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:color .2s,background-color .2s,border-color .2s,box-shadow .2s,transform .2s,opacity .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:color .2s,background-color .2s,border-color .2s,box-shadow .2s,transform .2s,opacity .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;scrollbar-color:var(--color-rule-2) var(--color-surface);scrollbar-width:thin}.segment-cue-list::-webkit-scrollbar{width:10px}.segment-cue-list::-webkit-scrollbar-track{background:var(--color-surface)}.segment-cue-list::-webkit-scrollbar-thumb{border:2px solid var(--color-surface);border-radius:0;background:var(--color-rule-2)}.segment-cue-list::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.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(min-width:761px)and (max-width:1180px){.control-bar{padding-inline:10px}.control-actions{gap:18px;overflow:visible}.control-group{gap:4px}.control-group--transport{transform:translate(12px)}.responsive-overflow,.mobile-segment{display:none!important}.mobile-more-button{display:inline-flex}.tool-button{min-width:44px;min-height:44px}}@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) calc(138px + env(safe-area-inset-bottom,0px))}.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:3px 8px calc(6px + env(safe-area-inset-bottom,0px));grid-template-rows:12px 18px 96px;gap:1px}.control-topline{font-size:11px}.time-readout strong{font-size:15px}.control-actions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:44px 48px;justify-content:normal;align-items:center;gap: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 / span 2;grid-row:2}.mobile-next{grid-column:5;grid-row:2}.mobile-auto{grid-column:4;grid-row:1}.mobile-catalog{grid-column:5;grid-row:1}.mobile-more-button{grid-column:6;grid-row:1}.tool-button{min-width:0;width:100%;min-height:44px;gap:2px;padding:0;border-radius:8px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.tool-button:hover:not(.active){color:var(--muted);background:transparent}.tool-button svg{width:18px;height:18px}.tool-button span{max-width:100%;font-size:10px;line-height:1.15;white-space:nowrap}.primary-control{width:48px;height:48px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.transport-control.tool-button{width:48px;min-height:48px}.transport-control.tool-button span{display:none}.transport-control.tool-button svg{width:22px;height:22px}.tool-button:focus-visible,.primary-control:focus-visible{outline:3px solid rgba(79,132,189,.28);outline-offset:1px}.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:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .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:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .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:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .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:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .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:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .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:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .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:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .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:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .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:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .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-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}.my-entry-card{width:100%;color:inherit;font:inherit;text-align:start;white-space:normal;background:var(--white);border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000f;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-bottom:0;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-desc{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.5}.my-entry-count,.my-entry-due{color:var(--text);font-weight:700}.my-entry-due{color:var(--blue-strong)}.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-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}.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-num{margin-bottom:6px;color:var(--text);font-size:28px;font-weight:700;line-height:1.2}.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-section{margin-bottom:24px}.my-section-title{margin:0 0 12px;color:var(--text);font-size:16px;font-weight:700}.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-rate-btn:disabled{cursor:default;opacity:.55}.auth-config-error{margin:0 0 14px;padding:10px 12px;border:1px solid rgba(220,70,70,.28);border-radius:6px;background:#dc464614;color:#a93434;font-size:13px;line-height:1.45}.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:color .15s,background-color .15s,border-color .15s,box-shadow .15s,transform .15s,opacity .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:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .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 .18s ease-out;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:color .2s,background-color .2s,border-color .2s,box-shadow .2s,transform .2s,opacity .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-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-wrapper{position:relative}.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:color .15s,background-color .15s,border-color .15s,box-shadow .15s,transform .15s,opacity .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:color .2s,background-color .2s,border-color .2s,box-shadow .2s,transform .2s,opacity .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-main{padding:18px 14px}.my-entry-cards{grid-template-columns:1fr;gap:12px}.my-entry-card{padding:18px}.my-content{padding:16px}.my-entry-row{grid-template-columns:1fr;gap:12px}.my-stats-row{gap:10px}.my-stat-card{padding:14px 8px}.my-stat-num{font-size:22px}.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:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease,opacity .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:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease,opacity .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}.batch-import-results{display:grid;gap:8px;margin-top:14px}.batch-import-result{min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card-soft);display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,auto) auto;align-items:center;gap:10px;color:var(--muted);font-size:13px}.batch-import-result>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:700}.batch-import-result.success{border-color:#b9d9bd;background:#f3faf5}.batch-import-result.error{border-color:#efbfcb;background:#fff7f8}.flashcard-pronunciation,.flashcard-example-translation,.flashcard-example-source{color:var(--muted)}.flashcard-pronunciation{font-size:15px}.flashcard-example-item+.flashcard-example-item{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.flashcard-example-translation{margin-top:4px;font-size:13px}.flashcard-example-source{display:block;margin-top:4px;font-size:11px}@media(max-width:760px){.batch-import-result{grid-template-columns:minmax(0,1fr) auto}.batch-import-result>span:nth-child(2){grid-column:1 / -1}}:root{--page-bg: var(--color-paper);--page-bg-strong: var(--color-paper-2);--card: var(--color-surface);--card-soft: var(--color-paper-2);--bg: var(--color-paper);--surface: var(--color-surface);--surface-container: var(--color-paper-2);--white: var(--color-surface);--green: var(--color-accent);--red: var(--color-danger);--line: var(--color-rule);--line-strong: var(--color-rule-2);--blue: var(--color-accent);--blue-strong: var(--color-accent);--text: var(--color-ink);--muted: var(--color-muted);--faint: var(--color-rule-2);--shadow: var(--shadow-card);--dialog-radius: var(--radius-card);--dialog-bg: var(--color-surface);--dialog-shadow: var(--shadow-float);--dialog-backdrop: var(--color-backdrop);--dialog-blur: none;--kw-teal: var(--color-keyword-word);--kw-teal-bg: var(--color-keyword-word-background);--kw-teal-border: var(--color-keyword-word-border);--kw-emerald: var(--color-keyword-word);--kw-emerald-bg: var(--color-keyword-word-background);--kw-emerald-border: var(--color-keyword-word-border);--kw-rose: var(--color-keyword-word);--kw-rose-bg: var(--color-keyword-word-background);--kw-rose-border: var(--color-keyword-word-border);--kw-amber: var(--color-keyword-expression);--kw-amber-bg: var(--color-keyword-expression-background);--kw-amber-border: var(--color-keyword-expression-border);--kw-green: var(--color-keyword-expression);--kw-green-bg: var(--color-keyword-expression-background);--kw-green-border: var(--color-keyword-expression-border);--kw-blue: var(--color-keyword-grammar);--kw-blue-bg: var(--color-keyword-grammar-background);--kw-blue-border: var(--color-keyword-grammar-border);--kw-violet: var(--color-keyword-grammar);--kw-violet-bg: var(--color-keyword-grammar-background);--kw-violet-border: var(--color-keyword-grammar-border);--kw-purple: var(--color-keyword-grammar);--kw-purple-bg: var(--color-keyword-grammar-background);--kw-purple-border: var(--color-keyword-grammar-border);--kw-sky: var(--color-keyword-grammar);--kw-sky-bg: var(--color-keyword-grammar-background);--kw-sky-border: var(--color-keyword-grammar-border);--font-foreign: var(--font-body);--font-chinese: var(--font-chinese-fallback);--font-subtitle: var(--font-body);--el-font-family: var(--font-body);--el-color-primary: var(--color-accent);--el-color-primary-light-3: var(--color-accent);--el-color-primary-light-5: var(--color-accent-soft);--el-color-primary-light-7: var(--color-accent-soft);--el-color-primary-light-8: var(--color-accent-soft);--el-color-primary-light-9: var(--color-paper-2);--el-color-primary-dark-2: var(--color-accent);--el-text-color-primary: var(--color-ink);--el-text-color-regular: var(--color-ink-2);--el-text-color-secondary: var(--color-muted);--el-border-color: var(--color-rule);--el-border-color-light: var(--color-rule);--el-fill-color-blank: var(--color-surface);--el-fill-color-light: var(--color-paper-2);--el-bg-color: var(--color-surface);--el-border-radius-base: var(--radius-input);--el-border-radius-small: 6px}:lang(ja){--font-foreign: var(--font-japanese-sans);--font-subtitle: var(--font-japanese-sans);--el-font-family: var(--font-japanese-sans);font-family:var(--font-japanese-sans)}:lang(zh-CN){--font-foreign: var(--font-chinese-fallback);--font-subtitle: var(--font-chinese-fallback);--el-font-family: var(--font-chinese-fallback);font-family:var(--font-chinese-fallback)}:lang(ja) :is(h1,h2,.course-banner-info h2,.review-page-title){font-family:var(--font-japanese-display)}html,body{overflow-x:clip;overflow-y:hidden}body{background:var(--color-paper);color:var(--color-ink)}button,input,select,textarea,.el-button{white-space:nowrap}:where(button,input,select,textarea,a,[tabindex]):focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}h1,h2,.course-banner-info h2,.my-entry-title,.review-page-title{min-width:0;overflow-wrap:anywhere;font-family:var(--font-display);letter-spacing:0}.auth-page,.catalog-page,.my-view,.app-shell{background:var(--color-paper)}.learning-top-nav{border-color:var(--color-nav);background:var(--color-nav);box-shadow:none}.learning-top-nav button{min-width:68px;min-height:36px;padding:var(--space-2xs) var(--space-xs);border:var(--rule-hair) solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--color-nav-muted);font-weight:700;transition:color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out)}.learning-top-nav button:hover,.learning-top-nav button:focus-visible{border-color:transparent;background:var(--color-nav-hover);color:var(--color-nav-ink)}.catalog-page .learning-top-nav-left button:nth-child(2),.my-view>.learning-top-nav button:nth-child(3),.app-shell>.learning-top-nav button:nth-child(2){background:var(--color-accent);color:var(--color-accent-ink)}.workspace{gap:var(--space-xs);padding:var(--space-xs);background:var(--color-paper)}.player-card,.study-panel,.auth-panel{border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card)}.player-card{padding:0;border:0;background:transparent;box-shadow:none;gap:var(--space-2xs)}.media-frame{border-radius:var(--radius-compact);background:var(--color-nav)}.current-card{padding:var(--space-xs) var(--space-sm);border-color:var(--color-rule);border-radius:var(--radius-compact);background:var(--color-paper-2)}.source-line{color:var(--color-ink);font-weight:700;letter-spacing:0}.target-line{color:var(--color-ink-2);font-weight:500}.current-meta span:first-child,.episode-pill{background:var(--color-accent-soft);color:var(--color-accent)}.panel-header{padding:var(--space-xs) var(--space-sm);border-color:var(--color-rule);background:var(--color-surface)}.panel-tab,.mode-button,.pill-button{border-radius:var(--radius-control);transition:color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out)}.panel-tab.active,.panel-tabs button.active,.mode-button:hover,.pill-button:hover,.pill-button.active{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent);box-shadow:none}.subtitle-list,.keyword-list{gap:var(--space-2xs);padding:var(--space-xs) var(--space-sm) var(--space-md)}.subtitle-list--virtual .subtitle-card{margin-bottom:var(--space-2xs)}.subtitle-card,.keyword-card{padding:var(--space-xs) var(--space-sm);border-color:var(--color-rule);border-inline-start-width:var(--rule-fine);border-radius:var(--radius-compact);background:var(--color-surface);box-shadow:none}.subtitle-card.active{border-color:var(--color-accent);border-inline-start-color:var(--color-accent);background:var(--color-accent-soft);box-shadow:none}.subtitle-card,.keyword-card{cursor:default}.subtitle-content{width:100%;padding:0;display:block;border:0;background:transparent;color:inherit;text-align:start;cursor:pointer}.subtitle-content .source-line,.subtitle-content .target-line{display:block}.current-text .source-line,.subtitle-content .source-line{user-select:text;-webkit-user-select:text}.subtitle-content:focus-visible,.keyword-sentence-play:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.keyword-play-btn,.keyword-card-edit-btn,.vocab-add-btn,.sentence-edit-btn{width:36px;min-width:36px;height:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-control);background:transparent;color:var(--color-muted);cursor:pointer}.keyword-play-btn svg,.keyword-card-edit-btn svg,.vocab-add-btn svg,.sentence-edit-btn svg{width:16px;height:16px}.keyword-play-btn:hover,.keyword-play-btn:focus-visible,.keyword-card-edit-btn:focus-visible,.vocab-add-btn:focus-visible,.sentence-edit-btn:focus-visible{background:var(--color-paper-2);color:var(--color-accent)}.keyword-card-edit-btn,.sentence-edit-btn{opacity:1}.keyword-sentence-play{min-width:0;flex:1 1 auto;display:flex;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs);border:0;border-radius:var(--radius-compact);background:transparent;color:inherit;text-align:start;cursor:pointer}.keyword-sentence-play>svg{width:16px;height:16px;flex:0 0 auto;color:var(--color-muted)}.favorite-inline.active,.vocab-add-btn.active{color:var(--color-accent)}.control-bar{border-color:var(--color-rule);background:var(--color-surface);box-shadow:var(--shadow-deck)}.timeline{accent-color:var(--color-accent)}.timeline::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--color-accent) 0%,var(--color-accent) var(--progress, 0%),var(--color-paper-2) var(--progress, 0%),var(--color-paper-2) 100%);border-color:var(--color-rule)}.timeline::-webkit-slider-thumb{border-color:var(--color-surface);background:var(--color-accent);box-shadow:none}.timeline::-moz-range-track{border-color:var(--color-rule);background:var(--color-paper-2)}.timeline::-moz-range-progress{background:var(--color-accent)}.tool-button,.primary-control{transition:color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.tool-button{border-radius:var(--radius-control);color:var(--color-muted)}.tool-button:hover,.tool-button.active{background:var(--color-accent-soft);color:var(--color-accent)}.primary-control{background:var(--color-accent);color:var(--color-accent-ink);box-shadow:var(--shadow-control)}.primary-control:active{transform:scale(.96)}.control-divider{background:var(--color-rule)}.mobile-catalog-sheet,.mobile-catalog-list button,.el-dialog{border-radius:var(--radius-card);border-color:var(--color-rule);background:var(--color-surface);box-shadow:var(--shadow-float)}.mobile-catalog-list button.active{border-color:var(--color-accent);background:var(--color-accent-soft)}.catalog-content{gap:var(--space-md);padding:var(--space-md)}.course-section{border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;transition:box-shadow var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.course-section:hover{box-shadow:var(--shadow-card)}.course-banner{min-height:124px;overflow:hidden;border-radius:var(--radius-card) var(--radius-card) 0 0;background-color:var(--color-nav);background-image:none}.course-banner-overlay{padding:var(--space-sm) var(--space-md);background:var(--color-course-overlay);color:var(--color-nav-ink)}.course-banner-info h2{font-size:var(--text-xl);font-weight:600;text-shadow:none}.course-banner-info p,.course-video-count{color:var(--color-nav-ink)}.course-banner-letter{color:var(--color-nav-ink);opacity:.16}.course-banner-actions .el-button{border-radius:var(--radius-control);background:var(--color-nav-hover);color:var(--color-nav-ink)}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xs);padding:var(--space-sm);border-inline:var(--rule-hair) solid var(--color-rule);background:var(--color-surface)}.video-card{border-color:var(--color-rule);border-radius:var(--radius-compact);background:var(--color-paper);transition:border-color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.video-card:hover{border-color:var(--color-accent);background:var(--color-surface);box-shadow:none}.video-card-index{background:var(--color-paper-3);color:var(--color-ink-2)}.video-card.completed,.video-card.completed .video-card-index{border-color:var(--color-sage);background:var(--color-sage-soft);color:var(--color-ink)}.course-admin-actions{border:var(--rule-hair) solid var(--color-rule);border-block-start-width:var(--rule-hair);border-radius:0 0 var(--radius-card) var(--radius-card);background:var(--color-paper-2)}.catalog-search-input{border-color:var(--color-rule);background:var(--color-surface)}.catalog-search-input:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus-soft)}.catalog-page .learning-top-nav-right .el-button--primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.my-view{height:100dvh;overflow-y:auto}.my-main{max-width:900px;padding:var(--space-lg) var(--space-md)}.my-entry-cards{gap:var(--space-xs)}.my-entry-card{padding:var(--space-md);border-color:var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);transition:border-color var(--dur-micro) var(--ease-out),transform var(--dur-short) var(--ease-out)}.my-entry-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-card)}.my-entry-icon{width:48px;height:48px;border-radius:var(--radius-control);background:var(--color-accent-soft);color:var(--color-accent)}.my-entry-title{font-weight:600}.my-entry-due{color:var(--color-accent)}.my-entry-btn,.review-complete-btn{min-height:42px;border-radius:var(--radius-control);background:var(--color-accent);color:var(--color-accent-ink);transition:background-color var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.my-entry-btn:hover,.review-complete-btn:hover{background:var(--color-accent)}.my-stats-row{gap:0;border-block:var(--rule-hair) solid var(--color-rule)}.my-stat-card{border:0;border-inline-end:var(--rule-hair) solid var(--color-rule);border-radius:0;background:transparent;box-shadow:none}.my-stat-card:last-child{border-inline-end:0}.my-stat-num{font-family:var(--font-display);font-weight:600}.my-recent-section{padding-block-start:var(--space-xs)}.my-section-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}.my-recent-item{border-color:var(--color-rule)}.my-recent-item:hover{background:var(--color-paper-2)}.page-loading-spinner,.review-loading-spinner{border-color:var(--color-rule);border-top-color:var(--color-accent)}@media(hover:hover)and (pointer:fine){.course-section:hover,.my-entry-card:hover,.video-card:hover{transform:translateY(-2px)}}@media(min-width:60rem){.app-shell{grid-template-columns:84px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 100px}.app-shell>.learning-top-nav,.catalog-page>.learning-top-nav,.my-view>.learning-top-nav{position:fixed;inset-block:0;inset-inline-start:0;width:84px;height:100dvh;padding:var(--space-sm) var(--space-2xs);border:0;border-inline-end:var(--rule-hair) solid oklch(100% 0 0 / .1);display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:var(--space-2xs);z-index:30}.app-shell>.learning-top-nav{grid-column:1;grid-row:1 / -1}.learning-top-nav-left{width:100%;flex-direction:column;gap:var(--space-2xs)}.learning-top-nav button{width:100%;min-width:0;padding-inline:var(--space-3xs)}.workspace{grid-column:2;grid-row:1}.control-bar{grid-column:2;grid-row:2}.catalog-page,.my-view{padding-inline-start:84px}.catalog-page .learning-top-nav-right{position:fixed;inset-block-start:var(--space-sm);inset-inline-end:var(--space-md);transform:none;padding:var(--space-2xs);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);z-index:31}.catalog-page .learning-top-nav-right .catalog-search{flex:0 0 220px;width:220px}.catalog-content{padding-block-start:76px}}@media(min-width:75rem){.workspace{grid-template-columns:minmax(440px,.96fr) minmax(420px,1.04fr);overflow:hidden}.study-panel{min-height:0}}@media(min-width:60rem)and (max-width:74.99rem){.workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:620px 430px;align-items:start;overflow-y:auto}.hero-area{height:620px;min-height:0}.player-card{height:100%;min-height:0}.study-panel{min-height:430px}}@media(min-width:47.51rem)and (max-width:59.99rem){.workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:620px 430px;align-items:start;overflow-y:auto}.hero-area{height:620px;min-height:0}.player-card{height:100%;min-height:0}.study-panel{min-height:430px}}@media(max-width:59.99rem){.learning-top-nav{background:var(--color-nav)}.catalog-page .learning-top-nav-right .catalog-search-input{background:var(--color-surface)}}@media(max-width:47.5rem){.catalog-page{padding:0}.catalog-page>.learning-top-nav.with-tools{position:sticky;inset-block-start:0;display:flex;min-height:58px;padding:var(--space-2xs) var(--space-xs);border-bottom:var(--rule-hair) solid var(--color-rule);background:var(--color-surface)}.catalog-page .learning-top-nav-left{display:none}.catalog-page .learning-top-nav-right{position:static;width:100%;transform:none;gap:var(--space-2xs)}.catalog-page .learning-top-nav-right .catalog-search{width:auto;flex:1 1 auto}.catalog-page .catalog-search-input{width:100%}.catalog-content{gap:var(--space-xs);padding:var(--space-xs)}.course-banner{min-height:140px}.course-banner-overlay{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-2xs);padding:var(--space-sm)}.course-banner-actions{position:static;align-self:start}.course-banner-info h2{font-size:var(--text-lg)}.video-grid{grid-template-columns:minmax(0,1fr);padding:var(--space-xs)}.course-admin-actions{padding:var(--space-xs)}.app-shell{grid-template-rows:minmax(0,1fr) calc(138px + env(safe-area-inset-bottom,0px))}.workspace{padding:0;background:var(--color-paper)}.player-card{grid-template-rows:auto minmax(92px,auto);background:var(--color-surface)}.current-card{display:grid;min-height:92px;padding:var(--space-2xs) var(--space-xs);border-inline:0;border-radius:0}.current-meta{min-height:20px}.study-panel{border-radius:0;border-block-color:var(--color-rule);background:var(--color-surface)}.panel-header{padding:var(--space-2xs) var(--space-xs)}.panel-actions{gap:var(--space-3xs)}.mode-button,.pill-button{min-height:36px;padding:var(--space-3xs) var(--space-2xs)}.subtitle-list,.keyword-list{padding:var(--space-2xs) var(--space-2xs) var(--space-sm)}.subtitle-card,.keyword-card{padding:var(--space-xs)}.control-bar{background:var(--color-surface)}.control-actions{gap:var(--space-3xs)}.tool-button span,.tool-value{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-main{padding:var(--space-sm) var(--space-xs) var(--space-lg)}.my-entry-card{padding:var(--space-sm)}.my-entry-card-inner{display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--space-xs)}.my-entry-btn{grid-column:1 / -1;justify-content:center;width:100%}.my-stat-card{padding:var(--space-xs) var(--space-3xs)}.my-stat-num{font-size:var(--text-xl)}:where(.flashcard-source,.review-back,.keyword-sentences-toggle){min-height:44px}}@media(max-width:59.99rem)and (max-height:31rem)and (orientation:landscape){:where(.favorite-toggle,.favorite-inline,.flashcard-star,.keyword-play-btn,.keyword-card-edit-btn,.vocab-add-btn,.sentence-edit-btn){width:44px;min-width:44px;height:44px;min-height:44px}:where(.flashcard-source,.review-back,.keyword-sentences-toggle){min-height:44px}}.keyword-detail-dialog.el-overlay{background:var(--color-backdrop);-webkit-backdrop-filter:none;backdrop-filter:none}.keyword-detail-dialog .el-dialog{border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--shadow-float)}.keyword-detail-card{background:var(--color-surface)}@media(pointer:coarse){:where(button,.el-button,input,select){min-height:44px}:where(.favorite-toggle,.favorite-inline,.flashcard-star,.keyword-play-btn,.keyword-card-edit-btn,.vocab-add-btn,.sentence-edit-btn){min-width:44px;min-height:44px}:where(.flashcard-source,.review-back,.keyword-sentences-toggle){min-height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:50ms!important;animation-duration:50ms!important;animation-iteration-count:1!important}}.resource-error-stack{flex:0 0 auto;padding:0 var(--space-sm) var(--space-xs);display:grid;gap:var(--space-2xs)}.resource-error{min-width:0;padding:var(--space-sm);border:0;border-inline-start:3px solid var(--color-primary);border-radius:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-display)}.resource-error p{margin:0;color:var(--color-ink-2);line-height:1.7}.resource-error.resource-error button{min-height:44px;margin-block-start:var(--space-xs);padding:var(--space-2xs) var(--space-sm);border:0;border-radius:0;background:var(--color-primary-soft);color:var(--color-primary);font-family:var(--font-display);cursor:pointer}.resource-error.resource-error button:not(:disabled):hover,.resource-error.resource-error button:not(:disabled):active{border:0;background:var(--color-primary-soft);color:var(--color-primary)}.resource-error.resource-error button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.resource-error--inline{padding-block:var(--space-xs)}.resource-error--video{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:grid;place-content:center;justify-items:center;text-align:center}.media-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;background:var(--color-paper)}.media-skeleton>span{width:min(42%,190px);border-block-start:1px solid var(--color-primary)}.subtitle-skeleton,.keyword-skeleton,.catalog-skeleton{min-width:0;padding:var(--space-sm);display:grid;align-content:start;gap:var(--space-xs);background:var(--color-paper)}.subtitle-skeleton{min-height:11rem}.keyword-skeleton{min-height:14rem}.catalog-skeleton{min-height:10rem}.subtitle-skeleton>span,.keyword-skeleton>span,.catalog-skeleton>span{height:1px;display:block;background:var(--color-rule)}.subtitle-skeleton>span:nth-child(1),.keyword-skeleton>span:nth-child(1),.catalog-skeleton>span:nth-child(1){width:82%}.subtitle-skeleton>span:nth-child(2),.keyword-skeleton>span:nth-child(2),.catalog-skeleton>span:nth-child(2){width:64%}.subtitle-skeleton>span:nth-child(3),.keyword-skeleton>span:nth-child(3),.catalog-skeleton>span:nth-child(3){width:74%}.subtitle-list.subtitle-list--virtual{min-width:0;overflow-x:hidden;overflow-y:auto;scrollbar-color:var(--color-rule-2) var(--color-surface);scrollbar-width:thin}.subtitle-card{min-width:0;width:100%;max-width:100%;box-sizing:border-box;grid-template-columns:minmax(44px,52px) minmax(0,1fr) auto;overflow-x:hidden;gap:var(--space-sm)}.subtitle-index-rail{min-width:44px;display:flex;flex-direction:column;align-items:center;gap:var(--space-2xs)}.subtitle-index-rail .favorite-inline,.subtitle-meta .subtitle-edit{width:40px;min-width:40px;height:40px;min-height:40px;padding:10px}.subtitle-content{min-width:0;width:100%;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.subtitle-content .source-line,.subtitle-content .target-line{min-width:0;width:100%;display:block;overflow-wrap:anywhere;word-break:break-word}.subtitle-meta{min-width:94px;display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2xs);color:var(--color-muted);font:500 var(--text-xs)/1.4 var(--font-display);font-variant-numeric:tabular-nums}.subtitle-meta time{padding-block-start:.25rem;white-space:nowrap}.playing-waveform{width:18px;height:14px;display:inline-flex;align-items:center;justify-content:center;gap:2px;color:var(--color-primary)}.playing-waveform i{width:2px;height:10px;display:block;background:currentColor;transform-origin:center;animation:subtitle-wave .6s ease-in-out infinite alternate}.playing-waveform i:nth-child(2){animation-delay:-.18s}.playing-waveform i:nth-child(3){animation-delay:-.36s}@keyframes subtitle-wave{0%{transform:scaleY(.35)}to{transform:scaleY(1)}}.keyword-area .keyword-list{min-height:0;height:100%;padding:var(--space-xs);display:flex;flex-direction:column;align-content:flex-start;gap:var(--space-xs);overflow-x:hidden;overflow-y:auto;scrollbar-color:var(--color-rule-2) var(--color-surface);scrollbar-width:thin}.keyword-area .keyword-card{width:100%;min-width:0;flex:0 0 auto}.keyword-detail-title-row{padding-inline-end:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-sm)}.keyword-detail-actions{display:flex;align-items:flex-start;gap:var(--space-3xs)}.keyword-detail-actions>button{position:static;inset:auto;width:40px;min-width:40px;height:40px;min-height:40px;padding:10px;display:grid;place-items:center;border:var(--rule-hair) solid var(--color-rule);border-radius:2px;background:transparent;color:var(--color-muted);font-size:inherit}.keyword-detail-actions>button svg{width:18px;height:18px}.keyword-detail-card,.keyword-detail-dialog .el-dialog__body{overflow-x:hidden;scrollbar-width:none}.keyword-detail-card::-webkit-scrollbar,.keyword-detail-dialog .el-dialog__body::-webkit-scrollbar{display:none}.favorite-toggle,.favorite-inline,.flashcard-star,.vocab-add-btn,.keyword-detail-favorite{border:var(--rule-hair) solid transparent;border-radius:2px;background:transparent;color:var(--color-muted)}.favorite-toggle.active,.favorite-inline.active,.flashcard-star.active,.vocab-add-btn.active,.keyword-detail-favorite.active{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-rule) 65%);background:transparent;color:var(--color-primary)}.favorite-toggle svg,.favorite-inline svg,.flashcard-star svg,.vocab-add-btn svg,.keyword-detail-favorite svg{width:18px;height:18px}.editorial-step:before{display:none}input[type=range]{height:20px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;accent-color:var(--color-primary)}input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:0;background:linear-gradient(to right,var(--color-primary) var(--progress, 0%),var(--color-rule-2) var(--progress, 0%))}input[type=range]::-webkit-slider-thumb{width:14px;height:14px;margin-block-start:-5.5px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid var(--color-surface);border-radius:0;background:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}input[type=range]::-moz-range-track{height:3px;border-radius:0;background:var(--color-rule-2)}input[type=range]::-moz-range-thumb{width:12px;height:12px;border:2px solid var(--color-surface);border-radius:0;background:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.el-dialog.el-dialog{width:fit-content!important;min-width:min(360px,calc(100vw - 32px));overflow:hidden}.el-dialog__body,.el-message-box__content,.mobile-catalog-list{overflow-x:hidden;scrollbar-width:none}.el-dialog__body::-webkit-scrollbar,.el-message-box__content::-webkit-scrollbar,.mobile-catalog-list::-webkit-scrollbar{display:none}@media(hover:hover)and (pointer:fine){.control-bar .tool-button:not(.active):hover{background:transparent}.control-bar .tool-button.active:hover{background:var(--color-primary-soft)}}@media(max-width:47.5rem),(max-height:31rem)and (max-width:60rem){.workspace{grid-template-rows:auto 34px 56px 52px minmax(160px,1fr)}.current-card{display:none}.study-panel-body{grid-row:5}.subtitle-card{grid-template-columns:44px minmax(0,1fr) auto;gap:var(--space-2xs);padding:var(--space-xs) var(--space-2xs)}.subtitle-meta{min-width:76px}.subtitle-meta time{font-size:.68rem}.subtitle-index-rail .favorite-inline,.subtitle-meta .subtitle-edit,.keyword-detail-actions>button{width:44px;min-width:44px;height:44px;min-height:44px}}#sentence-review-main .flashcard-face{border-radius:0;border-inline-start:4px solid var(--color-primary);box-shadow:none}#sentence-review-main .flashcard-label,#sentence-review-main .flashcard-source,#sentence-review-main .review-rate-btn{border-radius:0}#sentence-review-main .flashcard-label{background:var(--color-primary-soft);color:var(--color-primary)}#sentence-review-main .flashcard-source{border:0;border-block:var(--rule-hair) solid var(--color-rule);background:transparent}#sentence-review-main .flashcard-source:hover{background:transparent;color:var(--color-primary)}#sentence-review-main .flashcard-star{width:44px;min-width:44px;height:44px;min-height:44px;display:grid;place-items:center;box-shadow:none}#sentence-review-main .review-rating{border-radius:0;box-shadow:none}@media(prefers-reduced-motion:reduce){.playing-waveform i{animation:none;transform:scaleY(.7)}}.skip-link{position:fixed;inset-block-start:var(--space-2xs);inset-inline-start:var(--space-2xs);z-index:2000;padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-float);transform:translateY(-180%);transition:transform var(--dur-micro) var(--ease-out)}.skip-link:focus{transform:translateY(0)}.app-nav{position:fixed;inset-block-start:0;inset-inline:0;z-index:80;min-height:64px;padding:var(--space-2xs) var(--space-sm);display:flex;align-items:center;gap:var(--space-md);border-block-end:var(--rule-hair) solid oklch(100% 0 0 / .1);background:var(--color-nav);color:var(--color-nav-ink);font-family:var(--font-display)}.app-nav a{text-decoration:none}.app-nav-brand{display:inline-flex;align-items:center;gap:var(--space-2xs);color:var(--color-nav-ink)}.app-nav-brand-mark{width:34px;aspect-ratio:1;display:grid;place-items:center;border:var(--rule-hair) solid oklch(100% 0 0 / .22);border-radius:var(--radius-compact);background:var(--color-accent);color:var(--color-accent-ink);font-family:var(--font-display);font-size:var(--text-lg)}.app-nav-brand-text{font-family:var(--font-display);font-weight:600}.app-nav-links{min-width:0;display:flex;align-items:center;gap:var(--space-2xs)}.app-nav-link{min-width:68px;min-height:44px;padding:var(--space-2xs) var(--space-xs);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3xs);border:var(--rule-hair) solid transparent;border-radius:var(--radius-control);color:var(--color-nav-muted);font-size:var(--text-sm);font-weight:700;transition:color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out)}.app-nav-catalog{display:none;font:inherit;cursor:pointer}.app-nav-link:hover,.app-nav-link:focus-visible{background:var(--color-nav-hover);color:var(--color-nav-ink)}.app-nav-link.active{background:var(--color-accent);color:var(--color-accent-ink)}.app-nav-icon{width:19px;height:19px;flex:0 0 auto}.app-nav-edition{margin-inline-start:auto;color:var(--color-nav-muted);font-family:var(--font-outlier);font-size:.625rem}.editorial-kicker{display:block;color:var(--color-accent);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:700;letter-spacing:0}.auth-page{min-height:100dvh;padding:clamp(var(--space-sm),4vw,var(--space-xl));background:linear-gradient(90deg,var(--color-paper-2) 0 1px,transparent 1px) 0 0 / 72px 72px,var(--color-paper)}.auth-panel{width:min(980px,100%);min-height:min(620px,calc(100dvh - 2 * var(--space-xl)));grid-template-columns:minmax(0,1fr) minmax(320px,400px);gap:clamp(var(--space-lg),6vw,var(--space-3xl));padding:clamp(var(--space-lg),6vw,var(--space-2xl));border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card)}.auth-copy{align-content:center;gap:var(--space-sm)}.auth-monogram{width:72px;aspect-ratio:1;display:grid;place-items:center;border-radius:var(--radius-card);background:var(--color-nav);color:var(--color-nav-ink);font-family:var(--font-display);font-size:var(--text-display)}.auth-copy h1{margin:var(--space-xs) 0 0;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(2rem,5vw,3.75rem);font-weight:500;line-height:1.08}.auth-copy p{margin:0;color:var(--color-muted);font-size:var(--text-md)}.auth-form-wrap{align-self:center;min-width:0;padding-inline-start:var(--space-lg);border-inline-start:var(--rule-hair) solid var(--color-rule)}.auth-form-heading{margin-block-end:var(--space-md);display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-xs);color:var(--color-ink);font-weight:700}.auth-form-heading small{color:var(--color-muted);font-family:var(--font-outlier);font-size:.625rem}.auth-form{padding:0;border:0;border-radius:0;background:transparent}.auth-form .el-input__wrapper{min-height:46px;border-radius:var(--radius-input);background:var(--color-paper);box-shadow:0 0 0 var(--rule-hair) var(--color-rule) inset}.auth-form .el-input__wrapper.is-focus{box-shadow:0 0 0 2px var(--color-focus) inset}.auth-form .wide-primary{min-height:46px;border-color:var(--color-accent);border-radius:var(--radius-control);background:var(--color-accent);color:var(--color-accent-ink);font-weight:700}.catalog-main{min-height:100%}.catalog-toolbar{width:min(1180px,calc(100% - 2 * var(--space-md)));margin:0 auto;padding:var(--space-lg) 0 var(--space-sm);display:flex;align-items:end;justify-content:space-between;gap:var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule)}.catalog-toolbar-copy{min-width:0}.catalog-toolbar-copy h1{margin:var(--space-3xs) 0 0;color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;line-height:1.25}.catalog-toolbar-actions{display:flex;align-items:center;gap:var(--space-2xs)}.catalog-toolbar-actions .catalog-search{width:min(260px,34vw)}.catalog-toolbar-actions .catalog-search-input{width:100%;min-height:42px}.my-page-header{display:block;padding-block-end:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule)}.my-page-title{margin-block-start:var(--space-3xs);font-size:var(--text-2xl);font-weight:600}.my-page-subtitle{margin-block-start:var(--space-2xs);color:var(--color-muted);font-size:var(--text-sm)}.review-view{height:100dvh;overflow-y:auto;background:var(--color-paper)}.review-topbar{border-block-end:var(--rule-hair) solid var(--color-rule);background:color-mix(in oklch,var(--color-paper) 88%,transparent)}.review-topbar-inner{width:min(600px,calc(100% - 2 * var(--space-md)));min-height:72px;margin:0 auto;display:grid;grid-template-columns:88px minmax(0,1fr) 88px;align-items:center}.review-back{min-height:44px;display:inline-flex;align-items:center;gap:var(--space-3xs);color:var(--color-muted);text-decoration:none}.review-topbar-title{margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;text-align:center}.review-main{min-height:calc(100dvh - 72px);padding-block:var(--space-lg)}.review-progress-fill{background:var(--color-accent)}.review-mode-bar{border-color:var(--color-rule);background:transparent}.review-mode-btn.active{background:var(--color-accent-soft);color:var(--color-accent)}.flashcard-face{border-color:var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card)}.flashcard-label{padding:2px var(--space-2xs);display:inline-flex;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);color:var(--color-accent);opacity:1}.flashcard--teal .flashcard-label{border-color:var(--color-keyword-word-border);background:var(--color-keyword-word-background);color:var(--color-keyword-word)}.flashcard--amber .flashcard-label{border-color:var(--color-keyword-expression-border);background:var(--color-keyword-expression-background);color:var(--color-keyword-expression)}.flashcard--violet .flashcard-label{border-color:var(--color-keyword-grammar-border);background:var(--color-keyword-grammar-background);color:var(--color-keyword-grammar)}.review-complete-icon{color:var(--color-accent)}@media(min-width:60rem){.app-nav{inset-block:0;inset-inline-start:0;inset-inline-end:auto;width:84px;min-height:100dvh;padding:var(--space-sm) var(--space-2xs);flex-direction:column;align-items:stretch;gap:var(--space-lg);border-block-end:0;border-inline-end:var(--rule-hair) solid oklch(100% 0 0 / .1)}.app-nav-brand{flex-direction:column;gap:var(--space-3xs)}.app-nav-brand-text{font-size:var(--text-xs)}.app-nav-links{flex:1;flex-direction:column;justify-content:center}.app-nav-link{width:100%;min-width:0;min-height:58px;padding:var(--space-2xs) var(--space-3xs);flex-direction:column;gap:var(--space-3xs);font-size:var(--text-xs)}.app-nav-edition{margin:auto 0 0;writing-mode:vertical-rl;align-self:center}.catalog-page,.my-view,.review-view{padding-inline-start:84px}.app-shell{grid-template-columns:84px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 100px}.workspace{grid-column:2;grid-row:1}.control-bar{grid-column:2;grid-row:2}.catalog-content{padding-block-start:var(--space-md)}}@media(min-width:47.51rem)and (max-width:59.99rem){.catalog-page,.my-view,.review-view{padding-block-start:64px}.app-shell{padding-block-start:64px;grid-template-rows:minmax(0,1fr) 100px}.workspace{grid-row:1}.control-bar{grid-row:2}}@media(max-width:56rem){.auth-page{padding:var(--space-sm)}.auth-panel{min-height:calc(100dvh - 2 * var(--space-sm));padding:clamp(var(--space-lg),7vw,var(--space-xl));grid-template-columns:minmax(0,1fr);align-content:center;gap:var(--space-lg)}.auth-copy{gap:var(--space-2xs)}.auth-copy h1{margin-block-start:var(--space-2xs);font-size:clamp(2rem,7vw,3rem)}.auth-form-wrap{padding:var(--space-md) 0 0;border-inline-start:0;border-block-start:var(--rule-hair) solid var(--color-rule)}}@media(max-width:47.5rem){.auth-page{padding:var(--space-xs)}.auth-panel{min-height:calc(100dvh - 2 * var(--space-xs));padding:var(--space-lg) var(--space-sm);grid-template-columns:minmax(0,1fr);align-content:center;gap:var(--space-lg)}.auth-copy{gap:var(--space-2xs)}.auth-monogram{width:52px}.auth-copy h1{margin-block-start:var(--space-2xs);font-size:2rem}.auth-form-wrap{padding:var(--space-md) 0 0;border-inline-start:0;border-block-start:var(--rule-hair) solid var(--color-rule)}.app-nav{inset-block-start:auto;inset-block-end:0;min-height:calc(52px + env(safe-area-inset-bottom,0px));padding:0 var(--space-2xs) env(safe-area-inset-bottom,0px);border-block-start:var(--rule-hair) solid oklch(100% 0 0 / .1);border-block-end:0}.app-nav-brand,.app-nav-edition{display:none}.app-nav-links{width:100%;justify-content:space-around;gap:var(--space-3xs)}.app-nav-link{flex:1 1 0;min-width:0;min-height:48px;padding:2px;flex-direction:column;gap:2px;font-size:11px}.catalog-page,.my-view,.review-view{padding-inline-start:0;padding-block-end:calc(60px + env(safe-area-inset-bottom,0px))}.catalog-toolbar{width:100%;padding:var(--space-sm) var(--space-xs) var(--space-xs);align-items:stretch;flex-direction:column;gap:var(--space-xs)}.catalog-toolbar-copy h1{font-size:var(--text-xl)}.catalog-toolbar-actions,.catalog-toolbar-actions .catalog-search{width:100%}.catalog-toolbar-actions{flex-wrap:wrap}.catalog-toolbar-actions .catalog-search{flex:1 1 100%}.catalog-toolbar-actions .el-button{width:100%;flex:1 1 100%;min-height:44px}.catalog-content{padding-block-start:var(--space-xs);padding-block-end:var(--space-lg)}.app-shell{padding-block-end:calc(64px + env(safe-area-inset-bottom,0px));grid-template-rows:minmax(0,1fr) 138px}.workspace{grid-row:1;display:grid;grid-template-rows:auto auto auto minmax(0,1fr)}.hero-area,.player-card,.study-panel{display:contents}.media-frame{grid-row:1}.panel-header{grid-row:2;border-block-start:var(--rule-hair) solid var(--color-rule)}.current-card{grid-row:3;display:grid;min-height:82px;border-block-start:var(--rule-hair) solid var(--color-rule);border-block-end:var(--rule-hair) solid var(--color-rule)}.study-panel-body{grid-row:4;min-height:0;overflow:hidden;background:var(--color-surface)}.control-bar{grid-row:2;padding-block-end:6px}.control-actions{grid-template-columns:repeat(6,minmax(44px,1fr))}.tool-button{aspect-ratio:1}.my-main{padding-block-end:var(--space-xl)}.review-topbar-inner{width:calc(100% - 2 * var(--space-xs));grid-template-columns:72px minmax(0,1fr) 72px}.review-main{min-height:auto;padding:var(--space-sm) var(--space-xs) var(--space-lg)}.review-rating{position:sticky;inset-block-end:calc(64px + env(safe-area-inset-bottom,0px));padding:var(--space-2xs);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-deck)}.review-rate-btn{min-width:0;min-height:52px;padding-inline:var(--space-2xs)}.flashcard-face{border-radius:var(--radius-card)}}@media(max-width:59.99rem)and (max-height:31rem)and (orientation:landscape){.app-nav{inset-block:0;inset-inline-start:0;inset-inline-end:auto;width:72px;min-height:100dvh;padding:var(--space-2xs) var(--space-3xs);flex-direction:column;border-block:0;border-inline-end:var(--rule-hair) solid oklch(100% 0 0 / .1)}.app-nav-brand,.app-nav-edition{display:none}.app-nav-links{width:100%;flex:1;flex-direction:column;justify-content:center}.app-nav-link{width:100%;min-width:0;min-height:54px;padding:var(--space-3xs);flex:0 0 auto;flex-direction:column;gap:2px;font-size:.6875rem}.catalog-page,.my-view,.review-view{padding-block:0;padding-inline-start:72px}.app-shell{padding:0 0 0 72px;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 88px}.workspace{grid-column:1;grid-row:1;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);grid-template-rows:minmax(0,1fr);overflow:hidden}.hero-area,.player-card{height:100%;min-height:0}.study-panel{min-height:0}.control-bar{grid-column:1;grid-row:2;padding-block:2px 4px;grid-template-rows:10px 16px 56px}.control-actions{min-height:54px}.catalog-toolbar{padding-block:var(--space-xs)}}@media(max-width:47.5rem){:where(.favorite-toggle,.favorite-inline,.flashcard-star,.keyword-play-btn,.keyword-card-edit-btn,.vocab-add-btn,.sentence-edit-btn){width:44px;min-width:44px;height:44px;min-height:44px}}.catalog-content--albums,.catalog-content--detail{width:min(1180px,calc(100% - 2 * var(--space-lg)));margin-inline:auto}.catalog-back{display:inline-block;margin-block-end:var(--space-2xs);color:var(--color-primary);font-size:var(--text-sm);text-decoration:none}.catalog-back:before{content:"←";margin-inline-end:var(--space-3xs)}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-lg) var(--space-md)}.album-card{position:relative;min-width:0;overflow:hidden;border:var(--rule-hair) solid var(--color-rule);border-radius:4px;background:var(--color-surface)}.album-card-open{display:block;color:inherit;text-decoration:none}.album-cover{position:relative;aspect-ratio:16 / 10;overflow:hidden;border-block-end:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-2)}.album-cover img{width:100%;height:100%;display:block;object-fit:cover}.album-cover-fallback{width:100%;height:100%;display:grid;place-content:center;gap:var(--space-2xs);color:var(--color-primary);text-align:center}.album-cover-fallback span{font:500 3rem/1 var(--font-display)}.editorial-step{position:relative;min-width:2.75rem;padding:0;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:0;background:transparent;color:var(--color-primary);font-family:var(--font-display);font-variant-numeric:lining-nums tabular-nums;line-height:1}.editorial-step:before{content:"";position:absolute;inset-block-start:43%;inset-inline-start:-.2rem;width:3px;height:3px;border:1px solid currentColor;border-radius:50%;transform:translateY(-50%)}.editorial-step>strong{font:500 2.5rem/.86 var(--font-display)}.editorial-step--compact>strong{font-size:1.9rem}.album-cover-fallback small,.editorial-step>small{font:600 .625rem/1 var(--font-body);letter-spacing:0}.album-language{position:absolute;inset-block-start:var(--space-xs);inset-inline-start:0;padding:.3rem .7rem;border-radius:0;background:var(--color-nav);color:var(--color-nav-ink);font-size:var(--text-xs)}.album-copy{min-height:176px;padding:var(--space-sm)}.album-copy h2{margin:0;font:500 var(--text-xl)/1.35 var(--font-display);text-wrap:balance}.album-copy h2[lang=ja]{font-family:var(--font-japanese-display)}.album-copy p{min-height:2.8em;margin:var(--space-2xs) 0 var(--space-sm);color:var(--color-muted);font-size:var(--text-sm);line-height:1.55;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.album-meta{display:flex;justify-content:space-between;gap:var(--space-xs);color:var(--color-ink-2);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.album-progress{height:2px;margin-block-start:var(--space-xs);background:var(--color-rule)}.album-progress span{display:block;height:100%;background:var(--color-primary)}.album-admin-actions{min-height:44px;padding:0 var(--space-xs);display:flex;align-items:center;justify-content:space-between;border-block-start:var(--rule-hair) solid var(--color-rule)}.album-admin-actions button{width:44px;height:44px;padding:11px;border:0;background:transparent;color:var(--color-ink-2);cursor:pointer}.course-section--detail{box-shadow:none}.course-section--detail .video-card{border-radius:0;box-shadow:none}.course-section--detail .video-card-index{width:58px;min-width:58px;height:auto;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;border-radius:0;background:transparent;color:var(--color-primary)}.video-card.completed .video-card-index.editorial-step,.course-section--detail .video-card-index.editorial-step{border:0;border-radius:0;background:transparent;color:var(--color-primary)}.mobile-catalog-list button>.mobile-catalog-step{width:52px;min-width:52px;height:auto;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;color:var(--color-primary)}.mobile-catalog-list .mobile-catalog-step>strong{overflow:visible;color:inherit;font:500 1.9rem/.86 var(--font-display);white-space:normal}.course-cover-editor{width:100%;display:grid;grid-template-columns:180px minmax(0,1fr);gap:var(--space-sm)}.course-cover-preview{aspect-ratio:16 / 10;display:grid;place-items:center;overflow:hidden;border:var(--rule-hair) solid var(--color-rule);border-radius:4px;background:var(--color-paper-2);color:var(--color-muted);font-size:var(--text-sm)}.course-cover-preview img{width:100%;height:100%;object-fit:cover}.course-cover-fields{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2xs)}.course-cover-upload{min-height:44px;padding:0 var(--space-sm);display:inline-flex;align-items:center;gap:var(--space-2xs);border:var(--rule-hair) solid var(--color-rule-2);border-radius:4px;background:var(--color-surface);color:var(--color-ink);cursor:pointer}.course-cover-upload svg{width:18px}.course-cover-upload input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.course-cover-clear{min-height:44px;padding:0 var(--space-sm);border:var(--rule-hair) solid var(--color-rule-2);border-radius:4px;background:transparent;color:var(--color-ink-2);cursor:pointer}.course-cover-clear:hover,.course-cover-clear:focus-visible{border-color:var(--color-primary);color:var(--color-primary)}.course-cover-help,.course-cover-error{margin:0;font-size:var(--text-xs)}.course-cover-help{color:var(--color-muted)}.course-cover-error{color:var(--color-danger)}@media(max-width:47.5rem){.catalog-content--albums,.catalog-content--detail{width:calc(100% - 2 * var(--space-xs))}.album-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-sm)}.course-cover-editor{grid-template-columns:minmax(0,1fr)}.course-cover-preview{max-width:240px}}.review-hub-main,.my-main--account{width:min(980px,calc(100% - 2 * var(--space-lg)));min-height:100dvh;margin-inline:auto;padding:var(--space-xl) 0 var(--space-2xl)}.review-hub-header,.my-main--account .my-page-header{max-width:680px;margin-block-end:var(--space-xl)}.review-hub-header h1{margin:var(--space-xs) 0 var(--space-2xs);font:500 var(--text-display)/1.2 var(--font-display);text-wrap:balance}.review-hub-header p{margin:0;color:var(--color-muted)}.review-paths{border-block-start:var(--rule-hair) solid var(--color-rule-2)}.review-path{min-height:210px;padding:var(--space-lg) 0;display:grid;grid-template-columns:72px minmax(0,1fr) minmax(180px,.38fr) 124px;align-items:center;gap:var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule-2);color:inherit;text-decoration:none}.review-path-number{display:inline-flex;flex-direction:column;align-items:center;gap:3px;color:var(--color-primary)}.review-path-number strong{font:500 2.5rem/.86 var(--font-display)}.review-path-number small{font:600 .625rem/1 var(--font-body)}.review-path-copy{min-width:0}.review-path-label,.account-label{color:var(--color-primary);font-size:var(--text-xs)}.review-path-copy h2{margin:var(--space-3xs) 0 var(--space-2xs);font:500 var(--text-2xl)/1.2 var(--font-display)}.review-path-copy p{max-width:520px;margin:0;color:var(--color-muted);line-height:1.65}.review-path-stats{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.review-path-stats div{display:flex;flex-direction:column-reverse;gap:var(--space-3xs)}.review-path-stats dt{color:var(--color-muted);font-size:var(--text-xs)}.review-path-stats dd{margin:0;font:500 var(--text-xl)/1 var(--font-display);font-variant-numeric:tabular-nums}.review-path-action{min-height:44px;display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--space-2xs);color:var(--color-primary);font-size:var(--text-sm)}.review-path-action svg{width:18px}.account-profile{min-height:150px;padding-block:var(--space-md);display:grid;grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:var(--space-md);border-block:var(--rule-hair) solid var(--color-rule-2)}.account-monogram{width:72px;aspect-ratio:1;display:grid;place-items:center;border:var(--rule-hair) solid var(--color-rule-2);border-radius:50%;font:500 var(--text-2xl)/1 var(--font-display);color:var(--color-primary)}.account-identity h2{margin:var(--space-3xs) 0;font:500 var(--text-xl)/1.3 var(--font-display)}.account-identity p{margin:0;color:var(--color-muted)}.account-role{padding:var(--space-3xs) var(--space-xs);border-inline-start:var(--rule-fine) solid var(--color-primary);color:var(--color-ink-2);font-size:var(--text-sm)}.account-overview{padding-block:var(--space-xl)}.account-section-heading{display:flex;align-items:center;gap:var(--space-md)}.account-section-heading h2{margin:var(--space-3xs) 0 0;font:500 var(--text-xl)/1.2 var(--font-display)}.account-stats{margin-block-start:var(--space-lg);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:var(--rule-hair) solid var(--color-rule)}.account-stats>div{min-height:128px;padding:var(--space-md);display:flex;flex-direction:column;justify-content:center;gap:var(--space-xs);border-inline-end:var(--rule-hair) solid var(--color-rule)}.account-stats>div:last-child{border-inline-end:0}.account-stats strong{font:500 var(--text-display)/1 var(--font-display);color:var(--color-primary);font-variant-numeric:tabular-nums}.account-stats span{color:var(--color-muted);font-size:var(--text-sm)}.account-actions{padding-block-start:var(--space-md);border-block-start:var(--rule-hair) solid var(--color-rule)}.account-signout{min-height:44px;padding:0 var(--space-sm);display:inline-flex;align-items:center;gap:var(--space-2xs);border:var(--rule-hair) solid var(--color-rule-2);border-radius:4px;background:transparent;color:var(--color-ink);cursor:pointer}.account-signout svg{width:18px}@media(max-width:47.5rem){.review-hub-main,.my-main--account{width:calc(100% - 2 * var(--space-xs));min-height:auto;padding:var(--space-lg) 0 var(--space-xl)}.review-hub-header,.my-main--account .my-page-header{margin-block-end:var(--space-lg)}.review-hub-header h1{font-size:var(--text-2xl)}.review-path{min-height:0;padding:var(--space-md) 0;grid-template-columns:54px minmax(0,1fr);gap:var(--space-sm)}.review-path-number strong{font-size:2rem}.review-path-stats,.review-path-action{grid-column:2}.review-path-action{justify-content:flex-start}.account-profile{grid-template-columns:64px minmax(0,1fr);gap:var(--space-sm)}.account-monogram{width:56px}.account-role{grid-column:2;justify-self:start}.account-stats{grid-template-columns:minmax(0,1fr)}.account-stats>div{min-height:92px;border-inline-end:0;border-block-end:var(--rule-hair) solid var(--color-rule)}.account-stats>div:last-child{border-block-end:0}.account-signout{width:100%;justify-content:center}}.mobile-player-controls{display:none}.player-card{grid-template-rows:minmax(0,3.4fr) 34px minmax(150px,1.15fr)}.media-stage{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;border-radius:var(--radius-compact);background:var(--color-nav)}.media-stage .media-frame{border-radius:0}.media-stage:fullscreen{width:100vw;height:100vh;border-radius:0;background:var(--color-nav)}.media-stage:fullscreen .media-frame{width:100%;height:100%}.player-timeline{min-width:0;min-height:34px;height:34px;padding-inline:var(--space-2xs);display:grid;grid-template-columns:42px minmax(0,1fr) 50px;align-items:center;align-content:center;gap:var(--space-2xs);border-block:var(--rule-hair) solid var(--color-rule);background:var(--color-surface)}.player-timeline>*{align-self:center}.player-timeline-time{color:var(--color-muted);font:500 var(--text-xs)/1 var(--font-outlier);font-variant-numeric:tabular-nums;text-align:center}.player-timeline-range{min-width:0;display:block;height:18px;margin:0}.player-timeline-meta{min-width:0;display:grid;justify-items:end;align-content:center;gap:1px}.current-card{position:relative;height:100%;min-height:0;padding:var(--space-sm) var(--space-md);display:grid;grid-template-columns:minmax(0,1fr) 44px;grid-template-rows:minmax(0,1fr);align-items:center;gap:var(--space-sm);border:var(--rule-hair) solid var(--color-rule);border-inline-start:4px solid var(--color-primary);border-radius:4px;background:var(--color-surface)}.current-text{min-height:0;display:grid;align-content:center;overflow:auto;text-align:start}.current-text .source-line,.subtitle-card .source-line{color:var(--color-ink);font-family:var(--font-display);font-weight:500;line-height:1.55}.current-text[lang=ja] .source-line,.subtitle-list[lang=ja] .source-line,.keyword-area[lang=ja] .keyword-title,.keyword-area[lang=ja] .sentence-text,.keyword-tooltip header strong{font-family:var(--font-japanese-display);font-weight:500}.current-text .target-line,.subtitle-card .target-line{margin-block-start:var(--space-2xs);color:var(--color-muted);font-family:var(--font-display);font-weight:400;line-height:1.65}.current-card-actions{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2xs)}.current-card-actions .favorite-toggle,.current-card-actions .current-edit-button{width:44px;min-width:44px;height:44px;min-height:44px;border-radius:4px}.study-panel,.subtitle-card,.keyword-card,.mode-button,.pill-button,.panel-tab,.tool-button,.course-status-tag,.video-status-tag,.keyword-type-tag{border-radius:4px}.subtitle-card{padding:var(--space-sm) var(--space-md);display:grid;grid-template-columns:46px minmax(0,1fr);align-items:start;gap:var(--space-xs);border:0;border-block-end:var(--rule-hair) solid var(--color-rule);background:transparent;box-shadow:none}.subtitle-index{padding-block-start:.1em;color:var(--color-primary);font:500 var(--text-xl)/1 var(--font-display);font-variant-numeric:lining-nums tabular-nums}.subtitle-card-main{min-width:0}.subtitle-card.active{border-inline-start:4px solid var(--color-primary);background:color-mix(in srgb,var(--color-surface) 94%,var(--color-primary) 6%);box-shadow:none}.keyword-chip{padding:0 .16em;display:inline;border-block-end:2px solid transparent;border-radius:0;background:transparent;box-decoration-break:clone;-webkit-box-decoration-break:clone;text-decoration:none}.keyword-chip--word,.keyword-chip--teal{color:var(--keyword-word-ink);background:var(--keyword-word-surface);border-block-end-color:var(--keyword-word-rule)}.keyword-chip--expression,.keyword-chip--amber{color:var(--keyword-expression-ink);background:var(--keyword-expression-surface);border-block-end-color:var(--keyword-expression-rule)}.keyword-chip--grammar,.keyword-chip--violet{color:var(--keyword-grammar-ink);background:var(--keyword-grammar-surface);border-block-end-color:var(--keyword-grammar-rule)}.keyword-card{padding:0;overflow:hidden;border:var(--rule-hair) solid var(--color-rule);border-inline-start:5px solid var(--keyword-word-rule);border-radius:2px;background:var(--color-surface);box-shadow:none}.keyword-card--expression,.keyword-card--amber{border-inline-start-color:var(--keyword-expression-rule)}.keyword-card--grammar,.keyword-card--violet{border-inline-start-color:var(--keyword-grammar-rule)}.keyword-card-header,.keyword-card-header--word,.keyword-card-header--expression,.keyword-card-header--grammar,.keyword-card-header--teal,.keyword-card-header--amber,.keyword-card-header--violet{padding:var(--space-sm) var(--space-md) var(--space-xs);border-block-end:var(--rule-hair) solid var(--color-rule);background:transparent}.keyword-title{font-family:var(--font-japanese-display);font-size:var(--text-xl);font-weight:500}.keyword-type-tag{padding:var(--space-3xs) var(--space-2xs);border:0;border-radius:0;background:var(--color-nav);color:var(--color-nav-ink)}.keyword-content{padding:var(--space-xs) var(--space-md) var(--space-sm)}.keyword-sentences-section,.keyword-card--word .keyword-sentences-section,.keyword-card--expression .keyword-sentences-section,.keyword-card--grammar .keyword-sentences-section,.keyword-card--teal .keyword-sentences-section,.keyword-card--amber .keyword-sentences-section,.keyword-card--violet .keyword-sentences-section{margin:0;padding:var(--space-2xs) var(--space-md);border-block-start:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-2)}.keyword-tooltip{width:min(320px,calc(100vw - 24px));max-height:min(260px,calc(100vh - 32px));padding:var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-inline-start:5px solid var(--color-nav);border-radius:2px;background:var(--color-surface);box-shadow:var(--shadow-float);color:var(--color-ink);font-family:var(--font-body)}.keyword-tooltip:before{display:none}.keyword-tooltip header{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3xs);color:var(--color-ink)}.keyword-tooltip header strong{font-size:var(--text-xl);line-height:1.35}.keyword-tooltip-pronunciation{color:var(--color-muted);font:400 var(--text-sm)/1.45 var(--font-japanese-display)}.keyword-tooltip-type{margin-block-start:var(--space-xs);padding:var(--space-3xs) var(--space-xs);border-radius:0;background:var(--color-nav);color:var(--color-nav-ink);font-size:var(--text-xs)}.keyword-tooltip-text{margin-block-start:var(--space-sm);padding-block-start:var(--space-sm);border-block-start:var(--rule-hair) dashed var(--color-rule-2)}.keyword-tooltip p{margin:0;color:var(--color-ink-2);font-size:var(--text-sm);line-height:1.65;-webkit-line-clamp:6}.keyword-detail-dialog .el-dialog{border:var(--rule-hair) solid var(--color-rule);border-radius:2px;background:var(--color-surface);box-shadow:var(--shadow-float)}.keyword-detail-close{inset-block-start:var(--space-xs);inset-inline-end:var(--space-xs);width:44px;height:44px;border:var(--rule-hair) solid var(--color-rule);border-radius:2px;background:var(--color-surface);color:var(--color-muted);font-size:1.75rem}.keyword-detail-card{--detail-accent: var(--keyword-word-rule);max-height:min(72vh,560px);padding:var(--space-lg) var(--space-md) var(--space-md);border-block-start:0;border-inline-start:5px solid var(--detail-accent);border-radius:2px;background:var(--color-surface)}.keyword-detail-card--word,.keyword-detail-card--teal{--detail-accent: var(--keyword-word-rule)}.keyword-detail-card--expression,.keyword-detail-card--amber{--detail-accent: var(--keyword-expression-rule)}.keyword-detail-card--grammar,.keyword-detail-card--violet{--detail-accent: var(--keyword-grammar-rule)}.keyword-detail-title-row{margin:0;padding-inline-end:52px;align-items:flex-start;justify-content:space-between}.keyword-detail-card h3,.keyword-detail-title-row h3{margin:0;color:var(--color-ink);font:500 var(--text-2xl)/1.3 var(--font-japanese-display)}.keyword-detail-pronunciation-inline{display:block;margin:var(--space-3xs) 0 0;color:var(--color-muted);font:400 var(--text-sm)/1.45 var(--font-japanese-display)}.keyword-detail-edit{width:44px;min-width:44px;height:44px;border-radius:2px;background:transparent;color:var(--color-muted)}.keyword-detail-type{width:fit-content;margin-block-start:var(--space-xs);padding:var(--space-3xs) var(--space-xs);border-radius:0;background:var(--color-nav);color:var(--color-nav-ink);font-family:var(--font-display);font-size:var(--text-xs)}.keyword-detail-definition{margin-block-start:var(--space-sm);padding:var(--space-sm) 0 0;border:0;border-block-start:var(--rule-hair) dashed var(--color-rule-2);border-radius:0;background:transparent;box-shadow:none}.keyword-detail-explanation{color:var(--color-ink-2);font-family:var(--font-display);font-size:var(--text-base);line-height:1.7}.app-nav,.panel-header,.control-bar{font-family:var(--font-display)}.control-bar{border-block-start-color:var(--color-rule);background:var(--color-surface);box-shadow:var(--shadow-deck);grid-template-rows:minmax(0,1fr)}.tool-button{border-radius:4px}.tool-button:hover,.tool-button.active{color:var(--color-primary);background:var(--color-primary-soft)}.primary-control{border-radius:6px;background:var(--color-primary);color:var(--color-primary-foreground);box-shadow:var(--shadow-control)}@media(max-width:47.5rem),(max-height:31rem)and (max-width:60rem){.app-shell{grid-template-rows:minmax(0,1fr)}.workspace{height:calc(100dvh - 52px - env(safe-area-inset-bottom,0px));grid-template-columns:minmax(0,1fr);grid-template-rows:auto 30px 52px 44px auto minmax(160px,1fr);overflow:hidden}.hero-area,.player-card,.study-panel{display:contents}.media-stage{grid-row:1}.player-timeline{grid-row:2}.mobile-player-controls{grid-row:3}.panel-header{grid-row:4}.current-card{grid-row:5}.study-panel-body{grid-row:6}.control-bar{display:none}.mobile-player-controls{min-width:0;min-height:52px;padding:4px var(--space-2xs);display:grid;grid-template-columns:auto auto auto;align-items:center;justify-content:center;border-block-end:var(--rule-hair) solid var(--color-rule);background:var(--color-surface)}.mobile-control-secondary,.mobile-control-transport,.mobile-control-trailing{display:flex;align-items:center}.mobile-control-button,.mobile-control-play{width:44px;min-width:44px;height:44px;min-height:44px;padding:11px;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:var(--color-ink-2)}.mobile-control-play{width:48px;min-width:48px;background:var(--color-primary);color:var(--color-primary-foreground)}.mobile-control-button svg,.mobile-control-play svg{width:22px;height:22px}.mobile-speed-button{padding:0;font:500 var(--text-sm)/1 var(--font-outlier);font-variant-numeric:tabular-nums}.mobile-control-button.active{color:var(--color-primary);background:var(--color-primary-soft)}.app-nav-catalog{display:inline-flex}.current-card{min-height:116px;padding:var(--space-sm) var(--space-xs);grid-template-columns:minmax(0,1fr) 44px;gap:var(--space-xs);border-block:var(--rule-hair) solid var(--color-rule);border-inline-end:0;border-radius:0}.current-step strong{font-size:1.7rem}.current-card-actions{gap:2px}.current-card-actions .favorite-toggle,.current-card-actions .current-edit-button{width:44px;height:44px}.panel-header{min-height:44px;padding:0 var(--space-xs)}.panel-tab,.mode-button,.pill-button{min-height:44px;border-radius:3px}}@media(max-width:22.5rem){.mobile-player-controls{min-height:52px;padding-inline:0;column-gap:0}.mobile-control-secondary,.mobile-control-transport,.mobile-control-trailing{gap:0}.mobile-control-button,.mobile-control-play{width:44px;min-width:44px;height:44px;min-height:44px}.panel-header{min-height:44px;padding-inline:2px;gap:2px}.panel-header-left,.panel-actions{gap:2px}.panel-tab,.mode-button,.pill-button{min-height:44px;padding-inline:3px;font-size:12px;white-space:nowrap}.mode-button svg,.pill-button svg{width:14px;height:14px}.panel-header .keyword-count{font-size:10px}.app-nav{min-height:calc(52px + env(safe-area-inset-bottom,0px));padding-inline:2px}.app-nav-icon{width:19px;height:19px}}@media(min-width:47.51rem)and (max-width:60rem)and (max-height:31rem){.workspace{height:100dvh;grid-template-rows:minmax(180px,56vh) 34px 56px 52px auto minmax(160px,1fr);overflow-y:auto}.media-frame{min-height:180px;aspect-ratio:auto}}.subtitle-list.subtitle-list--virtual{padding:0;gap:0}.subtitle-list--virtual .subtitle-card{margin-block-end:0;border-radius:0}.current-card-actions .favorite-toggle,.subtitle-card .favorite-inline,.keyword-card .vocab-add-btn{color:var(--color-muted);background:transparent}.current-card-actions .favorite-toggle.active,.subtitle-card .favorite-inline.active,.keyword-card .vocab-add-btn.active{color:var(--color-primary);background:var(--color-primary-soft)}.el-dialog.glass-dialog,.glass-dialog.el-overlay .el-dialog,.mobile-catalog-sheet{border:var(--rule-hair) solid var(--color-rule);border-radius:0;background:var(--color-surface);box-shadow:var(--shadow-float);-webkit-backdrop-filter:none;backdrop-filter:none}.segment-dialog{font-family:var(--font-display)}.loop-dialog,.import-dialog-panel,.export-dialog-panel,.mobile-catalog-sheet,.loop-settings-dialog,.import-dialog,.export-settings-dialog{font-family:var(--font-japanese-display)}.segment-dialog button,.segment-dialog .el-button,.loop-settings-dialog button,.loop-settings-dialog .el-button,.import-dialog button,.import-dialog .el-button,.export-settings-dialog button,.export-settings-dialog .el-button,.mobile-catalog-sheet button{font-family:inherit}.range-pill,.segment-cue-list button,.segment-cue-list em,.segment-dialog .wide-primary,.loop-mode-row button,.loop-grid button,.loop-settings-dialog .wide-primary,.import-dialog-panel .file-button,.import-dialog-panel button,.import-dialog-panel .el-button,.import-dialog-panel .el-input__wrapper,.import-dialog-panel .el-select__wrapper,.import-dialog-panel .el-textarea__inner,.import-dialog-panel .el-progress-bar__outer,.import-order-row,.export-format-tabs button,.export-content-tabs button,.export-settings-dialog .wide-primary,.mobile-catalog-sheet header button,.mobile-catalog-list button,.mobile-catalog-list button>span{border-radius:2px}.range-pill{background:var(--color-surface-2);color:var(--color-ink-2);font-weight:600}.segment-cue-list button{background:var(--color-surface)}.segment-cue-list button.selected,.segment-cue-list button.boundary-start,.segment-cue-list button.boundary-end{border-color:var(--color-primary);background:var(--color-primary-soft)}.segment-cue-list span{color:var(--color-muted)}.segment-cue-list button.selected span,.segment-cue-list button.boundary-start span,.segment-cue-list button.boundary-end span{color:var(--color-primary)}.segment-cue-list em{background:var(--color-primary);color:var(--color-primary-foreground)}.loop-mode-row button,.loop-grid button,.export-format-tabs button,.export-content-tabs button{min-height:44px;background:var(--color-surface-2);color:var(--color-ink-2)}.loop-mode-row button.active,.loop-grid button.active,.export-format-tabs button.active,.export-content-tabs button.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-foreground)}.loop-range{accent-color:var(--color-primary)}.mobile-catalog-sheet{padding:var(--space-md)}.mobile-catalog-sheet header button{width:44px;height:44px;background:var(--color-surface-2)}.mobile-catalog-list button{background:var(--color-surface)}.mobile-catalog-list button.active{border-color:var(--color-primary);background:var(--color-primary-soft)}.mobile-catalog-list button>span{background:transparent;color:var(--color-primary)}.el-dialog.el-dialog,.el-message-box.el-message-box,.el-drawer.el-drawer,.mobile-catalog-sheet{border:var(--rule-hair) solid var(--color-rule);border-radius:0!important;background:var(--color-surface);box-shadow:var(--shadow-float);-webkit-backdrop-filter:none!important;backdrop-filter:none!important;font-family:var(--font-display)}.el-dialog.loop-settings-dialog,.el-dialog.import-dialog,.el-dialog.export-settings-dialog,.mobile-catalog-sheet{font-family:var(--font-japanese-display)}.el-dialog.el-dialog{max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);display:flex;flex-direction:column}.el-dialog:not(.keyword-detail-dialog)>.el-dialog__header,.glass-dialog .el-dialog:not(.keyword-detail-dialog)>.el-dialog__header{display:block;flex:0 0 auto}.el-dialog__header,.el-message-box__header{margin:0;padding:var(--space-md) var(--space-md) var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule)}.el-dialog__title,.el-message-box__title{color:var(--color-ink);font-family:inherit;font-size:var(--text-xl);font-weight:500;line-height:1.35}.el-dialog__body,.el-message-box__content{min-height:0;padding:var(--space-md);overflow:auto;color:var(--color-ink-2)}.el-dialog__footer,.el-message-box__btns{padding:var(--space-sm) var(--space-md) var(--space-md);border-block-start:var(--rule-hair) solid var(--color-rule)}button:not(.el-switch__action),.el-button.el-button{min-height:40px;border-radius:2px;font-family:inherit;letter-spacing:0;transition:transform var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out),opacity var(--dur-micro) var(--ease-out)}button:not(.el-switch__action):not(:disabled):hover,.el-button.el-button:not(.is-disabled):hover{transform:translateY(-1px)}button:not(.el-switch__action):not(:disabled):active,.el-button.el-button:not(.is-disabled):active{transform:translateY(0)}.review-complete-btn,.my-entry-btn{min-height:40px;border-radius:2px;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;letter-spacing:0;transition:transform var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out)}.review-complete-btn:hover,.my-entry-btn:hover{transform:translateY(-1px)}.el-button.el-button--primary,.wide-primary,.primary-control,.review-complete-btn,.my-entry-btn{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-foreground)}.el-button.el-button--primary:not(.is-disabled):hover,.wide-primary:not(:disabled):hover,.primary-control:not(:disabled):hover,.review-complete-btn:hover,.my-entry-btn:hover{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 88%,var(--color-ink) 12%);color:var(--color-primary-foreground)}.el-button.el-button:not(.el-button--primary):not(.is-text):not(.is-link){border-color:var(--color-rule);background:var(--color-surface);color:var(--color-ink-2)}.el-button.el-button:not(.el-button--primary):not(.is-text):not(.is-link):not(.is-disabled):hover{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.el-button.el-button.is-text,.el-button.el-button.is-link{background:transparent;color:var(--color-primary)}.el-button.el-button.is-text:not(.is-disabled):hover,.el-button.el-button.is-link:not(.is-disabled):hover{background:var(--color-primary-soft);color:var(--color-primary)}.el-button.el-button--small,.keyword-draft-form-remove,.keyword-draft-form-add{min-height:32px}.course-status-tag,.video-status-tag,.video-completed-tag,.video-in-progress-tag,.el-tag.el-tag,.course-progress-badge,.episode-pill,.badge-top,.keyword-type-tag,.keyword-tooltip-type,.vocab-extract-result-type,.headword-dropdown-type,.vocab-extract-form-tag,.keyword-draft-form-tag,.keyword-detail-type,.keyword-preview-chip,.my-entry-badge{min-height:24px;padding:2px 8px;display:inline-flex;align-items:center;border:var(--rule-hair) solid var(--color-rule);border-radius:0;font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;line-height:1.2;transition:transform var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out)}.course-status-tag.published,.video-status-tag.published,.video-completed-tag,.video-in-progress-tag{border-color:color-mix(in srgb,var(--color-primary) 42%,var(--color-rule) 58%);background:var(--color-primary-soft);color:var(--color-primary)}.course-status-tag.draft,.course-status-tag.archived,.video-status-tag.draft{border-color:var(--color-rule);background:var(--color-surface-2);color:var(--color-muted)}.video-status-tag.error{border-color:color-mix(in srgb,var(--color-danger) 42%,var(--color-rule) 58%);background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface) 90%);color:var(--color-danger)}@media(hover:hover){.course-status-tag:hover,.video-status-tag:hover,.el-tag.el-tag:hover,.keyword-type-tag:hover,.keyword-tooltip-type:hover,.vocab-extract-result-type:hover,.headword-dropdown-type:hover,.keyword-detail-type:hover,.my-entry-badge:hover{transform:translateY(-1px)}}@media(pointer:coarse){button:not(.el-switch__action),.el-button.el-button{min-height:44px}.el-button.el-button--small,.keyword-draft-form-remove,.keyword-draft-form-add,.review-complete-btn,.my-entry-btn{min-height:44px}}@media(max-width:60rem){button:not(.el-switch__action),.el-button.el-button{min-height:44px}.el-button.el-button--small,.keyword-draft-form-remove,.keyword-draft-form-add,.review-complete-btn,.my-entry-btn{min-height:44px}}@media(prefers-reduced-motion:reduce){button:not(.el-switch__action),.el-button.el-button,.course-status-tag,.video-status-tag,.el-tag.el-tag,.keyword-type-tag,.keyword-tooltip-type,.vocab-extract-result-type,.headword-dropdown-type,.keyword-detail-type,.my-entry-badge,.review-complete-btn,.my-entry-btn{transition-duration:.01ms;transform:none!important}}.subtitle-card{min-width:0;grid-template-columns:minmax(44px,52px) minmax(0,1fr) auto}.subtitle-start-time{padding:3px 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:0;background:var(--color-primary);color:var(--color-primary-foreground);font-family:var(--font-display);font-size:.625rem;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}.subtitle-copy{min-width:0;display:flex;align-items:flex-start;gap:var(--space-2xs)}.subtitle-actions{min-width:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3xs)}.subtitle-actions>*,.subtitle-actions .favorite-inline{width:44px;min-width:44px;height:44px;min-height:44px;flex:0 0 44px}.subtitle-copy .subtitle-content{flex:1 1 auto}.subtitle-copy .favorite-inline{width:40px;min-width:40px;height:40px;min-height:40px;flex:0 0 40px}.subtitle-meta{min-width:40px}.subtitle-content{min-width:0;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.subtitle-content .source-line,.subtitle-content .target-line{width:100%;display:block;overflow-wrap:anywhere;word-break:break-word}.keyword-area .keyword-list{min-height:0;height:100%;padding:var(--space-xs);display:flex;flex-direction:column;gap:var(--space-xs);overflow-x:hidden;overflow-y:auto}.keyword-area .keyword-card{border-inline-start:5px solid var(--keyword-word-rule);border-radius:2px;background:var(--color-surface);flex:0 0 auto}.keyword-tooltip{--tooltip-accent: var(--keyword-word-rule);max-height:none;overflow:hidden;border-inline-start-color:var(--tooltip-accent);pointer-events:auto}.keyword-tooltip header{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:var(--space-sm);flex-wrap:nowrap}.keyword-tooltip-heading{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3xs)}.keyword-tooltip-favorite{flex:0 0 44px;margin:calc(var(--space-xs) * -1);margin-inline-start:0}.keyword-tooltip--word{--tooltip-accent: var(--keyword-word-rule)}.keyword-tooltip--expression{--tooltip-accent: var(--keyword-expression-rule)}.keyword-tooltip--grammar{--tooltip-accent: var(--keyword-grammar-rule)}.keyword-tooltip-text{max-height:calc(1.65em * 6);display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:6}.keyword-tooltip-text p{display:inline;-webkit-line-clamp:unset}.keyword-type-tag--word,.keyword-tooltip-type--word,.keyword-detail-type--word{border-color:var(--keyword-word-rule);background:var(--keyword-word-surface);color:var(--keyword-word-ink)}.keyword-type-tag--expression,.keyword-tooltip-type--expression,.keyword-detail-type--expression{border-color:var(--keyword-expression-rule);background:var(--keyword-expression-surface);color:var(--keyword-expression-ink)}.keyword-type-tag--grammar,.keyword-tooltip-type--grammar,.keyword-detail-type--grammar{border-color:var(--keyword-grammar-rule);background:var(--keyword-grammar-surface);color:var(--keyword-grammar-ink)}.keyword-detail-title-row{padding-inline-end:0;display:grid;grid-template-columns:minmax(0,1fr) auto}.keyword-detail-actions>button{position:static;inset:auto}.player-learning-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;overflow:hidden}.player-overlay-subtitles{position:absolute;inset-inline-start:50%;inset-block-end:clamp(16px,7%,52px);width:min(82%,920px);display:grid;justify-items:center;gap:4px;transform:translate(-50%);text-align:center}.player-overlay-source,.player-overlay-target{max-width:100%;margin:0;padding:3px 8px;border-radius:2px;background:#12110fb3;line-height:1.45;overflow-wrap:anywhere;text-shadow:0 1px 2px rgba(0,0,0,.75)}.player-overlay-target[lang=zh-CN]{font-family:var(--font-display)}.player-overlay-source{color:#fff;font-family:var(--font-display);font-weight:700}.player-overlay-target{color:var(--color-primary);font-family:var(--font-display);font-weight:700}.player-overlay-keywords{position:absolute;inset-block-start:var(--space-sm);inset-inline-end:var(--space-sm);width:min(31%,280px);display:grid;gap:var(--space-3xs);pointer-events:auto}.player-overlay-keyword,.player-overlay-more{width:100%;min-height:44px;padding:7px 10px;border:0;border-radius:2px;text-align:start;cursor:pointer}.player-overlay-keyword{display:grid;gap:2px;box-shadow:4px 0 0 var(--overlay-keyword-rule) inset;background:var(--overlay-keyword-surface);color:var(--overlay-keyword-ink)}.player-overlay-keyword:hover,.player-overlay-keyword:active{background:var(--overlay-keyword-surface);color:var(--overlay-keyword-ink)}.player-overlay-keyword strong,.player-overlay-keyword span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-overlay-keyword strong{font-family:var(--font-display);font-size:var(--text-sm)}.player-overlay-keyword span{font-family:var(--font-display);font-size:var(--text-xs)}.player-overlay-keyword--word{--overlay-keyword-ink: var(--keyword-word-ink);--overlay-keyword-surface: var(--keyword-word-surface);--overlay-keyword-rule: var(--keyword-word-rule)}.player-overlay-keyword--expression{--overlay-keyword-ink: var(--keyword-expression-ink);--overlay-keyword-surface: var(--keyword-expression-surface);--overlay-keyword-rule: var(--keyword-expression-rule)}.player-overlay-keyword--grammar{--overlay-keyword-ink: var(--keyword-grammar-ink);--overlay-keyword-surface: var(--keyword-grammar-surface);--overlay-keyword-rule: var(--keyword-grammar-rule)}.player-overlay-more{background:#12110fb3;color:#fff;font-family:var(--font-outlier);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:center}.player-overlay-more:hover,.player-overlay-more:active{background:#12110fb3;color:#fff}@media(max-width:45rem){.player-overlay-subtitles{inset-block-end:12px;width:calc(100% - 24px)}.player-overlay-keywords{inset-block-start:8px;inset-inline-end:8px;width:min(39%,168px);gap:3px}.player-overlay-keyword{min-height:44px;padding:5px 7px}.player-overlay-keyword span{display:-webkit-box;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:1}}.el-button.el-button--primary:not(.is-disabled):hover,.wide-primary:not(:disabled):hover,.primary-control:not(:disabled):hover,.review-complete-btn:not(:disabled):hover,.my-entry-btn:not(:disabled):hover,.dialog-btn--primary:not(:disabled):hover,.loading-retry:not(:disabled):hover{background:var(--color-primary)}.el-button.el-button:not(.el-button--primary):not(.is-text):not(.is-link):not(.is-disabled):hover{background:var(--color-surface)}.el-button.el-button.is-text:not(.is-disabled):hover,.el-button.el-button.is-link:not(.is-disabled):hover,.subtitle-edit:not(:disabled):hover,.course-banner-actions .el-button:hover,.video-card-actions .el-button:hover{background:transparent}.current-edit-button:not(:disabled):hover{background:var(--color-surface)}.panel-tab:not(.active):hover,.review-mode-btn:not(.active):hover{background:transparent}.panel-tab.active:hover,.review-mode-btn.active:hover,.mode-button.active:hover,.pill-button.active:hover{background:var(--color-primary-soft)}.mode-button:not(.active):hover,.pill-button:not(.active):hover{background:#ffffffe6}.review-rate-btn--forget:hover{background:#fef2f2}.review-rate-btn--vague:hover{background:#fffbeb}.review-rate-btn--know:hover{background:#f0fdf4}.subtitle-card .favorite-inline.active,.keyword-card .vocab-add-btn.active,.keyword-detail-actions .keyword-detail-favorite.active{background:transparent}@media(max-width:47.5rem),(max-height:31rem)and (max-width:60rem){.workspace{grid-template-rows:auto 34px 56px 52px minmax(160px,1fr)}.current-card{display:none}.study-panel-body{grid-row:5}.subtitle-card{grid-template-columns:44px minmax(0,1fr) auto}.subtitle-copy .favorite-inline,.subtitle-meta{width:44px;min-width:44px}}@media(min-width:47.51rem)and (max-width:60rem)and (max-height:31rem){.workspace{grid-template-rows:minmax(180px,56vh) 34px 56px 52px minmax(160px,1fr)}.media-stage{height:100%;min-height:180px}.media-stage .media-frame{min-height:0}}.album-copy h2,.album-copy h2[lang=ja],.course-section--detail .video-grid,.course-section--detail .video-card,.course-section--detail .video-card-title,.course-section--detail .video-card-meta,#sentence-review-main,#sentence-review-main .flashcard,#sentence-review-main .flashcard-word,#sentence-review-main .flashcard-meaning,#sentence-review-main .flashcard-hint,#sentence-review-main .flashcard-example,#sentence-review-main .flashcard-source,#sentence-review-main .review-rating{font-family:var(--font-display)}#sentence-review-main .flashcard-face,#sentence-review-main .flashcard-face *,#sentence-review-main .review-rating *{font-family:var(--font-display)!important}#sentence-review-main .flashcard-face,#sentence-review-main .flashcard-label,#sentence-review-main .flashcard-source,#sentence-review-main .review-rating,#sentence-review-main .review-rate-btn{border-radius:0}#sentence-review-main .flashcard-face{border-inline-start:4px solid var(--color-primary);box-shadow:none}.el-overlay:has(.el-dialog.keyword-detail-dialog){z-index:10000!important;background:var(--color-backdrop);-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.el-dialog.keyword-detail-dialog{isolation:isolate;background:var(--color-surface)!important;opacity:1;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}@media(max-width:60rem),(pointer:coarse){.el-dialog__headerbtn,.el-message-box__headerbtn{width:44px;min-width:44px;height:44px;min-height:44px}}.app-loading-transition{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2100;display:grid;place-items:center;padding:var(--space-md);overflow:hidden;color:var(--color-ink);background:var(--color-paper);opacity:1;transition:opacity .18s var(--ease-in-out, cubic-bezier(.65, 0, .35, 1))}.app-loading-transition.is-leaving{pointer-events:none;opacity:0}.loading-transition-content{opacity:1;transform:none;transition:opacity .18s var(--ease-in-out, cubic-bezier(.65, 0, .35, 1))}.loading-transition-content.is-covered{opacity:0;transform:none}.loading-transition-content.is-entering{opacity:1;transform:translateY(0)}.loading-paper{width:min(100%,36rem);padding:var(--space-xl) var(--space-lg);display:grid;justify-items:center;color:var(--color-ink);font-family:var(--font-display);text-align:center;opacity:1;transform:translateY(0);transition:opacity .18s var(--ease-in, cubic-bezier(.7, 0, .84, 0)),transform .18s var(--ease-in-out, cubic-bezier(.65, 0, .35, 1))}.app-loading-transition.is-leaving .loading-paper{opacity:0;transform:translateY(-6px)}.loading-page-number{min-width:2.5rem;padding-block-end:var(--space-2xs);border-block-end:var(--rule-fine) solid var(--color-primary);color:var(--color-primary);font-family:var(--font-outlier);font-size:var(--text-sm);font-variant-numeric:tabular-nums;line-height:1;animation:loading-page-breathe 1.8s ease-in-out infinite alternate}.loading-kicker{margin:var(--space-sm) 0 0;color:var(--color-muted);font-family:var(--font-outlier);font-size:var(--text-xs);line-height:1.4}.loading-paper h2{margin:var(--space-xs) 0 0;color:var(--color-ink);font-size:var(--text-2xl);font-weight:500;line-height:1.4}.loading-detail{max-width:30rem;margin:var(--space-2xs) 0 0;color:var(--color-ink-2);font-size:var(--text-sm);line-height:1.8}.loading-rule{position:relative;width:190px;height:1px;margin-block-start:var(--space-lg);background:var(--color-rule);transform:scaleX(1);transition:transform .18s var(--ease-in-out, cubic-bezier(.65, 0, .35, 1))}.app-loading-transition.is-leaving .loading-rule{transform:scaleX(0)}.loading-ink-cursor{position:absolute;inset-block-start:-1px;inset-inline-start:0;width:28px;border-block-start:2px solid var(--color-primary);animation:loading-cursor 1.45s ease-in-out infinite alternate}.loading-activity{margin:var(--space-sm) 0 0;display:flex;align-items:center;justify-content:center;gap:var(--space-3xs);color:var(--color-muted);font-family:var(--font-outlier);font-size:var(--text-xs);line-height:1}.loading-activity>span{margin-inline-end:var(--space-3xs)}.loading-activity-dot{width:3px;height:3px;display:block;background:currentColor;opacity:.3;animation:loading-dot 1.2s ease-in-out infinite}.loading-activity-dot:nth-of-type(2){animation-delay:.16s}.loading-activity-dot:nth-of-type(3){animation-delay:.32s}.loading-retry{min-width:8rem;margin-block-start:var(--space-lg);padding:var(--space-2xs) var(--space-md);border:0;border-radius:0;background:var(--color-primary);color:var(--color-primary-foreground);font-family:var(--font-display);cursor:pointer}.loading-retry:not(:disabled):hover,.loading-retry:not(:disabled):active{border:0;background:var(--color-primary);color:var(--color-primary-foreground)}.loading-retry:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}@keyframes loading-cursor{0%{transform:translate(0) scaleX(.72)}to{transform:translate(162px) scaleX(1)}}@keyframes loading-page-breathe{0%{opacity:.48;transform:translateY(1px)}to{opacity:1;transform:translateY(-1px)}}@keyframes loading-dot{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}@media(max-width:30rem){.app-loading-transition{padding:var(--space-sm)}.loading-paper{padding:var(--space-lg) var(--space-sm)}.loading-paper h2{font-size:var(--text-xl)}}@media(max-width:47.5rem){#sentence-review-main{padding-block-end:calc(84px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.app-loading-transition,.loading-transition-content,.loading-paper,.loading-rule{transition:none}.loading-ink-cursor,.loading-page-number,.loading-activity-dot{animation:none}}button.favorite-button.favorite-button{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:inline-grid;place-items:center;border:0;border-radius:0;background:transparent;color:var(--color-muted);line-height:1;cursor:pointer}button.favorite-button.favorite-button.active{border:0;background:transparent;color:var(--color-primary)}button.favorite-button.favorite-button>svg{width:20px;height:20px;color:inherit}button.favorite-button.favorite-button:not(:disabled):hover,button.favorite-button.favorite-button:not(:disabled):active,button.favorite-button.favorite-button:disabled{border:0;background:transparent}button.favorite-button.favorite-button:not(:disabled):hover{opacity:.8;transform:translateY(-1px)}button.favorite-button.favorite-button:disabled{cursor:default}button.favorite-button.favorite-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.subtitle-list.subtitle-list--virtual{overflow-x:hidden}.subtitle-card{min-height:0;height:auto;margin-block-end:0;padding-block:var(--space-sm);align-items:start}.subtitle-card+.subtitle-card{border-block-start:var(--rule-hair) solid var(--color-rule)}.subtitle-content{min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:normal}.keyword-sentences-section,.keyword-card--word .keyword-sentences-section,.keyword-card--expression .keyword-sentences-section,.keyword-card--grammar .keyword-sentences-section{border-radius:0}button:not(.el-switch__action),.el-button.el-button{border:0}button:not(.el-switch__action):focus-visible,.el-button.el-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.el-dialog.el-dialog,.el-message-box.el-message-box,.el-popper.el-popover,.mobile-catalog-sheet{border-radius:0!important;background:var(--color-surface);-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.course-status-tag,.video-status-tag,.video-completed-tag,.video-in-progress-tag,.el-tag.el-tag,.course-progress-badge,.episode-pill,.badge-top,.keyword-type-tag,.keyword-tooltip-type,.vocab-extract-result-type,.headword-dropdown-type,.keyword-detail-type,.my-entry-badge{border-radius:2px}@media(max-width:45rem){.panel-header{padding-inline:var(--space-2xs);gap:var(--space-3xs)}.panel-header-left,.panel-actions{gap:var(--space-3xs)}}.review-mode-bar{width:min(600px,calc(100% - 2 * var(--space-md)));max-width:none;margin:0 auto;padding:var(--space-sm) 0 0;display:grid;gap:var(--space-2xs);border:0;background:transparent;font-family:var(--font-display);letter-spacing:0}.review-mode-label{color:var(--color-muted);font-size:var(--text-xs);line-height:1.4}.review-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-block-end:var(--rule-hair) solid var(--color-rule)}.review-mode-btn{--review-mode-background: transparent;min-width:0;min-height:44px;padding:var(--space-2xs) var(--space-xs);border:0;border-radius:0;background:var(--review-mode-background);color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-sm);font-weight:500;letter-spacing:0;line-height:1.4;cursor:pointer;transition:color .15s ease-out,opacity .15s ease-out}.review-mode-btn.active{--review-mode-background: var(--color-primary-soft);background:var(--review-mode-background);color:var(--color-primary);box-shadow:inset 0 -2px var(--color-primary)}.review-mode-btn:hover,.review-mode-btn:active{background:var(--review-mode-background)}.review-mode-btn:not(.active):hover{color:var(--color-ink)}.review-mode-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}#sentence-review-main,#sentence-review-main .flashcard-face,#sentence-review-main .flashcard-face *,#sentence-review-main .flashcard-source{font-family:var(--font-display);letter-spacing:0}#sentence-review-main .review-progress{margin-block-end:var(--space-md);display:grid;gap:var(--space-2xs)}#sentence-review-main .review-progress-copy{display:flex;align-items:baseline;justify-content:center;gap:var(--space-3xs);color:var(--color-muted);font-variant-numeric:tabular-nums}#sentence-review-main .review-progress-current{color:var(--color-primary);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;line-height:1}#sentence-review-main .review-progress-separator,#sentence-review-main .review-progress-total{font-size:var(--text-sm)}#sentence-review-main .review-progress-label{margin-inline-start:var(--space-3xs);font-family:var(--font-outlier);font-size:var(--text-xs)}#sentence-review-main .review-progress-bar{height:2px;border-radius:0;background:var(--color-rule)}#sentence-review-main .review-progress-fill{border-radius:0;background:var(--color-primary)}#sentence-review-main .flashcard-face{padding:clamp(var(--space-lg),7vw,var(--space-xl));overflow:hidden;border-radius:0;border-inline-start:4px solid var(--color-primary);background:var(--color-surface);box-shadow:none}#sentence-review-main .flashcard-divider{width:100%;height:var(--rule-fine);flex:0 0 auto;margin:var(--space-md) 0;background:var(--color-rule-2)}#sentence-review-main .flashcard-label{border-radius:0}#sentence-review-main .flashcard-word,#sentence-review-main .flashcard-meaning,#sentence-review-main .flashcard-example-text{max-width:100%;overflow-wrap:anywhere;word-break:normal}#sentence-review-main .flashcard-source{border-radius:0;background:transparent}#sentence-review-main .flashcard-source:hover,#sentence-review-main .flashcard-source:active{background:transparent}#sentence-review-main .review-rating{position:static;width:100%;margin-block-start:var(--space-sm);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xs);font-family:var(--font-display)}.review-card-enter-active,.review-card-leave-active{transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}.review-card-enter-from{opacity:0;transform:translateY(6px)}.review-card-leave-to{opacity:0;transform:translateY(-6px)}#sentence-review-main .review-rate-btn{position:relative;width:100%;min-width:0;height:44px;min-height:44px;padding:var(--space-2xs) var(--space-xs);display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--space-2xs);border:0;border-radius:0;background:var(--color-paper);font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;letter-spacing:0;line-height:1;box-shadow:none;transform:none}#sentence-review-main .review-rate-btn.is-selected:after{content:"";position:absolute;inset-inline:24%;inset-block-end:0;height:2px;background:currentColor}#sentence-review-main .review-rate-btn--forget{color:var(--color-danger)}#sentence-review-main .review-rate-btn--vague{color:var(--color-keyword-expression)}#sentence-review-main .review-rate-btn--know{color:var(--color-keyword-word)}#sentence-review-main .review-rate-btn:hover,#sentence-review-main .review-rate-btn:active,#sentence-review-main .review-rate-btn:disabled{border:0;background:var(--color-paper);box-shadow:none;transform:none}#sentence-review-main .review-rate-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media(max-width:30rem){.review-mode-bar{width:min(100% - 2 * var(--space-sm),600px)}#sentence-review-main .flashcard-face{padding:var(--space-lg) var(--space-md)}#sentence-review-main .review-rating{gap:var(--space-3xs)}#sentence-review-main .review-rate-btn{padding-inline:var(--space-3xs);gap:var(--space-3xs);font-size:var(--text-xs)}}@media(prefers-reduced-motion:reduce){#sentence-review-main .flashcard,.review-card-enter-active,.review-card-leave-active{transition:none!important}.review-card-enter-from,.review-card-leave-to{transform:none}}.el-dialog.font-size-dialog{width:min(760px,calc(100vw - 32px))!important;max-height:calc(100dvh - 32px);margin:16px auto!important}.el-dialog.font-size-dialog .el-dialog__body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.font-size-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.72fr);align-items:start;gap:var(--space-md)}.font-size-controls,.subtitle-display-settings{min-width:0;display:grid;gap:var(--space-xs)}.font-size-preview{min-height:78px;border-radius:2px;gap:3px}.subtitle-area{min-height:0;overflow:hidden}.subtitle-list.subtitle-list--virtual{min-height:0;display:block;overflow-x:hidden;overflow-y:auto}.subtitle-card{width:100%;min-width:0;min-height:0;height:auto;display:grid;grid-template-columns:minmax(44px,52px) minmax(0,1fr) 44px;grid-auto-rows:auto;align-items:start;overflow:visible}.subtitle-copy,.subtitle-content,.subtitle-content .source-line,.subtitle-content .target-line{min-width:0;width:100%}.subtitle-content .source-line,.subtitle-content .target-line{display:block;line-height:1.65;white-space:normal;overflow-wrap:anywhere}.subtitle-actions{width:44px;align-self:center}@media(max-width:45rem){.font-size-panel{grid-template-columns:minmax(0,1fr)}}.mobile-catalog-list{grid-auto-rows:auto;gap:var(--space-2xs)}.mobile-catalog-list button{width:100%;min-height:72px;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;overflow:hidden;line-height:1.35;transform:none}.mobile-catalog-list button:hover,.mobile-catalog-list button:active{transform:none}.mobile-catalog-list .mobile-catalog-step{align-self:stretch;overflow:hidden}.mobile-catalog-list .mobile-catalog-step>strong{line-height:1}.mobile-catalog-list button>strong,.mobile-catalog-list button>em{align-self:center;line-height:1.35}.player-overlay-source{font-size:var(--overlay-source-size)}.player-overlay-target{font-size:var(--overlay-target-size)}.player-overlay-source .keyword-chip,.player-overlay-source .keyword-chip:hover,.player-overlay-source .keyword-chip:active{background:transparent}.media-stage:fullscreen .player-overlay-subtitles{inset-block-end:clamp(18px,3vmin,40px);width:min(76%,1200px);gap:clamp(5px,.8vmin,10px)}.media-stage:fullscreen .player-overlay-source,.media-stage:fullscreen .player-overlay-target{padding:clamp(4px,.65vmin,8px) clamp(10px,1.2vmin,18px)}.media-stage:fullscreen .player-overlay-source{font-size:clamp(calc(var(--overlay-source-size) * 1.2),calc(var(--overlay-source-size) * 1.3 + .1vmin),calc(var(--overlay-source-size) * 1.65))}.media-stage:fullscreen .player-overlay-target{font-size:clamp(calc(var(--overlay-target-size) * 1.2),calc(var(--overlay-target-size) * 1.3 + .1vmin),calc(var(--overlay-target-size) * 1.65))}.media-stage:fullscreen .player-overlay-keywords{inset-block-start:clamp(16px,2.4vmin,36px);inset-inline-end:clamp(16px,2.4vmin,36px);width:min(34%,clamp(300px,24vw,420px));gap:clamp(5px,.8vmin,10px)}.media-stage:fullscreen .player-overlay-keyword{padding:clamp(8px,1.1vmin,14px) clamp(11px,1.4vmin,18px)}.media-stage:fullscreen .player-overlay-keyword strong{font-size:clamp(calc(var(--text-sm) * 1.2),calc(var(--text-sm) * 1.3 + .1vmin),calc(var(--text-sm) * 1.65))}.media-stage:fullscreen .player-overlay-keyword span{font-size:clamp(calc(var(--text-xs) * 1.2),calc(var(--text-xs) * 1.3 + .1vmin),calc(var(--text-xs) * 1.65))}.source-line .keyword-chip,.target-line .keyword-chip,.player-overlay-source .keyword-chip,.player-overlay-target .keyword-chip{font:inherit;line-height:inherit;letter-spacing:inherit}.player-overlay-source,.player-overlay-target{background:transparent;padding-inline:0}.player-overlay-source .cloze-hidden{color:transparent!important;background:transparent!important;text-shadow:none!important}.control-loop-readout{position:absolute;inset-block-start:2px;inset-inline-end:0;min-width:18px;padding:1px 3px;color:var(--color-primary);font-family:"Noto Serif SC",Georgia,Times New Roman,serif;font-size:13px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;text-align:center;pointer-events:none}.mobile-player-controls{position:relative}.mobile-loop-readout{inset-block-start:4px;inset-inline-end:4px}.player-overlay-keywords{inset-block-start:50%;transform:translateY(-50%);max-height:min(78%,520px);overflow:visible}.media-stage:fullscreen .player-overlay-keywords{inset-block-start:50%;transform:translateY(-50%)}.player-overlay-keyword{display:flex;align-items:center;gap:var(--space-2xs);text-decoration:none}.player-overlay-keyword-trigger{min-width:0;flex:1 1 auto;padding:0;display:grid;gap:2px;border:0;background:transparent;color:inherit;text-align:start;cursor:pointer}.player-overlay-keyword-trigger:hover,.player-overlay-keyword-trigger:active{background:transparent;color:inherit}.keyword-title{padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:start;cursor:pointer}.keyword-title:hover,.keyword-title:active{background:transparent;color:inherit}.player-overlay-keyword-favorite{flex:0 0 28px;width:28px;min-width:28px;height:28px;min-height:28px;padding:0;border:0;background:transparent}.player-overlay-keyword-favorite:hover,.player-overlay-keyword-favorite:focus,.player-overlay-keyword-favorite:active{background:transparent;color:inherit}.mobile-catalog-list button:hover,.mobile-catalog-list button:focus,.mobile-catalog-list button:focus-visible,.segment-cue-list button:hover,.segment-cue-list button:focus,.segment-cue-list button:focus-visible{transform:none;background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-ink);box-shadow:none}.mobile-catalog-list button:focus-visible,.segment-cue-list button:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 72%,transparent);outline-offset:2px}input[type=range],.loop-range{--progress: 0%;width:100%;accent-color:var(--color-primary);border:0;border-radius:0}input[type=range]::-moz-range-track{height:3px;border:0;border-radius:0;background:var(--color-rule-2)}input[type=range]::-moz-range-progress{height:3px;border-radius:0;background:var(--color-primary)}input[type=range]::-moz-range-thumb{width:14px;height:14px;border:2px solid var(--color-surface);border-radius:0;background:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}@media(max-width:47.5rem),(max-height:31rem)and (max-width:60rem){.workspace{grid-template-rows:auto 30px 52px 44px minmax(160px,1fr)}.player-overlay-keywords{inset-block-start:8px;width:min(42%,180px);transform:none}}.segment-cue-list button.selected,.segment-cue-list button.boundary-start,.segment-cue-list button.boundary-end{border-color:var(--color-primary);background-color:var(--color-primary-soft)}.vocab-extract-progress{display:grid;gap:6px}.vocab-extract-progress-label{margin:0;color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-xs);line-height:1.4}.review-main,.review-main .flashcard-face,.review-main .flashcard-face *,.review-main .flashcard-source{font-family:var(--font-display);letter-spacing:0}.review-main .flashcard-face{padding:clamp(var(--space-lg),7vw,var(--space-xl));overflow:hidden;border-radius:0;border-inline-start:4px solid var(--color-primary);background:var(--color-surface);box-shadow:none}.review-main .flashcard-label{border-color:var(--color-rule);border-radius:0;background:var(--color-primary-soft);color:var(--color-primary);opacity:1}.review-main .flashcard-word,.review-main .flashcard-meaning,.review-main .flashcard-example-text{max-width:100%;overflow-wrap:anywhere;word-break:normal}.review-main .flashcard-source{border-radius:0;background:transparent}.review-main .flashcard-source:hover,.review-main .flashcard-source:active{background:transparent}.review-main .review-rating{position:static;width:100%;margin-block-start:var(--space-sm);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xs);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-family:var(--font-display)}.review-main .review-rate-btn{position:relative;width:100%;min-width:0;height:44px;min-height:44px;padding:var(--space-2xs) var(--space-xs);display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--space-2xs);border:0;border-radius:0;background:var(--color-paper);font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;letter-spacing:0;line-height:1;box-shadow:none;transform:none}.review-main .review-rate-btn.is-selected:after{content:"";position:absolute;inset-inline:24%;inset-block-end:0;height:2px;background:currentColor}.review-main .review-rate-btn--forget{color:var(--color-danger)}.review-main .review-rate-btn--vague{color:var(--color-keyword-expression)}.review-main .review-rate-btn--know{color:var(--color-keyword-word)}.review-main .review-rate-btn:hover,.review-main .review-rate-btn:active,.review-main .review-rate-btn:disabled{border:0;background:var(--color-paper);box-shadow:none;transform:none}.review-main .review-rate-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media(max-width:30rem){.review-main .review-rating{gap:var(--space-3xs)}.review-main .review-rate-btn{padding-inline:var(--space-3xs);gap:var(--space-3xs);font-size:var(--text-xs)}}@media(prefers-reduced-motion:reduce){.review-main .flashcard{transition:none!important}}#vocab-review-main .review-progress{margin-block-end:var(--space-md);display:grid;gap:var(--space-2xs)}#vocab-review-main .review-progress-copy{display:flex;align-items:baseline;justify-content:center;gap:var(--space-3xs);color:var(--color-muted);font-variant-numeric:tabular-nums}#vocab-review-main .review-progress-current{color:var(--color-primary);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;line-height:1}#vocab-review-main .review-progress-separator,#vocab-review-main .review-progress-total{font-size:var(--text-sm)}#vocab-review-main .review-progress-label{margin-inline-start:var(--space-3xs);font-family:var(--font-outlier);font-size:var(--text-xs)}#vocab-review-main .review-progress-bar{height:2px;border-radius:0;background:var(--color-rule)}#vocab-review-main .review-progress-fill{border-radius:0;background:var(--color-primary)}#vocab-review-main .flashcard-source{border:0;border-block:var(--rule-hair) solid var(--color-rule);border-radius:0;background:transparent;color:var(--color-muted)}#vocab-review-main .flashcard-source:hover,#vocab-review-main .flashcard-source:active{background:transparent;color:var(--color-primary)}#vocab-review-main .flashcard-source .el-icon{color:var(--color-primary)}#vocab-review-main .flashcard-back{align-items:stretch;justify-content:flex-start;overflow:visible;text-align:start}#vocab-review-main .flashcard-definition-heading{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:var(--space-2xs);padding-block-end:var(--space-xs);border-block-end:var(--rule-fine) solid var(--color-rule-2);text-align:center}#vocab-review-main .flashcard-definition-types{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-2xs)}#vocab-review-main .flashcard-definition-heading .flashcard-label{margin:0}#vocab-review-main .flashcard-type-tag{padding:var(--space-3xs) var(--space-2xs);border:var(--rule-hair) solid var(--color-keyword-word-border);background:var(--color-keyword-word-background);color:var(--color-keyword-word-ink);font-family:var(--font-display);font-size:var(--text-xs);line-height:1.25}#vocab-review-main .flashcard-pos-tag,#vocab-review-main .flashcard-definition-pos{display:inline-flex;align-items:center;min-height:1.5rem;padding:var(--space-3xs) var(--space-2xs);border:var(--rule-hair) solid var(--flashcard-pos-ink, var(--keyword-pos-noun-ink));border-radius:2px;background:var(--flashcard-pos-surface, var(--keyword-pos-noun-surface));color:var(--flashcard-pos-ink, var(--keyword-pos-noun-ink));font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;line-height:1.2}#vocab-review-main .flashcard-pos-tag--noun,#vocab-review-main .flashcard-definition-pos--noun{--flashcard-pos-ink: var(--keyword-pos-noun-ink);--flashcard-pos-surface: var(--keyword-pos-noun-surface)}#vocab-review-main .flashcard-pos-tag--verb,#vocab-review-main .flashcard-definition-pos--verb{--flashcard-pos-ink: var(--keyword-pos-verb-ink);--flashcard-pos-surface: var(--keyword-pos-verb-surface)}#vocab-review-main .flashcard-pos-tag--adjective,#vocab-review-main .flashcard-definition-pos--adjective{--flashcard-pos-ink: var(--keyword-pos-adjective-ink);--flashcard-pos-surface: var(--keyword-pos-adjective-surface)}#vocab-review-main .flashcard-pos-tag--adverb,#vocab-review-main .flashcard-definition-pos--adverb{--flashcard-pos-ink: var(--keyword-pos-adverb-ink);--flashcard-pos-surface: var(--keyword-pos-adverb-surface)}#vocab-review-main .flashcard-pos-tag--phrase,#vocab-review-main .flashcard-definition-pos--phrase{--flashcard-pos-ink: var(--keyword-pos-phrase-ink);--flashcard-pos-surface: var(--keyword-pos-phrase-surface)}#vocab-review-main .flashcard-pos-tag--idiom,#vocab-review-main .flashcard-definition-pos--idiom{--flashcard-pos-ink: var(--keyword-pos-idiom-ink);--flashcard-pos-surface: var(--keyword-pos-idiom-surface)}#vocab-review-main .flashcard-pos-tag--phrasal-verb,#vocab-review-main .flashcard-definition-pos--phrasal-verb{--flashcard-pos-ink: var(--keyword-pos-phrasal-verb-ink);--flashcard-pos-surface: var(--keyword-pos-phrasal-verb-surface)}#vocab-review-main .flashcard-word,#vocab-review-main .flashcard-definition-word{display:block;margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;line-height:1.4;overflow-wrap:anywhere}#vocab-review-main .flashcard-word[lang=ja],#vocab-review-main .flashcard-definition-word[lang=ja]{font-family:var(--font-japanese-display)}#vocab-review-main .flashcard-pronunciation,#vocab-review-main .flashcard-definition-pronunciation{display:block;color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-sm);line-height:1.4;overflow-wrap:anywhere}#vocab-review-main .flashcard-pronunciation[lang=ja],#vocab-review-main .flashcard-definition-pronunciation[lang=ja]{font-family:var(--font-japanese-display)}#vocab-review-main .flashcard-meaning{width:100%;display:block;margin:var(--space-sm) 0 0;color:var(--color-ink-2);font-family:var(--font-display);font-size:clamp(1rem,2vw,1.25rem);font-weight:400;line-height:1.65;overflow-wrap:anywhere;white-space:pre-line;text-align:start}#vocab-review-main .flashcard{display:grid;height:auto;min-height:0;--vocab-example-ink: var(--keyword-word-ink)}#vocab-review-main .flashcard-face{position:relative;inset:auto;grid-area:1 / 1;min-height:280px;overflow:visible}#vocab-review-main .flashcard--expression{--vocab-example-ink: var(--keyword-expression-ink)}#vocab-review-main .flashcard--grammar{--vocab-example-ink: var(--keyword-grammar-ink)}#vocab-review-main .flashcard-example{margin-block-start:var(--space-md);padding:var(--space-sm) var(--space-sm) var(--space-xs);border-block-start:var(--rule-fine) solid var(--color-rule-2);border-inline-start:var(--rule-fine) solid var(--vocab-example-ink);background:var(--keyword-example-neutral-surface);text-align:center}#vocab-review-main .flashcard-example-label{display:flex;align-items:center;justify-content:center;width:max-content;margin-inline:auto;margin-block-end:var(--space-2xs);padding:var(--space-3xs) var(--space-2xs);border:var(--rule-hair) solid var(--vocab-example-ink);background:transparent;color:var(--vocab-example-ink);font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;line-height:1.25}#vocab-review-main .flashcard-example-item{margin:0;padding-block:var(--space-2xs)}#vocab-review-main .flashcard-example-item+.flashcard-example-item{margin:0;padding-block-start:var(--space-sm);border-block-start:var(--rule-hair) solid var(--color-rule)}#vocab-review-main .flashcard-example-text{margin:0;color:var(--color-ink-2);font-family:var(--font-body);font-size:1rem;line-height:1.55;text-align:center;overflow-wrap:anywhere;white-space:pre-line}#vocab-review-main .flashcard-example-text[lang=ja]{font-family:var(--font-japanese-display)}#vocab-review-main .flashcard-example-text[lang=zh-CN],#vocab-review-main .flashcard-example-translation{color:var(--color-ink-2);font-family:var(--font-display);font-size:.9375rem;line-height:1.55}#vocab-review-main .flashcard-example-translation{margin:var(--space-3xs) 0 0;text-align:center}#vocab-review-main .flashcard-example-source{display:block;margin-block-start:var(--space-2xs);padding-block-start:var(--space-3xs);border-block-start:var(--rule-hair) solid var(--color-rule);color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-xs);line-height:1.4;text-align:center}#vocab-review-main .flashcard-back .flashcard-hint{align-self:center;width:100%;text-align:center}#vocab-review-main .flashcard-example-glossary-text{margin:0;color:var(--color-ink)}#vocab-review-main .flashcard-definition-list{display:grid;gap:var(--space-sm);text-align:start}#vocab-review-main .flashcard-definition-entry{min-width:0;display:grid;grid-template-columns:2rem minmax(0,1fr);gap:var(--space-2xs);align-items:start}#vocab-review-main .flashcard-definition-index{color:var(--vocab-example-ink);font-family:var(--font-display);font-size:1.35rem;font-weight:500;line-height:1.2}#vocab-review-main .flashcard-definition-body{min-width:0}#vocab-review-main .flashcard-definition-body--standalone{grid-column:1 / -1}#vocab-review-main .flashcard-definition-text{margin:0;color:var(--color-ink-2);font-family:var(--font-display);font-size:var(--text-md);line-height:1.65;overflow-wrap:anywhere;white-space:pre-line}#vocab-review-main .flashcard-definition-pos{margin-inline-end:var(--space-2xs);vertical-align:baseline;white-space:nowrap}#vocab-review-main .flashcard-definition-examples{margin-block-start:var(--space-sm);padding-inline-start:var(--space-sm);border-inline-start:var(--rule-fine) solid var(--vocab-example-ink)}#vocab-review-main .flashcard-definition-example-text{margin:0;color:var(--color-ink-2);font-family:var(--font-body);font-size:var(--text-md);line-height:1.55;overflow-wrap:anywhere;white-space:pre-line}#vocab-review-main .flashcard-definition-example-text+.flashcard-definition-example-text{margin-block-start:var(--space-sm)}#vocab-review-main .flashcard-definition-example-text[lang=ja]{font-family:var(--font-japanese-display)}#vocab-review-main .flashcard-definition-example-text[lang=zh-CN]{font-family:var(--font-display);font-size:.9375rem}#vocab-review-main .flashcard--expression .flashcard-type-tag{border-color:var(--color-keyword-expression-border);background:var(--color-keyword-expression-background);color:var(--color-keyword-expression-ink)}#vocab-review-main .flashcard--grammar .flashcard-type-tag{border-color:var(--color-keyword-grammar-border);background:var(--color-keyword-grammar-background);color:var(--color-keyword-grammar-ink)}.media-stage--mobile-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;width:100vw;height:var(--app-height, 100dvh);border-radius:0;background:#000}.media-stage--mobile-fullscreen .media-frame{width:100%;height:100%;border-radius:0}.media-stage--mobile-fullscreen .player-overlay-subtitles{inset-block-end:max(18px,env(safe-area-inset-bottom,18px));width:min(92%,1200px)}.media-stage--mobile-fullscreen .player-overlay-keywords{inset-block-start:8px;inset-inline-end:8px;width:min(39%,240px);transform:none}.mobile-fullscreen-exit{position:absolute;inset-block-start:max(8px,env(safe-area-inset-top,8px));inset-inline-end:max(8px,env(safe-area-inset-right,8px));z-index:10;width:44px;height:44px;padding:0;display:grid;place-items:center;border:0;border-radius:0;background:#0000008c;color:#fff}.mobile-fullscreen-exit svg{width:22px;height:22px}.el-dialog.cue-editor-dialog{width:min(900px,calc(100vw - 48px))!important;max-width:calc(100vw - 48px);max-height:calc(var(--app-height, 100dvh) - 48px);margin:24px auto!important}.cue-editor-dialog-overlay.el-overlay,.cue-editor-dialog.el-overlay{height:var(--app-height, 100dvh);overflow:hidden}.cue-editor-dialog-overlay.el-overlay .el-overlay-dialog,.cue-editor-dialog.el-overlay .el-overlay-dialog{top:var(--visual-viewport-top, 0px);left:var(--visual-viewport-left, 0px);right:auto;bottom:auto;width:var(--visual-viewport-width, 100vw);box-sizing:border-box;height:var(--app-height, 100dvh);max-height:var(--app-height, 100dvh);padding:12px;display:flex;align-items:center;justify-content:center;overflow:auto;overscroll-behavior:contain}.cue-editor-dialog-overlay.el-overlay .el-dialog,.cue-editor-dialog.el-overlay .el-dialog{display:flex;flex-direction:column;min-height:0;overflow:hidden;flex:0 1 auto;margin:0!important}.cue-editor-dialog .el-dialog__header,.cue-editor-dialog .el-dialog__footer{flex:0 0 auto}.el-dialog.cue-editor-dialog .el-dialog__body{max-height:calc(var(--app-height, 100dvh) - 156px);min-height:0;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:var(--space-sm) var(--space-md);overscroll-behavior:contain}.cue-editor-dialog .el-dialog__footer{padding:var(--space-sm) var(--space-md) max(var(--space-sm),env(safe-area-inset-bottom,0px));border-top:var(--rule-hair) solid var(--color-rule)}.cue-editor-footer{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.cue-editor-save-status{min-width:0;min-height:28px;padding:var(--space-3xs) var(--space-xs);display:inline-flex;align-items:center;align-self:flex-start;border-inline-start:2px solid var(--color-primary);background:var(--color-primary-soft);color:var(--color-ink-2);font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;line-height:1.35;white-space:nowrap}.cue-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2xs);margin-inline-start:auto}.cue-editor-actions .el-button{min-width:96px;min-height:40px;margin:0;border-radius:var(--radius-control);font-family:var(--font-display);font-weight:600}.cue-editor-cancel{border-color:var(--color-rule);background:var(--color-surface);color:var(--color-ink-2)}.cue-editor-save{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-foreground)}.cue-waveform{--waveform-height: 110px;display:grid;gap:var(--space-2xs);margin-block-end:var(--space-sm);padding:var(--space-xs);border:var(--rule-hair) solid var(--color-rule);background:var(--color-surface)}.cue-waveform-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);flex-wrap:wrap}.cue-waveform-toolbar{display:flex;align-items:center;gap:var(--space-2xs);font-size:var(--text-xs);color:var(--color-ink-2);font-variant-numeric:tabular-nums}.cue-waveform-toolbar{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:3px}.cue-waveform-toolbar button[aria-pressed=true]{background:var(--color-primary-soft);border-color:var(--color-primary)}.cue-waveform-toolbar>*{flex-shrink:0;white-space:nowrap}.cue-waveform-header>.cue-editor-header{flex:1 1 auto;min-width:0;margin:0;padding:0;border:0}.cue-waveform-toolbar button{min-height:44px;min-width:44px;padding:6px 10px;border:1px solid var(--color-rule);background:var(--color-surface);color:var(--color-ink);font:inherit;cursor:pointer}.cue-waveform-toolbar button:disabled{opacity:.5;cursor:default}.cue-waveform-toolbar button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.cue-waveform-toolbar button:not(:disabled):hover{background:var(--color-primary-soft)}.cue-waveform-reference{position:absolute;inset-block:0;border-inline-start:1px dashed var(--boundary-color);pointer-events:none}.cue-waveform-reference--previous{--boundary-color: var(--keyword-word-ink, #4e6b60)}.cue-waveform-reference--next{--boundary-color: var(--keyword-grammar-ink, #755e6c)}.cue-waveform-handle-label{position:absolute;inset-block-start:0;inset-inline-start:50%;padding:2px 4px;color:var(--color-primary-foreground);background:var(--color-primary);font-size:var(--text-xs);white-space:nowrap}.cue-waveform-handle--end .cue-waveform-handle-label{inset-block-start:auto;inset-block-end:0;transform:translate(-100%)}.cue-editor-header .cue-editor-reset{min-height:32px;margin-inline-start:auto}.cue-editor-header .cue-editor-reset+.cue-editor-delete{margin-inline-start:0}.cue-waveform-status{color:var(--color-muted);font-family:var(--font-outlier);font-size:var(--text-xs);font-variant-numeric:tabular-nums;line-height:1.4}.cue-waveform-surface{position:relative;min-width:0;height:var(--waveform-height);overflow:hidden;border:var(--rule-fine) solid var(--color-rule-2);background:var(--color-paper-2);cursor:ew-resize;touch-action:none}.cue-waveform-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;pointer-events:none}.cue-waveform-handle{position:absolute;inset-block:0;width:44px;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;cursor:ew-resize;transform:translate(-50%);touch-action:none}.cue-waveform-handle:after{content:"";position:absolute;inset-block:0;inset-inline-start:50%;width:3px;background:var(--color-primary);transform:translate(-50%)}.cue-waveform-handle--start{inset-block-end:50%}.cue-waveform-handle--end{inset-block-start:50%}.cue-waveform .cue-waveform-surface .cue-waveform-handle:hover,.cue-waveform .cue-waveform-surface .cue-waveform-handle:active{transform:translate(-50%)}.cue-waveform-handle--start:before,.cue-waveform-handle--end:before{content:"";position:absolute;inset-block-start:50%;inset-inline-start:50%;width:14px;height:14px;border:2px solid var(--color-surface);background:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);transform:translate(-50%,-50%)}.cue-waveform-handle:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}@media(max-width:45rem){.cue-editor-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.cue-editor-header .cue-editor-time{grid-column:1 / -1;grid-row:2;width:100%}.cue-editor-time .el-input{width:100%}.cue-editor-header .cue-editor-reset{grid-column:2;grid-row:1;margin-inline-start:0;justify-self:end}.cue-editor-header .cue-editor-delete{grid-column:3;grid-row:1}.cue-waveform{--waveform-height: 96px;padding:var(--space-2xs)}.el-dialog.cue-editor-dialog{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px);max-height:calc(var(--app-height, 100dvh) - 24px);margin:12px auto!important}.cue-editor-dialog.el-overlay .el-overlay-dialog{align-items:flex-start;padding:12px}.el-dialog.cue-editor-dialog .el-dialog__body{max-height:calc(var(--app-height, 100dvh) - 132px);min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-xs)}.cue-editor-dialog .el-dialog__footer{padding:var(--space-xs) var(--space-xs) max(var(--space-xs),env(safe-area-inset-bottom,0px))}.cue-editor-footer{align-items:stretch;flex-direction:column;gap:var(--space-xs)}.cue-editor-actions{width:100%;margin-inline-start:0}.cue-editor-actions .el-button{flex:1 1 0;min-height:44px}}@media(orientation:landscape)and (max-height:800px){.cue-editor-dialog-overlay.el-overlay .el-overlay-dialog,.cue-editor-dialog.el-overlay .el-overlay-dialog{align-items:flex-start;padding:max(8px,env(safe-area-inset-top,8px)) 12px max(8px,env(safe-area-inset-bottom,8px))}.el-dialog.cue-editor-dialog{max-height:calc(var(--app-height, 100dvh) - 16px);margin:8px auto!important}.cue-editor-card{padding:8px 12px;margin-bottom:8px}.cue-waveform{--waveform-height: 72px}.keyword-draft-content{gap:6px;padding:8px 10px}.cue-editor-dialog .el-dialog__footer{padding-block:8px}}.mobile-catalog-list.catalog-video-grid{grid-auto-rows:auto;grid-template-columns:minmax(0,1fr);align-content:start;gap:var(--space-2xs);padding-right:var(--space-2xs)}.mobile-catalog-list.catalog-video-grid button{min-width:0;min-height:88px;padding:var(--space-sm);display:flex;grid-template-columns:none;align-items:center;gap:var(--space-sm);border:var(--rule-hair) solid var(--color-rule);border-radius:0;background:var(--color-surface);color:var(--color-ink);font-family:var(--font-display);line-height:1.35;text-align:start;transform:none}.mobile-catalog-list.catalog-video-grid button:hover{border-color:var(--color-primary);background:var(--color-surface)}.mobile-catalog-list.catalog-video-grid button.active{border-color:var(--color-primary);background:var(--color-primary-soft)}.mobile-catalog-list.catalog-video-grid button>.mobile-catalog-step{width:58px;min-width:58px;height:auto;min-height:64px;align-self:stretch;flex:0 0 auto}.mobile-catalog-list.catalog-video-grid .mobile-catalog-step>strong{font-size:1.9rem;line-height:1}.mobile-catalog-list.catalog-video-grid button>.catalog-video-title{min-width:0;flex:1 1 auto;overflow:hidden;color:var(--color-ink);font-size:var(--text-sm);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.mobile-catalog-list.catalog-video-grid button>.catalog-video-meta{min-width:0;display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--space-2xs);margin:0;color:var(--color-muted);font-size:var(--text-xs);font-style:normal;font-weight:600;line-height:1;white-space:nowrap}.mobile-catalog-list.catalog-video-grid .catalog-video-meta .video-duration{color:var(--color-muted)}.mobile-catalog-list.catalog-video-grid .catalog-video-meta .video-status-tag{padding:3px 6px}.course-section--detail .film-shelf-banner{min-height:218px;background-position:center;background-size:cover}.course-section--detail .film-shelf-banner .course-banner-overlay{min-height:218px;padding:var(--space-md);align-items:flex-end;background:linear-gradient(180deg,#31201b14,#31201bd1)}.course-banner-kicker{display:block;margin-block-end:var(--space-3xs);color:var(--color-nav-ink);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.course-section--detail .film-shelf-banner .course-banner-info h2{font-size:var(--text-2xl)}.course-section--detail .film-shelf-banner .course-banner-info p{color:var(--color-nav-ink);font-size:var(--text-md);opacity:.9}.course-continue-action{min-height:40px;margin-block-start:var(--space-sm);padding:0 var(--space-sm);display:inline-flex;align-items:center;justify-content:center;border:var(--rule-hair) solid var(--color-accent);border-radius:var(--radius-control);background:var(--color-accent);color:var(--color-accent-ink);font-family:var(--font-display);font-size:var(--text-sm);text-decoration:none}.course-continue-action:hover,.course-continue-action:focus-visible{background:var(--color-accent);color:var(--color-accent-ink);transform:translateY(-1px)}.film-list{display:flex;flex-direction:column;border-inline:var(--rule-hair) solid var(--color-rule);background:var(--color-surface)}.film-list-header{min-height:48px;padding:0 var(--space-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);border-block-end:var(--rule-hair) solid var(--color-rule)}.film-list-header h3{margin:0;color:var(--color-ink);font:500 var(--text-lg)/1.2 var(--font-display)}.film-list-header span{color:var(--color-muted);font-size:var(--text-xs)}.film-row{min-height:88px;display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule);border-inline-start:3px solid transparent;background:var(--color-paper);transition:border-color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.film-row:last-of-type{border-block-end:0}.film-row:hover,.film-row:focus-within{border-inline-start-color:var(--color-accent);background:var(--color-surface)}.film-row--current{border-inline-start-color:var(--color-accent);background:var(--color-accent-soft)}.film-row.completed{border-inline-start-color:var(--color-sage)}.film-row .video-card-open{min-width:0;display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:var(--space-sm)}.film-scene-index{position:relative;width:84px;aspect-ratio:16 / 9;display:grid;place-items:end start;overflow:hidden;border:var(--rule-hair) solid var(--color-rule);background-color:var(--color-nav);background-position:center;background-size:cover}.film-scene-index:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#301f1a14,#301f1ab8)}.film-scene-index--fallback{background:var(--color-nav)}.film-scene-index strong{position:relative;z-index:1;padding:0 var(--space-2xs) var(--space-3xs);color:var(--color-nav-ink);font:500 1.6rem/1 var(--font-display)}.film-row-body{min-width:0}.film-row-title{display:block;overflow:hidden;color:var(--color-ink);font:500 var(--text-md)/1.35 var(--font-display);text-overflow:ellipsis;white-space:nowrap}.film-row-meta{min-height:24px;margin-block-start:var(--space-3xs);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2xs);color:var(--color-muted);font-size:var(--text-xs)}.film-row-duration{display:inline-flex;align-items:center;gap:3px}.film-row-duration svg{width:13px;height:13px}.film-row-status{min-width:56px;min-height:24px;padding:0 var(--space-2xs);display:inline-flex;align-items:center;justify-content:center;border:var(--rule-hair) solid transparent;border-radius:0;font-family:var(--font-display);font-size:var(--text-xs);line-height:1;white-space:nowrap}.film-row-status svg{width:12px;height:12px;margin-inline-end:3px}.film-row-status--completed{border-color:var(--color-sage);background:var(--color-sage-soft);color:var(--color-ink)}.film-row-status--progress{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent)}.film-row-status--idle{border-color:var(--color-rule);background:var(--color-paper-2);color:var(--color-muted)}.film-row-status--admin{border-color:var(--color-rule-2);background:var(--color-paper-2);color:var(--color-ink-2)}.film-row-status--admin.published{border-color:var(--color-sage);background:var(--color-sage-soft);color:var(--color-ink)}.film-row-status--admin.processing{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent)}.film-row-status--admin.draft,.film-row-status--admin.archived{border-color:var(--color-rule);background:var(--color-paper-2);color:var(--color-muted)}.film-row .video-card-actions{flex:0 0 auto;opacity:.65}.film-row:hover .video-card-actions,.film-row:focus-within .video-card-actions{opacity:1}@media(hover:hover)and (pointer:fine){.film-row:hover{transform:translateY(-1px)}}@media(max-width:47.49rem){.course-section--detail .film-shelf-banner,.course-section--detail .film-shelf-banner .course-banner-overlay{min-height:250px}.course-section--detail .film-shelf-banner .course-banner-overlay{display:flex;align-items:flex-end;padding:var(--space-sm)}.course-section--detail .film-shelf-banner .course-banner-info h2{font-size:var(--text-xl)}.course-continue-action{width:100%}.film-list-header{min-height:44px;padding-inline:var(--space-xs)}.film-row{min-height:82px;padding-inline:var(--space-xs);gap:var(--space-2xs)}.film-row .video-card-open{grid-template-columns:64px minmax(0,1fr);gap:var(--space-xs)}.film-scene-index{width:64px}.film-scene-index strong{font-size:1.3rem}.film-row-title{white-space:normal}.film-row-meta{gap:4px}.film-row-status{min-width:56px}}.course-section--detail .chapter-journey-banner{min-height:214px;background-color:var(--color-nav);background-image:var(--course-cover-image);background-position:center;background-size:cover}.course-section--detail .chapter-journey-banner .course-banner-overlay{min-height:214px;padding:var(--space-md);display:flex;align-items:flex-end;gap:var(--space-md);background:linear-gradient(90deg,#321b13eb,#321b13b8 58%,#321b1361);color:var(--color-nav-ink)}.chapter-journey-info{min-width:0;flex:1 1 auto}.chapter-journey-kicker{display:block;color:var(--color-nav-muted);font:500 var(--text-xs)/1.2 var(--font-outlier);letter-spacing:.08em}.chapter-journey-info h2{margin:var(--space-3xs) 0 0;color:var(--color-nav-ink);font:500 var(--text-2xl)/1.2 var(--font-display)}.chapter-journey-info p{max-width:42rem;margin:var(--space-2xs) 0 0;color:var(--color-nav-muted);font-size:var(--text-sm);line-height:1.55}.chapter-journey-summary{margin-block-start:var(--space-md);display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-sm)}.chapter-journey-summary strong{display:block;color:var(--color-nav-ink);font:500 2.5rem/.9 var(--font-display)}.chapter-journey-summary span{display:block;margin-block-start:var(--space-3xs);color:var(--color-nav-muted);font-size:var(--text-xs)}.chapter-journey-summary .course-continue-action{margin-block-start:0}.chapter-journey-progress-meta{margin-block-start:var(--space-sm);display:flex;justify-content:space-between;gap:var(--space-xs);color:var(--color-nav-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.chapter-journey-progress{height:3px;margin-block-start:var(--space-2xs);background:var(--color-nav-hover)}.chapter-journey-progress span{display:block;height:100%;background:var(--color-primary-soft)}.chapter-journey-admin-meta{align-self:flex-start;flex:0 0 auto}.chapter-journey-banner .course-banner-actions{align-self:flex-start}.chapter-journey-banner .course-status-tag{border-color:var(--color-nav-muted);background:var(--color-nav-hover);color:var(--color-nav-ink)}.chapter-journey-banner .course-banner-actions .el-button{border-color:var(--color-nav-hover);background:var(--color-nav-hover);color:var(--color-nav-ink)}.journey-list{border-inline:var(--rule-hair) solid var(--color-rule);background:var(--color-surface)}.journey-list-header{min-height:52px;padding:0 var(--space-md);display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);border-block-end:var(--rule-hair) solid var(--color-rule)}.journey-list-header h3{margin:0;color:var(--color-ink);font:500 var(--text-lg)/1.2 var(--font-display)}.journey-list-header span{color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.journey-line{position:relative;margin:var(--space-sm) var(--space-lg) var(--space-md);border-inline-start:var(--rule-hair) solid var(--color-rule-2)}.journey-node{position:relative;min-height:76px;padding:var(--space-2xs) 0 var(--space-2xs) var(--space-md);display:flex;align-items:center;gap:var(--space-xs);border-block-end:var(--rule-hair) solid var(--color-rule);background:transparent;transition:background-color var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.journey-node:last-child{border-block-end:0}.journey-node:before{content:"";position:absolute;inset-inline-start:-5px;width:9px;height:9px;border:var(--rule-hair) solid var(--color-rule-2);background:var(--color-paper)}.journey-node--done:before{border-color:var(--color-sage);background:var(--color-sage)}.journey-node--current{background:var(--color-accent-soft)}.journey-node--current:before{inset-inline-start:-6px;width:11px;height:11px;border-color:var(--color-primary);background:var(--color-primary)}.journey-node-link{min-width:0;flex:1 1 auto;display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:var(--space-sm);color:inherit;text-decoration:none}.journey-number{color:var(--color-primary);font:500 1.9rem/.9 var(--font-display);font-variant-numeric:lining-nums tabular-nums}.journey-node--done .journey-number{color:var(--color-sage)}.journey-node-body{min-width:0}.journey-node-title{display:block;overflow:hidden;color:var(--color-ink);font:500 var(--text-md)/1.35 var(--font-display);text-overflow:ellipsis;white-space:nowrap}.journey-node-meta{min-height:24px;margin-block-start:var(--space-3xs);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2xs);color:var(--color-muted);font-size:var(--text-xs)}.journey-duration{display:inline-flex;align-items:center;gap:3px}.journey-duration svg{width:13px;height:13px}.journey-status{min-width:56px;min-height:24px;padding:0 var(--space-2xs);display:inline-flex;align-items:center;justify-content:center;border:var(--rule-hair) solid transparent;border-radius:0;font-family:var(--font-display);font-size:var(--text-xs);line-height:1;white-space:nowrap}.journey-status svg{width:12px;height:12px;margin-inline-end:3px}.journey-status--completed{border-color:var(--color-sage);background:var(--color-sage-soft);color:var(--color-ink)}.journey-status--progress{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent)}.journey-status--idle{border-color:var(--color-rule);background:var(--color-paper-2);color:var(--color-muted)}.journey-status--admin{border-color:var(--color-rule-2);background:var(--color-paper-2);color:var(--color-ink-2)}.journey-status--admin.published{border-color:var(--color-sage);background:var(--color-sage-soft);color:var(--color-ink)}.journey-status--admin.processing{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent)}.journey-status--admin.draft,.journey-status--admin.archived{border-color:var(--color-rule);background:var(--color-paper-2);color:var(--color-muted)}.journey-node .video-card-actions{flex:0 0 auto;opacity:.65}.journey-node:hover,.journey-node:focus-within{background:var(--color-surface)}.journey-node--current:hover,.journey-node--current:focus-within{background:var(--color-accent-soft)}@media(max-width:47.49rem){.course-section--detail .chapter-journey-banner,.course-section--detail .chapter-journey-banner .course-banner-overlay{min-height:240px}.course-section--detail .chapter-journey-banner .course-banner-overlay{display:block;padding:var(--space-sm)}.chapter-journey-summary{align-items:stretch;flex-direction:column;gap:var(--space-sm)}.chapter-journey-summary .course-continue-action{width:100%}.chapter-journey-admin-meta{margin-block-start:var(--space-sm)}.chapter-journey-banner .course-banner-actions{position:absolute;inset-block-start:var(--space-xs);inset-inline-end:var(--space-xs)}.journey-list-header{min-height:44px;padding-inline:var(--space-xs)}.journey-line{margin-inline:var(--space-sm)}.journey-node{min-height:78px;padding-inline-start:var(--space-sm)}.journey-node-link{grid-template-columns:42px minmax(0,1fr);gap:var(--space-xs)}.journey-number{font-size:1.55rem}.journey-node-title{white-space:normal}.journey-node-meta{gap:4px}.journey-status{min-width:56px}}.current-text{text-align:center}.journey-node-title:lang(ja){font-family:var(--font-japanese-display)}.chapter-journey-banner .course-banner-actions .el-button,.chapter-journey-banner .course-banner-actions .el-button:not(:disabled):hover{background:transparent}@media(min-width:60rem)and (max-width:74.99rem){.workspace{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);grid-template-rows:minmax(0,1fr);align-items:stretch;overflow:hidden}.hero-area,.player-card{height:100%;min-height:0}.study-panel{min-height:0}}.mobile-player-controls{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);justify-content:stretch}.mobile-control-secondary{justify-self:start}.mobile-control-transport{justify-self:center}.mobile-control-trailing{justify-self:end}.keyword-area .keyword-card{--keyword-card-ink: var(--keyword-word-ink);--keyword-card-rule: var(--keyword-word-rule);--keyword-card-surface: var(--keyword-word-surface);border-inline-start:5px solid var(--keyword-card-rule);border-radius:2px;background:var(--color-surface);cursor:pointer}.keyword-area .keyword-card--expression{--keyword-card-ink: var(--keyword-expression-ink);--keyword-card-rule: var(--keyword-expression-rule);--keyword-card-surface: var(--keyword-expression-surface)}.keyword-area .keyword-card--grammar{--keyword-card-ink: var(--keyword-grammar-ink);--keyword-card-rule: var(--keyword-grammar-rule);--keyword-card-surface: var(--keyword-grammar-surface)}.keyword-area .keyword-card.active{background:color-mix(in srgb,var(--color-surface) 65%,var(--keyword-card-surface) 35%);box-shadow:inset 0 0 0 1px var(--keyword-card-rule)}.keyword-area .keyword-card .keyword-sentences-section{border-block-start:var(--rule-hair) solid var(--keyword-card-rule);background:transparent}.keyword-area .keyword-title{color:var(--keyword-card-ink);font-family:var(--font-japanese-display);font-size:var(--text-xl);font-weight:500;line-height:1.3}.keyword-pronunciation-inline{color:var(--color-muted);font-size:var(--text-sm);line-height:1.45}.keyword-explanation{color:var(--color-ink-2);font-size:var(--text-md);line-height:1.75}.keyword-sentence-item{border-inline-start:2px solid transparent}.keyword-sentence-item.active,.keyword-sentence-item.active:hover{border-inline-start-color:var(--keyword-card-rule);background:transparent}.keyword-sentence-item.active .sentence-index,.keyword-sentence-item.active .keyword-sentence-play>svg{color:var(--keyword-card-ink)}.keyword-sentence-text{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.6}.keyword-sentence-text .keyword-chip{padding-inline:.12em;border-block-end:0;background:var(--keyword-card-surface);color:inherit;font-weight:inherit}@media(min-width:47.5625rem)and (max-width:73.75rem){.control-bar .tool-button{min-height:44px}}:root{--keyword-pos-noun-ink: #3f6584;--keyword-pos-noun-surface: #e7eff5;--keyword-pos-verb-ink: #a35e35;--keyword-pos-verb-surface: #f4e7de;--keyword-pos-adjective-ink: #765a95;--keyword-pos-adjective-surface: #eee8f5;--keyword-pos-adverb-ink: #5b6573;--keyword-pos-adverb-surface: #eceff2;--keyword-pos-phrase-ink: #2f7580;--keyword-pos-phrase-surface: #e4f1f2;--keyword-pos-idiom-ink: #a34d5f;--keyword-pos-idiom-surface: #f6e5e9;--keyword-pos-phrasal-verb-ink: #8f6b27;--keyword-pos-phrasal-verb-surface: #f3ecd9}.keyword-area .keyword-card-header{position:relative;display:block;padding:var(--space-sm) var(--space-md) var(--space-2xs);margin:0;border-radius:0;border-block-end:0;background:transparent}.keyword-area .keyword-card-header--word,.keyword-area .keyword-card-header--expression,.keyword-area .keyword-card-header--grammar{background:transparent}.keyword-area{min-height:0;overflow:hidden}.keyword-area .keyword-list{gap:0}.keyword-area .keyword-card+.keyword-card{border-block-start:0}.keyword-area .keyword-card{border:0;border-inline-start:5px solid transparent;border-block-end:var(--rule-hair) solid var(--color-rule);border-radius:2px;background:var(--color-surface);flex:0 0 auto}.keyword-area .keyword-card.playing{border-inline-start-color:var(--keyword-card-rule)}.keyword-area .keyword-card.active:not(.playing){background:var(--color-surface);box-shadow:none}.keyword-area .keyword-title,.keyword-tooltip header strong,.keyword-detail-card h3{font-family:var(--font-japanese-display);font-weight:500}.keyword-area .keyword-definition-index,.keyword-tooltip .keyword-definition-index,.keyword-detail-card .keyword-definition-index{display:grid;width:2rem;height:auto;place-items:center;border:0;border-radius:0;color:var(--keyword-card-ink, var(--color-ink-2));font-family:var(--font-display);font-size:1.35rem;font-weight:500;line-height:1.2}.keyword-tooltip .keyword-explanation-example,.keyword-detail-card .keyword-explanation-example{margin-block-start:var(--space-2xs)!important;padding:0;border-inline-start:var(--rule-fine) solid var(--keyword-card-rule);background:var(--keyword-card-surface)}.keyword-area .keyword-pronunciation-inline{margin-inline:0;padding-inline:var(--space-md);font-size:1.125rem;line-height:1.5}.keyword-area .keyword-title-group{display:block;min-width:0}.keyword-area .keyword-title{display:block;width:fit-content;max-width:100%;padding:0;color:var(--keyword-card-ink);font-family:var(--font-japanese-display);font-size:1.75rem;font-weight:500;line-height:1.25;text-align:start}.keyword-area .keyword-type-row{margin-block-start:var(--space-2xs);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2xs)}.keyword-area .keyword-type-tag,.keyword-area .keyword-pos-tag,.keyword-tooltip .keyword-type-row>span,.keyword-detail-card .keyword-type-row>span{display:inline-flex;align-items:center;min-height:1.5rem;padding:var(--space-3xs) var(--space-2xs);border:var(--rule-hair) solid currentColor;border-radius:2px;font-size:var(--text-xs);font-weight:600;line-height:1.2;white-space:nowrap}.keyword-area .keyword-type-tag,.keyword-area .keyword-pos-tag{font-family:var(--font-display)}.keyword-area .keyword-type-tag,.keyword-tooltip .keyword-tooltip-type,.keyword-detail-card .keyword-detail-type{border-color:var(--keyword-card-rule);background:var(--keyword-card-surface);color:var(--keyword-card-ink)}.keyword-pos-tag--noun{border-color:var(--keyword-pos-noun-ink);background:var(--keyword-pos-noun-surface);color:var(--keyword-pos-noun-ink)}.keyword-pos-tag--verb{border-color:var(--keyword-pos-verb-ink);background:var(--keyword-pos-verb-surface);color:var(--keyword-pos-verb-ink)}.keyword-pos-tag--adjective{border-color:var(--keyword-pos-adjective-ink);background:var(--keyword-pos-adjective-surface);color:var(--keyword-pos-adjective-ink)}.keyword-pos-tag--adverb{border-color:var(--keyword-pos-adverb-ink);background:var(--keyword-pos-adverb-surface);color:var(--keyword-pos-adverb-ink)}.keyword-pos-tag--phrase{border-color:var(--keyword-pos-phrase-ink);background:var(--keyword-pos-phrase-surface);color:var(--keyword-pos-phrase-ink)}.keyword-pos-tag--idiom{border-color:var(--keyword-pos-idiom-ink);background:var(--keyword-pos-idiom-surface);color:var(--keyword-pos-idiom-ink)}.keyword-pos-tag--phrasal-verb{border-color:var(--keyword-pos-phrasal-verb-ink);background:var(--keyword-pos-phrasal-verb-surface);color:var(--keyword-pos-phrasal-verb-ink)}.keyword-area .keyword-card-actions{position:absolute;inset-block-start:var(--space-sm);inset-inline-end:var(--space-md);display:flex;align-items:center;gap:var(--space-2xs)}.keyword-area .keyword-content{padding:0 var(--space-md) var(--space-sm)}.keyword-area .keyword-pronunciation-inline{margin:0;padding-block:var(--space-2xs);border-block-end:var(--rule-hair) solid var(--keyword-card-rule);color:var(--color-muted);font-family:var(--font-japanese-sans);font-size:.8125rem;line-height:1.45}.keyword-area .keyword-explanation{margin-block-start:var(--space-sm);color:var(--color-ink-2);font-size:var(--text-md);line-height:1.75}.keyword-area .keyword-sentences-section{margin:0;padding:var(--space-2xs) var(--space-md) var(--space-sm);border-radius:0;border-block-start:var(--rule-hair) solid var(--keyword-card-rule);background:transparent}.keyword-area .keyword-sentences-toggle{min-height:2.25rem;padding:var(--space-3xs) 0;border:0;border-radius:0;background:transparent;color:var(--keyword-card-ink);font-size:var(--text-sm);font-weight:600;text-align:start}.keyword-area .keyword-sentences-toggle:hover,.keyword-area .keyword-sentences-toggle:focus-visible{background:transparent;color:var(--keyword-card-ink)}.keyword-area .keyword-sentences-list{margin-block-start:var(--space-2xs);gap:var(--space-3xs)}.keyword-area .keyword-sentence-item{min-width:0;padding:var(--space-2xs) 0 var(--space-2xs) var(--space-2xs);border-radius:0;border-inline-start:0;background:transparent}.keyword-area .keyword-sentence-item:hover,.keyword-area .keyword-sentence-item.active,.keyword-area .keyword-sentence-item.active:hover{background:transparent}.keyword-area .keyword-sentence-item.active{border-inline-start:0}.keyword-area .keyword-sentence-item.active .keyword-sentence-copy{border-inline-start:var(--rule-fine) solid var(--keyword-card-rule)}.keyword-area .keyword-sentence-item.active .sentence-index,.keyword-area .keyword-sentence-item.active .keyword-sentence-play>svg{color:var(--keyword-card-ink)}.keyword-area .keyword-sentence-text{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.6}.keyword-area .keyword-sentence-text .keyword-chip{padding-inline:.12em;border-block-end:0;background:var(--keyword-card-surface);color:inherit;font-weight:inherit}.keyword-tooltip--word,.keyword-detail-card--word{--keyword-card-ink: var(--keyword-word-ink);--keyword-card-rule: var(--keyword-word-rule);--keyword-card-surface: var(--keyword-word-surface)}.keyword-tooltip--expression,.keyword-detail-card--expression{--keyword-card-ink: var(--keyword-expression-ink);--keyword-card-rule: var(--keyword-expression-rule);--keyword-card-surface: var(--keyword-expression-surface)}.keyword-tooltip--grammar,.keyword-detail-card--grammar{--keyword-card-ink: var(--keyword-grammar-ink);--keyword-card-rule: var(--keyword-grammar-rule);--keyword-card-surface: var(--keyword-grammar-surface)}.keyword-tooltip .keyword-type-row,.keyword-detail-card .keyword-type-row{margin-block-start:var(--space-2xs)}.keyword-tooltip .keyword-tooltip-pronunciation,.keyword-detail-card .keyword-detail-pronunciation-inline{color:var(--color-muted);font-size:.8125rem;line-height:1.45}.keyword-tooltip .keyword-tooltip-heading{display:flex;flex-direction:column;min-width:0;gap:var(--space-3xs);padding-block-end:var(--space-2xs);border-block-end:var(--rule-hair) solid var(--keyword-card-rule)}.keyword-tooltip header strong,.keyword-detail-card h3,.keyword-detail-title-row h3{color:var(--keyword-card-ink);font-family:var(--font-japanese-display);font-size:1.75rem;font-weight:500;line-height:1.25}.keyword-tooltip .keyword-tooltip-text,.keyword-detail-card .keyword-detail-explanation{color:var(--color-ink-2);font-size:var(--text-md);line-height:1.65}.keyword-tooltip .keyword-tooltip-text{margin-block-start:var(--space-sm);padding-block-start:0;border-block-start:0}.keyword-detail-card .keyword-detail-title-row h3{padding-block-end:var(--space-2xs);border-block-end:var(--rule-hair) solid var(--keyword-card-rule)}.keyword-detail-card .keyword-detail-definition{margin-block-start:var(--space-sm);padding-block-start:0;border-block-start:0}.keyword-explanation--noun{--keyword-example-ink: var(--keyword-pos-noun-ink);--keyword-example-surface: var(--keyword-pos-noun-surface)}.keyword-explanation--verb{--keyword-example-ink: var(--keyword-pos-verb-ink);--keyword-example-surface: var(--keyword-pos-verb-surface)}.keyword-explanation--adjective{--keyword-example-ink: var(--keyword-pos-adjective-ink);--keyword-example-surface: var(--keyword-pos-adjective-surface)}.keyword-explanation--adverb{--keyword-example-ink: var(--keyword-pos-adverb-ink);--keyword-example-surface: var(--keyword-pos-adverb-surface)}.keyword-explanation--phrase{--keyword-example-ink: var(--keyword-pos-phrase-ink);--keyword-example-surface: var(--keyword-pos-phrase-surface)}.keyword-explanation--idiom{--keyword-example-ink: var(--keyword-pos-idiom-ink);--keyword-example-surface: var(--keyword-pos-idiom-surface)}.keyword-explanation--phrasal-verb{--keyword-example-ink: var(--keyword-pos-phrasal-verb-ink);--keyword-example-surface: var(--keyword-pos-phrasal-verb-surface)}.keyword-explanation p{margin:0}.keyword-definition-list{display:grid;gap:var(--space-sm)}.keyword-definition-entry{min-width:0;display:grid;grid-template-columns:1.75rem minmax(0,1fr);gap:var(--space-2xs);align-items:start}.keyword-definition-index{display:grid;width:1.5rem;height:1.5rem;place-items:center;border:var(--rule-hair) solid var(--keyword-card-rule, var(--color-rule-2));border-radius:50%;color:var(--keyword-card-ink, var(--color-ink-2));font-family:var(--font-outlier);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.keyword-definition-body{min-width:0}.keyword-definition-pos{margin-inline:.1em;padding:.08em .28em;border:0;border-radius:2px;background:var(--keyword-example-surface, var(--keyword-card-surface));color:var(--keyword-example-ink, var(--keyword-card-ink));font:inherit;font-weight:700}.keyword-explanation-example{margin-block-start:var(--space-2xs)!important;padding:0;border-inline-start:var(--rule-fine) solid var(--keyword-example-ink, var(--keyword-card-rule));background:var(--keyword-example-surface, var(--keyword-card-surface));color:var(--color-ink-2);line-height:1.6}.keyword-explanation-example-text{display:block;margin:0;padding:var(--space-2xs) var(--space-xs)}.keyword-explanation-example-text+.keyword-explanation-example-text{border-block-start:var(--rule-hair) solid color-mix(in srgb,var(--keyword-example-ink, var(--keyword-card-rule)) 28%,transparent)}.keyword-explanation-example-text[lang=ja]{font-family:var(--font-japanese-display)}.keyword-explanation-example-text[lang=zh-CN]{font-family:var(--font-display)}.keyword-explanation-example-text[lang=en]{font-family:var(--font-body)}.keyword-area .keyword-title{font-size:2rem}.keyword-area .keyword-card.keyword-pos--noun{--keyword-example-ink: var(--keyword-pos-noun-ink);--keyword-example-surface: var(--keyword-pos-noun-surface)}.keyword-area .keyword-card.keyword-pos--verb{--keyword-example-ink: var(--keyword-pos-verb-ink);--keyword-example-surface: var(--keyword-pos-verb-surface)}.keyword-area .keyword-card.keyword-pos--adjective{--keyword-example-ink: var(--keyword-pos-adjective-ink);--keyword-example-surface: var(--keyword-pos-adjective-surface)}.keyword-area .keyword-card.keyword-pos--adverb{--keyword-example-ink: var(--keyword-pos-adverb-ink);--keyword-example-surface: var(--keyword-pos-adverb-surface)}.keyword-area .keyword-card.keyword-pos--phrase{--keyword-example-ink: var(--keyword-pos-phrase-ink);--keyword-example-surface: var(--keyword-pos-phrase-surface)}.keyword-area .keyword-card.keyword-pos--idiom{--keyword-example-ink: var(--keyword-pos-idiom-ink);--keyword-example-surface: var(--keyword-pos-idiom-surface)}.keyword-area .keyword-card.keyword-pos--phrasal-verb{--keyword-example-ink: var(--keyword-pos-phrasal-verb-ink);--keyword-example-surface: var(--keyword-pos-phrasal-verb-surface)}.keyword-area .keyword-card[class*=keyword-pos--],.keyword-area .keyword-explanation,.keyword-tooltip .keyword-tooltip-text,.keyword-detail-card .keyword-detail-explanation{--keyword-example-ink: var(--keyword-card-ink);--keyword-example-surface: var(--keyword-card-surface)}.keyword-area .keyword-pos-tag,.keyword-tooltip .keyword-pos-tag,.keyword-detail-card .keyword-pos-tag{border:var(--rule-hair) solid currentColor;border-radius:2px;background:var(--keyword-card-surface);color:var(--keyword-card-ink)}.keyword-area .keyword-pos-tag--noun,.keyword-tooltip .keyword-pos-tag--noun,.keyword-detail-card .keyword-pos-tag--noun{background:var(--keyword-pos-noun-surface);color:var(--keyword-pos-noun-ink)}.keyword-area .keyword-pos-tag--verb,.keyword-tooltip .keyword-pos-tag--verb,.keyword-detail-card .keyword-pos-tag--verb{background:var(--keyword-pos-verb-surface);color:var(--keyword-pos-verb-ink)}.keyword-area .keyword-pos-tag--adjective,.keyword-tooltip .keyword-pos-tag--adjective,.keyword-detail-card .keyword-pos-tag--adjective{background:var(--keyword-pos-adjective-surface);color:var(--keyword-pos-adjective-ink)}.keyword-area .keyword-pos-tag--adverb,.keyword-tooltip .keyword-pos-tag--adverb,.keyword-detail-card .keyword-pos-tag--adverb{background:var(--keyword-pos-adverb-surface);color:var(--keyword-pos-adverb-ink)}.keyword-area .keyword-pos-tag--phrase,.keyword-tooltip .keyword-pos-tag--phrase,.keyword-detail-card .keyword-pos-tag--phrase{background:var(--keyword-pos-phrase-surface);color:var(--keyword-pos-phrase-ink)}.keyword-area .keyword-pos-tag--idiom,.keyword-tooltip .keyword-pos-tag--idiom,.keyword-detail-card .keyword-pos-tag--idiom{background:var(--keyword-pos-idiom-surface);color:var(--keyword-pos-idiom-ink)}.keyword-area .keyword-pos-tag--phrasal-verb,.keyword-tooltip .keyword-pos-tag--phrasal-verb,.keyword-detail-card .keyword-pos-tag--phrasal-verb{background:var(--keyword-pos-phrasal-verb-surface);color:var(--keyword-pos-phrasal-verb-ink)}.keyword-area .keyword-sentence-play{width:100%;align-items:flex-start;padding:0}.keyword-area .keyword-sentence-play>svg,.keyword-area .keyword-sentence-play>.sentence-index,.keyword-area .sentence-edit-btn{display:none}.keyword-area .keyword-sentence-copy{min-width:0;flex:1 1 auto;display:block;padding:var(--space-xs) var(--space-sm);background:var(--keyword-example-surface, var(--keyword-card-surface));color:var(--color-ink-2);font-size:1.125rem;line-height:1.55}.keyword-area .keyword-sentence-item{padding-inline:0}.keyword-area .keyword-sentence-text{display:block;font-size:1.125rem;line-height:1.55}.keyword-area .keyword-sentence-target{display:block;margin-block-start:var(--space-3xs);color:var(--color-muted);font-size:1rem;line-height:1.55}.keyword-area .keyword-sentence-text .keyword-chip{background:transparent;color:inherit}.keyword-area .keyword-sentence-item.active{border-inline-start-color:var(--keyword-card-rule)}.keyword-area .keyword-definition-index{width:2rem;height:auto;border:0;border-radius:0;color:var(--keyword-card-ink, var(--color-ink-2));font-family:var(--font-display);font-size:1.35rem;font-weight:500;line-height:1.2}.keyword-area .keyword-definition-pos{font-family:var(--font-body);font-size:12px;font-weight:700;line-height:1.25}.keyword-explanation--noun .keyword-definition-pos{background:var(--keyword-pos-noun-surface);color:var(--keyword-pos-noun-ink)}.keyword-explanation--verb .keyword-definition-pos{background:var(--keyword-pos-verb-surface);color:var(--keyword-pos-verb-ink)}.keyword-explanation--adjective .keyword-definition-pos{background:var(--keyword-pos-adjective-surface);color:var(--keyword-pos-adjective-ink)}.keyword-explanation--adverb .keyword-definition-pos{background:var(--keyword-pos-adverb-surface);color:var(--keyword-pos-adverb-ink)}.keyword-explanation--phrase .keyword-definition-pos{background:var(--keyword-pos-phrase-surface);color:var(--keyword-pos-phrase-ink)}.keyword-explanation--idiom .keyword-definition-pos{background:var(--keyword-pos-idiom-surface);color:var(--keyword-pos-idiom-ink)}.keyword-explanation--phrasal-verb .keyword-definition-pos{background:var(--keyword-pos-phrasal-verb-surface);color:var(--keyword-pos-phrasal-verb-ink)}.keyword-area .keyword-definition-body{font-size:1.25rem;line-height:1.65}.keyword-area .keyword-explanation-example{font-size:1.125rem}.subtitle-content[class*=subtitle-content--word],.subtitle-content[class*=subtitle-content--expression],.subtitle-content[class*=subtitle-content--grammar]{box-sizing:border-box;width:100%;border-radius:0;padding:var(--space-xs) var(--space-sm);background:transparent;border-inline-start:var(--rule-fine) solid transparent}.subtitle-content{box-sizing:border-box;width:100%;padding:var(--space-xs) var(--space-sm);border-inline-start:var(--rule-fine) solid transparent;background:transparent}.subtitle-content .source-line{font-family:var(--font-japanese-display);font-weight:500}.subtitle-content .target-line{font-family:var(--font-display);font-weight:400}.subtitle-content[class*=subtitle-content--word].subtitle-content--playing,.subtitle-content[class*=subtitle-content--expression].subtitle-content--playing,.subtitle-content[class*=subtitle-content--grammar].subtitle-content--playing{border-inline-start-color:transparent;background:transparent}.keyword-area .keyword-sentence-copy{box-sizing:border-box;width:100%;border-radius:0}.subtitle-content--word{--keyword-example-ink: var(--keyword-word-ink);--keyword-example-surface: var(--keyword-word-surface);background:transparent}.subtitle-content--expression{--keyword-example-ink: var(--keyword-expression-ink);--keyword-example-surface: var(--keyword-expression-surface);background:transparent}.subtitle-content--grammar{--keyword-example-ink: var(--keyword-grammar-ink);--keyword-example-surface: var(--keyword-grammar-surface);background:transparent}.subtitle-content--playing{border-inline-start:var(--rule-fine) solid var(--keyword-example-ink, var(--color-primary));background:transparent}.subtitle-card.playing:not(.active){border-inline-start:0}.subtitle-card.active{border-inline-start:4px solid var(--color-primary);background:color-mix(in srgb,var(--color-surface) 94%,var(--color-primary) 6%)}.keyword-area[lang=ja] .keyword-sentence-text,.keyword-area[lang=ja] .keyword-sentence-text .keyword-chip{font-family:var(--font-japanese-display)}.keyword-area .keyword-sentence-target,.subtitle-list .target-line{font-family:var(--font-display)!important}.timeline{touch-action:none;cursor:default}.timeline:active{cursor:default}.timeline:disabled{cursor:not-allowed;opacity:.5}:root{--keyword-example-neutral-surface: oklch(93% .01 0)}.keyword-area .keyword-sentence-copy{background:var(--keyword-example-surface, var(--keyword-card-surface));border-inline-start:0}.keyword-area .keyword-sentence-copy,.keyword-area .keyword-sentence-text{font-size:1rem}.keyword-area .keyword-sentence-target{font-size:.9375rem}.keyword-area .keyword-explanation-example,.keyword-tooltip .keyword-explanation-example,.keyword-detail-card .keyword-explanation-example{background:var(--keyword-example-neutral-surface);border-inline-start:0;font-size:1rem;line-height:1.55}.keyword-area .keyword-explanation-example-text,.keyword-tooltip .keyword-explanation-example-text,.keyword-detail-card .keyword-explanation-example-text{padding-block:var(--space-3xs);padding-inline:0;line-height:1.55}.keyword-area .keyword-explanation-example-text[lang=zh-CN],.keyword-tooltip .keyword-explanation-example-text[lang=zh-CN],.keyword-detail-card .keyword-explanation-example-text[lang=zh-CN]{font-size:.9375rem}.keyword-area .keyword-sentence-item.active .keyword-sentence-copy{border-inline-start:0}.keyword-area .keyword-explanation-example-text+.keyword-explanation-example-text,.keyword-tooltip .keyword-explanation-example-text+.keyword-explanation-example-text,.keyword-detail-card .keyword-explanation-example-text+.keyword-explanation-example-text{border-block-start:0}.keyword-tooltip .keyword-tooltip-heading,.keyword-detail-card .keyword-detail-title-row h3{padding-block-end:0;border-block-end:0}.keyword-tooltip .keyword-tooltip-type-row,.keyword-detail-card .keyword-detail-type-row{padding-block-end:var(--space-xs);border-block-end:var(--rule-fine) solid var(--color-rule-2)}.keyword-area .keyword-explanation-example{background:transparent;border-inline-start:var(--rule-fine) solid var(--keyword-card-rule)}.keyword-area .keyword-explanation-example-text{padding-inline:var(--space-xs) 0}.keyword-tooltip .keyword-explanation-example,.keyword-detail-card .keyword-explanation-example{background:transparent;border-inline-start:var(--rule-fine) solid var(--keyword-card-rule)}.keyword-tooltip .keyword-explanation-example-text,.keyword-detail-card .keyword-explanation-example-text{padding-inline:var(--space-xs) 0}@media(max-width:45rem){.keyword-area .keyword-title{font-size:1.625rem}}html,body{font-family:var(--font-chinese-fallback)}:lang(zh-CN),.app-shell,.app-nav,.panel-header,.control-bar,.el-dialog,.el-message-box,.mobile-catalog-sheet,.mobile-more-popover{font-family:var(--font-chinese-fallback)}:lang(ja){font-family:var(--font-japanese-sans)}:lang(ja) :is(.source-line,.keyword-title,.sentence-text,.player-overlay-source){font-family:var(--font-japanese-display)}.player-overlay-target[lang=zh-CN],.subtitle-index,.subtitle-list[lang=ja] .subtitle-index,.keyword-area .keyword-type-tag,.keyword-area .keyword-pos-tag{font-family:var(--font-display)}.loop-dialog,.loop-settings-dialog,.import-dialog-panel,.import-dialog,.export-dialog-panel,.export-settings-dialog,.mobile-catalog-sheet{font-family:var(--font-chinese-fallback)}.player-card{--player-card-rows: minmax(0, 3.4fr) 34px minmax(150px, 1.15fr);grid-template-rows:var(--player-card-rows)}.player-card--overlay{grid-template-rows:minmax(0,1fr) 34px}.workspace--overlay .current-card{display:none}.media-stage,.media-frame:not(.media-frame--audio),.media-stage:fullscreen{background:#000}@media(max-width:47.5rem){.workspace{grid-template-rows:auto 34px 56px 52px minmax(160px,1fr)}.study-panel-body{grid-row:5}.workspace--overlay{grid-template-rows:auto 34px 56px 52px minmax(160px,1fr)}.workspace--overlay .media-stage{aspect-ratio:16 / 9}.workspace--overlay .study-panel-body{grid-row:5}}@media(max-width:60rem)and (max-height:31rem)and (orientation:landscape){.workspace--overlay{grid-template-rows:minmax(220px,1fr) 34px 56px 52px minmax(160px,1fr);overflow-y:auto}.workspace--overlay .media-stage,.workspace--overlay .media-frame{min-height:220px;aspect-ratio:auto;background:#000}.workspace--overlay .study-panel{min-height:0}.workspace--overlay .study-panel-body{min-height:0;height:100%;max-height:100%;overflow:hidden}}@media(min-width:47.51rem)and (max-width:60rem)and (max-height:31rem)and (orientation:landscape){.workspace{grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);grid-template-rows:minmax(0,1fr);overflow:auto}.workspace>.hero-area,.workspace>.study-panel{display:flex;min-width:0;min-height:0}.workspace>.hero-area{height:100%;flex-direction:column}.workspace>.study-panel{height:100%;flex-direction:column}.workspace .player-card{height:100%;min-height:0;display:grid}.workspace .player-card--overlay{grid-template-rows:minmax(0,1fr) 34px 56px}.workspace .player-card:not(.player-card--overlay){grid-template-rows:minmax(0,1fr) 34px 56px minmax(82px,auto);height:auto;align-self:start}.workspace .player-card .media-stage{grid-row:1;min-height:0;height:100%;aspect-ratio:auto}.workspace .player-card:not(.player-card--overlay) .media-stage{height:auto;aspect-ratio:16 / 9}.workspace .player-card .player-timeline{grid-row:2}.workspace .player-card .mobile-player-controls{grid-row:3;display:grid}.workspace .player-card .current-card{grid-row:4}.workspace .player-card:not(.player-card--overlay) .current-card{display:grid}.workspace .study-panel-body{grid-row:auto;height:auto;max-height:none;flex:1;min-height:0;overflow:hidden}.workspace .subtitle-list,.workspace .keyword-list{height:100%;max-height:100%;min-height:0;overflow-y:auto}}@media(min-width:60rem)and (max-width:74.99rem){.workspace .player-card:not(.player-card--overlay){grid-template-rows:auto 34px minmax(150px,1fr)}.workspace .player-card:not(.player-card--overlay) .media-stage{height:auto;aspect-ratio:16 / 9}.workspace .player-card:not(.player-card--overlay) .media-frame{height:100%;aspect-ratio:auto}}.keyword-tooltip{box-sizing:border-box;position:fixed;width:min(360px,calc(var(--visual-viewport-width, 100vw) - 24px));max-height:min(320px,calc(var(--app-height, 100dvh) - 32px));overflow-y:auto;overflow-x:hidden;overflow-wrap:anywhere;border-radius:0;background:var(--color-surface);font-family:var(--font-body)}.keyword-tooltip .keyword-tooltip-text{display:-webkit-box;max-height:none;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.keyword-tooltip-detail{display:block;width:100%;min-height:44px;margin-top:8px;padding:8px 0;border:0;border-top:var(--rule-hair) solid var(--color-rule);background:transparent;color:var(--color-primary);font:inherit;font-size:14px;text-align:start;cursor:pointer}@media(max-width:47.5rem),(pointer:coarse){.keyword-tooltip{width:min(320px,calc(var(--visual-viewport-width, 100vw) - 24px));max-height:min(320px,calc(var(--app-height, 100dvh) - 32px));padding:12px 14px}.keyword-tooltip header strong{font-size:1.25rem}.cue-editor-dialog .el-input__inner,.cue-editor-dialog .el-textarea__inner{font-size:16px}.subtitle-list,.subtitle-list *,.current-card,.current-card *{-webkit-tap-highlight-color:transparent}}.app-shell--mobile-fullscreen{contain:style}.workspace .player-card .media-stage.media-stage--mobile-fullscreen,.workspace .player-card .media-stage:fullscreen,.workspace .player-card .media-stage:-webkit-full-screen{width:100vw;height:var(--app-height, 100dvh);aspect-ratio:auto;min-width:0;min-height:0}.media-stage--mobile-fullscreen .media-frame,.media-stage:fullscreen .media-frame,.media-stage:-webkit-full-screen .media-frame{aspect-ratio:auto;min-width:0;min-height:0;width:100%;height:100%}.media-stage--mobile-fullscreen .youtube-player,.media-stage:fullscreen .youtube-player,.media-stage:-webkit-full-screen .youtube-player{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:min(100vw,calc(var(--app-height, 100dvh) * 16 / 9));height:min(var(--app-height, 100dvh),max(200px,56.25vw))}.keyword-detail-dialog .el-dialog{box-sizing:border-box;width:min(560px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px);border-radius:0;background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none}.keyword-detail-dialog .el-dialog__body,.keyword-detail-card{box-sizing:border-box}.keyword-detail-card{max-height:min(78vh,720px);overflow:auto;border-top:0;border-inline-start:5px solid var(--detail-accent);border-radius:2px}.keyword-tooltip [lang=zh-CN],.keyword-detail-explanation [lang=zh-CN],.keyword-explanation [lang=zh-CN],.keyword-definition-body [lang=zh-CN]{font-family:var(--font-display)}.keyword-tooltip [lang=ja],.keyword-detail-explanation [lang=ja],.keyword-explanation [lang=ja],.keyword-definition-body [lang=ja]{font-family:var(--font-japanese-display)}.keyword-tooltip [lang=en],.keyword-detail-explanation [lang=en],.keyword-explanation [lang=en],.keyword-definition-body [lang=en]{font-family:var(--font-body)}.keyword-tooltip .keyword-tooltip-type,.keyword-tooltip .keyword-pos-tag,.keyword-detail-card .keyword-detail-type,.keyword-detail-card .keyword-pos-tag{font-family:var(--font-display)}.keyword-area .keyword-explanation,.keyword-area .keyword-definition-body,.keyword-tooltip .keyword-tooltip-text,.keyword-detail-card .keyword-detail-explanation,.keyword-definition-body{font-size:1rem;line-height:1.65}.keyword-area .keyword-definition-list,.keyword-tooltip .keyword-definition-list,.keyword-detail-card .keyword-definition-list{gap:var(--space-xs)}.keyword-area .keyword-definition-body>p,.keyword-tooltip .keyword-definition-body>p,.keyword-detail-card .keyword-definition-body>p{margin:0}.keyword-draft-explanation .el-textarea__inner{min-height:112px!important;height:auto;line-height:1.55;overflow-y:hidden;resize:none}.keyword-draft-example .el-textarea__inner{min-height:56px!important;height:auto;overflow-y:hidden;resize:none}@media(hover:hover)and (pointer:fine){.mobile-control-button:hover:not(.active),.tool-button:hover:not(.active){color:var(--color-primary);background:var(--color-primary-soft)}}@media(hover:none),(pointer:coarse){.mobile-control-button:hover:not(.active),.tool-button:hover:not(.active){color:var(--color-ink-2);background:transparent}}.mobile-control-button:not(.active):focus:not(:focus-visible),.tool-button:not(.active):focus:not(:focus-visible){color:var(--color-ink-2);background:transparent}.mobile-control-button:active:not(.active),.tool-button:active:not(.active){color:var(--color-primary);background:var(--color-primary-soft)}.keyword-detail-dialog .el-dialog{position:fixed;inset:50% auto auto 50%;width:min(640px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px);margin:0!important;transform:translate(-50%,-50%);overflow:hidden}.keyword-detail-dialog .el-dialog__body{width:100%;max-width:100%;padding:0;overflow:hidden}.keyword-detail-card{width:100%;max-width:100%;max-height:min(78vh,720px);border-inline-start:5px solid var(--detail-accent);border-radius:2px;overflow:auto;overflow-x:hidden}.youtube-player,.youtube-player-host,.youtube-player iframe{width:100%;height:100%}.youtube-player,.youtube-player-host{min-width:0;min-height:0}.youtube-player{position:relative;overflow:hidden}.youtube-player iframe{display:block;border:0;pointer-events:none;transform:none}.youtube-player-interaction{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;padding:0;border:0;background:transparent;transform:none;cursor:pointer}.youtube-player-interaction:hover,.youtube-player-interaction:active{background:transparent}.youtube-player .youtube-player-interaction:hover{transform:none}.youtube-player-interaction:focus-visible{outline:2px solid var(--color-primary);outline-offset:-3px}.youtube-import-dialog .el-form,.import-dialog-panel{min-width:0;display:grid;grid-template-columns:minmax(0,1fr)}.youtube-import-dialog .el-dialog__body{min-width:0;overflow-x:hidden}.youtube-import-status,.subtitle-translation-progress{min-width:0;min-height:44px;display:grid;align-content:center;gap:var(--space-2xs)}.youtube-import-preview,.youtube-import-status,.youtube-import-dialog [role=alert],.subtitle-translation-progress p,.import-dialog-panel>[role=alert]{overflow-wrap:anywhere}.youtube-import-dialog [role=alert],.import-dialog-panel>[role=alert]{min-width:0;min-height:44px;display:grid;align-content:center;color:var(--color-danger)}.youtube-import-dialog .el-dialog__footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2xs)}.youtube-import-dialog .el-dialog__footer .el-button+.el-button{margin-inline-start:0}@media(max-width:47.5rem){.subtitle-card{grid-template-columns:minmax(44px,52px) minmax(0,1fr);grid-template-rows:auto auto;column-gap:var(--space-sm);row-gap:var(--space-3xs)}.subtitle-index-rail{grid-column:1;grid-row:1}.subtitle-copy{grid-column:2;grid-row:1 / span 2}.subtitle-actions{grid-column:1;grid-row:2;min-width:44px;flex-direction:column}}@media(max-width:30rem){.youtube-import-dialog .el-dialog__footer{display:grid;grid-template-columns:minmax(0,1fr)}.youtube-import-dialog .el-dialog__footer .el-button{width:100%;min-height:44px;margin:0}}
