:root{--ys-ink: #102f2c;--ys-text: #111827;--ys-muted: #667085;--ys-soft: #f4f8f6;--ys-surface: #ffffff;--ys-border: #dfe8e4;--ys-primary: #176b5d;--ys-primary-strong: #0f5148;--ys-mint: #e6f7f2;--ys-mint-strong: #2ec4b6;--ys-warm: #ff7a45;--ys-warm-soft: #fff1e8;--ys-gold: #e7a51a;--ys-danger: #d92d20;color:var(--ys-text);background:var(--ys-soft);font-family:Inter,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;letter-spacing:0}*{box-sizing:border-box}body{margin:0;background:var(--ys-soft)}button,a,input{font:inherit}button{border:0;cursor:pointer}.app-shell{max-width:1920px;margin:0 auto;padding:0 14px 104px}.auth-shell{display:grid;gap:16px;max-width:980px;min-height:100vh;margin:0 auto;padding:24px 16px;align-content:center}.auth-page-shell{padding-bottom:0;background:#f7fbf9}.auth-back-button{justify-self:start;display:inline-flex;gap:6px;align-items:center;border-radius:999px;padding:10px 13px;color:var(--ys-muted);background:#ffffffdb;font-weight:800}.auth-back-button:hover{color:var(--ys-primary);background:var(--ys-mint)}.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;min-height:62px;margin:0 -14px;padding:0 14px;border-bottom:1px solid var(--ys-border);background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand-button{grid-column:1 / -1;grid-row:1;justify-self:center;display:inline-flex;align-items:center;color:var(--ys-text);background:transparent}.brand-logo{display:inline-flex;min-width:0;align-items:baseline;gap:6px;color:var(--ys-text);font-size:26px;font-weight:800;line-height:1;white-space:nowrap}.brand-logo strong{color:var(--ys-text);font-weight:800}.brand-logo span{color:var(--ys-primary);font-weight:800}.desktop-nav{display:none}.top-actions{grid-column:3;grid-row:1;justify-self:end;z-index:1;display:flex;gap:8px;align-items:center}.top-login-button{align-items:center;gap:6px;min-height:40px;border-radius:999px;padding:0 14px;color:var(--ys-primary);background:var(--ys-mint);font-weight:800}.top-login-button:hover{color:#fff;background:var(--ys-primary)}.top-filter-button{grid-column:1;grid-row:1;z-index:1}.icon-button{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;color:var(--ys-muted);background:transparent}.icon-button:hover,.icon-button.active{color:var(--ys-primary);background:var(--ys-mint)}.desktop-only{display:none}.home-layout{display:grid;gap:14px;padding-top:16px}.filter-sidebar{display:none}.home-main{display:grid;gap:16px}.category-filter-stack.mobile-only{display:grid;gap:10px}.category-filter-stack.desktop-only{gap:10px}.continue-card{display:grid;grid-template-columns:98px 1fr;gap:13px;align-items:center;border:1px solid var(--ys-border);border-radius:14px;padding:12px;background:var(--ys-surface)}.continue-thumb{position:relative;overflow:hidden;width:98px;aspect-ratio:16 / 10;border-radius:10px;background:var(--ys-ink)}.continue-thumb img{width:100%;height:100%;object-fit:cover}.continue-thumb span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--ys-primary)}.continue-thumb span:before{content:"";position:absolute;width:42px;height:42px;border-radius:50%;background:#ffffffe0}.continue-thumb svg{position:relative}.continue-copy{min-width:0}.continue-copy strong{color:var(--ys-primary);font-size:13px;font-weight:800}.continue-copy h1{margin:4px 0 9px;overflow:hidden;color:var(--ys-text);font-size:16px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.progress-line{overflow:hidden;height:6px;border-radius:999px;background:#e9efec}.progress-line span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ys-primary),var(--ys-mint-strong))}.continue-time{grid-column:2;color:var(--ys-muted);font-size:13px;font-weight:700}.video-list{display:grid;grid-template-columns:1fr;gap:14px}.video-card{position:relative;overflow:hidden;border:1px solid var(--ys-border);border-radius:14px;background:var(--ys-surface);scroll-margin-top:90px;text-align:left}.video-card:hover{border-color:#2ec4b69e;box-shadow:0 12px 28px #0f172a14}.video-card-open{display:grid;width:100%;height:100%;color:inherit;background:transparent;text-align:left}.video-card-favorite{position:absolute;top:10px;right:10px;z-index:2;display:grid;width:38px;height:38px;place-items:center;border-radius:999px;color:var(--ys-muted);background:#ffffffe6;box-shadow:0 8px 20px #102f2c21}.video-card-favorite:hover,.video-card-favorite.active{color:var(--ys-primary);background:var(--ys-mint)}.video-cover{position:relative;aspect-ratio:16 / 9;background:var(--ys-ink)}.video-cover img{width:100%;height:100%;object-fit:cover}.duration-badge{position:absolute;bottom:10px;border-radius:6px;padding:4px 7px;color:#fff;font-size:13px;font-weight:800}.duration-badge{left:10px;background:#111827e0}.completed-badge{position:absolute;top:10px;right:10px;display:inline-flex;gap:5px;align-items:center;border:1px solid rgba(255,255,255,.52);border-radius:999px;padding:5px 8px;color:#fff;background:#176b5df0;font-size:12px;font-weight:800;box-shadow:0 8px 18px #0f172a33}.video-copy{display:grid;align-content:start;gap:6px;padding:13px 14px 14px}.video-copy>span{color:var(--ys-primary);font-size:14px;font-weight:800;line-height:1.2}.video-copy strong{display:-webkit-box;overflow:hidden;color:var(--ys-text);font-size:16px;font-weight:750;line-height:1.34;-webkit-box-orient:vertical;-webkit-line-clamp:2}.video-copy p{display:-webkit-box;min-height:40px;overflow:hidden;margin:0;color:var(--ys-muted);font-size:14px;line-height:1.42;-webkit-box-orient:vertical;-webkit-line-clamp:2}.video-card-skeleton .video-copy p{display:grid;gap:8px;min-height:36px}.video-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.video-meta em{overflow:hidden;color:var(--ys-primary);font-size:14px;font-style:normal;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.video-meta span,.difficulty-rating{display:inline-flex;gap:1px;align-items:center;color:var(--ys-gold);font-size:14px;white-space:nowrap}.difficulty-rating b{margin-right:3px;color:#9aa6b2;font-size:12px;font-weight:600}.video-copy small{display:inline-flex;gap:5px;align-items:center;color:var(--ys-muted);font-size:13px}.sidebar-card,.search-box,.study-detail,.page-panel,.auth-form,.auth-brand,.stat-card{border:1px solid var(--ys-border);border-radius:18px;background:var(--ys-surface)}.search-box{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;min-height:46px;border-radius:14px;padding:0 13px}.search-box input{border:0;border-radius:0;padding:12px 0;background:transparent}.search-box input:focus{border-color:transparent;background:transparent}input{width:100%;border:0;padding:15px 0;background:transparent;outline:none}.sidebar-card{display:grid;gap:16px;padding:18px}.sidebar-card h2{display:inline-flex;gap:8px;align-items:center;margin:0;font-size:18px}.stats-card{gap:12px}.stat-card{display:grid;grid-template-columns:1fr auto;gap:4px;align-items:center;border-radius:14px;padding:14px;background:var(--ys-soft)}.stat-card strong{grid-column:2;grid-row:1 / span 2;color:var(--ys-primary);font-size:24px}.stat-card span{color:var(--ys-muted);font-weight:800}.stat-card.green strong{color:var(--ys-mint-strong)}.stat-card.gray strong{color:#98a2b3}.learning-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.learning-filter-grid button{display:grid;gap:8px;min-width:0;min-height:94px;align-content:center;justify-items:start;border:1px solid var(--ys-border);border-radius:16px;padding:14px;color:var(--ys-muted);background:var(--ys-surface);text-align:left;box-shadow:0 8px 22px #102f2c0d}.learning-filter-grid button.active{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--ys-primary),var(--ys-primary-strong));box-shadow:0 14px 32px #176b5d33}.learning-filter-grid span{font-size:13px;font-weight:900}.learning-filter-grid strong{color:var(--ys-text);font-size:26px;line-height:1}.learning-filter-grid button.active strong{color:#fff}.filter-stat-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.filter-stat-card button{display:grid;align-content:center;gap:8px;min-width:0;min-height:102px;border:1px solid var(--ys-border);border-radius:12px;padding:14px 10px;color:var(--ys-muted);background:var(--ys-surface);text-align:left;box-shadow:0 8px 24px #0f172a0a}.filter-stat-card button:hover{background:var(--ys-soft)}.filter-stat-card button.active{border-color:transparent;color:#fff;background:var(--ys-primary)}.filter-stat-card .stat-icon{display:none}.filter-stat-card button.active .stat-icon{color:#fff;background:var(--ys-primary)}.filter-stat-card span:not(.stat-icon){display:grid;min-width:0;gap:0}.filter-stat-card strong{overflow:hidden;color:var(--ys-text);font-size:13px;font-weight:750;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.filter-stat-card small{display:none}.filter-stat-card em{color:var(--ys-text);font-size:28px;font-style:normal;font-weight:780;line-height:1}.filter-stat-card button.active strong,.filter-stat-card button.active em{color:#fff}.filter-card{display:grid;gap:14px;border:1px solid var(--ys-border);border-radius:14px;padding:14px;background:var(--ys-surface)}.filter-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.filter-card-head h2{display:inline-flex;align-items:center;gap:7px;margin:0;color:var(--ys-text);font-size:17px;font-weight:750;line-height:1.15}.filter-card-head button{display:inline-flex;flex:0 0 auto;align-items:center;gap:4px;border-radius:999px;padding:6px 8px;color:var(--ys-muted);background:transparent;font-size:13px;font-weight:700}.filter-card-head button:hover{color:var(--ys-primary);background:var(--ys-mint)}.filter-select-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.filter-select{display:grid;gap:6px;min-width:0;color:var(--ys-muted);font-size:13px;font-weight:700}.filter-select select{width:100%;min-height:40px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--ys-border);border-radius:12px;padding:0 42px 0 11px;color:var(--ys-text);background-color:#f8fbfa;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2367748a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;outline:none}.filter-select select:focus{border-color:var(--ys-primary);box-shadow:0 0 0 3px #2ec4b621}.filter-group{display:grid;gap:9px}.filter-label{color:var(--ys-muted);font-size:13px;font-weight:750}.difficulty-list,.compact-chip-list{display:flex;flex-wrap:wrap;gap:8px}.difficulty-list button,.compact-chip-list button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:34px;border-radius:999px;padding:7px 11px;color:var(--ys-muted);background:#f0f4f2;font-size:13px;font-weight:700;white-space:nowrap}.difficulty-list button:hover,.compact-chip-list button:hover{color:var(--ys-primary);background:var(--ys-mint)}.difficulty-list button.active,.compact-chip-list button.active{color:#fff;background:var(--ys-primary)}.difficulty-list svg{width:13px;height:13px}.filter-apply{display:inline-flex;width:100%;min-height:44px;align-items:center;justify-content:center;border-radius:12px;color:#fff;background:var(--ys-primary);font-weight:800}.filter-apply:hover{background:var(--ys-primary-strong)}.filter-apply:disabled{cursor:default;opacity:.58}.filter-apply.compact{min-height:44px;width:auto;padding:0 16px}.home-learning-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.home-learning-stats button{display:grid;gap:5px;min-width:0;min-height:66px;justify-items:start;border-radius:12px;padding:11px 12px;color:var(--ys-muted);background:#ffffffe0;box-shadow:0 1px #102f2c0f,0 10px 24px #102f2c0d}.home-learning-stats button.active{color:#fff;background:var(--ys-primary)}.home-learning-stats span{overflow:hidden;max-width:100%;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.home-learning-stats strong{color:var(--ys-ink);font-size:22px;line-height:1}.home-learning-stats button.active strong{color:#fff}.mobile-category-tabs{overflow:hidden}.mobile-category-tabs>div{display:flex;gap:8px;align-items:center;overflow:hidden}.mobile-category-tabs.expanded>div{flex-wrap:wrap;overflow:visible}.mobile-category-tabs button{display:inline-flex;min-width:0;min-height:36px;flex:1 1 0;align-items:center;justify-content:center;gap:3px;border-radius:999px;padding:8px 11px;color:var(--ys-muted);background:#edf3f0;font-size:14px;font-weight:700;white-space:nowrap}.mobile-category-tabs.expanded button{flex:0 0 auto}.mobile-category-tabs button.active{color:#fff;background:var(--ys-primary)}.mobile-category-tabs .category-more-button{flex:0 0 auto;color:var(--ys-primary);background:var(--ys-mint)}.desktop-category-tabs{overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.desktop-category-tabs::-webkit-scrollbar{display:none}.desktop-category-tabs>div{display:flex;gap:10px;min-width:max-content;align-items:center}.desktop-category-tabs button{min-height:38px;border:1px solid rgba(23,107,93,.1);border-radius:999px;padding:9px 16px;color:var(--ys-muted);background:#edf3f0eb;font-size:14px;font-weight:800;white-space:nowrap}.desktop-category-tabs button:hover{color:var(--ys-primary);background:var(--ys-mint)}.desktop-category-tabs button.active{border-color:var(--ys-primary);color:#fff;background:var(--ys-primary)}.voa-program-tabs{overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.voa-program-tabs::-webkit-scrollbar{display:none}.voa-program-tabs>div{display:flex;gap:8px;min-width:max-content;align-items:center}.voa-program-tabs button{min-height:36px;border:1px solid rgba(23,107,93,.12);border-radius:999px;padding:8px 13px;color:var(--ys-muted);background:#edf3f0eb;font-size:13px;font-weight:800;white-space:nowrap}.voa-program-tabs button:hover{color:var(--ys-primary);background:var(--ys-mint)}.voa-program-tabs button.active{border-color:var(--ys-primary);color:#fff;background:var(--ys-primary)}.chip-list{display:flex;flex-wrap:wrap;gap:10px}.chip-list button{border-radius:999px;padding:9px 14px;color:var(--ys-muted);background:#edf2ef;font-weight:800}.chip-list button.active{color:#fff;background:var(--ys-primary)}.home-mobile-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.home-mobile-tools>button:not(.filter-apply),.filter-reset{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;padding:13px 16px;color:var(--ys-ink);background:var(--ys-mint);font-weight:900}.home-mobile-tools>button.active{color:#fff;background:var(--ys-primary)}.home-mobile-tools .filter-apply{min-width:72px}.result-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ys-muted);font-size:14px;font-weight:800}.result-summary button{color:var(--ys-primary);background:transparent;font-weight:900}.load-more-row{display:grid;justify-items:center;min-height:52px;padding:2px 0 18px;color:var(--ys-muted);font-size:14px;font-weight:800}.inline-loader{display:inline-flex;gap:9px;align-items:center;color:var(--ys-primary);font-weight:900}.inline-loader i{width:18px;height:18px;border:3px solid rgba(23,107,93,.16);border-top-color:var(--ys-primary);border-radius:50%;animation:ys-spin .72s linear infinite}.page-loader{display:grid;min-height:160px;place-items:center;border:1px dashed var(--ys-border);border-radius:18px;background:#ffffff9e}.section-loading-row{display:flex;justify-content:center;border:1px solid var(--ys-border);border-radius:14px;padding:12px;background:#ffffffa3}.video-card-skeleton{pointer-events:none}.skeleton-block,.skeleton-line{position:relative;overflow:hidden;border-radius:10px;background:#e7efeb}.skeleton-block:after,.skeleton-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);animation:ys-shimmer 1.25s ease-in-out infinite}.skeleton-line{display:block;width:100%;height:14px}.skeleton-line.short{width:28%}.skeleton-line.title{width:70%;height:22px}.skeleton-line.medium{width:56%;margin-top:8px}.skeleton-line.tiny{width:80px}@keyframes ys-spin{to{transform:rotate(360deg)}}@keyframes ys-shimmer{to{transform:translate(100%)}}.filter-reset{width:100%;border:1px solid var(--ys-border);color:var(--ys-primary);background:var(--ys-surface)}.filter-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;align-items:end;background:#102f2c61}.filter-drawer{display:grid;gap:14px;width:100%;max-height:min(82vh,780px);overflow:auto;border-radius:22px 22px 0 0;padding:14px 16px calc(22px + env(safe-area-inset-bottom));background:var(--ys-soft);box-shadow:0 -20px 60px #102f2c33}.filter-drawer-head{position:sticky;top:-14px;z-index:1;display:flex;align-items:center;justify-content:space-between;margin:-14px -16px 0;padding:14px 16px 10px;border-bottom:1px solid var(--ys-border);background:#f4f8f6f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.filter-drawer-head strong{color:var(--ys-ink);font-size:18px}.filter-drawer-actions{position:sticky;bottom:calc(-22px - env(safe-area-inset-bottom));z-index:2;display:grid;margin:0 -16px calc(-22px - env(safe-area-inset-bottom));padding:10px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid rgba(223,232,228,.9);background:#f4f8f6f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.filter-drawer .filter-card>.filter-apply{display:none}.study-page-shell{max-width:1500px;padding:0 0 24px}.study-detail{overflow:hidden;margin-top:0}.study-page-shell .study-detail{border:0;border-radius:0}.study-topbar{display:grid;grid-template-columns:minmax(38px,auto) minmax(0,1fr) minmax(38px,auto);gap:8px;align-items:center;min-height:54px;padding:6px 10px;border-bottom:1px solid var(--ys-border)}.study-topbar .icon-button{width:38px;height:38px}.study-title-block{min-width:0;overflow:hidden}.study-favorite-button.active{color:var(--ys-primary);background:var(--ys-mint)}.study-topbar span{display:none;color:var(--ys-muted);font-weight:800}.study-topbar h1{margin:0;overflow:hidden;max-width:100%;font-size:18px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.study-grid{display:grid}.video-frame{background:var(--ys-ink);aspect-ratio:16 / 9;overflow:hidden}.video-frame video{display:block;width:100%;height:100%;object-fit:contain}.video-frame-crop video{object-fit:cover}.study-panel{display:grid;align-content:start;gap:8px;padding:10px 12px 14px}.mode-row,.control-strip{display:grid;gap:8px}.mode-row{grid-template-columns:repeat(4,1fr);border-radius:12px;padding:4px;background:#edf2ef}.mode-row button,.control-strip button,.mode-title button,.shadow-actions button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:6px;border-radius:12px;color:var(--ys-muted);background:transparent;font-weight:900;white-space:nowrap}.mode-row button.active,.control-strip button.active{color:#fff;background:var(--ys-primary)}.control-strip{grid-template-columns:repeat(3,1fr)}.control-strip button,.mode-title button,.shadow-actions button{color:var(--ys-ink);background:var(--ys-mint)}.mode-panel,.score-card,.review-card{border-radius:16px;background:var(--ys-soft)}.transcript-list span{color:var(--ys-primary);font-weight:700}.mode-title span{color:var(--ys-primary);font-weight:900}.sentence-english{margin:0;color:var(--ys-text);font-size:23px;font-weight:500;line-height:1.26}.transcript-list small,.word-chip small,.shadow-card small,.score-card small,.page-panel p,.review-card span,.review-card small{color:var(--ys-muted)}.mode-panel{display:grid;gap:8px;max-height:430px;overflow:auto;padding:10px 12px 14px}.study-page-shell .transcript-list{max-height:calc(100dvh - 178px - 56.25vw);min-height:220px;overscroll-behavior:contain}.mode-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.sentence-card,.word-chip,.review-card{display:grid;gap:6px;width:100%;border-radius:14px;padding:12px;text-align:left;background:var(--ys-surface)}.sentence-card{border:1px solid transparent;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.sentence-card:hover,.sentence-card:focus-visible{border-color:#2ec4b66b;outline:none}.sentence-card.active{border-color:#2ec4b694;border-left:5px solid var(--ys-mint-strong);background:#f1fbf8;box-shadow:0 14px 34px #102f2c1a;transform:translateY(-1px)}.sentence-card.active .sentence-english{font-weight:800}.sentence-card.active .sentence-card-head>span{font-weight:900}.sentence-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sentence-state-row{display:flex;flex:1;flex-wrap:wrap;gap:6px}.sentence-state-row em{padding:4px 8px;border-radius:999px;color:var(--ys-primary);background:var(--ys-mint);font-size:12px;font-style:normal;font-weight:900}.sentence-favorite{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;color:var(--ys-muted);background:transparent}.sentence-analysis-trigger{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:5px;border-radius:999px;padding:0 10px;color:var(--ys-primary);background:var(--ys-mint);font-size:13px;font-weight:800;white-space:nowrap}.sentence-analysis-trigger:hover,.sentence-analysis-trigger:focus-visible{color:#fff;background:var(--ys-primary);outline:none}.sentence-favorite:hover,.sentence-favorite:focus-visible{color:var(--ys-warm);background:var(--ys-warm-soft);outline:none}.sentence-favorite svg[fill=currentColor]{color:var(--ys-warm)}.inline-word{display:inline;margin:0;padding:0 2px;border-radius:5px;color:inherit;background:transparent;font:inherit;font-weight:inherit;line-height:inherit;text-align:inherit}.inline-word:hover,.inline-word:focus-visible{color:var(--ys-primary-strong);background:var(--ys-mint);outline:none}.inline-word.highlighted{color:var(--ys-primary-strong);background:#2ec4b624}.word-grid{grid-template-columns:1fr}.word-chip{grid-template-columns:1fr auto;align-items:center}.word-chip small{grid-column:1 / -1}.word-chip svg{grid-row:1;grid-column:2;color:var(--ys-primary)}.word-chip.added{background:var(--ys-mint)}.word-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;align-items:end;background:#102f2c52}.word-sheet{display:grid;gap:0;width:100%;overflow:hidden;border:1px solid var(--ys-border);border-radius:22px 22px 0 0;background:var(--ys-surface);box-shadow:0 -18px 60px #102f2c38}.word-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 18px 14px;color:#fff;background:var(--ys-primary)}.word-sheet-head div:first-child{display:flex;min-width:0;align-items:baseline;gap:10px}.word-sheet-head strong{overflow:hidden;font-size:28px;line-height:1.1;text-overflow:ellipsis}.word-sheet-head span{color:#ffffffc7;font-weight:700}.word-sheet-actions{display:flex;gap:6px}.word-sheet-actions .icon-button{color:#fff;background:#ffffff1f}.word-sheet-body{display:grid;gap:12px;max-height:42vh;overflow:auto;padding:18px}.lookup-source{width:fit-content;border-radius:999px;padding:5px 10px;color:var(--ys-primary-strong);background:var(--ys-mint);font-size:13px;font-weight:900}.lookup-error{color:var(--ys-danger)}.meaning-block{display:grid;gap:8px}.meaning-block em{width:fit-content;border-radius:8px;padding:4px 8px;color:var(--ys-warm);background:var(--ys-warm-soft);font-style:normal;font-weight:900}.meaning-block p{color:var(--ys-text);font-size:17px;line-height:1.55}.word-add-action{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:8px;margin:0 18px 18px;border-radius:14px;color:#fff;background:var(--ys-warm);font-weight:900}.word-add-action:disabled{color:var(--ys-muted);background:#edf2ef;cursor:default}.analysis-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:48;display:grid;align-items:end;background:#102f2c57}.analysis-sheet{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;width:100%;max-height:min(86dvh,780px);overflow:hidden;border:1px solid var(--ys-border);border-radius:22px 22px 0 0;background:var(--ys-surface);box-shadow:0 -18px 60px #102f2c38}.analysis-sheet-head,.analysis-sheet-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.analysis-sheet-head{padding:16px 18px 12px;border-bottom:1px solid rgba(16,47,44,.08)}.analysis-sheet-head div{display:grid;gap:3px}.analysis-sheet-head span{width:fit-content;border-radius:999px;padding:3px 8px;color:var(--ys-primary);background:var(--ys-mint);font-size:12px;font-weight:900}.analysis-sheet-head strong{color:var(--ys-ink);font-size:20px;line-height:1.1}.analysis-sentence{display:grid;gap:6px;max-height:154px;overflow-y:auto;padding:14px 18px;background:linear-gradient(180deg,#fff,var(--ys-soft));-webkit-overflow-scrolling:touch}.analysis-sentence p{margin:0;color:var(--ys-ink);font-size:18px;font-weight:750;line-height:1.36}.analysis-sentence small{color:var(--ys-muted);font-size:14px;line-height:1.5}.analysis-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:0 18px 12px;border-radius:14px;padding:4px;background:#edf2ef}.analysis-tabs button{min-height:36px;border-radius:11px;color:var(--ys-muted);font-weight:850}.analysis-tabs button.active{color:#fff;background:var(--ys-primary)}.analysis-sheet-body{display:grid;gap:12px;min-height:0;overflow-y:auto;padding:0 18px 16px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.analysis-loading,.analysis-error,.analysis-section{display:grid;gap:12px}.analysis-loading,.analysis-error{place-items:center;min-height:210px;border-radius:16px;padding:22px;color:var(--ys-muted);background:var(--ys-soft);text-align:center}.analysis-error strong{color:var(--ys-ink);font-size:18px}.analysis-section h3{color:var(--ys-primary);font-size:15px;line-height:1.1}.analysis-skeleton{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.analysis-skeleton span,.analysis-list article,.analysis-keyword-list article,.analysis-callout,.analysis-pitfall{border:1px solid rgba(16,47,44,.08);border-radius:14px;background:var(--ys-soft)}.analysis-skeleton span{display:grid;gap:5px;min-width:0;padding:11px;color:var(--ys-ink);font-size:14px;font-weight:850}.analysis-skeleton em{color:var(--ys-muted);font-size:12px;font-style:normal;font-weight:800}.analysis-main-meaning{margin:0;border-radius:14px;padding:12px 13px;color:var(--ys-primary-strong);background:var(--ys-mint);font-weight:850;line-height:1.45}.analysis-list,.analysis-keyword-list{display:grid;gap:9px}.analysis-list article,.analysis-keyword-list article{display:grid;gap:6px;padding:12px 13px}.analysis-list strong,.analysis-keyword-list strong,.analysis-pitfall strong{color:var(--ys-ink);font-size:15px;line-height:1.2}.analysis-list p,.analysis-keyword-list p,.analysis-callout p,.analysis-pitfall p{margin:0;color:var(--ys-text);font-size:14px;line-height:1.55}.analysis-keyword-list span{width:fit-content;border-radius:999px;padding:4px 9px;color:var(--ys-primary);background:var(--ys-mint);font-size:13px;font-weight:850}.analysis-callout{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:13px}.analysis-callout svg{color:var(--ys-primary)}.analysis-pitfall{display:grid;gap:6px;padding:13px;background:var(--ys-warm-soft)}.analysis-sheet-actions{position:sticky;bottom:0;z-index:2;padding:12px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid rgba(16,47,44,.08);background:#fffffff5}.analysis-sheet-actions button{flex:1;min-height:46px}.shadow-card{padding:18px}.shadow-card strong{font-size:28px;line-height:1.2}.shadow-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dictation-box{display:grid;gap:10px}.dictation-box input{border-radius:14px;padding:14px;background:var(--ys-surface)}.primary-action{display:inline-flex;width:fit-content;min-height:46px;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:13px 18px;color:#fff;background:var(--ys-primary);font-weight:900}.dictation-box .primary-action{width:100%}.primary-action:disabled{opacity:.65;cursor:default}.score-card{display:grid;gap:6px;padding:14px;color:var(--ys-ink);background:var(--ys-mint)}.score-card strong{font-size:34px}.sentence-stepper{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sentence-stepper button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;border:1px solid var(--ys-border);border-radius:14px;color:var(--ys-ink);background:var(--ys-surface);font-weight:900}.sentence-stepper button:disabled{opacity:.48}.flip-icon{transform:rotate(180deg)}.sentence-progress-note{color:var(--ys-muted);font-weight:800}.study-page-shell{padding-bottom:96px}.study-panel{padding:8px 10px 96px;background:linear-gradient(180deg,#fff 0%,var(--ys-soft) 100%)}.mode-row{gap:4px;border-radius:14px;padding:4px;background:#eaf1ee}.mode-row button{min-height:36px;border-radius:11px;font-size:15px}.mode-panel{gap:8px;border-radius:14px;padding:8px}.study-page-shell .transcript-list{max-height:calc(100dvh - 160px - 56.25vw)}.sentence-card{gap:8px;border-radius:16px;padding:13px 14px}.sentence-card.active{border-left-width:4px;background:#f3fbf8}.sentence-card-head{gap:8px}.sentence-card-head>span{min-width:48px;font-size:14px}.sentence-english{font-size:18px;line-height:1.36}.transcript-list small.sentence-chinese-only{color:var(--ys-muted);font-size:18px;line-height:1.55}.study-global-controls{position:fixed;right:0;bottom:0;left:0;z-index:35;display:grid;grid-template-columns:repeat(2,1fr) 74px repeat(2,1fr);gap:4px;align-items:center;min-height:78px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--ys-border);background:#fffffff5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 -16px 36px #102f2c14}.study-control-item{display:grid;gap:2px;place-items:center;min-height:54px;border-radius:14px;color:var(--ys-muted);background:transparent;font-size:12px;font-weight:800}.study-control-item strong{color:var(--ys-ink);font-size:20px;line-height:1}.study-control-item.active{color:var(--ys-primary)}.study-control-item.active strong,.study-control-item.active svg{color:var(--ys-primary)}.study-play-toggle{display:grid;width:64px;height:64px;place-items:center;border-radius:999px;color:#fff;background:var(--ys-primary);box-shadow:0 14px 34px #176b5d47}.dictation-hint{border:1px solid #ffd8bf;border-radius:14px;padding:11px 12px;color:#8a4b0f;background:var(--ys-warm-soft);font-size:15px;font-weight:800;line-height:1.7;word-break:break-word}.dictation-box textarea{width:100%;min-height:118px;resize:vertical;border:1px solid var(--ys-border);border-radius:14px;padding:14px;color:var(--ys-text);background:var(--ys-surface);outline:none}.dictation-box textarea:focus{border-color:var(--ys-primary);box-shadow:0 0 0 3px #2ec4b629}.dictation-actions{display:grid;grid-template-columns:minmax(96px,auto) 1fr;gap:10px}.secondary-action{min-height:46px;border:1px solid var(--ys-border);border-radius:12px;padding:0 14px;color:var(--ys-ink);background:var(--ys-surface);font-weight:900}.secondary-action.active{border-color:transparent;color:#fff;background:var(--ys-primary)}.word-chip{gap:8px 12px;padding:14px 16px}.word-chip>span{font-size:18px}.word-chip em{grid-row:1;grid-column:2;display:inline-flex;gap:4px;align-items:center;border-radius:999px;padding:6px 9px;color:var(--ys-primary);background:var(--ys-mint);font-size:13px;font-style:normal;font-weight:900}.word-chip.added em{color:var(--ys-danger);background:#fff0ed}.word-chip em svg{color:currentColor}@media(max-width:767px){html,body,#root{height:100%}body:has(.study-page-shell){overflow:hidden}.study-page-shell{width:100%;max-width:none;height:100dvh;min-height:100dvh;overflow:hidden;padding:0}.study-page-shell .study-detail{display:grid;height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.study-grid{min-height:0;grid-template-rows:auto minmax(0,1fr);overflow:hidden;padding-bottom:calc(86px + env(safe-area-inset-bottom))}.study-panel{min-height:0;align-content:stretch;grid-template-rows:auto minmax(0,1fr);overflow:hidden;padding:8px 10px 10px}.mode-panel{min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.study-page-shell .transcript-list{min-height:0;max-height:none}}@media(max-width:767px){.analysis-sheet-backdrop{padding-top:calc(58px + env(safe-area-inset-top))}.analysis-sheet{max-height:calc(100dvh - 58px - env(safe-area-inset-top));border-bottom:0}.analysis-sentence{max-height:126px}}@media(min-width:768px){.analysis-sheet-backdrop{justify-items:center}.analysis-sheet{width:min(720px,calc(100% - 48px));margin-bottom:18px;border-radius:22px}.study-page-shell{padding-bottom:126px}.study-global-controls{right:auto;bottom:18px;left:50%;width:min(720px,calc(100% - 48px));transform:translate(-50%);border:1px solid var(--ys-border);border-radius:22px}.sentence-english{font-size:20px}}.section-head{display:flex;justify-content:space-between;margin:26px 0 12px}.page-panel{display:grid;gap:12px;margin-top:22px;padding:18px}.word-review-page{gap:14px;border:0;padding:14px 0 24px;background:transparent}.word-tab-shell .topbar{position:static}@media(max-width:767px){.word-tab-shell .topbar,.profile-tab-shell .topbar{display:none}.word-review-page{padding-top:8px}.profile-tab-shell .page-panel{margin-top:12px}}.page-title-row{display:flex;align-items:center;gap:10px}.page-title-row h1{line-height:1.08}.favorites-page{gap:16px;border:0;padding:14px 0 24px;background:transparent}.favorites-page .page-title-row{align-items:flex-start;gap:12px;padding:2px 2px 4px}.favorites-page .page-title-row h1{color:var(--ys-text);font-size:28px;font-weight:700;letter-spacing:0}.favorites-page .page-title-row p{margin-top:4px;color:var(--ys-muted);font-size:15px;line-height:1.35}.favorite-filter-rail{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:none}.favorite-filter-rail::-webkit-scrollbar{display:none}.favorite-filter-rail button{display:inline-flex;min-width:82px;min-height:38px;flex:0 0 auto;align-items:center;justify-content:center;gap:6px;border-radius:999px;padding:8px 12px;color:var(--ys-muted);background:#ffffffc7;font-weight:600;box-shadow:0 1px #102f2c0f}.favorite-filter-rail button.active{color:#fff;background:var(--ys-primary);box-shadow:0 10px 24px #176b5d29}.favorite-filter-rail small{min-width:20px;border-radius:999px;padding:2px 6px;color:inherit;background:#102f2c12;font-size:12px}.favorite-filter-rail button.active small{background:#ffffff2e}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.card-list{display:grid;gap:10px}.word-review-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border-radius:18px;padding:18px;color:#fff;background:linear-gradient(135deg,var(--ys-primary),var(--ys-primary-strong))}.word-review-hero span{color:#ffffffb8;font-size:13px;font-weight:900}.word-review-hero strong{display:block;margin-top:8px;color:#fff;font-size:40px;line-height:1}.word-review-hero h1{margin-top:4px;font-size:24px;line-height:1.1}.word-review-hero p{margin-top:4px;color:#fffc;font-size:15px}.word-review-hero button{min-width:108px;border-radius:14px;padding:12px 14px;color:var(--ys-primary);background:var(--ys-surface);font-weight:900}.word-review-hero button:disabled{cursor:default;opacity:.64}.word-review-search{border-radius:16px}.word-review-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.word-review-tabs button{display:grid;gap:3px;min-width:0;border:1px solid var(--ys-border);border-radius:16px;padding:12px 8px;color:var(--ys-muted);background:var(--ys-surface)}.word-review-tabs button.active{border-color:transparent;color:#fff;background:var(--ys-primary);box-shadow:0 10px 24px #176b5d2e}.word-review-tabs strong{font-size:22px;line-height:1}.word-review-tabs span{overflow:hidden;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.review-list{gap:14px}.review-card{display:grid;gap:12px;border:0;border-radius:18px;padding:16px;background:var(--ys-surface);box-shadow:0 1px #102f2c0f,0 10px 28px #102f2c0f}.review-card.due{background:linear-gradient(90deg,#2ec4b61f,#fff0 44%),var(--ys-surface)}.review-card.mastered{background:#ffffffc2}.review-card-main{display:grid;gap:8px}.review-card header,.favorite-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-card strong{color:var(--ys-text);font-size:23px;line-height:1.05}.review-card small{display:inline-flex;width:fit-content;margin-top:7px;border-radius:999px;padding:4px 9px;color:var(--ys-primary);background:var(--ys-mint);font-size:12px;font-weight:900}.review-card p{color:var(--ys-text);font-size:17px;line-height:1.45}.review-card p em{margin-right:6px;color:var(--ys-primary);font-style:normal;font-weight:900}.review-card-pronunciation{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:22px}.review-card-pronunciation span,.review-card-pronunciation em{color:var(--ys-muted);font-size:14px;font-style:normal;font-weight:800}.review-card-pronunciation em{border-radius:6px;padding:2px 7px;color:var(--ys-primary);background:var(--ys-mint)}.review-card em{display:inline-flex;align-items:center;gap:5px;color:var(--ys-muted);font-size:13px;font-style:normal}.review-card .review-card-pronunciation span,.review-card .review-card-pronunciation em{color:var(--ys-muted);font-size:14px;font-style:normal;font-weight:800}.review-card .review-card-pronunciation em{border-radius:6px;padding:2px 7px;color:var(--ys-primary);background:var(--ys-mint)}.review-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding-top:2px}.review-actions.single{grid-template-columns:1fr}.review-actions button{min-height:38px;border-radius:12px;background:var(--ys-soft);color:var(--ys-ink);font-size:14px;font-weight:900}.profile-menu button,.favorite-item>button:first-child{min-height:44px;border:1px solid var(--ys-border);border-radius:14px;background:var(--ys-surface);color:var(--ys-ink);font-weight:800}.review-actions button.mastered{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:var(--ys-mint);color:var(--ys-primary)}.word-flash-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;grid-template-rows:auto 1fr auto;min-height:100dvh;padding:env(safe-area-inset-top) 16px calc(20px + env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 20%,rgba(46,196,182,.12),transparent 34%),var(--ys-surface)}.word-flash-topbar{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;min-height:56px}.word-flash-topbar strong{justify-self:center;color:var(--ys-text);font-size:15px}.word-flash-card{align-self:center;justify-self:center;display:grid;gap:28px;width:min(520px,100%);padding:34px 22px;text-align:center}.word-flash-word{display:grid;gap:12px;justify-items:center}.word-flash-word h1{color:var(--ys-text);font-size:clamp(42px,12vw,76px);line-height:1}.word-flash-word span{color:var(--ys-muted);font-size:18px;font-weight:800}.word-flash-word button{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:10px 14px;color:var(--ys-primary);background:var(--ys-mint);font-size:14px;font-weight:900}.word-flash-card p{justify-self:center;max-width:380px;color:var(--ys-text);font-size:17px;line-height:1.6}.word-flash-card p em{margin-right:8px;color:var(--ys-primary);font-style:normal;font-weight:900}.word-flash-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(520px,100%);justify-self:center}.word-flash-actions button{min-height:86px;border:1px solid rgba(23,107,93,.12);border-radius:18px;color:var(--ys-ink);background:#f7fbf9;font-size:17px;font-weight:900;box-shadow:0 12px 28px #102f2c1a}.word-flash-actions button:hover{border-color:#176b5d52;background:var(--ys-mint)}.word-flash-actions button:disabled{cursor:wait;opacity:.7}.profile-menu{display:grid;gap:10px}.study-stat-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.study-stat-panel div{display:grid;gap:4px;padding:14px;border:1px solid var(--ys-border);border-radius:14px;background:var(--ys-soft)}.study-stat-panel strong{color:var(--ys-ink);font-size:24px}.study-stat-panel span{color:var(--ys-muted);font-weight:800}.profile-menu button{display:flex;align-items:center;justify-content:space-between;padding:14px;text-align:left}.profile-menu button svg{color:var(--ys-primary)}.profile-menu button span{color:var(--ys-muted)}.favorite-list{display:grid;gap:12px}.favorite-item{padding:12px;border:0;border-radius:12px;background:#ffffffe0;box-shadow:0 1px #102f2c0f,0 12px 28px #102f2c0f}.favorite-item>button:first-child{display:grid;flex:1;grid-template-columns:1fr;gap:8px;padding:0;border:0;background:transparent;color:var(--ys-ink);font-weight:500;text-align:left}.favorite-item.video-favorite>button:first-child{grid-template-columns:92px 1fr;align-items:center}.favorite-item img{width:92px;aspect-ratio:16 / 10;border-radius:10px;object-fit:cover}.favorite-item span{display:grid;gap:5px}.favorite-item em{width:fit-content;border-radius:999px;padding:3px 8px;color:var(--ys-primary);background:var(--ys-mint);font-size:12px;font-style:normal;font-weight:700}.favorite-item strong{color:var(--ys-ink);font-size:17px;font-weight:700;line-height:1.28}.favorite-item small{color:var(--ys-muted);font-size:14px;line-height:1.35}.favorite-item .icon-button{width:38px;height:38px;flex:0 0 auto;border-radius:999px;background:#66708514}.favorite-item .icon-button:hover{color:var(--ys-danger);background:#fff0ed}.empty-state{display:grid;justify-items:center;gap:8px;padding:28px 18px;border:1px dashed var(--ys-border);border-radius:16px;color:var(--ys-muted);text-align:center}.empty-state strong{color:var(--ys-ink)}.me-page,.feedback-page,.devices-page{gap:16px;border:0;padding:14px 0 24px;background:transparent}.profile-hero{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;border-radius:24px;padding:18px;color:#fff;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 42%),var(--ys-primary);box-shadow:0 18px 36px #102f2c24}.profile-avatar{display:grid;width:62px;height:62px;place-items:center;border-radius:22px;color:var(--ys-primary);background:#ffffffe0}.profile-identity{min-width:0}.profile-identity span,.profile-identity small{color:#ffffffbd;font-size:13px;font-weight:800}.profile-identity h1{overflow:hidden;margin-top:3px;color:#fff;font-size:25px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.profile-identity p{overflow:hidden;margin-top:4px;color:#ffffffd1;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.profile-identity small{display:block;margin-top:8px}.profile-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profile-kpi{display:grid;gap:4px;justify-items:center;border-radius:18px;padding:14px 6px;background:var(--ys-surface);box-shadow:0 1px #102f2c0f,0 12px 24px #102f2c0f}.profile-kpi strong{color:var(--ys-primary);font-size:24px;line-height:1}.profile-kpi span{color:var(--ys-muted);font-size:12px;font-weight:800}.profile-section{display:grid;gap:9px}.profile-section h2,.feedback-form h2,.device-list-head strong{color:var(--ys-ink);font-size:16px;line-height:1.1}.profile-section>div{display:grid;overflow:hidden;border-radius:22px;background:var(--ys-surface);box-shadow:0 1px #102f2c0f,0 12px 24px #102f2c0d}.profile-menu-button{display:grid;grid-template-columns:auto 1fr auto auto;gap:11px;align-items:center;min-height:58px;padding:13px 14px;color:var(--ys-text);background:transparent;text-align:left}.profile-menu-button+.profile-menu-button{border-top:1px solid rgba(16,47,44,.07)}.profile-menu-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:13px;color:var(--ys-primary);background:var(--ys-mint)}.profile-menu-button strong{min-width:0;font-size:15px}.profile-menu-button em{color:var(--ys-muted);font-size:13px;font-style:normal;font-weight:800}.profile-menu-button>svg{color:#98a2b3}.profile-logout{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:16px;color:var(--ys-danger);background:#fff3f0;font-weight:900}.inner-page-header{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:2px 0 4px}.inner-page-header .icon-button{margin-top:-6px}.inner-page-header h1{color:var(--ys-text);font-size:24px;line-height:1.08}.inner-page-header p{margin-top:5px;color:var(--ys-muted);font-size:14px;line-height:1.45}.feedback-form{display:grid;gap:16px}.feedback-form section{display:grid;gap:10px}.feedback-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.feedback-type-grid button{display:grid;gap:5px;align-content:start;min-height:86px;border-radius:18px;padding:13px 10px;color:var(--ys-muted);background:var(--ys-surface);text-align:left;box-shadow:0 1px #102f2c0f}.feedback-type-grid button.active{color:#fff;background:var(--ys-primary);box-shadow:0 12px 28px #176b5d2e}.feedback-type-grid strong{color:currentColor;font-size:14px}.feedback-type-grid span{color:currentColor;font-size:12px;line-height:1.35;opacity:.72}.feedback-field{gap:8px;color:var(--ys-ink);font-size:15px}.feedback-field input,.feedback-field textarea{width:100%;border:0;border-radius:18px;padding:15px;color:var(--ys-text);background:var(--ys-surface);outline:0;box-shadow:inset 0 0 0 1px #102f2c14}.feedback-field textarea{min-height:170px;resize:vertical;line-height:1.55}.feedback-field input:focus,.feedback-field textarea:focus{box-shadow:inset 0 0 0 2px #176b5d47}.feedback-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:18px;color:#fff;background:var(--ys-primary);font-weight:900;box-shadow:0 14px 28px #176b5d2e}.feedback-submit:disabled{cursor:default;color:#ffffffb8;background:#9bb9b2;box-shadow:none}.form-error{border-radius:14px;padding:11px 12px;color:var(--ys-danger);background:#fff3f0;font-weight:800}.device-note{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;border-radius:22px;padding:16px;color:var(--ys-primary);background:var(--ys-mint)}.device-note strong{color:var(--ys-ink);font-size:16px}.device-note p{margin-top:5px;color:var(--ys-primary);font-size:14px;line-height:1.5}.device-list-head{display:flex;align-items:center;justify-content:space-between}.device-list-head span{color:var(--ys-muted);font-size:14px;font-weight:900}.device-list{display:grid;gap:10px}.device-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border-radius:20px;padding:14px;background:var(--ys-surface);box-shadow:0 1px #102f2c0f,0 12px 24px #102f2c0f}.device-item.current{background:linear-gradient(90deg,#2ec4b624,#fff0 58%),var(--ys-surface)}.device-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:16px;color:var(--ys-primary);background:var(--ys-mint)}.device-copy{min-width:0}.device-copy>div{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.device-copy strong{overflow:hidden;color:var(--ys-text);font-size:16px;text-overflow:ellipsis;white-space:nowrap}.device-copy span{border-radius:999px;padding:4px 8px;color:var(--ys-primary);background:var(--ys-mint);font-size:12px;font-weight:900}.device-copy p{margin-top:6px;color:var(--ys-muted);font-size:13px;line-height:1.45}.device-remove{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:9px 10px;color:var(--ys-danger);background:#fff3f0;font-size:13px;font-weight:900}@media(max-width:560px){.word-review-hero{grid-template-columns:1fr}.word-review-hero button{width:100%}.review-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.favorite-item.video-favorite>button:first-child{grid-template-columns:84px 1fr}.favorite-item img{width:84px}.feedback-type-grid{grid-template-columns:1fr}.device-item{grid-template-columns:auto 1fr}.device-remove{grid-column:1 / -1;justify-content:center;width:100%}}.auth-brand{display:grid;align-content:center;gap:14px;padding:28px;color:#fff;border-color:#102f2c14;border-radius:20px;background:var(--ys-ink);box-shadow:0 24px 70px #102f2c24}.auth-brand .brand-logo{color:#fff;font-size:24px}.auth-brand .brand-logo strong{color:#fff}.auth-brand .brand-logo span{color:#8ee8de}.auth-brand h1,.auth-brand p,h1,h2,p{margin:0}.brand-mark{display:grid;width:50px;height:50px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:14px;color:#fff;background:#ffffff14;font-size:22px;font-weight:800}.auth-brand h1{max-width:10em;font-size:34px;font-weight:800;line-height:1.08}.auth-brand p{max-width:18em;color:#ffffffc7;font-size:18px;line-height:1.5}.auth-form{display:grid;align-content:start;gap:16px;padding:28px;border-radius:20px;box-shadow:0 18px 48px #102f2c14}.auth-message{border:1px solid rgba(23,107,93,.14);border-radius:14px;padding:12px 13px;color:var(--ys-primary-strong);background:var(--ys-mint);font-weight:700;line-height:1.5}.auth-feedback{border:1px solid transparent;border-radius:14px;padding:12px 13px;font-size:15px;font-weight:650;line-height:1.5}.auth-feedback.tone-info{border-color:#176b5d24;color:var(--ys-primary-strong);background:var(--ys-mint)}.auth-feedback.tone-success{border-color:#176b5d29;color:var(--ys-primary-strong);background:#edf8f2}.auth-feedback.tone-error{border-color:#da2d201f;color:var(--ys-danger);background:#fff0ed}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border-radius:16px;background:#eef2f1}.segmented button{min-height:44px;border-radius:12px;padding:10px 12px;color:#374151;background:transparent;font-weight:700}.segmented button.active{color:var(--ys-ink);background:var(--ys-surface)}label{display:grid;gap:7px;color:#374151;font-weight:700}label input{border:1px solid #d1d5db;border-radius:14px;padding:15px 14px;background:#f9fafb}label input:focus{border-color:var(--ys-primary);background:var(--ys-surface)}.auth-field input[aria-invalid=true]{border-color:#da2d2080;background:snow}.auth-field input[aria-invalid=true]:focus{border-color:var(--ys-danger);box-shadow:0 0 0 4px #da2d2014}.field-error{color:var(--ys-danger);font-size:13px;font-weight:650;line-height:1.35}.auth-form .primary-action{width:100%;min-height:52px;margin-top:2px;border-radius:14px;font-weight:800}.auth-form .primary-action:disabled{cursor:wait;opacity:.72}.bottom-nav{position:fixed;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ys-border);background:var(--ys-surface)}.bottom-nav button{display:grid;gap:4px;place-items:center;padding:10px 4px 12px;color:#98a2b3;background:transparent;font-size:13px}.bottom-nav button.active{color:var(--ys-primary);font-weight:900}.error,.toast{border-radius:12px;padding:12px}.error{color:var(--ys-danger);background:#fff0ed}.toast{position:fixed;right:16px;bottom:82px;z-index:30;color:#fff;background:var(--ys-ink);box-shadow:0 14px 30px #0f172a2e}.compliance-footer{display:flex;justify-content:center;padding:22px 12px 8px;color:var(--ys-muted);font-size:12px;line-height:1.5}.compliance-footer a{color:inherit;text-decoration:none}.compliance-footer a:hover{color:var(--ys-primary)}@media(min-width:768px){.app-shell{padding-right:18px;padding-left:18px;padding-bottom:48px}.study-page-shell{padding:16px 20px 40px}.topbar{grid-template-columns:auto 1fr auto;min-height:56px;margin-right:-18px;margin-left:-18px;padding-right:18px;padding-left:18px}.brand-button{grid-column:auto;grid-row:auto;justify-self:start}.brand-logo{font-size:23px}.top-actions{grid-column:auto;grid-row:auto;min-width:42px}.desktop-nav{display:flex;gap:4px;align-items:center;padding:4px;border:1px solid rgba(223,232,228,.78);border-radius:14px;background:#f4f8f6db;justify-self:end;color:var(--ys-muted);font-weight:700}.desktop-nav button{min-height:36px;border-radius:10px;padding:0 14px;color:inherit;background:transparent;font-weight:inherit;white-space:nowrap}.desktop-nav button:hover{color:var(--ys-primary);background:#ffffffb8}.desktop-nav button.active{color:var(--ys-primary);background:var(--ys-surface);box-shadow:0 6px 18px #102f2c14}.mobile-only,.category-filter-stack.mobile-only{display:none}.desktop-only,.category-filter-stack.desktop-only{display:grid}.top-login-button.desktop-only{display:inline-flex}.home-layout{grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start;padding-top:16px}.filter-sidebar{position:sticky;top:72px;display:grid;gap:12px;max-height:calc(100dvh - 88px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px;padding-bottom:16px;scrollbar-gutter:stable}.home-mobile-tools,.filter-drawer-backdrop{display:none}.continue-card{grid-template-columns:94px 1fr auto;padding:12px 14px}.continue-thumb{width:94px}.continue-time{grid-column:auto}.video-list{grid-template-columns:1fr;gap:16px}.bottom-nav{display:none}.study-grid{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);align-items:start}.study-page-shell .study-detail{border:1px solid var(--ys-border);border-radius:18px}.study-topbar{min-height:66px;padding:10px 14px}.study-topbar span{display:block}.study-topbar h1{margin-top:2px;font-size:22px}.study-panel{border-left:1px solid var(--ys-border)}.study-page-shell .transcript-list{max-height:430px;min-height:0}.word-grid{grid-template-columns:1fr 1fr}.word-sheet-backdrop{align-items:center;justify-items:center;padding:24px}.word-sheet{width:min(560px,100%);border-radius:18px;box-shadow:0 24px 70px #102f2c3d}.auth-shell{grid-template-columns:minmax(320px,.95fr) minmax(360px,1fr);gap:22px 28px;min-height:100vh;padding:44px 24px;align-content:center;align-items:stretch}.auth-back-button{grid-column:1 / -1}.auth-brand{min-height:430px;padding:42px}.auth-brand h1{font-size:40px}.auth-brand p{font-size:20px}.auth-form{min-height:430px;padding:34px;align-content:center}}@media(min-width:1040px){.video-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}@media(min-width:1180px){.home-layout{grid-template-columns:270px minmax(0,1fr);gap:18px}.video-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1500px){.video-list{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:768px){.study-page-shell{padding-bottom:126px}.study-global-controls{right:auto;bottom:18px;left:50%;width:min(720px,calc(100% - 48px));transform:translate(-50%);border:1px solid var(--ys-border);border-radius:22px}}@media(min-width:1180px){.study-page-shell{max-width:min(1500px,calc(100vw - 48px));min-height:100dvh;padding-top:20px}.study-page-shell .study-detail{display:grid;grid-template-rows:auto minmax(0,1fr);height:clamp(620px,calc(100dvh - 156px),920px);min-height:0;overflow:hidden}.study-grid{grid-template-columns:minmax(0,1.35fr) minmax(390px,.72fr);align-items:stretch;min-height:0;overflow:hidden}.video-frame{height:100%;min-height:0;aspect-ratio:auto}.study-panel{min-height:0;align-content:stretch;grid-template-rows:auto minmax(0,1fr);overflow:hidden;padding-bottom:12px}.mode-panel{min-height:0;max-height:none;overflow-y:auto}.study-page-shell .transcript-list{min-height:0;max-height:none}}
